데이터베이스 키: 두 판 사이의 차이

IT위키
편집 요약 없음
(외부 키 성질에 대한 잘못된 서술 수정)
 
(사용자 2명의 중간 판 3개는 보이지 않습니다)
1번째 줄: 1번째 줄:
[[분류:데이터베이스]][[분류:정보처리기사]]
[[분류:데이터베이스]][[분류:정보처리기사]]
;Database Key
;Database Key
== 슈퍼 키(Super Key) ==
;릴레이션의 튜플을 식별하기 위한 속성의 집합
 
== 특징 ==
* 유일성: 유일한 값을 가져야 한다.
* 최소성: 최소한의 값으로 식별할 수 있어야 한다.
* 불변성: 변하는 값이어선 안된다.
* 존재성: 반드시 존재해야 한다. 누구한텐 있고 누구한테는 없어선 안된다.
 
== 종류 ==
=== 슈퍼 키(Super Key) ===
* 어떤 릴레이션의 어떠한 튜플들도 같은 값을 가지지 않는 속성, 또는 속성들의 조합
* 어떤 릴레이션의 어떠한 튜플들도 같은 값을 가지지 않는 속성, 또는 속성들의 조합
* 유일성 O / 최소성 X
* 유일성 O / 최소성<ref>최소성은 단순히 집합의 개수를 얘기하는 것이 아니라, 속성 집합에서 하나의 속성을 제거하는 경우 더 이상 해당 속성 집합이 릴레이션의 튜플을 식별할 수 없는 것을 말한다</ref> 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
|}
 
=== 슈퍼 키 목록 ===
릴레이션의 튜플을 식별할 수 있는 모든 속성 집합
 
* (사번)
* (사번, 이름)
* (사번, 이름, 나이)
* (사번, 이름, 나이, 이메일)
* (이름, 나이)
* (이름, 나이, 이메일)
* (이메일)
 
=== 후보 키 목록 ===
슈퍼 키 중 최소성을 만족하는 속성 집합
 
* (사번)
* (이름, 나이)
* (이메일)
 
=== 기본 키와 대체 키 ===
설계자의 판단에 따라 구분
 
* 기본 키: (사번)
* 대체 키: (이름, 나이), (이메일)

2023년 10월 23일 (월) 10:24 기준 최신판

Database Key
릴레이션의 튜플을 식별하기 위한 속성의 집합

특징[편집 | 원본 편집]

  • 유일성: 유일한 값을 가져야 한다.
  • 최소성: 최소한의 값으로 식별할 수 있어야 한다.
  • 불변성: 변하는 값이어선 안된다.
  • 존재성: 반드시 존재해야 한다. 누구한텐 있고 누구한테는 없어선 안된다.

종류[편집 | 원본 편집]

슈퍼 키(Super Key)[편집 | 원본 편집]

  • 어떤 릴레이션의 어떠한 튜플들도 같은 값을 가지지 않는 속성, 또는 속성들의 조합
  • 유일성 O / 최소성[1] X

후보 키(Candidate Key)[편집 | 원본 편집]

  • Tuple을 유일하게 식별하기 위해 사용되는 속성들의 부분집합
  • 유일성 O / 최소성 O

기본 키(Primary Key)[편집 | 원본 편집]

  • 후보키 중 선정된 Key
  • 중복된 값 X / Not Null / 유일성 O / 최소성 O

대체 키(Alternate Key)[편집 | 원본 편집]

  • 후보 키 중 선정된 기본 키를 뺀 나머지 키들
  • 유일성 O / 최소성 O

외부 키(Foreign Key)[편집 | 원본 편집]

  • 다른 릴레이션의 Primary Key를 참조하는 속성
  • 중복 여부에 따라
    • 중복인 경우, 일대다 관계(One-to-Many Relationship)
    • 중복이 아닌 경우, 일대일 관계(One-to-One relationship)
  • Not Null 여부에 따라
    • Not Null인 경우, 필수 관계(Mandatory Relationship)
    • Nullable인 경우, 선택 관계(Optional Relationship)

예시[편집 | 원본 편집]

사번 이름 나이 이메일
100 김씨 30 kim1@gmail.com
200 김씨 41 kim2@gmail.com
300 이씨 38 lee@gmail.com
400 박씨 29 park@gmail.com

슈퍼 키 목록[편집 | 원본 편집]

릴레이션의 튜플을 식별할 수 있는 모든 속성 집합

  • (사번)
  • (사번, 이름)
  • (사번, 이름, 나이)
  • (사번, 이름, 나이, 이메일)
  • (이름, 나이)
  • (이름, 나이, 이메일)
  • (이메일)

후보 키 목록[편집 | 원본 편집]

슈퍼 키 중 최소성을 만족하는 속성 집합

  • (사번)
  • (이름, 나이)
  • (이메일)

기본 키와 대체 키[편집 | 원본 편집]

설계자의 판단에 따라 구분

  • 기본 키: (사번)
  • 대체 키: (이름, 나이), (이메일)
  1. 최소성은 단순히 집합의 개수를 얘기하는 것이 아니라, 속성 집합에서 하나의 속성을 제거하는 경우 더 이상 해당 속성 집합이 릴레이션의 튜플을 식별할 수 없는 것을 말한다