Information Security Study
240214 데이터베이스(관계의 정의/분류/표기법, 식별자/특징/분류) 본문
관계
관계의 정의
- 엔터티들이 서로 상호 연관성을 가지고 있는 상태
- 강사와 수강생은 서로 논리적으로 연관성이 부여된 상태이며 해당 관계는 ‘강의한다’라는 관계로 명명할 수 있다.
- 또한 강사 인스턴스 하나가 여러 수강생 인스턴스들과 관계를 가지고 있기 때문에 이러한 관계를 일대다 관계라고 부른다.
관계의 분류
존재에 의한 관계
- ‘소속된다’라는 의미는 어떠한 행위에 의해 발생되는 의미가 아닌 단지 사원이 부서에 소속되어 있기 때문에 나타나는 관계이다.
행위에 의한 관계
- 고객과 주문의 관계는 고객이 주문이라는 행위에 의해 발생되는 관계이기 때문에 행위에 의한 관계라고 볼 수 있다.
관계의 표기법
- 관계명(Membership): 관계의 이름
- 관계차수(Cardinality): 일대일(1:1) , 일대다(1:M), 다대다(M:N)
- 관계선택사양(Optionality): 필수관계, 선택관계
관계명
- 엔터티가 관계에 참여하는 형태를 지칭
- 각각의 관계는 두 개의 관계명을 가짐
관계차수
1:1
1:M
M:M
관계선택사양
- 고객은 여러번 주문할 수도 있고 한번도 주문하지 않을 수도 있다. (선택관계)
- 그러나 주문은 반드시 고객이 있어야 가능하다. (필수관계)
식별자
식별자
- 엔터티 내에서 각각의 인스턴스들을 구분할 수 있는 속성
- 예를 들어 웹사이트에서 특정 회원을 구분하기 위해 계정명이나 이메일을 사용하는 것으로 이해할 수 있다.
식별자의 특징
특징 | 내용 | 비고 |
유일성 | 엔터티 내의 모든 인스턴스들을 유일하게 구분할 수 있어야 함 | 웹사이트 회원은 개인마다 이메일주소가 달라야한다. 중복된 이메일을 사용해서는 안된다. |
최소성 | 식별자의 개수는 유일성을 만족하는 최소의 수를 가져야 함 | 이메일만으로 각 개별 회원을 구분해낼 수 있다면 굳이 계정명을 새로 받아 식별자로 구성할 필요는 없다. |
불변성 | 식별자의 값은 정해지면 변하면 안됨 | 한번 가입한 메일은 회원정보 수정을 통해 바꿔서는 안된다. |
존재성 | 식별자의 값은 null이 될 수 없음 | 이메일정보가 없는 회원은 존재하면 안된다. |
식별자 분류
1) 대표성 여부
- 주식별자: 엔터티 내에서 각 인스턴스들을 구분할 수 있는 구분자이며, 타 엔터티와 관계를 연결할 수 있는 식별자 (ex: 주문번호, 사원번호)
- 보조식별자: 엔터티 내에서 각 인스턴스들을 구분할 수 있는 구분자이나 대표성을 가지지 못해 관계연결을 못하는 식별자 (ex: 전화번호: 전화번호는 각 개인마다 유일하긴 하나 자주 바뀔 수 있어서 불변성을 만족하지 못함)
2) 스스로 생성 여부
- 내부식별자: 엔터티 내부에서 스스로 생성되는 식별자 (ex: 게시판글번호)
- 외부식별자: 타 엔터티와의 관계를 통해 들어오는 식별자 (ex: 댓글 엔터티의 원본게시물번호)
3) 속성의 수
- 단일식별자: 하나의 속성만으로 구성된 식별자 (ex: 사원엔터티의 사원번호)
- 복합식별자: 둘 이상의 속성의 조합으로 구성된 식별자 (ex: 주문엔터티의 고객번호와 주문번호)
4) 대체가능 여부
- 본질식별자: 업무에 의해 만들어지는 가공되지 않는 원래의 식별자
- (ex: 사원엔터티의 사원번호)
- 인조식별자: 주 식별자의 속성이 두 개 이상인 경우 속성들을 하나의 속성으로 묶어 사용하는 식별자식별자관계와 비식별자관계
- (ex: 제품엔터티의 씨리얼번호 - SM230301 <제품식별코드+제조일자>)