OVERVIEW
-개념 모델링은 성공적인 데이터베이스를 설계하는데 있어 매우 중요한 단계
-Entity Relation model은 가장 높은 레벨의 개념 데이터 모델이며 데이터베이스 응용을위한 개념 스키마를 디자인하는데 사용된다
데이터 베이스에서 표현하고자 하는 miniworld
-데이터 수집분석 후 Functional(데이터 베이스에 필요한 응용요구사항), Database(데이터 베이스에 표현되야할 정보내용 분석) requirements로 나눠진다.
-서로 상호작용을 통해 좋은 데이터베이스 설계가 가능하다.
-database requiremnets: 개념설계=>개념스키마 생성(ER모델 같은것), 논리설계=>logical schema 생성 , 물리설계
-functional requirements : 응용프로그램 설계, Transaction 포함
-Logical schema는 응용프로그램 설계의 입력값으로 사용된다
-High-level transaction specification은 물리 디자인의 입력으로 사용된다.
COMPANY database 예시
요구
-컴퍼니는 부서로 조직되어 있다
각 부서의 정보와 관리하는 매니저가 있다
부서를 관리하는 직원은 관리를 시작한 날짜가 있어야한다
부서는 여러곳에 위치할 수 있다.
-부서는 다수의 프로젝트를 관리한다
EMPLOYEE
-각 직원은 하나의 부서에서 근무, 다수의 프로젝트에 참여할 수 있다
-각 직원은 여러 부양가족을 가질 수 있고. 보험목적을 위해 부양가족의 정보를 가져야 한다.
Entity
-ER모델이 표현하는 기본 객체
-독립적인 존재를 갖는 실세계의 어떤 것
-물리적 존재, 개념적 존재가 있을 수 있다.
Attributes
-객체를 설명하기 위한 어떤 성질
ex 회사원의 경우 이름,급여,나이 등등
속성의 타입
-단순/복합
-단일 값/다중 값
-저장/유도
Entity types, Entity sets, keys, and Value sets
Entity type(동일한 attribute를 갖는 attribute의 집합을 위한 type)
-각 entity type은 이름과 속성으로 표현된다
-entity 집합을 위한 schema 또는 intension 정보
-ERD: 사각형 박스안에 이름을 표현한다
Entity set
-특정 시점에서 동일한 entity type을 갖는 모든 개체의 집합을 entity set이라 함
-entitiy set도 entity type과 같은 이름 사용
-entity type의 extension이다.
개체타입의 속성
Key attribute
-개체를 다른 개체와 구별해주는 속성
-유일성 제약조건을 만족해야한다
복합키
-하나이상 여러개의 속성으로 키가 구성됨
-minimal해야한다
-개체는 여러개의 키를 가진다
-키가 없는 개체가 있을 수 있다: 약한 개체타입
참조관계는 attribute가 아니라 relationship이라는 표현으로 나타내야 한다.
-초기 설계에는 attribute로 표현되나, 설계가 진행이 되면서 entity types사이의 relationships들로 표현되야 한다.
관계성의 차수 : 관계에 참여하는 개체타입의 수
-가장 일반적인 경우가 binary relationships이며, 고차 relatioships을 가질수록 너무 복잡해진다
관계성 타입의 제약
관계성 타입은 제약조건을 가진다
-제약조건은 대응되는 관계성 집합에 참여하는 개체간의 가능한 결합을 제약하는 역활
ex) WORKS_FOR : 하나의 부서에서만 근무할 수 있음
관계성 제약의 타입
-대응 수
-참여제약조건
참여제약 조건과 존재의존
참여제약 조건
TOTAL : 전체참여 ( 무조건) , 두줄로 표시
PARTIAL : 부분참여(해도 안해도 그만) , 한줄로 표시
Weak 개체타입
개체타입중 key attribute를 갖지 않는것 => 도와줄 수 있는것이 필요하다
-식별(주인) 개체타입
-식별 관계
weak 개체타입의 경우 식별해주는 개체가 있어야 식별이 되므로 반드시 관계에 참여해야 해서 늘 존재종속을 가진다
-key attribute를 갖는 개체타입의 경우 Regular 개체타입이라 한다.
identifying entity : 식별개체 (EMPLOYEE)
identifying relationship: Weak entity와 연결시켜주는 관계 (두줄표시)
total participation : 두줄 표시
Weak Entity(DEPENDENT) : 두줄표시
Name: Weak 내부에서 자신들끼리 구분 가능한 Partial key (점선표시)
ERD를 위한 대응수를 표시하는 방법
-min/max notation
관계에 참여하는 상대개체의 숫자를 최대,최소로 표시.
min=0이면 부분참여
min>0이면 전체참여
(0,1) 최소0개에서 최대1개 없어도된다 => 부분참여
(1,1,) 최소1개에서 최대1개 반드시 있어야한다 => 전체참여
(1,N) => 당연히 전체참여
'Database' 카테고리의 다른 글
Database - 10장 (0) | 2020.10.22 |
---|---|
Database 14장 (0) | 2020.10.22 |
Database 8장 (0) | 2020.10.10 |
Database 7장-2 (0) | 2020.10.02 |
DATABASE 7장 (0) | 2020.09.26 |