데이터베이스 04-01 (ER Model, DB설계 2단계, 개념적 설계 단계)
📌
엔티티 타입 [Entity Type] : 스키마
엔티티 [Entity] : 개체들 : 인스턴스
💡엔티티들간의 관계성 표현
- 엔티티
; 하나의 엔티티는 사람, 장소, 사물, 사건등과 같이 독립적으로 존재하면서 고유하게 식별이 가능한 실세계의 객체
; 실체가 있는 것도 있지만 생각이나 개념과 같이 추상적인 것도 있음- 엔티티 타입
스키마와 유사
동일한 애트리뷰트들을 가진 엔티티들의 틀
직사각형으로 나타냄- 엔티티 집합
동일한 애트리뷰트들을 가진 엔티티들의 모임
튜플들이 여러개들어있는 DB, DB State
튜플(인스턴스)들의 집합 (* 각 튜플, record들은 엔티티에 속함 )
ER Diagram에서는 엔티티 타입(스키마)과 엔티티 집합(인스턴스)을 엄격하게 구분하지 않음
강한 엔티티 타입
독자적으로 존재하며,
엔티티 타입 내에서 자신의 키 애트리뷰트를 사용해 고유하게 엔티티들을 식별
약한 엔티티 타입
키를 형성하기에 충분한 애트리뷰트들을 가지지 못한 엔티티 타입
- 고유한 식별 정보를 가지지 못함.
- 약한 엔티티 타입이 존재하려면 소유 엔티티 타입이 있어야함
- 강한 엔티티 타입이 소유 엔티티 타입이 될 수 있음.
- 강한 (소유) 엔티티 타입 or 식별 엔티티 타입의 키 애트리뷰트를 결합해야만, 고유하게, 약한 엔티티 타입의 엔티티들을 식별 할 수 있음
- 이중선 직사각형으로 표기
- 약한 엔티티 타입의 부분키는 점선 밑줄을 그어 표시
- 부분 키 : 전체에서는 중복이 생길 수 있음
애트리뷰트
- 하나의 엔티티는 연관된 애트리뷰트들의 집합으로 설명 됨
(ex. 사원 엔티티는 사원번호, 이름, 직책, 급여 등의 애트리뷰트를 가짐) - 한 애트리뷰트의 도메인은 그 애트리뷰트가 가질 수 있는 모든 가능한 값들의 집합을 의미
(예: 사원번호는 1000부터 9999까지의 값을 가짐) - 여러 애트리뷰트가 동일한 도메인을 공유할 수 있음
(예: 사원번호와 부서번호가 네 자리 정수를 가질 수 있음) - 🔑키 애트리뷰트 : 한 엔티티 타입 내에서 각 엔티티들을 고유하게 식별해낼 수 있는 능력을 가진 애트리뷰트
- ER Diagram에서 기본 키에 속하는 애트리뷰트는 밑줄을 그어 표시함
-
애트리뷰트는 요구사항 명세에서 명사나 형용사로 표현
-
ER Diagram에서 애트리뷰트는 타원형으로 나타냄
-
애트리뷰트 와 엔티티 타입은 실선으로 연결
엔티티와 애트리뷰트의 차이점
엔티티는 독립적인 의미를 갖는데 반해, 애트리뷰트는 독립적인 의미를 갖지 않음.
1). 단순 애트리 뷰트
- 더 이상 다른 애트리뷰트로 나눌 수 없는 애트리뷰트
- ER Diagram에서 실선 타원으로 표현
- 대부분의 애트리뷰트는 단순 애트리뷰트
2). 복합 애트리뷰트 (composite attribute)
- 두 개 이상의 애트리뷰트로 이루어진 애트리뷰트
- 동일한 엔티티 타입이나 관계 타입에 속하는 애트리뷰트들 중에서 밀접하게 연관된 것을 모아놓은 것
3). 단일 값 애트리 뷰트(single - valued attribute)
- 각 엔티티 마다, 정확하게 하나의 값(unique value)을 갖는 애트리뷰트
- 단순 애트리뷰트 중에서 단일 값 애트리뷰트들은 기본 키를 가짐
4). 다치 애트리뷰트
- 각 엔티티마다 여러 개의 값을 가질 수 있는 애트리뷰트
- 이중선 타원으로 표현
5). 저장된 애트리뷰트
- 다른 애트리뷰트와 연관성 없이 독립적으로 존재
- 딱히 구분x
6). 유도된 애트리뷰트
-
다른 애트리뷰트의 값으로부터 얻어진 애트리뷰트
(ex. 주민번호를 입력하니 나이를 알 수 있다) -
관계 DB에서 Relation의 애트리뷰트로 포함시키지 않는 것이 좋음. (변할 수 있기 때문)
-
점선 타원으로 표현
관계와 관계 타입
관계는 엔티티들 사이에 존재하는 연관이나 연결로서, 두 개 이상의 엔티티 타입들 사이의 사상(=mapping)으로 생각 할 수 있음
- 관계 '집합'은 동질의 관계들의 집합
- 관계 '타입'은 동질의 관계들의 틀
- 관계 = 동사 표현
- 다이아몬드로 표기
- 관계 타입이 서로 연관시키는 엔티티 타입들을 관계 타입에 실선으로 연결
- 관계 집합, 타입을 엄격히 구분x
관계의 애트리뷰트
- 관계 타입은 관계의 특징을 기술하는 애트리뷰트들을 가질 수 있음
- 키 애트리뷰트를 갖지 않음
- 마름모를 설명하는 attribute, quantity
차수(degree)
관계의 차수는 관계로 연결된, 엔티티 타입들의 연관 개수
- 2진 관계(두 개의 엔티티 타입을 연결)가 가장 흔함
카디널리티 비율
한 엔티티가 참여할 수 있는 관계의 수
- 관계 타입에 참여하는 엔티티들의 가능한 조합을 제한함.
- 관련 정보는 간선 위에 표현
- 관계 타입과 엔티티 타입을 연결하는 실선 위에 (min, max) 형태로 표기
(💡이 엔티티 타입 내의 각 엔티티는 적어도 n번의 관계에 참여함) - min = 0 → 어떤 엔티티가 반드시 관계에 참여해야 할 필요는 없음
- max = n → 어떤 엔티티가 관계에 n번만큼 참여할 수 있음을 의미
역할 (두번째 제약조건)
관계 타입의 의미를 명확하게 하기 위해 사용
- 특히 하나의 관계 타입에 하나의 엔티티 타입이 여러번 나타나는 경우 반드시 역할 표기!
- 관계 타입의 간선 위에 표시
전체 참여
엔티티 타입 E1의 모든 엔티티들이 관계 타입 R에 의해 엔티티 타입 E2의 어떤 엔티티와 연관되는 것
부분 참여
엔티티 타입 E1의 일부 엔티티만 참여하는 것
다중 관계
두 엔티티 타입 사이에 두 개 이상의 관계 타입이 존재할 수 있음
순환적 관계
하나의 엔티티 타입이 동일한 관계 타입에 두번 이상 참여하는 것
Author And Source
이 문제에 관하여(데이터베이스 04-01 (ER Model, DB설계 2단계, 개념적 설계 단계)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jenzennii/데이터베이스-04-01-ER-Model-DB설계-2단계-개념적-설계-단계저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)