컴공돌이의 취미 블로그
기초데이터베이스 [2]. 데이터베이스 설계의 개요 본문
기초데이터베이스 [2]. 데이터베이스 설계의 개요
● E-R 모델(Entity-Relationship Model) :
→ 개념적 스키마를 표현하는데 사용되는 데이터 모델의 한 종류
● 개체(Entity) :
→ 다른 객체와 분간 가능한 실제 세계의 객체를 의미
→ Entity는 속성(Attribute)의 집합을 사용하여 표현함
→ 개체는 사각형으로, 속성은 원으로 그려서 표현함
<학생 개체와 그 개체의 속성>
● Entity Set :
→ 비슷한 Entity들의 모음을 의미
→ 각각의 Entity는 구분이 가능하게 하기위한 Key 값을 가지고 있음
● 관계(Relationship) :
→ 두개 혹은 그 이상의 Entity들 간의 연관성을 의미
<학생 개체와 교수 개체의 관계인 지도>
→ Relationship은 연결된 Entity의 개수에 따라 Unary(1개), Binary(2개), Ternary(3개)등으로 분류됨
● Relationship Set :
→ 비슷한 Relationship들의 모음을 의미
● 키 제약조건(Key Constraints) :
→ Entity간의 Relationship에는 1-대-1(1:1), 1-대-다(1:N, N:1), 다-대-다(M:N) 관계가 있음
→ E-R Diagram에서 1:1 관계인 경우에는 선을 화살표로 표시함
<1:1 관계를 화살표로 표시한 E-R Diagram>
● 참여 제약조건(Participation Constraints) :
→ 참여에는 모든 개체가 참여하는 Total Participation(완전 참여)와 일부 개체만 참여하는 Partial Participation(부분 참여)가 있음
→ Total Participation는 E-R Diagram에서 굵은 선으로 표시함
→ Partial Participation는 E-R Diagram에서 얇은 선으로 표시함
<Total Participation를 표시한 E-R Diagram>
● 약한 개체(Weak Entities) :
→ Weak Entity는 다른 Entity의 Primary Key(중요 키)를 고려해야지만 하나의 값을 특정할 수 있음
→ Owner Entity(주인 개체)는 Weak Entity와 1-대-다 관계를 가지고있음
→ Weak Entity는 무조건 Total Participation를 하고 있음
→ Weak Entity는 E-R Diagram에서 굵은 선으로 표시함
→ Weak Entity에 연결된 Relationship도 E-R Diagram에서 굵은 선으로 표시함
<Weak Entity를 표시한 E-R Diagram>
● ISA 계층(ISA Hierarchies) :
→ 서브 클래스의 특정 Attribute을 쉽게 설명 ISA를 사용
→ Relationship에 참여하는 Entity를 조금 더 명확하게 구분하기 위해 ISA를 사용
→ Attribute는 서브 클래스로 상속될 수 있음
→ A ISA B 라고 정의할 경우 모든 A 개체는 B 개체도 고려해야함
→ Overlap Constraints(중첩 제약조건)과 Covering Constraint(포괄 제약조건) 명시 가능
<ISA Hierarchy를 표시한 E-R Diagram>
● 집단화(Aggregation) :
→ RelationShip은 Entity간에 사용하는 것이지만 Entity 대신에 RelationShip Set을 포함하고 있을 때 사용함
→ Entity만으로는 특정 상황을 명확히 표현하기 어려울 때 Aggregation을 사용함
특정 교수가 강의하고 있는 수업을 수강하고 있는 학생을 나타내기 위한 집단화
<Aggregation을 표시한 E-R Diagram>
● E-R Model을 사용한 개념적 디자인(Conceptual Design) :
1. 개체, 속성 선택
→ 어떠한 정보를 개체에 속한 속성으로 만들지 따로 하나의 개체로 만들지 상황에 맞게 선택해야 한다.
2. 개체, 관계 선택
→ 어떠한 속성을 관계의 속성으로 만들지 개체의 속성으로 만들지 상황에 맞게 선택해야 한다.
3. 이진관계, 삼진관계 선택
→ 상황에 맞는 이진관계 혹은 삼진관계를 선택해야 한다.
● 개념적 디자인(Conceptual Design) 요점 :
1. Conceptual Design은 Requirements Analysis(요구사항 분석)을 필요로 한다.
2. Conceptual Design을 위한 모델으로는 E-R Model이 잘 알려져 있다.
3. Conceptual Design의 기본적인 구조로는 Entity(개체), Relationship(관계), Attribute(속성)이 있다.
4. Conceptual Design의 추가인 구조로는 Weak Entity(약한개체), ISA Hierarchy(ISA 계층), Aggregation(집단화)등이 있다.
● E-R Model 요점 :
1. E-R Model에서는 몇가지 종류의 무결성 제약조건들(Key Constraint, Participation Constraint, Overlap Constraint, Covering Constraint)이 사용된다.
2. E-R Model 디자인은 주관적이기 때문에 주어진 시나리오는 다양한 모델으로 표현될 수 있다.
3. 관계 스키마를 분석하고 다듬어서 좋은 데이터베이스 디자인으로 만들어야 한다.
'Study > 기초데이터베이스' 카테고리의 다른 글
기초데이터베이스 [4]. 관계대수와 관계해석 (0) | 2017.10.23 |
---|---|
기초데이터베이스 [3]. 관계 모델 (0) | 2017.10.23 |
기초데이터베이스 [1]. 데이터베이스 시스템 개요 (0) | 2017.09.12 |