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
- DP
- 자바스크립트
- 깊이우선탐색
- 브루트포스 알고리즘
- DFS
- 그래프 이론
- 완전탐색
- javascript
- 데이터베이스
- 너비 우선 탐색
- SW Expert Academy
- 문자열
- 백준알고리즘
- 스택
- 프로그래머스
- 너비우선탐색
- 파이썬
- 다익스트라
- 다이나믹 프로그래밍
- SWEA
- 백준 알고리즘
- 구현
- 그래프 탐색
- BFS
- 오라클
- oracle
- 백트래킹
- 그리디 알고리즘
- 브루트포스
- Python
Archives
- Today
- Total
민규의 흔적
[오라클 DB] ER(Entity Relationship) 모델 - 참여와 부분 참여 본문
ER 모델
데이터베이스 설계를 용이하게 하기 위해 Peter Chen이 1976년에 제안하였다.
개체와 개체 간의 관계를 이용해 현실 세계를 개념적 구조로 표현한 모델이다.
기본적인 구문으로는 엔티티, 관계, 애트리뷰트가 있고, 기타 구문으로는 카디날리티 비율, 참여 제약조건 등이 있다.
전체 참여
어떤 관계에 엔티티 타입 E1의 모든 엔티티들이 관계 타입 R에 의해서 어떤 엔티티 타입 E2의 어떤 엔테테와 연관되는 것을 의미한다.
약한 엔티티 타입은 항상 관계에 전체 참여이다.(소유 엔티티 타입의 키를 빌려오기 때문에 전체 참여일 수 밖에 없다.)
전체 참여는 ER 다이어그램에서 이중 실선으로 표기한다.
부분 참여
어떤 관계에 엔티티 타입 E1의 일부 엔티티만 참여하는 것을 의미한다.
전체 참여와 부분 참여는 관계에 대한 중요한 제약조건이며, 이는 카디널리티 비율과 함께 관계에 대한 참여 제약조건을 기술할 수 있는 개념이다.
위 ER 다이어그램을 보고 다음과 같이 유추할 수 있다.
학생 엔티티 타입은 강좌 엔티티 타입의 각 엔티티와 수강 관계를 가지고 있으며, 학생 엔티티 타입의 각 엔티티는 해당 관계에 부분 참여(최소 0) 관계를 지닌다.
강좌 엔티티 타입은 학생 엔티티 타입의 각 엔티티와 수강 관계를 가지고 있으며, 강좌 엔티티 타입의 각 엔티티는 해당 관계에 전체 참여(최소 1) 관계를 지닌다.
카디널리티 비율과 부분/전체 참여를 요약 정리하자면 다음과 같다.
전체 참여와 부분 참여는 최솟값을 결정한다.
관계에 대해 전체 참여라면 최솟값은 1이며, 부분 참여라면 최솟값은 0이다.
카디널리티 비율은 최댓값을 결정한다.
엔티티 타입 E1, E2가 특정 관계에 대해 카디널리티 비율이 1:N 관계라면, E1은 관계에 최대 N만큼 참여, E2는 관계에 최대 1만큼 참여한다는 의미이다.
'데이터베이스' 카테고리의 다른 글
[오라클 DB] IE(Information Engineering) 표기법 (0) | 2023.10.23 |
---|---|
[오라클 DB] ER 스키마 작성 지침과 ER 표기법 요약 (2) | 2023.10.23 |
[오라클 DB] ER(Entity Relationship) 모델 - 카디날리티 비율(1:1, 1:N, M:N) (0) | 2023.10.23 |
[오라클 DB] ER(Entity Relationship) 모델 - 관계와 관계 타입 (0) | 2023.10.22 |
[오라클 DB] ER(Entity Relationship) 모델 - 애트리뷰트(속성) (0) | 2023.10.22 |