고통은 사라지고 결과는 남는다. Records of Chansolve

[SQLD] 식별자 본문

Computer Science

[SQLD] 식별자

엄청큰노란닭 2023. 3. 3. 15:39

1. 식별자 ( Identifiers )
여러개의 속성 중 엔터티를 대표 할 수 있는 속성

 

2. 주식별자(기본 키) 5가지 특징
유일성 - 주식별자는 모든 인스턴스를 유일하게 구분가능하다.
최소성 - 주식별자를 구성하는 속성 수는 1개여야한다. ex) 학번 속성으로 구분가능한데 학번과 번호를 섞어서 구성 X
불변성 - 주식별자는 자주 변경되지 않아야한다.
존재성 - 주식별자는 항상 데이터 값이 있어야한다.
대표성 - 주식별자는 엔터티를 대표 할 수 있어야한다.

 

키의종류

키 종류 설명
기본키 (PK) 엔터티 대표 키
후보키 (CK) 유일성과 최소성 만족하지만 대표성 부족
슈퍼키 (SK) 유일성은 만족하지만 최소성 부족
대체키 (AK) 후보키 중 기본키를 선정하고 남은 키
외래키 (FK) 다른테이블 기본 키 필드를 참조 한 키

 

3. 식별자 분류
대표성 여부
- 주식별자 : 엔터티를 대표하는 식별자로 다른 엔터티와 참조관계를 연결 할 수 있다. -> 기본키
- 보조식별자 : 대표성을 가지지 못해 참조관계 연결 할 수 없다. -> 후보키

엔터티 내 생성 여부
- 내부 식별자 : 엔터티 내부에서 스스로 만들어지는 식별자
- 외부 식별자 : 타 엔터티와의 관계를 통해 생성 되는 식별자

단일 속성 여부
- 단일 식별자 : 하나의 속성으로 구성된 식별자
- 복합 식별자 : 두 개 이상의 속성으로 구성된 식별자

대체 여부
- 본질 식별자 : 업무로 인해 만들어지는 식별자
- 인조 식별자 : 인위적으로 만들어지는 식별자

 


인조 식별자 특징
  1. 최대한 범용적인 값을 사용해서 만든 식별자
  2. 유일한 값을 만들기 위해 사용
  3. 하나의 인조 식성으로 대체 불가능
  4. 편의성 ·단순성 확보를 위해 사용
  5. 의미의 체계화를 위해 사용
  6. 내부적으로만 사용

 

 

4. 식별자관계 , 비식별자관계
식별자관계 (실선으로 표시, 강한 연결(종속)관계)
부모의 주식별자가 자식의 주식별자가 되는 경우를 식별자 관계라고 한다.
Ex) 카드결제는 카드가 있어야 생기는 엔터티이다. 이런경우를 부모관계라고 표현한다.
     여기서 , 카드 엔터티의 카드번호 주식별자(기본 키)를 결제 엔터티의 주식별자(기본 키)로 지정했다.
     FK는 Foreign Key로 외래키라는 뜻이다. 다른 엔터티의 기본 키를 참조한 키라고 해석하면된다.
     이런경우를 식별자 관계라고 한다.

비식별자관계 (점선으로 표시, 약한 연결(종속)관계)
부모의 주식별자가 자식의 주식별자가 되지 않고 그냥 속성으로 사용하는 경우를 비식별자 관계라고 한다.
Ex) 카드AS는 카드가 있어야 생기는 엔터티이다. 하지만 식별관계처럼 카드번호를 기본키로 사용하지 않고
     카드AS번호를 기본 키로 사용한다. 부모 엔터티 주식별자(카드번호)를 그냥 속성으로만 사용하였다.
     이런 경우를 비식별자 관계라고 한다.

* 식별자 정리

 분류 식별자  설명 
대표성여부  주식별자  엔티티 내에서 각 어커런스를 구분할 수 있는 구분자이며, 타 엔티티와 참조관계를 연결할 수 있는 식별자 
보조식별자  엔티티 내에서 각 어커런스를 구분할 수 있는 구분자이나 대표성을 가지지 못해 참조관계 연결을 못함 
스스로 생성여부  내부식별자  엔티티 내부에서 스스로 만들어지는 식별자 
외부식별자  타 엔티티와의 관계를 통해 타 엔티티로부터 받아오는 식별자 
속성의 수  단일식별자  하나의 속성으로 구성된 식별자 
복합식별자  둘 이상의 속성으로 구성된 식별자 
대체여부  본질식별자  업무에 의해 만들어지는 식별자 
인조식별자  업무적으로 만들어지지는 않지만 원조식별자가 복잡한 구성을 가지고 있기 때문에 인위적으로 만든 식별자 

* 식별자의 특징

- 주식별자에 의해 엔티티 내에 모든 인스턴스들이 유일하게 구분되어야 한다.

- 주식별자를 구성하는 속성의 수는 유일성을 만족하는 최소의 수가 되어야 한다.

- 지정된 주식별자의 값은 자주 변하지 않는 것이어야 한다.

- 주식별자가 지정이 되면 반드시 값이 들어와야 한다.

특징  내용 
유일성  주식별자에 의해 엔티티 내에 모든 인스턴스들을 유일하고 구분함 
최소성  주식별자를 구성하는 속성의 수는 유일성을 만족하는 최소의 수가 되어야 함 
불변성  주식별자가 한 번 특정 엔티티에 지정되면 그 식별자의 값은 변하지 않아야 함 
존재성  주식별자가 지정되면 반드시 데이터 값이 존재해야 함 (Null 값 안됨) 

 

 

5. 관계 ( Relationship )
엔터티와 엔터티 사이의 연관성
관계 정의 시 체크사항
1. 관심 있는 연관 규칙 존재
2. 업무기술서와 장표 관계연결 동사 필요
3. 업무기술서와 장펴 관계연결 규칙 필요
4. 두 관계의 정보의 조합

 

6. 관계의 분류 2가지
6-1) 존재에 의한 관계 : 존재 여부의 관계
      예를 들어, 컴퓨터학과에 홍길동이라는 사람이 있다. 어떠한 행위로 인한 것이 아니라 존재 여부로 인한 관계

 

 

6-2) 행위에 의한 관계 : 어떤 행위로 인한 관계
      예를들어, 홍길동 학생이 SQLD 기초 과목을 수강 신청한다. 수강신청으로 생성된 관계

 

 

7. 관계의 표기법
7-1) 관계차수 : 두 엔터티 관계에 참여하는 수
      일대일 ( 1:1 ) 관계
      1명의 수험생은 1개의 수험번호를 가진다.

 

 

      일대다 ( 1:N ) 관계
      1개의 컴퓨터학과는 여러 명의 학생이 존재한다.

 

 

      다대다 ( M:N ) 관계
      다수의 학생들은 다수의 과목을 수강신청할 수 있다.

 

 

 

7-2) 관계선택사양 : 필수적 관계, 선택적 관계
      필수적관계 - 반드시 있어야 하는 관계 ' I '로 표현한다.
      수험생이 있어야 수험번호가 생성된다.

 

 


      선택적관계 - 없을 수도 있는 관계 ' O '로 표현한다.
      만약, 컴퓨터학과가 있지만 홍길동 학생이 있을 수도 없을 수도 있다.

 

 

출처: https://goc1221.tistory.com/31

Comments