프로그래밍/DB

관계

Baesj 2021. 9. 15. 15:40

관계의 정의

관계(Relationship)를 사전적으로 정의하면 상호 연관성이 있는 상태로 말할 수 있다. 이것을 데이터 모델에 대입하여 정의해 보면, “엔터티의 인스턴스 사이의 논리적인 연관성으로서 존재의 형태로서나 행위로서 서로에게 연관성이 부여된 상태”라고 할 수 있다. 관계는 엔터티와 엔터티 간 연관성을 표현하기 때문에 엔터티의 정의에 따라 영향을 받기도 하고, 속성 정의 및 관계 정의에 따라서도 다양하게 변할 수 있다.

엔티티

엔터티란 “업무에 필요하고 유용한 정보를 저장하고 관리하기 위한 집합적인 것(Thing)”으로 설명

인스턴스

인스턴스라는 것은 엔터티의 하나의 값에 해당한다고 정의

데이터온에어 엔터티

관계의 패어링

각각의 엔터티의 인스턴스들은 자신이 관련된 인스턴스들과 관계의 어커런스로 참여하는 형태를 관계 패어링(Relationship Paring)이라 한다. [그림 Ⅰ-1-31]에서는 강사인 정성철은 이춘식과 황종하에게 강의를 하는 형태로 관계가 표현되어 있고 조시형은 황종하에게 강의를 하는 형태로 되어 있다. 이와 같이 엔터티내에 인스턴스와 인스턴스사이에 관계가 설정되어 있는 어커런스를 관계 패어링이라고 한다. 엔터티는 인스턴스의 집합을 논리적으로 표현하였다면 관계는 관계 패어링의 집합을 논리적으로 표현한 것이다.

데이터온에어 관계

관계의 분류

관계가 존재에 의한 관계와 행위에 의한 관계로 구분될 수 있는 것은 관계를 연결함에 있어 어떤 목적으로 연결되었느냐에 따라 분류하기 때문이다.

데이터온에어 관계

관계의 표기법

관계명(Membership) : 관계의 이름

데이터온에어 관계

관계차수(Cardinality) : 1:1, 1:M, M:N

 : 1:1(One to One)

데이터온에어 관계

 

 : 1:M(One to Many)

데이터온에어 관계

IE 표기법에서 사원의 O 표시는 optional이다.

부서에 사원이 있어도 되고, 없어도 된다는 뜻이다.

 

 : M:M(Many to Many)

데이터온에어 관계

관계선택사양(Optionality) : 필수관계, 선택관계

필수참여는 참여하는 모든 참여자가 반드시 관계를 가지는, 타 엔터티의 참여자와 연결이 되어야 하는 관계이다. 예를 들면 주문서는 반드시 주문목록을 가져야 하며 주문목록이 없는 주문서는 의미가 없으므로 주문서와 주문목록은 필수참여관계가 되는 것이다. 반대로 목록은 주문이 될 수도 있고 주문이 되지 않은 목록이 있을 수도 있으므로 목록과 주문목록과의 관계는 선택참여(Optional Membership)가 되는 것이다.

데이터온에어 관계

식별자관계와 비식별자관계

식별자관계

부모로부터 받은 식별자를 자식엔터티의 주식별자로 이용하는 경우는 Null값이 오면 안되므로 반드시 부모엔터티가 생성되어야 자기 자신의 엔터티가 생성되는 경우

데이터온에어 식별자

비식별자관계

부모엔터티로부터 속성을 받았지만 자식엔터티의 주식별자로 사용하지 않고 일반적인 속성으로만 사용하는 경우

데이터온에어 식별자

식별자와 비식별자관계 비교

데이터온에어 식별자

 

 

출처 및 참고

사이트 : 데이터온에어 관계

사이트 : 데이터온에어 엔터티

사이트 : 데이터온에어 식별자

도서 : SQL 전문가가이드 2013 Edtion

'프로그래밍 > DB' 카테고리의 다른 글

정규화에 대해서  (0) 2021.10.08
DDL과 DML, DCL, TCL  (0) 2021.09.14
인덱스(Index)  (0) 2021.09.14
정규화(Normalization)와 반정규화(De-Normalization)  (0) 2021.09.09
트랜잭션 이해 2 - 격리, 단계, 수준  (0) 2021.09.07