데이터베이스 설계과정 여섯 단계
1. 요구분석
- 첫 단계는 데이터베이스에 무슨 정보를 저장할 것인가, 그 위에 어떤 응용을 구축할 것인가, 어떤 연산들이 가장 자주 수행되며 성능 요건은 무엇인가를 파악하는 일이다.
2. 개념적 데이터베이스 설계
- 요구분석 단계에서 모은 정보들은 데이터베이스에 저장될 데이터와 이 데이터가 준수해야하는 제약조건들을 고수준으로 기술하기 위해 사용된다. 이 단계는 주로 ER 모델을 이용하여 수행된다.
3. 논리적 데이터베이스 설계
- 데이터베이스 설계를 구현하기 위해 DBMS를 선정하고, 개념적 데이터베이스 설계를 선정한 DBMS의 데이터 모델에 따른 데이터베이스 스키마로 변환해야 한다.
4. 스키마 정제
- 관계 데이터베이스 스키마에 있는 릴레이션들을 분석하여 잠재적인 문제점들을 파악하고 정제하는 것이다.
5. 물리적 데이터베이스 설계
- 데이터베이스가 지원해야 할 일반적인 예상 작업량을 고려하여 데이터베이스 설계르 ㄹ원하는 성능기준에 맞도록 더 정제한다.
6. 응용 및 보안설계
- 응용 업무를 반영하는 모든 프로세스에서 각 개체의 역할을 그 업무를 위한 전체 작업 흐름의 일부로써 기술해야 한다.
- 각 역할별로, 접근될 수 있어야만 하는 데이터베이스 영역과 접근되어서는 안 되는 영역을 파악해야 한다.
2.2 개체, 애트리뷰트, 개체집합
개체(entity)는 실세계에서 다른 객체들로부터 구분될 수 있는 객체이다.
객체들의 모임을 객체집합(entity set)이라고 한다.
하나의 개체는 애트리뷰트들(attributes)의 집합을 사용하여 기술된다.
주어진 개체집합에 속한 모든 개체들은 동일한 애트리뷰트들을 갖는다.
개체집합과 관련한 각 애트리뷰트에 대해서, 가능한 값들의 도메인(domain)을 지정하여야 한다.
각 개체집합에 대해서 키를 선택한다. 키는 주어진 집합에 속하는 한 개체를 유일하게 식별하는 값을 갖는 최소개의 애트리뷰트들로 이루어진 집합이다.
후보(candidate)키는 하나보다 더 많을 수 있는데, 그럴 경우에는 그들 중의 하나를 기본(primary)키로 지정한다.
2.3 관계와 관계집합
관계(relationship)는 둘 이상의 개체들 사이의 관련성이다.
같은 종류의 관계들을 하나의 관계 집합(relationship set)으로 모을 수 있다.
관계도 기술적인 애트리뷰트들을 가질 수 있다.
이 기술적인 애트리뷰트들은 참가하는 개체들 중 한 개체에 관한 정보보다는 관계에 관한 정보를 기록하기 위해 사용된다.
관계집합의 인스턴스는 관계들의 집합이다.
2.4 ER 모델의 특별 기능
키 제약조건: 관계가 허용할 수 있는 인스턴스에서 각 개체는 많아야 하나의 관계에 나타난다는 것을 의미한다.
참여 제약조건: 관계집합에 개체집합의 참여는 전체적이라고 한다. 전체적이 아닌 참여도를 부분적이라고 한다.
약개체: 애트리뷰트 일부와 식별 소유자에 해당하는 개체의 기본키를 결합하여야만 유일하게 식별될 수 있다.
- 소유자 개체집합과 약개체집합은 일-대-다 관계집합으로 참여해야 한다. 하나의 소유자 개체는 여러 약개체와 연관되지만, 각 약개체는 오직 하나의 소유자를 갖는다. 이러한 관계집합을 해당 약개체집합의 식별 관계집합(identifying relationship set)이라고 한다.
- 약개체집합은 식별 관계집하에 전체적으로 참여하여야 한다.
클래스 계층
- 특수화는 어떤 개체집합 슈퍼클래스에서 몇 개의 구별되는 특성을 공유하는 부분 집합을 식별하는 과정이다. 일반적으로, 슈퍼클래스가 먼저 정의되고, 서브클래스들이 다음으로 정의되며 서브 클래스 고유의 애트리뷰트들과 관계집합들이 그 다음으로 추가된다.
- 일반화는 여러 개체집합들의 모임에서 몇 개의 공통적인 특성들을 알아내고 이러한 공통 특성들을 가지는 개체들을 포함하는 새로운 개체집합을 생성하는 과정이다. 일반적으로, 서브클래스들이 먼저 정의되고, 슈퍼클래스가 다음에 정의되며 그 슈퍼클래스를 포함하는 관계집합이 있으면 그 다음에 정의된다.
-
0 Comments:
댓글 쓰기