데이터베이스 개념 Study 2011. 4. 20. 11:40

우선 알아두셔야 할것은

파일에서의 논리적이라는 단어의 뜻과 DB에서의 논리적이란 단어의 뜻이 같지 않다는것입니다.
파일에서 말하는 논리적 구조라 함은 파일에 저장되어진 복잡난해한 bit들이 일정
한 규칙에 따라 번역되어 용도에 맞게 사용될수 있도록 형성되는것을 말하는 것입
니다. 물론 반대로 저장되는것을 포함하지요.

하지만 DB에서 말하는 논리적이라는 단어는 파일의 경우와 같은 기계적인 논리를
포함한(좀더 포괄적인) 데이터적 측면에서의 논리 즉 파일에서 읽혀져서 번역된
(실상 이러한 물리적 논리의 부분은 DBMS가 맡아서 처리합니다.) 정보들이 일정
한 규칙들에 따라서 어떠한 의미(가치)를 가지게 되는가를 말하는 것입니다.

간단한 예를 들어보자면 A라는 파일이 존재하고 그 파일에는 B, C라는 정보를 가
지고 있다고 할때 파일에서 말하는 논리성이란 A파일에 XByte~Xbyte 까지는 B,
XByte~Xbyte 까지는 C라고 변역될수 있게 되는 것을 말하는 것이면, DB에서의
논리성이란 B정보는 어떤 의미의 데이터 이고 C정보는 어떤 다른 의미의 데이터이
며 B와 C는 어떤 관계성을 가지고 있다 라고 하는 데이터적인 논리성이 더 추가
된 것을 말하는 것입니다.

실제로 이러한 데이터적 논리성을 배제한 순수한 파일만으로 구성되어진 데이터베이스를 파일 베이스 DB라고 칭하기도 합니다.

간단하게 말해서 파일은 데이터가 물리적으로 어떻게 저장되는가 말하는 것이라면
데이터베이스는 데이터들이 어떠한 의미와 목적, 가치, 관련성을 가지고 있는가
말하는것이라 하겠습니다.



유저와 데이터베이스의 관계

유저와 데이터베이스(DB 안에 생성되어진)는 어느것 하나에 종속적으로 구성되는것이 아니라 서로 독립적으로 구성됩니다. 각각의 정보는 DB안에서 DBA유저만
접근가능한 영역(데이터베이스 입니다 ^^;)에 저장, 관리되게 됩니다.

DB의 설치시 선언된 DBA유저는(오라클 : sys 유저, mysql : root 유저) 데이터
베이스의 생성, 수정, 삭제 및 유저의 생성, 수정, 삭제, 특정 유저와 특정
데이터베이스간의 접근허용여부, 특정 유저의 허용된 데이터 베이스에서의 권한
설정등등의 DB 전반에 관한 관리 권한을 가지는 유저입니다.
이러한 일련의 정보 역시 모두 DBA유저만 접근가능한 데이터베이스에 저장, 관리
됩니다. 또한 하나의 데이터베이스는 여러 유저들에게 접근이 허용될수 있으며,
반대로 하나의 유저는 여러 데이터베이스에 접근이 허용될수 있습니다.

즉 질문자님 께서 쓰셨던

'유저 이름과 데이터베이스는 완전히 분리된 것이어서...어떤 다른 유저 이름으로
접속해도 각각의 데이터베이스에서 설정된 권한의 유무에 따라 접속이 되고 안 되
고가 결정되는 것인가요'

이 맞는 개념 입니다만 단지

'???그럼 각각의 데이터베이스에는 권한 설정을 위한 별도의 테이블
이 자동으로 만들어 지는 건가요???'

여기에서 각각의 데이터베이스에 별도의 테이블이 자동 생성되는 것이 아니라,
DBA유저만 접근 가능한 데이터베이스에 유저의 권한, 생성된 데이터베이스,
연결관계 등등으로 이미 정의된 테이블들에 데이터로 저장되게 됩니다.

테이블을 쉽게 말하면, 동일한 속성을 갖는 데이터의 구조체를 말하는 것입니다.
유저는 아이디와 비번이라는 데이터가진다고 할때, 테이블은 C에서 구조체를 선언
하듯 테이블이름(구조체이름), 아이디(변수 아이디), 비번(변수 비번)으로 선언함
으로써 생성되며, 실제의 데이터들은 테이블의 정의 형태로 데이터를 저장하게
되는것입니다.



유저A 정보 테이블, 유저B 정보 테이블을 따로 생성하는게 아니라,
유저정보 라는 테이블에 유저A 정보, 유저B 정보, 유저C 정보 .... 식으로 저장
되는 것입니다.

이러한 테이블은 데이터베이스에 테이블 관련 권한을 갖는 유저의 의도와 목적, 데이터의 의미와 관련성, 시스템적인 필요 등에 따라서 유저가 만들게 됩니다.

데이터베이스는 DBA유저가 데이터 접근 및 관리 효율성, 보안, 시스템간의 상호
베타적인 데이터의 구분 등을 목적으로 생성하게 됩니다. 이에 따라 DBA유저는
각각의 데이터베이스에 접근, 테이블 관리, 데이터 관리 권한을갖는 유저를 생성
혹은 기존 유저에 권한을 부여하여주게 됩니다.

유저는 특정의 데이터베이스로 접근, 관리, 데이터 관리, 데이터 조회 등의 권한
을 DBA유저로 부터 부여받아 자신의 권한을 가지고 있는 데이터베이스로 접근,
부여받은 행위를 하게 됩니다.

간단하게 말하자면

테이블은 동일한 속성을 갖는 데이터들의 구조와 집합을 말하는 것이며
데이터베이스는 시스템 혹은 데이터적으로 관련성을 가지고 있는 데이터의
집합체 및 저장소를,
유저는 이러한 데이터베이스의 접근, 구조체 관리, 데이터 관리, 조회 등의 권한
을 갖는 사용자를 말하는 것입니다.

'Study' 카테고리의 다른 글

토렌트  (0) 2011.07.24
데이터베이스 개념(1)  (0) 2011.04.20
Database란?  (0) 2011.04.20
공부하자~!!  (0) 2011.04.20
키의 무결성  (0) 2011.04.20