데이터 베이스 설계 과정
데이터베이스를 구현하기 전, 사용자의 다양한 요구사항을 고려하여 데이터베이스를 생성, 설계하는 과정이다.
1. 요구사항 분석
사용자의 요구 사항을 수집, 분석하여 개발할 데이터베이스의 용도를 파악한다.
데이터베이스 사용자의 범위를 결정, 사용자의 업무 분석, 사용자의 요구사항 수집 등.
2. 개념적 설계
DBMS에 독립적인 개념적 스키마를 설계한다. 요구사항을 개념적 구조로 표현 한다.(개념적 모델링)
요구사항 분석 결과를 기반으로 중요한 개체를 추출하고 개체간의 관계를 결정하여 E-R 다이어 그램으로 표현한다.
① 개체 추출, 각 개체의 중 속성과 키 선별
• 개체 : 저장할만한 가치가 있는 중요 데이터를 가진 것.
• 개체 추출 방법 : 업무와 관련있는 개체와 속성으로 분류한다.
② 개체 간의 관계 결정
• 관계 : 개체 간의 이미 있는 연관성
• 관계 추출 방법 : 요구사항 문장에서 개체 간의 연관성을 찾아 특성을 결정한다.
③ E-R 다이어 그램으로 작성.표현
3. 논리적 설계
DBMS에 적합한 논리적 스키마를 설계한다. 개념적스키마를 논리적 데이터모델을 이용해 논리적구조로 표현한다.
이를 논리적 모델링.또는 데이터 모델링이라고 표현하기도 한다.(일반적으로 관계 데이터 모델을 많이 이용한다.)
◈ E-R 다이어그램을 릴레이션 스키마로 변환하는 규칙.
• 규칙1 : 모든 개체는 릴레이션으로 변환한다. - E-R다이어그램의 각 개체는 하나의 릴레이션으로 변환한다.
· 개체의 이름 → 릴레이션의 이름,
· 개체의 속성 → 릴레이션의 속성,
· 개체의 키 속성 → 릴레이션의 식별자
• 규칙 2 : 다대다(n:m) 관계는 릴레이션으로 변환한다.
관계에 참여하는 개체를 규칙1에 따라 릴레이션으로 변환 후 이 릴레이션의 기본키를 관계 릴레이션에 포함시켜
외래키로 지정하고 외래키들을 조합하여 관계 릴레이션의 기본키로 지정한다.
· 관계의 이름 → 릴레이션의 이름
· 관계의 속성 → 릴레이션의 속성
• 규칙 3 : 일대다(1:n) 관계는 외래키로 표현한다.
일대다 관계에서 일측 개체 릴레이션의 기본키를 다측 개체 릴레이션에 포함시킨다. 관계의 속성들도 다측 개체 릴레이션에 포함시킨다.
일대다 관계에서는 약한 개체 타입이 존재한다. 약한 개체 타입은 자기 자신의 애트리뷰트 만으로 키를 명세할수 없다는 개체의 타입이다. 약한 개체는 주 개체에 따라 존재 여부가 결정되므로 주 객체의 기본키를 포함하여 기본키를 지정해야 한다.
(ex. 영화 상영관 객체와 상영관 좌석객체가 있다. 좌석에 대한 테이블만 있다면 이 좌석이 상영관 좌석인지 비행기 좌석인지 알 수가 없다. 따라서 상영관의 기본키인 상영관번호를 좌석 테이블을 만들 때 외래키로 포함하여 복합키로 만들어야 한다. )
• 규칙 4 : 일대일(1:1) 관계는 외래키로 표현한다.
일반적으로 일대일 관계는 외래키를 서로 주고 받는다. 일대일 관계에서 필수적으로 참여하는 객체의 릴레이션만 외래키를 받는다. 모든 객체가 일대일 관계에 필수적으로 참여하면 릴레이션을 하나로 합친다.
• 규칙 5 : 다중 값 속성은 릴레이션으로 변환한다.
4. 물리적 설계
DBMS로 구현 가능한 물리적 구조를 설계한다.
논리 데이터베이스 구조(스키마), 처리 요구 조건, 데이터베이스, 하드웨어, 운영 체제 특성을 기반으로 물리 데이터베이스 저장 형식의 분석, 설계, 접근 경로를 물리적으로 설계할 수 있다.
5. 데이터베이스 구현
설계된 데이터베이스 모델을 적용하기 위해 DBMS(Data Base Management System)를 설치하고
데이터베이스와 데이터베이스 오브젝트를 생성할 수 있다.
'데이터베이스' 카테고리의 다른 글
데이터베이스 정규형 (0) | 2020.04.06 |
---|---|
데이터베이스 정규화 (0) | 2020.04.06 |
키(key), 무결성 제약조건 (0) | 2020.04.06 |
데이터 모델링과 관계 (0) | 2020.04.06 |
데이터베이스 (0) | 2020.03.31 |