Entity-relation을 사용한 conceptual data modeling
Ch7 entity-relation를 사용한 개념적 데이터 모델링
7.1 DB 설계를 위한 고수준의 개념적 데이터 모델의 사용
1. 요구사항 수집 및 분석 : 요구사항(트랜잭션으로 구성), 검색과 갱신에 대한 연산들도 포함(diagram)
2. 개념적 설계 : 고수준의 개념적 data model을
사용하여 개념 schema(요구사항 간단히 기술)를 만든다.
3. 논리적 설계 : 상용 DBMS를 이용하여
DB를 실제로 구현 고수준 데이터모델을 구현 데이터모델로 변환
맵핑을 하고 정규화 과정을 통해 설계한다.
4. 물리적 설계 : DB file들에 대한 내부 저장 구조, 파일 구성, 인덱스, 파라미터
등을 명시 DB TR로 설계 구현
7.2 간단한 예제 DB응용
7.3 엔티티 타입, 엔티티집합, 에트리뷰트, 키
7.3.1 엔티티와
attribute
entity : 실세계에서 독립적으로 존재하는 실체(자동차, 집, 사원), entity를
기술하는 attribute들을 갖는다.
attribute : entity를 기술하는 속성(이름,
나이, 주소, 등) 여러 유형이있다 그유형은 아래로
복합 attribute : 더 작은 구성 요소(자체로
독립적인 의미를 갖음)들로 나눈다. 더 이상 나눌 수 없는
attribute를 단순 attribute라 한다. (복합 attribute를 세분화한게 단순 attribute)
단일값 attribute : 하나만 갖는 것,
다치 attribute : 여러 개의 값을 가질수 있는
attribute (집이 여러 개, 차가 여러 대)
저장 attribute : 유도 attribute가
유도를 받는 attribute
NULL : entity의 특정 attribute에 적용할 값이 없는 것
복잡한 attribute : ()에 복합
attribute 를 넣고 {} 안에 다치
attribute를 나타냄으로 중첩을 표현
7.3.2 entity type, entity set, key, value
set
entity type : 같은 attribute들을 갖는 entity의 집합, 이름과
attribute리스트로 기술
entity set : 임의의 시점에 DB내의 특정 entity
type의 모든 entity 모임
entity type에 속하는 entity들에 대한 중요한 제약조건은 attribute들에 대한 key, 유일함의 제약조건이 있다.
Key attribute : entity set 안에 entity마다 서로 다른 값을 가지는 attribute
weak entity type : key를 갖지 않는 entity type
값집합(domain) : entity에서 해당 attribute가
가질수 있는 값들의 집합
Entity e에 대한 attribute A의 값을 A(e)로 표현한다.
7.4 관계, 관계 타입, 역할, 구조적 제약조건
7.4.1 관계 타입, 집합, 인스턴스
관계 : attribute끼리의 참조를 관계로 명시
관계타입 : entity type에 속하는 entity들
간의 관계집합, 관계 인스턴스들의 집합
7.4.2 관계 차수, 역할
이름, 순환적 관계
차수 : 관계 타입에 참여하고 있는 entity type들의
개수
Role name : entity type에 속한 한 entity가 각 관계 인스턴스에서
가지는 역할을 강조
같은 entity type이 어떤 관계 타입에 두번 이상 참여하는 경우에는 각 참여하는 entity가 하는 역할의 의미를 구분하기 위해 역할 이름이 필수적이다 이런 관계타입을 순환적 관계라 한다.
7.4.3 이진 관계 타입에서의 제약조건
cardinality ratio : entity가 참여할 수 있는 최대 관계 instance 수
참여 제약조건 : 한 entity의 존재가 관계
타입을 통해 연관되어 있는 다른 entity에 의존하는이 여부를 명시,
이 제약조건은 각 entity가 참여할 수 있는 관계 인스턴스의 최소 수를 명시하며 최소
카디널리티 제약조건이라 함
참여 제약 조건에는 전체참여와 부분참여가 있다.
전체 참여 : entity들의 전체집합에 속하는 모든
entity가 반드시 다른 entity와 연관되어야 한다.(존재
종속성)
부분 참여 : 일부 entity들만 다른 entity들과 연관되어 있는 것
M:N관계 타입에서는 참여 entity들의 조합에 의해서 결정되는 attribute들을 반드시 관계 attribute로 명시
7.5 weak entity type : 자신의 key attribute가 없는 entity type(key가 있으면
정규 attribute)
weak entity type의 entity들은 그들의
attribute값들 중 하나를 통해 다른 entity type과 연계하여 식별하는데 그러한
다른 entity type을 식별 entity type이라
한다.이 두 type의 관계를 식별 관계라 한다. 항상 weak entity type은 식별 entity type에 전체 참여 제약조건(존재 종속성)을 가진다. 역은 성립하지 않는다.
일반적으로 부분키(점선)를 가지는데 부분키는
동일한 식별 entity에 연관되는 weak entity들을
서로 구분할 수 있는 attribute들이다.
'SW > Database MySQL' 카테고리의 다른 글
sql의 데이터 정의와 타입 (0) | 2017.09.05 |
---|---|
basic relation model (기본 관계 모델) (0) | 2017.09.05 |
Data model, schema, instance (0) | 2017.09.05 |
database 기초상식 (0) | 2017.09.05 |
JOIN (0) | 2017.09.05 |