외부: 사용자나 개발자의 관점에서 필요로 하는 디비의 논리적 구조
개념: 저체적인 논리적 구조
내부: 물리적 저장 장치의 관점
구조(논리 데이터 모델)
연산(개체 데이터 모델),
제약조건(데이터 무결성 유지를 위한 보편적 방법)
요구사항 분석 → 개념적 설계 → 논리적 설계 → 물리적 설계 → 구현
개념적 설계
| 도형 | 의미 |
|---|---|
| 사각형 (▭) | 개체 집합 (Entity Set) |
| 마름모 (◇) | 관계 집합 (Relationship Set) |
| 타원 (◯) | 속성 (Attribute) |
| 이중 타원 | 다중값 속성 |
| 밑줄 친 타원 | 기본키 속성 |
| 실선 (──) | 개체 ↔ 관계, 개체 ↔ 속성 연결 |
| 점선 (┄┄) | 관계 집합 ↔ 그 관계의 속성 연결 |
| 용어 | 키워드 |
|---|---|
| Attribute | 데이터 항목, 데이터 필드 |
| Tuple | 릴레이션의 행, 레코드, 중복된 값 포함 가능 |
| Relation Instance | 특정 시점 실제 데이터, 릴레이션 외연 |
| 카디널리티(Cardinality) | 튜플의 개수 |
| 차수(Degree) | 속성의 개수 |
| Domain | 속성이 가질 수 있는 값의 범위 |
절차적 → 관계대수
비절차적 → 관계해석Relational Calculus (SQL은 관계해석에 더 가깝다)
R ÷ S 는 예시를 보고 파악한다.
| 연산자 | 기호 | 설명 |
|---|---|---|
| 합집합 | ∪ | 두 릴레이션의 튜플을 모두 포함하는 릴레이션을 반환합니다. (중복 제외) |
| 교집합 | ∩ | 두 릴레이션에 공통으로 존재하는 튜플만으로 구성된 릴레이션을 반환합니다. |
| 차집합 | - | 첫 번째 릴레이션에는 속하지만 두 번째 릴레이션에는 속하지 않는 튜플을 반환합니다. |
| 카티션 프로덕트 | × | 두 릴레이션의 튜플들을 순서쌍으로 조합하여 만들 수 있는 모든 튜플을 반환합니다. |