일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 파이썬
- 그래프 이론
- 깊이우선탐색
- 프로그래머스
- 브루트포스 알고리즘
- 문자열
- SWEA
- 브루트포스
- 오라클
- 스택
- 백준 알고리즘
- 데이터베이스
- 백준알고리즘
- 다이나믹 프로그래밍
- DFS
- 백트래킹
- 너비 우선 탐색
- 완전탐색
- javascript
- 그래프 탐색
- 그리디 알고리즘
- 자바스크립트
- BFS
- 너비우선탐색
- DP
- SW Expert Academy
- oracle
- 다익스트라
- Python
- 구현
- Today
- Total
민규의 흔적
[오라클 DB] ER(Entity Relationship) 모델 - 엔티티 타입 본문
ER 모델
데이터베이스 설계를 용이하게 하기 위해 Peter Chen이 1976년에 제안하였다.
개체와 개체 간의 관계를 이용해 현실 세계를 개념적 구조로 표현한 모델이다.
기본적인 구문으로는 엔티티, 관계, 애트리뷰트가 있고, 기타 구문으로는 카디날리티 비율, 참여 제약조건 등이 있다.
엔티티(Entity)
하나의 엔티티는 사람, 장소, 사물, 사건 등과 같이 독립적으로 존재하면서 고유하게 식별이 가능한 실세계의 독립적인 객체이다.
사원처럼 실체가 있는 것도 있지만, 생각이나 개념과 같이 추상적인 것도 있다.
엔티티 타입
엔티티들은 엔티티 타입(또는 엔티티 집합)들로 분류된다.
엔티티 타입은 동일한 애트리뷰트들을 가진 엔티티들의 틀이다.
관계 모델의 릴레이션의 내포(스키마)에 해당한다.
( 학생 릴레이션 스키마 = 학생 엔티티 타입 )
엔티티 집합은 동일한 애트리뷰트들을 가진 엔티티들의 모임이다.
관계 모델의 릴레이션의 외연(인스턴스)에 해당한다.
엔티티 집합과 엔티티 타입을 엄격하게 구분할 필요는 없다
ER 다이어그램에서 엔티티 타입은 직사각형으로 나타낸다.
강한 엔티티 타입
엔티티 타입 내에서 자신의 키 애트리뷰트를 사용하여 고유하게 엔티티들을 식별할 수 있는 엔티티 타입으로,
간단하게 키가 있는 엔티티 타입이라고 이해할 수 있다.
약한 엔티티 타입
키를 형성하기에 충분한 애트리뷰트들을 갖지 못한 엔티티 타입으로,
이 엔티티 타입이 존재하려면 소유 엔티티 타입이 있어야 한다.
간단하게 키가 없어, 강한 엔티티 타입의 키 애트리뷰트를 가져와 사용한다고 이해할 수 있다.
약한 엔티티 타입은 소유 엔티티 타입의 키 + 부분 키 조합으로 각 튜플들을 식별한다.
부분 키란, 약한 엔티티 타입 내에서 키를 형성할 때에 포함되는 애트리뷰트들의 집합을 의미한다.
ER 다이어그램에서 약한 엔티티 타입을 이중선 직사각형으로 표기하며,
약한 엔티티 타입의 부분 키는 점선 밑줄로 표시한다.
약한 엔티티 타입인 DEPENDENT 엔티티 타입은 이중선 직사각형으로 표기하며, 해당 엔티티 타입의 부분 키인 Depname 애트리뷰트는 점선 밑줄로 표기한다.
소유 엔티티 타입
약한 엔티티 타입에게 키 애트리뷰트를 제공하는 엔티티 타입을 말한다.
소유 엔티티 타입의 키 애트리뷰트를 결합해야 약한 엔티티 타입의 엔티티들을 식별할 수 있다.
예를 들어, 사원과 부양가족에서 사원은 사번이라는 키를 가지고 있고, 부양가족은 사원의 사번과 이름으로 식별한다는 점에서, 사원 엔티티 타입은 강한 엔티티 타입, 부양가족 엔티티 타입은 약한 엔티티 타입으로 이해할 수 있겠다.
'데이터베이스' 카테고리의 다른 글
[오라클 DB] ER(Entity Relationship) 모델 - 관계와 관계 타입 (0) | 2023.10.22 |
---|---|
[오라클 DB] ER(Entity Relationship) 모델 - 애트리뷰트(속성) (0) | 2023.10.22 |
[오라클 DB] 데이터베이스 설계 (0) | 2023.10.22 |
[오라클 DB] 트리거(Trigger) (0) | 2023.10.22 |
[오라클 DB] 데이터 조작어(DML) - INSERT, DELETE, UPDATE문 (0) | 2023.10.21 |