바닥코딩

식별자와 key 본문

데이터 베이스/데이터 아키텍처

식별자와 key

개발공부개발공부 2020. 3. 3. 11:22

식별자(Identifierts)?

  여러개의 집합체에 속한 여러 데이터 중 각각을 구분할 수 있는 방법에 대해 생각해보면 이 데이터 들을 구별할 수 있는 논리적인 이름이 있어야 한는데, 이렇게 데이터를 구분해주는 논리적인 이름을 식별자라고 합니다.

Key?

 보통 식별자와 키를 같은 동일한 개념이라고 생각하는 경우가 많습니다. 하지만 정확히 말하면 식별자는 업무적으로 구별이 되는 정보이기 떄문에 데이터 모델링 관점에서 봤을 때는 논리적 데이터 모델링 관점이라 생각할 수 있고 키와 같은 경우에는 데이터 베이스 테이블에 접근하는 물리적 매개체 이기 떄문에 데이터 모델링 관점에서 볼 때 리적 데이터 모델링 관점이라고 볼 수 있습니다.

키에도 여러 종류가 있는데 키의 개념을 이해하고 각각의 종류의 키가 가지는 특징에 대해 알아 둔다면 테이블 구조를 파악하는데 더 좋은 지표가 됩니다. 

1. 기본키(Primary key)

 = 가장 흔하게 들어봤을 키이다 간단히 말하자면 데이터베이스 테이블 내  특정 튜플을 유일하게 구별할 수 있는 속성을 말한다 또한 기본키는 관계 설정에서 무조건 필요한 조건이며 테이블당 하나 이상 존재할 수 없다, 유일성과 최소성을 만족한다

2. 후보키(Candidate Key)

 = 릴레이션을 구성하는 속성들 중에서 각가의 튜플을 유일하게 식별할 수 있는 속성들의 집합이다 튜플들을 구별할 수 있는 속성인 것과 유일성과 최소성을 만족한다는 점에서 기본키와 같지만 기본키는 테이블당 하나만 존재하기 때문에 기본키와 같은 속성을 가지고 기본키로 설정이 되지는 않았지만 충분히 다른 키로 대체할 수 있을 경우의 집합을 의미하이를 대체할 수 있는 후보키 에서 기본키를 제외한 나머지 값들을 대체키라고 한다 

3. 슈퍼키(Super Key)

 = 슈퍼키는 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키이다 슈퍼 키느 튜플을 구별해 낼 수 있지만 유일성은 만족해도 최소성을 만족하지는 못한다 위에서 부터 최소성과 유일성이라는 말이 계속 나오는데 둘의 의미는 비슷해 보이지만 다른 의미를 내포하고 있다  예를 들어서 설명하자면

 ex) 예를 들어 같은 반 학생들을 이름으로 구별할 수 있을 것이다 반이 40명이라면 이름이라는 기준을 가지고 40명을 구분하는 것은 가능하다 그렇지만 같은 반에 동일한 이름을 가진 학생이 두명 이상이하면 40명을 이름으로 구분하는 것은 가능하지만 같은 이름을 가지고 있는 사람은 여러명이 존재하게 된다 이러한 상황을 유일성을 만족하지만 최소성을 만족하지 못한다고한다 

 

ERD 에서 식별자 표기법

 

 

 

 

 

'데이터 베이스 > 데이터 아키텍처' 카테고리의 다른 글

데이터 모델링의 기초  (0) 2020.03.03