Transcript db - comfun

db
Db가 있는 이유
• 프로그램과 데이터가 서로 분리되어 관리
• 메타데이터를 통해 DBMS가 여러 개의 데
이터베이스를 관리할 수 있음
• 데이터 중복의 최소화
• 데이터의 무결성
• 데이터 공유 및 보호
db 설계 과정
요구분석
개념적 설계
논리적 설계
물리적 설계
개념적 설계 => 개체-관계모델(ER model, entity-relationship model)
논리적 설계 => 관계형 데이터모델(Relational Data Model)
개체-관계모델
관계
수
강
학생
학번
이름
주소
생년
월일
과목
복합 속성
다중 속성
년
월
일
학수
번호
개체-관계모델
• 관계
1:1관계, 1:N관계, N:M관계
관계형 데이터 모델
•
E-R모델 -> 관계형 데이터모델
규칙 1
개체는 각각 하나의 테이블 형성
속성은 다중 값을 가질 수 없음
규칙2
종속적인 개체를 테이블로 변환할 때는 소유
개체의 기본키를 속성으로 추가
규칙3
1:1관계는 어느 한 쪽의 테이블에 외래키를 추
가하거나 관계 정보만을 갖는 관계 테이블을 생성
규칙4
1:N관계는 N측의 개체에 외래키를 추가하거나 관계 정보를 갖는
관계 정보를 갖는 관계 테이블을 생성
규칙5
M:N관계는 각 개체의 기본키를 속성으로 하는 관계 테이블을 생성
규칙6
다중 값 속성은 기본키를 외래키로 갖는 별도의 테이블을 생성
정규화를 하는 이유
1. 삽입이상
2. 갱신 이상 (데이터 중복으로 인해)
3. 삭제 이상
1 ~ 3 정규형, 보이스-코드 정규형, 4 ~ 5 정
규형, 도메인-키 정규형, 6 정규형
1 ~ 보이스-코드 정규형
• 제1 정규형
테이블의 모든 속성은 원자 값을 갖는다
• 제2 정규형
테이블이 제1 정규형을 만족하고 키가 아닌
모든 속성이 기본키에 완전 함수 종속이다
• 제3 정규형
테이블이 제2 정규형을 만족하고 키가 아닌
모든 속성이 기본키에 이행적으로 종속되지
않는다
• 보이스-코드 정규형(Boycd-Codd Normal
Form:BCNF)
모든 결정자가 후보키