Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- HTML공부
- 서비스기획스쿨
- css생활코딩
- AICEBASICE
- AICE시험후기
- 웬즈데잇
- 스파르타코딩클럽
- 이미준PO
- SW캠프비전공자후기
- 기획관련도서
- SW캠프단점
- css독학
- 코린이독학
- 생활코딩html
- SW캠프장점
- 기획자도서추천
- html독학
- 생활코딩
- html
- SQL
- 피그마
- Til
- sql독학
- SQLD공부방법
- 도그냥강연
- 기획공부
- 도그냥
- 처음부터다시배우는웹기획
- 기획자책
- SW캠프솔직후기
Archives
- Today
- Total
브리의 성장기
[SQL] ERD 식별관계, 비식별관계 의 개념과 차이점 본문
728x90
식별관계, 비식별관계에 대해 알아보기 전에 ERD란 무엇일까?
ERD(Entity Relationship Diagram)는
개체-관계 모델. 테이블간의 관계를 설명해주는 다이어그램이라고 볼 수 있으며,
이를 통해 프로젝트에서 사용되는 DB의 구조를 한눈에 파악할 수 있다. 즉, 쉽게말해 모델 구조도라고 생각하면 된다.
Entity는 또 다른 Entity와 다양한 관계를 맺고 있다.
오늘은 특이나 헷갈렸던 개념 '식별관계' 와 '비식별관계' 의 차이에 대해 알아보았다.
식별관계란
부모로부터 받은 식별자를 자식 엔터티의 주식별자(PK)로 이용하는 경우이다.
반드시 부모엔터티가 생성되어야 자기 자신의 엔터티가 생성된다. (내 PK가 네 PK)
비식별관계
부모엔터티로부터 속성을 받았지만, 자식엔터티의 주식별자로 사용하지 않고 일반적인 속성(FK)으로만 사용하는 경우이다.
아래의 경우 비식별관계로 작성한다.
- 자식 엔터티에서 받은 속성이 필수가 아니어도 무방할 경우
- 부모엔터티가 소멸될 수 있는 경우
- 자식엔터티에서 별도의 주식별자를 생성하는 것이 더 유리할 경우
식별관계와 비식별관계 비교
항목 | 식별관계 | 비식별관계 |
목적 | 강한 연결관계 표현 | 약한 연결관계 표현 |
자식 주식별자 영향 | 자식 주식별자의 구성에 포함됨 | 자식 일반속성에 포함됨 |
표기법 | 실선 표현 | 점선 표현 |
연결 고려사항 | -반드시 부모엔터티 종속 -자식 주식별자구성에 부모 주식별자포함 필요 -상속받은 주식별자속성을 타 엔터티에 이전 필요 |
-약한 종속관계 -자식 주식별자구성을 독립적으로 구성 -자식 주식별자구성에 부모 주식별자 부분필요 -상속받은 주식별자속성을 타 엔터티에 차단 필요 -부모쪽의 관계참여가 선택관계 |
실제로 프로젝트를 만들땐 식별관계를 사용할지, 비식별관계를 사용할지 선택하는 것은 높은 수준의 내공을 요할 것 같다.
관계의 강/약 분석, 자식 테이블의 독립 PK 필요여부, SQL복잡도 및 개발생산성 등을 고려하여 관계를 설정해야한다.
728x90
'공부하기 > SQL' 카테고리의 다른 글
[SQL] 팀장님! DB권한 좀 주세요! (2탄) (1) | 2023.04.15 |
---|---|
[SQL] 팀장님! DB권한 좀 주세요! (0) | 2023.04.03 |
[SQL] SQLD 시험 접수를 해보자 :: 접수기간, 응시비용, 접수방법 안내 (0) | 2022.10.11 |
[SQLD] 내가 보려고 쓰는 SQL 실습 사이트 모음 (0) | 2022.10.06 |
Comments