데이터 베이스에 대한 이야기- 두번째 시간


IT Story/Database이야기 2010.10.28 17:17




데이터 베이스에 대한 이야기- 첫번째 시간에 이어서 두번째 주저리 주저리 떠들까 합니다.

앞에서 했던 데이터베이스의 즉, 관계형 데이터베이스에 대해서 이야기하면서 끝냈는데요.
속성에 대해서 설명을 안했네요. attributes란, 내재된 특성이라고 합니다. 음, 예를들어, ID가 C인 형건이라는 사람이 안경을 썼는지 이런 속성이 되곘네요!

테이블(릴레이션)이란, 항상 하나의 특정 주제를 가지게 됩니다. 예를 들어 학생, 개설강의,출석, 실험결과 등 하나의 주제로 테이블을 만들지 않고, 여러개의 주제로 테이블을 하나로 만들려고 하는 사람도 있는데, 이는 좋지 않은 특성입니다.

레코드와 필드의 논리적 순서는 상관이 없습니다. 왜냐하면 쿼리로 원하는 곳만 가져오고, 원하는 정렬도 쿼리로 날릴수가 있으니까요. 즉, 앞의 예를 들어보면, ID와 나이,이름 등의 필드 순서가 상관 없다는 이야기입니다 ^^

그리고 테이블에는 primary key, 주 키라는게 존재합니다. 이 키는 식별할 수 있는 값으로써, 항상 외부에 노출이 됩니다. 때문에 주민등록번호 등은 주 키로 사용하면 안되겠죠. 이 주 키를 통해 각 레코드를 유일하게 식별합니다. 



그렇다면 필드에 대해서 좀 더 자세히 알아볼까요,

필드는 가장 작은 속성입니다.
속한 테이블이 가지는 주제의 한 가지의 특성이라 생각하시면 됩니다. 학생 테이블의 학번, 성별 등을 이야기 하는 것입니다. 데이터를 저장하는 데, 실제로 사용하는 구조라고 합니다. 이 필드에는 오직 하나의 값만 포함하고, 필드명 또한 하나로만 작성하셔야 합니다 !!

레코드는 테이블이 가지는 주제의 인스턴스를 나타냅니다. 오브젝트 객체 이론의 인스턴스와 같습니다. 각 레코드는 테이블 내에서 선택된 주 키 필드에 있는 고유한 값에 의해 데이터베이스 전체에서 식별이 됩니다. 예를들어, 내 학번으로 저장된 데이터베이스에서는 내 학번은 유일한 값을 가지게 된다는 뜻입니다.

키(key)란 테이블 내에서 특정 역할을 수행하기 위해서 지정된 필드를 이야기 하는 것입니다. 아까 말했던 주 키 (PK)와 외래키 (FK)가 존재하는데요, 주키같은 경우는 그 레코드를 고유하게 식별하는 하나 또는 그 이상의 필드를 이야기 합니다. 즉 여러가지 테이블이 존재할때, 이 주키를 통해서 어떤 테이블인지 구별하게 되는 역할을 소화하게 됩니다. 외래 키는 관계 설정/ 무결성을 가져야 하고, 고아 레코드를 방지 합니다. 이 고아레코드란, 예를 들어 학교에서 학생들의 정보를 두개의 테이블로 만들었을 시에는, 한 테이블엔 학번 이름 정보가 저장되고,  나머지 한 테이블은 전화번호, 주소를 저장해 놓았을 때, 학생 중 '홍길동'이란 사람의 정보가 자퇴를 해서 지워졌을 때 다른 테이블에 있는 홍길동의 전화번호, 주소는 지워지지 않아 부모를 잃은 고아 레코드가 되게 됩니다.

란, 데이터 베이스 내 하나 이상의 테이블들의 필드로 구성하는 가상적인 테이블입니다. 뷰는 구조 정보만을 가집니다. 즉, 여러개의 테이블을 합쳐서, 가상적으로 하나의 테이블이라고 보이게 하는 것을 뷰 라고 합니다. 그럼 왜 뷰를 하느냐, 예를 들어, 관리자와 사원이 있다면, 관리자만 봐야 하는  데이터가 있고, 사원이 접근해서 안되는 테이블 혹은 데이터가 있다면, 그사람에게 뷰를 지정해서 보여주게 되면, 보안측면에서도 효율이 높습니다.



* 인제대학교 박성진 교수님의 수업내용을 참고했습니다. 감사합니다

By. ShakeJ
저작자 표시 비영리
신고

WRITTEN BY
ShakeJ

0 ,