데이터베이스 설계
-
사용자의 다양한 요구 사항을 고려하여 데이터베이스를 생성하는 과정
-
E-R모델과 릴레이션 변환 규칙을 이용한 설계의 과정
1단계 : 요구사항 분석
2단계 : 개념적 설계
3단계 : 논리적 설계
4단계 : 물리적 설계
5단계 : 구현
설계 과정 중에 오류가 발견되어 변경이 필요하면 이전 단계로 되돌아가 설계 내용을 변경 가능
E-R모델과 릴레이션 변환 규칙을 이용한 설계과정
데이터 모델링과 데이터 모델의 개념
데이터 모델링
- 현실세계에 존재하는 데이터를 컴퓨터 세계의 데이터베이스로 옮기는 변환 과정
- 데이터베이스 설게의 핵심과정
2단계 데이터 모델링
- 개념적 데이터 모델링
현실세계의 중요 데이터를 추출하여 개념 세계로 옮기는 작업
- 논리적 데이터 모델링
개념세계의 데이터를 추출하여 논리적으로 옮기는 작업
데이터 모델
- 데이터모델링의결과물을 표현하는 도구
- 개념적 데이터 모델
- 사람의 머리로 이해할 수있도록 개념적 구조로 표현하는 도구
예) 개체-관계모델
- 논리적 데이터 모델
- 개념적 구조를 논리적 모델링하여 데이터베이스의 논리적구조로 표현하는 도구
예 ) 개념데이터모델
개체-관계 모델
개체-관계모델(E-R model)
- 개체와 개채간의 관계를 이용해 현실 세계를 개념적 구조로 표현
- 핵심요소 : 개체, 속성, 관계
개체-관계 다이어그램(E-R diagram)
- 개체-관계 모델을 이용해 현실세계를 개념적으로 모델링한 결과물을 그림으로 표현한것.
개체(entity)
- 현실 세계에서 조직을 운영하는 데 꼭 필요한 사람이나 사물고 ㅏ같이 구별되는 모든것
- 저장할 가치가 있는 중요데이터를 가지고 있는 사람이나 사물, 개념, 사건 등
- 다른 개체와 구별되는 이름을 가지고 있고, 각 개체만의 고유한 특성이나 상태, 즉 송석을 하나 이상 가지고 있음
예) 서점에 필요한 개체 : 고객 , 책
예) 학교에 필요한 개체 : 학과, 과목
예) 병원에 필요한 개체 : 의사, 간호사, 병실, 환자
- 파일구조의 레코드(record)와 대응됨
- E-R다이어그램에서 사각형으로 표현하고 사각형안에 이름을 표기
속성(attribute)
- 개체나 관계가 가지고 있는 고유의 특성
- 의미 있는 데이터의 가장 작은 단위
- 파일구조의 필드와 대응됨
- E-R다이어그램에서 타원으로 표현하고 타원 안에 이름을 표기
개체 타입
- 개체를 고유의 이름과 속성들로 정의한것
- 파일 구조의 레코드 타입에 대응됨
개체 인스턴스
- 개체를 구성하고 있는 속성이 실제값을 가짐으로써 실체화된 개체
예) 개체 타입이 고객명 , 고객아이디로 구분되는데 홍길동이라는 고객이 고객명은 홍길동, 고객아이디는 user01같이 실체화된 값을 가지고 있는 개체들을 개체 인스턴스라고함
개체 집합
- 특정 개체 타입에 대한 개체 인스턴스들을 모아놓은것
속성의 분류
단일값 속성과 다중값 속성
- 단일 값 속성
- 값을 하나만 가질 수 있는 속성
- 다중값 속성
- 값을 여러개 가질수있느 속성
- 예) 책 개체의 저자속성
- E-R다이어그램에서이중타원으로 표현
단순속성과 복합속성
- 단순 속성
- 의미를 분해 할수 없는 속성
- 복합 속성
- 의미를 분해할 수 있는 속성
- 예) 고객 개체의 주소속성
- 도, 시, 동, 우편번호등으로 의미를 세분화 할 수 있음
- 예)고객개체의 생년월일속성
- 연, 월, 일로 의미를 세분화 할수 있음
유도속성
- 기존의 다른 속성의 값에서 유도되어 결정되는 속성
- 값이 별도로 저장되지 않음
- 예)고객개체의 출생연도 속성으로 계산되는 나이 속성
- E-R다이어그램에서 점선 타원으로 표현
널 속성(null attribute)
널(null) 값
- 아직 결정되지 않거나 모르는 값 또는 존재하지 않는 값
- 공백이나 0과는 의미가 다름
- 예)등급 속성이 널 값 -> 등급이 아직 결정되지 않았음을 의미
키 속성(key attribute)
- 각 개체 인스턴스를 식별하는데 사용되는 속성
- 모든 개체 인스턴스의 키 속성 값이 다름
- 예) 고객개체의 고객아이디 속성
- 둘 이상의 속성들로 구성되기도함
- 예)고객개체의 고객명, 생년월일, 주소
- E-R다이어그램에서 밑줄로 표현
관계(relationship)
- 개체와 개체가 맺고 있는 의미 있는 연관성
- 개체 집합들 사이의 대응 관계, 즉 매핑(mapping)을 의미
- E-R다이어그램에서 마름모로 표시
관계의 유형 : 관계에 참여하는 개체 타입의 수 기준
- 이항관계 : 개체타입 두개가 맺는 관계
- 삼항관계 : 개체타입 세개가 맺는 관계
- 순항 관계 : 개체타입 한개가 자신과 맺는 관계
관계의 유형 : 매핑 카디널리티 기준
- 일대일(1:1)
- 일대다(1:N)
- 다대다(N:M)
매핑 카디널리티
- 관계를 맺는 두 개체 집합에서, 각 개체 인스턴스가 연관성을 맺고 있는 상대 개체 집합의 인스턴스 개수
일대일 관계
- 개체 A의 각 개체 인스턴스가 개체 B의 개체 인스턴스 하나와 관계를 맺을 수 있고, 개체 B의 각 개체 인스턴스도 개체 A의 개체 인스턴스 하나와 관계를 맺을 수 있음
예) 남편과 아내 개체의 혼인 관계
일대다 관계
개체 A의 각 개체 인스턴스가 개체 B의 개체 인스턴스 여러개와 관계를 맺을 수 있고, 개체 B의 각 개체 인스턴스는 개체 A의 개체 인스턴스 하나와 관계를 맺을 수 있음
예) 부서와 사원 개체의 소속관계.
다대다 관계
개체 A의 각 개체 인스턴스가 개체 B의 개체 인스턴스 여러개와 관계를 맺을 수 있고, 개체 B의 각 개체 인스턴스도 개체 A의 개체 인스턴스 여러개와 관계를 맺을 수 있음
예) 고객과 책 개체의 구매관계
관계의 참여특성
관계의 종속성
- 약한 개체(weak entity)
- 다른 개체의 존재 여부에 의존적인 개체
- 오너 개체(owner entity)
- 다른 개체의 존재여부를 결정하는 개체
- 오너 개체와 약한 개체는 일반적으로 일대다관계를 가지고, 약한 개체는 오너 개체와의 관계에 필수적으로 참여하는 특징이 있음.
- 약한 개체는 오너개체의 키를 포함하여 키를 구성하는 특징이 있음
- E-R 다이어그램에서 약한 개체는 이중사각형으로 표시, 약한개체와 오너개체의 관계는 이중 마름모로 표시.
-예) 직원 개체와 부양 가족 개체 사이의 부양관계
- 직원 개체는 오너개체, 부양가족 개체는 약한 개체
개체 - 관계 다이어그램
- 사각형 : 개체
- 마름모 : 관계
- 타원 : 속성
- 링크(연결선) : 각 요소를 연결
- 레이블 : 일대일, 일대다, 다대다 관게