일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- a tour of go
- vim-go
- 알고리즘
- 프로그래밍
- Docker
- 리듬게임
- 연결리스트
- JUCE
- C++ library
- 코딩
- JUCE library
- JUCE라이브러리
- C++ gui 라이브러리
- C++ gui
- c++ heap
- Nebula
- gui
- 백준
- tour of go
- LOB
- go
- go channel
- 공룡책
- OS
- 자료구조
- JUCE 튜토리얼
- 운영체제
- BOJ
- C언어
- C++
- Today
- Total
CafeM0ca
[DB] DB 모델링 이론 기본 본문
아래 내용은 불친절한 SQL 프로그래밍(정희락 저)의 내용을 개인 공부를 위해 정리한 것임.
데이터 모델
데이터 모델은 상세화 수준에 따라 3가지로 구분 됌
-
개념 데이터 모델
-
요구사항을 분석하여 개념 데이터 모델 설계
-
-
논리 데이터 모델
-
DB 모델에 따라 개념 데이터 모델을 논리 데이터 모델로 설계
-
-
물리 데이터 모델
-
DBMS에 따라 논리 데이터 모델을 물리 데이터 모델로 전환
-
E-R모델(Entity-Relationship)
국내 대부분의 데이터 모델이 E-R 모델로 설게됨
개념집합(관계형 모델에서 표현)개별(관계형 모델에서 표현)
어떤 것 | entity(relation) | instance(tuple) |
어떤 것의 관계 | relationship | paring |
어떤 것의 특징 | attribute | attribute value |
-
entity
-
여러 인스터스를 가질 수 있다.
-
개체로 인식할 수 있는 데이터 집합
-
반드시 기본 식별자(primary identifier)를 가져야 함
-
하나의 속성으로 구성된 식별자를 단일 식별자
-
2개 이상의 속성으로 구성된 식별자를 복합 식별자라고 한다.
-
전화번호와 같이 2개 이상의 속성으로 구성된 속성을 복합 속성이라고 함
-
-
-
instance : 여러 속성을 가질 수 있다.
-
attribute : 하나의 속성값을 가질 수 있다.
-
attribute value
-
-
-
-
도메인
-
속성값의 범위를 나타냄
-
성별 속성에 대한 도메인 예시
성별 varchar(1) NOT NULL CONSTRAINT t1_c1 CHECK (성별 IN ('M", 'F"))
-
-
정규형(Normal Form, NF)
1정규형
원자성과 관련 있다.
-
다중 값
아래 릴레이션의 관련부서목록은 다중 값을 가진다. 1,2 값을 넣으면 1, 2번 부서가 관련되어 있다는 속성값을 저장할 수 있다. 따라서 1정규형 위배
상품코드
상품명 |
관련부서목록 |
-
반복그룹
아래 릴레이션은 반복 그룹을 가진다. 관련부서번호1 속성과 관련부서번호2 속성은 단일 값을 저장할 수 있지만 하나의 튜플에 유사한 속성이 반복되기 때문에 1정규형을 위배한 것으로 생각할 수 있다.
상품코드
상품명 |
관련부서번호1 |
관련부서번호2 |
위 1정규형을 위배한 릴레이션을 아래와 같이 2개의 릴레이션으로 정규화할 수 있다.
2정규형
부분 종속과 관련이 있다. 일반 속성이 식별자의 일부 속성에만 종속되는 것이다.
아래 릴레이션의 주문수량 속성은 주문번호 속성과 상품코드 속성에 종속됌.
상품명 속성은 상품코드 속성에만 종속됌.
따라서 위 릴레이션은 데이터 이상(anomaly) 현상이 발생함.
주문이 발생하지 않으면 상품을 입력할 수 없고(입력 이상)
상품명이 변경되면 동일한 상품코드의 튜플을 보두 수정해야 하며(수정 이상)
상품이 삭제되면 주문도 함께 삭제된다(삭제 이상)
2정규형을 위배한 릴레이션은 아래와 같이 2개의 릴레이션으로 정규화할 수 있다.
제3정규형
이행 종속(transitive dependency)과 관련 있으며 일반 속성이 다른 일반 속성에 종속되는 것이다.
아래 릴레이션은 소속부서명 속성은 일반 속성인 소속부서번호 속성에 종속된다.
데이터 이상 현상이 발생할 수 있다.
아래와 같이 2개의 릴레이션으로 정규화 할 수 있다.
물리 데이터 모델
논리 데이터 모델 | 물리 데이터 모델 |
엔터티 | 테이블 |
속성 | 열 |
도메인 | 데이터 타입, NOT NULL 제약 조건, CHECK 제약 조건 등 |
기본 식별자 | PK 제약 조건 |
외래 식별자 | FK 제약 조건 |
'DB > 이론' 카테고리의 다른 글
[DB] erwin 데이터 모델링 (0) | 2020.10.29 |
---|