현실세계의 값이나 사실을 추상화하는 개념적 모델링을 하면 개념적 구조가 만들어진다.
개념적 구조를 데이터 모델링해서 변환하면 논리적 구조(데이터 모델)
| 현실 세계(개체) | 개념 세계(개념) | 컴퓨터 세계(데이터) |
|---|---|---|
| 개체 | 개체 타입 | 레코드 타입 |
| 특성 | 속성 | 필드 |
| 값 | 값 | 값 |
개념적 설계에서 산출되는 것이 ER다이어그램이다.
ER다이어그램을 통해 테이블을 만든다.
데이터 모델이란?
어떤 데이터를 기술하는 개념들의 모임이다.
스키마란?
특정 데이터의 모임을 기술하거나 이미 주어진 데이터 모델을 사용하는 것이다.
현재는 데이터의 관계형 모델이 널리 쓰입니다.
데이터 모델에 표시되어야 하는 요소
구조, 연산, 제약조건
구조
논리적으로 표현된 개체 타입들 간의 관계로서 데이터 구조 및 정적 성질을 표현
연산
데이터베이스에 저장된 실제 데이터를 처리하는 작업에 대한 명세로서 데이터베이스를 조작하는 기본 도구
제약 조건
데이터베이스에 저장될 수 있는 실제 데이터의 논리적인 제약조건
개체 타입
1.이름과 속성(애트리뷰트)들로 정의된다.
2.개체 집합: 특정 개체 타입에 대한 인스턴스 집합
속성(애트리뷰트)의 유형
1.단순 속성과 복합 속성
2.저장 속성과 유도(파생) 속성
3.널 속성
복합속성이란?
1.몇 개의 기본적인 단순 속성들로 분해될 수 있는 속성
2.사용자가 때로는 복합 속성의 하나의 단위로 사용하고, 때로는 그 부속 속성 값을 참조하는 경우에 유용
3.복합 속성이 항상 전체로만 참조된다면 그것을 다시 부속 속성으로 분해할 필요는 없다.
유도(파생) 속성이란?
1.다른 속성의 값으로부터 계산된 속성
2.유도 속성은 통계관련 엔티티 경우 이용되며, 일반 엔티티에서는 많이 사용되지 않음
3.유도 속성이 가지는 업무로직을 기술하여 데이터의 정합성이 유지되어야 하고, 단순 속성이 생성, 수정, 삭제될 때 유도속성도 함께 고려해야 됨
4.ER다이어그램에서 점선 타운으로 표현됨
널 속성
1.어떤 개체 인스턴스가 어느 특정 속성에 대한 값을 갖고 있지 않을 때 사용
ER다이어그램은 1976년 Peter Chen이 만들었다.
개체 타입, 관계 타입, 속성, 링크, 레이블로 구성되어 있다.

ER 모델 특징
적은 노력으로 쉽게 배울 수 있고, 전문가가 아니어도 이해하기 쉽다.
자연어보다 좀 더 정형적이고, 구현에 독립적이다.
데이터베이스 설계자들이 최종 사용자들과 의사 소통을 하는데 적합
Entity
현실 세계에서 구별되는 대상이다.
엔티티는 속성들을 통해 기술될 수 있다.
각 엔티티는 키를 가진다.
각 속성은 도메인을 가진다.
Relationship
두 개 이상의 엔티티들의 관계이다.
같은 개체들에 대해서 서로 다른 관계를 가질 수 있다.
하나의 엔티티가 관계에서 여러 역할을 가질 수 있다.
키 제약조건
참여 제역 조건
Weak Entities
고유한 키가 없어 다른 엔티티의 기본키를 참조하는 개체
ISA Hierarchies
부모의 속성을 그대로 가지는 자식 관계를 말함.
Specialization
탑 다운 디자인 방식
ISA 관계도 superclass - subclass 관계라고 불린다.
Generalization
바텀 업 디자인 방식



관계 데이터 모멛ㄹ을 확장하여 객체 지향적인 관점을 지니게 만든 것.
튜플의 애트리뷰트로 복합적인 타입을 가질 수 있게 해 줌.