[정보처리기사 3과목 필기 예상 키워드] 목록으로 돌아가기 |
|
과목: 3. 데이터베이스 구축 챕터: 1장 논리 DB 설계 키워드: DB 설계 / 데이터 모델의 개념 |
#Verification |
키(Key)의 개념
데이터베이스에서 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 튜플들을 서로 구분할 수 있는 기준이 되는 속성(Attribute)를 말한다. 한 Relation에서 각각의 튜플을 유일하게 식별하기 위해 사용하는 하나 혹은 그 이상의 속성들의 집합을 뜻함
후보키(Candidate Key)
<학생> 릴레이션 | |||
학번 | 주민번호 | 이름 | 혈액형 |
202011 | 840404-1212121 | 김철수 | O |
202012 | 860830-2193929 | 김민아 | O |
후보키는 기본키가 될 수 있는 말 그대로 '후보' 키들을 이야기 한다. 릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별하게 위해 사용하는 속성들의 부분집합, 즉 기본키로 사용할 수 있는 속성들이다.
ex) <학생> 릴레이션에서 '학번'이나 '주민번호'는 다른 레코들을 유일하게 구별할 수 있는 기본키로 사용할 수 있으므로 후보키이다.
후보키는 릴레이션에 있는 모든 튜플에 대해서 유일성과 최소성을 만족시켜야 한다.
✔유일성(Unique): 하나의 키 값으로 하나의 튜플만을 유일하게 식별한다
✔ 최소성(Minimality): 모든 레코드들을 유일하게 식별하는데 꼭 필요한 속성으로만 구성된다
기본키(Primary Key)
기본키는 후보키 중에서 특별히 선정된 주키(Main Key)로 중복된 값을 가질 수 없다. 유일성과 최소성을 가지며 튜플을 식별하기 위해 반드시 필요한 키이고 *NULL 값을 가질 수 없다. 즉, 튜플에서 기본키로 설정된 속성에는 NULL값이 있어서는 안된다.
*NULL값:
데이터베이스에서 아직 알려지지 않거나 모르는 값으로써 '해당 없음' 등의 이유로 정보 부재를 나타내기 위해 사용하는, 이론적으로 아무것도 없는 특수한 데이터를 의미
<학생> 릴레이션 | |||
학번 | 주민번호 | 이름 | 학과 |
202011 | 840404-1212121 | 김철수 | 컴퓨터공학과 |
202012 | 860830-2193929 | 김민아 | 컴퓨터공학과 |
<수강> 릴레이션 | |
학번 | 과목명 |
202011 | 소프트웨어 개발 |
202012 | 소프트웨어 설계 |
ex) <학생> 릴레이션에서는 '학번'이나 '주민번호'가 기본키가 될 수 있고, <수강> 릴레이션에서는 '학번'+'과목명'으로 조합해야 기본키가 만들어진다.
'학번'이 <학생> 릴레이션의 기본키로 정의되면 이미 입력된 202011 등은 다른 튜플의 '학번' 속성의 값으로 입력할 수 없다.
대체키(Alternate Key)
대체키는 후보키가 둘 이상일 때 기본키를 제외한 나머지 후보키를 의미한다(보조키). 아래의 <학생> 릴레이션에서 '학번'을 기본키로 정의하면 '주민번호' 는 대체키가 된다.
<학생> 릴레이션 | |||
학번 | 주민번호 | 이름 | 학과 |
202011 | 840404-1212121 | 김철수 | 컴퓨터공학과 |
202012 | 860830-2193929 | 김민아 | 컴퓨터공학과 |
슈퍼키(Super Key)
슈퍼키는 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키로서 릴레이션을 구성하는 모든 튜플들 중 슈퍼키로 구성된 속성의 집합과 동일한 값은 나타나지 않는다. 슈퍼키는 릴레이션을 구성하는 모든 튜플에 대해 유일성은 만족하지만 최소성은 만족하지 못한다.
<학생> 릴레이션 | ||
학번 | 주민번호 | 이름 |
202011 | 840404-1212121 | 김철수 |
202012 | 860830-2193929 | 김민아 |
ex) <학생> 릴레이션에서는 '학번','주민번호','학번+주민번호', '주민번호+성명', '학번+주민번호+성명' 등으로 슈퍼키를 구성할 수 있다.
외래키(Foreign Key)
외래키는 다른 릴레이션의 기본키를 참조하는 속성 또는 속성들의 집합을 의미한다. 외래키는 참조되는 릴레이션의 기본키와 대응되어 릴레이션 간에 참조 관계를 표현하는데 중요한 도구이다. 한 릴레이션에 속한 속성 A와 *참조 릴레이션의 기본키인 B가 동일한 도메인 상에서 정의되었을 때의 속성 A를 외래키라고 한다.
외래키로 지정되고나면 참조 릴레이션의 기본키에 없는 값은 입력할 수 없다.
*참조 릴레이션: 외래키를 포함하는 릴레이션이 참조하는 릴레이션이고, 대응되는 기본키를 포함하는 릴레이션이 참조릴레이션이다. 여기서는 <수강> 릴레이션이 참조하는 릴레이션이고, <학생> 릴레이션이 참조 릴레이션이다.
<학생> 릴레이션 | ||
학번 | 주민번호 | 이름 |
202011 | 840404-1212121 | 김철수 |
202012 | 860830-2193929 | 김민아 |
<수강> 릴레이션 | |
학번 | 과목명 |
202011 | 소프트웨어 개발 |
202012 | 소프트웨어 설계 |
ex)
<수강> 릴레이션이 <학생> 릴레이션을 참조하고 있으므로 <학생> 릴레이션의 '학번'은 기본키이고, <수강> 릴레이션의 '학번'은 외래키이다
<수강> 릴레이션의 '학번'에는 <학생> 릴레이션의 '학번'에 없는 값은 입력할 수 없다.
[2021 정보처리기사 필기 총정리] 3과목 (상시업데이트)
목차 2021년 정보처리기사 공부를 위해 각 과목/챕터 별 Best 키워드를 정리해 놓은 글입니다. 시나공 문제집의 기출빈도와 중요도를 기준으로 정리된 키워드들이며, 순서와 관계 없
y-oni.tistory.com
참고: 시나공 정보처리기사 필기 (저자: 강윤석, 김용갑, 김우경, 김정준 | 출판사: 길벗), 유튜브 주간컴공TV
'2021 정보처리기사 > 3과목: 데이터베이스 구축' 카테고리의 다른 글
[2021 정보처리기사-3과목] #정규화(Normalization)1,2,3,4차 (0) | 2021.04.16 |
---|---|
[2021 정보처리기사-3과목] E-R 다이어그램 (0) | 2021.04.16 |
[2021 정보처리기사-3과목] 관계의 개념과 표현(종속,배타,재귀) (0) | 2021.04.15 |
[2021 정보처리기사-3과목] 데이터 모델의 구성요소(논리개체 / 속성 / 식별자) (0) | 2021.04.15 |
[2021 정보처리기사-3과목] DB설계/ 데이터 모델의 개념 (0) | 2021.04.14 |