관계형 데이터베이스는테이블의 모임으로 구성되며 각 테이블은 고유한 이름을 가지고 있다. 일반적으로 테이블의 각 행은 일련의 값 사이의 관계(relationship)를 표현한다. 테이블은 관계들의 모임이며 릴레이션(relation)이라는 수학적인 개념과 밀접하다.
수학적 의미로 투플(tuple)은 간단한 값의 나열 혹은 값의 리스트를 의미한다. n개의 값에 관한 관계는, 수학적으로 n-투플로 표현된다. 즉, n개의 값을 가진 하나의 투플이 테이블에서 하나의 행이 된다. 릴레이션 인스턴스는 행들의 특정 집합을 포함하고 있는 릴레이션의 특정 인스턴스를 지칭한다.
relation = table, tuple = row, attribute = column
릴레이션의 각 속성은 도메인이락도 하는 허가된 값의 집합을 가지고 있다. 모른 릴레이션 r에 대해서 r의 모든 속성의 도메인은 원자적 이어야한다. 즉, 더 이상 나누어질 수 없는 단일체라는 것이다.
* R은 스키마 컬럼의 집합이며, r은 instance 투플의 집합이다!
키(Key)
투플의 속성 값은 그 투플을 유일하게 구별할 수 있어야 한다.
1. 슈퍼키(superkey)
투플을 유일하게 식별할 수 있도록 해주는 아나 혹은 그 이상의 속성들이다. 즉, 유일하게 구별할 수 있는 속성이 있는 것은 모두 슈퍼키가 된다. ex) {주민번호}, {주민번호, 이름}, {주민번호, 전화번호}, {주민번호, 이름, 전화번호, 성별} 등 / 주민번호가 들어가는 총 8개가 있다!
2. 후보키(candidate key)
슈퍼키 중에서 유일하게 구별을 할 수 있는 속성을 최소로 가지고 있는 키들을 후보키라고 한다.
* 종종 여러개의 속성을 합쳐서 고유식별이 가능한 경우 컬럼이 n개인 합성키도 존재한다!
ex) {주민번호} / {주민번호, 이름}은 최소가 아니기 때문에 후보키가 아니다.
3. 주 키(primary key)
후보키 중에서 선택된 하나를 주 키라고 한다. 예를 들어 위의 예시에는 주민번호만 구별이 가능한 인자인데 만약 ID라는 새로운 후보키가 있다고 했을 때 후보키는 총 2개로 ID, 주민번호 이고 주 키는 둘 중 선택한 한 가지이다.
4. 대체키(alternative key)
대체키는 후보키 중에서 주 키를 제외하고 남은 키들을 말한다. 예를 들어 주민번호, ID 중 주민번호가 주 키로 선택됬다면 ID는 대체키가 된다.
5. 외래키(foreign key)
릴레이션 스키마 r1이 자신의 스키마 중 다른 릴레이션 스키마 r2의 주 키를 포함할 수 있다. 이런 속성을 r1으로부터 r2를 참조하는 외래키라고 부른다.
- referencing relation : 참조하는 릴레이션(r1의 속성)
- referenced relation : 참조된 릴레이션(r2의 속성)
스키마 다이어그램
릴레이션은 네모 상자로 나타낼 수 있으며, 해당 릴레이션의 속성은 네모 상자 안에 나열되고 릴레이션의 이름은 상자 위에 쓴다. 주 키로 쓰이는 속성은 선을 그어서 표현한다. 외래키 종속성은 참조하는 릴레이션의 외래키 속성으로부터 참조된 릴레이션의 주 키로 이르는 화살표로 나타낸다.
* 참조 무결성 제약조건은 외래키에 비해서 스키마 다이어그램에 잘 표현되지 않는다.
'컴퓨터공학 > 데이터베이스 설계' 카테고리의 다른 글
SQL 기본 구문 (0) | 2018.10.28 |
---|---|
DB의 시스템 구조 및 사용자, 역사 (0) | 2018.09.13 |
데이터베이스 설계단계 & 정규화 (0) | 2018.09.09 |
데이터베이스 구성 및 언어 (0) | 2018.09.09 |
[Intro] 데이터베이스 및 DBMS가 나온 이유? (1) | 2018.09.09 |
댓글