데이터 베이스 설계란 무엇인가?
데이터 베이스 설계란?
실세계와 관련한 업무를 컴퓨터를 이용하여 수행할 목적으로 이를 위한 사용자의 요구 조건에서부터 데이터베이스 구조를 도출해 내는 과정을 의미한다. 특히, 업무를 프로그램화할 때는 업무를 단위 기능별로 나누어 각각의 기능을 모듈화 시켜서 프로그램화하는데 이러한 논리적 단위의 프로그램 모듈을 트랜잭션이라 한다.
데이터 베이스 설계 분류
-
개념적 설계
물리적 스키마로 직접 변환하기 이전에 인간이 표현하기 쉽고 이해해기 쉬운 관점에서 실세계를 포현과정
-
논리적 스키마 설계
데이터 베이스 추상 레벨에서 논리적 레벨의 논리적 스키마를 생성해 내는 것을 말한다. 실세계가 궁극적으로 DBMS가 채택하고 있는 논리적 스키마로 변환되기 때문에 논리적 스키마 설계는 결국 DBMS에 종속적일 수 밖에 없다.
-
물리적 스키마 설계
데이터베이스 추상 레벨에서 물리적 레벨의 물리적 스키마를 생성해 내는것
데이터 베이스 설계 절차
-
요구사항 분석 단계
잠재적 사용자를 식별하고 사용자가 원하는 데이터베이스의 용도를 파악하는 것
-
개념적 설계 단계
개념적 스키마 모델링과 트랜잭션 모델링을 병행적으로 수행 처리 중심의 설계다.
-
논리적 설계 단계
개념적 설계 단계에서 만들어진 개념적 정보 구조로부터 특정 DBMS가 처리할 수 있는 데이터베이스의 논리적 스키마를 생성하는 단계
-
물리적 설계 단계
물리적 스키마 구조를 설계
-
구현 단계
데이터 정의어로 스키마를 만든다. 처음 만든 데이터베이스 파일은 공백 상태다.
ER 모델과 개념적 설계
개체 Entity
실세계를 구성하는 구성요소를 말한다.
속성 Attribute
개체가 갖고 있는 성질로서 그 값에 의해 개체에 대한 정보를 나타낸다.
속성 도메인
속성이 가질수 있는 값의 범위
개체 집합 Entity set
공통된 속성을 갖는 개체들로 만들어진 집합
관계성 Realationship
개체 집합과 개체 집합 사이에서 연관성에 의해 대응하는 관계를 의미한다.
관계성 집합 Realationship set
개체 집합들 사이에 존재하는 관계성들의 집합을 의미한다.
대응관계
대응수
둘 이상의 개체 집합 사이에 정의된 관계성 집합의 대응 조건을 나타내며 제약 조건중 하나다.
- 일대일
- 일대다
- 다대일
- 다대다
ER모델을 이용한 개념적 설계 방법
-
실세계를 구성하는 개체집합을 식별
개체 집합의 명칭은 유일해야하며 따라서 같은 명칭의 갳체 집합이 두 개 이상 존재하서는 안된다. 사각형으로 표기
-
강성 개체 집합인지 약성 개체 집합인지 구분한다.
약성개체는 사각형을 이중으로 그리고 강성은 그냥 사각형 하나. 개체가 독립적으로 존재할 수 있으면 강성 개체 집합.
-
개체 집합이 갖는 속성을 식별한다.
타원으로 표시
-
개체 집합들 사이에 존재하는 관계성 집합을 식별한다.
마름모로 표현
-
관계성 집합에 관련하는 개체 집합들 사이의 대응수를 식별한다.
-
관계성 집합이 갖는 속성들을 식별한다.