관계
= 관계의 정의
상호 연관성이 있는 상태로 엔터티 간의 논리적 연관성을 의미, 존재에 의한 관계 및 행위에 의한 관계로 구분
= 관계의 페어링 Relationship Pairing!
관계의 엔터티 안에 인스턴스가 개별적으로 관계를 가지는 것 -> 페어링
인스턴스들은 자신이 관련된 인스턴스들과 관계의 어커런스(발생, 사건)으로 참여하는 형태를 관계의 페어링이라고 함.
Ex)
강사 A는 학생 C,D에 강의
강사 B는 학생 D에 강의
-> 엔터티 내 인스턴스와 인스턴스사이에 관계가 설정되어있다.
= 존재관계 (부서 - 사원)
= 행위관계 (고객 - 주문)
= 관계 표기법
관계명 Membership : 관계 이름
관계차수 Cardinality : 1:1, 1:M, M:M
관계선택사양 Optionality : 필수관계, 선택관계
= 관계명
관계는 두 개의 관계명을 가진다. -> 각각의 관계명에 의해 양쪽 관점에서 표현될 수 있다.
= 관계는 시작점과 끝점 이름을 가지고, 참여자의 관점에 따라 능동적이고 수동적으로 명명된다
= 관계 이름짓기
애매한 동사를 피한다. / 관련있다 이런거
현재형으로 표현하기 -> 했다. X / 할것이다. X
식별자
= 식별자
엔터티가 인스턴스 집합 -> 인스턴스사이에서 구분할 수 있는 무언가가 필요 -> 식별자 identifier
= 식별자 특징 (유최불존)
유일성
최소성 :속성의 숫자는 유일성을 만족하는 최소의 수
불변성:식별자 값 변할 수 없음
존재성:데이터값이 무조건 존재해야됌
= 식별자 분류
대표성여부 - 주식별자, 보조식별자
스스로생성여부 - 내부식별자, 외부식별자
속성의 수 - 단일식별자, 복합식별자
대체여부 - 본질식별자, 인조식별자
주식별자:각행을 구분할 수 있는 구분자! (사원번호)
보조식별자:행을구분할수는있지만,대표성은 가지지못함 (주민등록번호)
내부식별자:고객번호,사원번호와같이 스스로만들어지는 식별자
외부식별자:주문엔터티의 고객번호는 고객이 주문을 했기때문에 생겨진 식별자
단일식별자:하나의 속성으로 구성된 식별자 고객엔터티의 고객번호
복합식별자:둘 이상의 속성으로 구성된 식별자(주문상세엔터티의 주문번호+상세순번)
본질식별자:업무에 만들어지는 식별자 (고객번호)
인조식별자:인위적으로 만든 식별자(주문엔터티의 주문번호를 만들 때, 고객번호+주문번호+순번이렇게 합쳐서 만든 것)
= 식별자 도출기준
업무에 자주 이용되며 명칭, 내역들과 같이 명사들은 주식별자로 지정하지 않고, 복합적으로 사용할 때는 속성이 너무 많지 않게 주의할 것
= 식별자관계와 비식별자 관계
외부식별자 Foreign Key (FK) : 자식 쪽 엔터티에 생성되는 속성
식별자 관계는 FK를 주식별자로 이용
(부모의 식별자 = 자식의 식별자)
비식별자 관계는 부모와 자식이 연결이 되게 하는 속성으로만 이용
(부모의 식별자 != 자식의 식별자) 그저 외부식별자가 FK로서의 역할만 함
=비식별자 관계 고려 이유
관계가 약하거나
독립 pk 구성이 필요하거나
PK속성 단순화가 필요할 때 (SQL 복잡성 방지)
'인터넷강의 > [패스트캠퍼스] 합격의하이패스:SQLD자격과정' 카테고리의 다른 글
합격의 하이패스:SQLD자격과정 CH01-01, 02 | 엔터티(Entity), 속성(Personality) (0) | 2024.05.10 |
---|---|
합격의 하이패스:SQLD자격과정 CH01-01 | 데이터 모델의 이해 (0) | 2024.05.08 |