최신판 |
당신의 편집 |
1번째 줄: |
1번째 줄: |
| [[분류:데이터베이스]][[분류:정보처리기사]] | | [[분류:데이터베이스]][[분류:정보처리기사]] |
| ;Database Key | | ;Database Key |
| ;릴레이션의 튜플을 식별하기 위한 속성의 집합
| | == 슈퍼 키(Super Key) == |
| | |
| == 특징 ==
| |
| * 유일성: 유일한 값을 가져야 한다.
| |
| * 최소성: 최소한의 값으로 식별할 수 있어야 한다.
| |
| * 불변성: 변하는 값이어선 안된다.
| |
| * 존재성: 반드시 존재해야 한다. 누구한텐 있고 누구한테는 없어선 안된다.
| |
| | |
| == 종류 ==
| |
| === 슈퍼 키(Super Key) ===
| |
| * 어떤 릴레이션의 어떠한 튜플들도 같은 값을 가지지 않는 속성, 또는 속성들의 조합 | | * 어떤 릴레이션의 어떠한 튜플들도 같은 값을 가지지 않는 속성, 또는 속성들의 조합 |
| * 유일성 O / 최소성<ref>최소성은 단순히 집합의 개수를 얘기하는 것이 아니라, 속성 집합에서 하나의 속성을 제거하는 경우 더 이상 해당 속성 집합이 릴레이션의 튜플을 식별할 수 없는 것을 말한다</ref> X | | * 유일성 O / 최소성 X |
|
| |
|
| === 후보 키(Candidate Key) ===
| | == 후보 키(Candidate Key) == |
| * Tuple을 유일하게 식별하기 위해 사용되는 속성들의 부분집합 | | * Tuple을 유일하게 식별하기 위해 사용되는 속성들의 부분집합 |
| * 유일성 O / 최소성 O | | * 유일성 O / 최소성 O |
|
| |
|
| === [[데이터베이스 기본 키|기본 키(Primary Key)]] === | | == 기본 키(Primary Key) == |
| * 후보키 중 선정된 Key | | * 후보키 중 선정된 Key |
| * 중복된 값 X / Not Null / 유일성 O / 최소성 O | | * 중복된 값 X / Not Null / 유일성 O / 최소성 O |
|
| |
|
| === 대체 키(Alternate Key) ===
| | == 대체 키(Alternate Key) == |
| * 후보 키 중 선정된 기본 키를 뺀 나머지 키들 | | * 후보 키 중 선정된 기본 키를 뺀 나머지 키들 |
| * 유일성 O / 최소성 O | | * 유일성 O / 최소성 O |
|
| |
|
| === 외부 키(Foreign Key)===
| | == 외부 키(Foreign Key)== |
| * 다른 릴레이션의 Primary Key를 참조하는 속성 | | * 다른 릴레이션의 Primary Key를 참조하는 속성 |
| * 중복 여부에 따라 | | * 중복된 값 X / Not Null / 유일성 O / 최소성 O |
| ** 중복인 경우, 일대다 관계(One-to-Many Relationship)
| |
| ** 중복이 아닌 경우, 일대일 관계(One-to-One relationship)
| |
| * Not Null 여부에 따라
| |
| ** Not Null인 경우, 필수 관계(Mandatory Relationship)
| |
| ** Nullable인 경우, 선택 관계(Optional Relationship)
| |
| | |
| == 예시 ==
| |
| {| class="wikitable"
| |
| !사번
| |
| !이름
| |
| !나이
| |
| !이메일
| |
| |-
| |
| |100
| |
| |김씨
| |
| |30
| |
| |kim1@gmail.com
| |
| |-
| |
| |200
| |
| |김씨
| |
| |41
| |
| |kim2@gmail.com
| |
| |-
| |
| |300
| |
| |이씨
| |
| |38
| |
| |lee@gmail.com
| |
| |-
| |
| |400
| |
| |박씨
| |
| |29
| |
| |park@gmail.com
| |
| |}
| |
| | |
| === 슈퍼 키 목록 ===
| |
| 릴레이션의 튜플을 식별할 수 있는 모든 속성 집합
| |
| | |
| * (사번)
| |
| * (사번, 이름)
| |
| * (사번, 이름, 나이)
| |
| * (사번, 이름, 나이, 이메일)
| |
| * (이름, 나이)
| |
| * (이름, 나이, 이메일)
| |
| * (이메일)
| |
| | |
| === 후보 키 목록 ===
| |
| 슈퍼 키 중 최소성을 만족하는 속성 집합
| |
| | |
| * (사번)
| |
| * (이름, 나이)
| |
| * (이메일)
| |
| | |
| === 기본 키와 대체 키 ===
| |
| 설계자의 판단에 따라 구분
| |
| | |
| * 기본 키: (사번)
| |
| * 대체 키: (이름, 나이), (이메일)
| |