mjieun
로그인
mjieun
로그인
[ SQLD : I. 데이터 모델링의 이해] 1-4. 관계(Relationship)
문지은
·
2023년 5월 31일
팔로우
0
Database
SQLD
db
0
SQLD
목록 보기
4/30
관계(Relationship)
관계의 개념
관계의 정의
엔터티의 인스턴스 사이의 논리적인 연관성으로서 존재의 형태로서나 행위로서 서로에게 연관성이 부여된 상태
관계 패어링(Relationship Paring)
엔터티 안에 인스턴스가 개별적으로 관계를 가지는 것
각각의 엔터티의 인스턴스들이 자신이 관련된 인스턴스들과 관계의 어커런스로 참여하는 형태
관계의 분류
ERD 기준
관계를 연결함에 있어 어떤 목적으로 연결되었느냐에 따라 분류
존재에 의한 관계와 행위에 의한 관계로 구분
표기 구분하지 않음
UML(Unified Modeling Language) 기준
연관관계(Association) : 항상 이용하는 관계, 존재적 관계
의존관계(Dependency) : 상대방 클래스의 행위에 의해 관계 형성
연관관계는 표현방법이 실선으로 표현되고 소스코드에서 멤버변수로 선언하여 사용
의존관계는 점선으로 표현되고 행위를 나타내는 코드인 Operation(Method) 에서 파라미터 등으로 이용할 수 있도록 함
관계의 표기법
관계명(Membership)
엔터티가 관계에 참여하는 형태
관계 시작점과 끝점 모두 관계이름을 가져야 하며 참여 자의 관점에 따라 관계이름이 능동적(Active)이거나 수동적(Passive)으로 명명됨
관계명 명명 규칙
애매한 동사를 피한다.
현재형으로 표현한다.
관계차수(Degree/Cardinality)
한 개가 참여하는 경우는 실선을 그대로 유지하고 다수가 참여한 경우 는(Many) 까마귀발 모양으로 그림
1:1(ONE TO ONE) 관계
1:M(ONE TO MANY) 관계
M:M(MANY TO MANY) 관계
관계선택사양(Optionality)
필수참여(Mandatory Membership)
참여하는 모든 참여자가 반드시 관계를 가지는, 타 엔터티의 참여자와 연결 이 되어야 하는 관계
선택참여(Optional Membership)
선택참여된 항목은 물리속성 에서 Foreign Key로 연결될 경우 Null을 허용할 수 있는 항목이 됨
선택참여관계는 ERD에서 관계를 나타내는 선에서 선택참여하는 엔터티 쪽을 원으로 표시하고, 필수참여는 아무런 표시를 하지 않음.
관계의 정의 및 읽는 방법
관계 체크 사항
두 개의 엔터티 사이에 관심있는 연관규칙이 존재하는가?
두 개의 엔터티 사이에 정보의 조합이 발생되는가?
업무기술서, 장표에 관계연결에 대한 규칙이 서술되어 있는가?
업무기술서, 장표에 관계연결을 가능하게 하는 동사(Verb)가 있는가?
관계 읽기
기준(Source) 엔터티를 한 개(One) 또는 각(Each)으로 읽는다.
대상(Target) 엔터티의 관계참여도 즉 개수(하나, 하나 이상)를 읽는다.
관계선택사양과 관계명을 읽는다.
문지은
코드로 꿈을 펼치는 개발자의 이야기, 노력과 열정이 가득한 곳 🌈
팔로우
이전 포스트
[ SQLD : I. 데이터 모델링의 이해] 1-3. 속성(Attribute)
다음 포스트
[ SQLD : I. 데이터 모델링의 이해] 1-5. 식별자(Identifiers)
0개의 댓글
댓글 작성