Published 2022. 1. 30. 12:06

 

 

● table: 행과 열로 이루어진 data의 집합
관계형 db에서는 모든 값이 유일한 값을 갖고 중복 행이 없는 등 제약 조건 성립하면 relation이라고 함

모든 relation은 table이지만 역으로 모든 table이 relation이지는 않다.

1) 제약 조건
한 relation에서 tuple은 모두 다르고 순서 무관
relation schema를 구성하는 attribute의 값은 동일해도 됨
tuple을 식별하는 속성들의 부분 집합을 키(key)로 설정

● row(행): 가로로 묶은 dataset. 한 객체에 대한 정보를 가짐.
관계형 db에서는 tuple / record라고 불림

● column(열): 세로로 묶은 dataset. table의 속성. 열을 구성하는 값들은 같은 domain으로 되어 있음.
관계형 db에서는 속성(attribute)라고 불림

● Domain: field에 채워질 수 있는 값의 집합. 예를 들어 1-10 사이의 정수인 속성의 field에 domain을 벗어나는, 또는 자료형이 아예 다른 값은 들어갈 수 없음. 특정 attribute(column) 값의 집합을 domain이라고 부름.

아래 참조하면 첫 행은 17학번 김가나 tuple이고 학과 column을 학과 attribute라고 부름

 

<학생 relation>

학번 이름 나이 학과
17 김가나 25 수학과
20 김다라 23 실용음악과

 

<메뉴 relation>

번호 이름 가격
1 라면 4000
2 김밥 2000

 

<주문 relation>

학번 번호 날짜
17 1 22/01/30
20 2 22/01/29



● 기본 키


1) super key: 유일성을 만족하는 속성들의 집합. 유일한 tuple이 나와야 함. 집합이기 때문에 여러 속성 합쳐서도 가능함. {학번, 이름}, {이름, 학과} 등이 가능하지만 {학과}는 super key가 될 수 없음.

2) candidate key: 후보 키. super key 중에 유일성을 만족하는 최소한의 집합. 학생 relation에서 {학번}, {이름}만 가능함.

3) primary key: 후보 키 중에서 기본적으로 사용하는 키.

4) foreign key:  외래 키. 다른 relation의 기본 키를 참조하는 속성들의 부분 집합. 주문 relation에서 {학번}, {번호}.

5) Alternate key: 대리 키. 후보키가 둘 이상일 대 기본 키로 선택되지 않는 보조 키.

6) surrogate key: 대체 키. 자연적인 값이 아니라 db를 만들기 위해 임의로 만든 값. 메뉴 relation에서 {번호}.

'Database > Oracle' 카테고리의 다른 글

[Oracle] Diagram  (0) 2022.04.11
복사했습니다!