1.데이터베이스 모델링의 이해
(1) 데이터 베이스 모델링의 필요
(2) 데이터베이스 시스템 구현 과정
-
기능적 요구 사항 => 애플리케이션 프로그램 설계 => 애플리케이션 프로그램 구현
-
사용자 요구 사항 분석 => 개념적 데이터 모델링 => 논리적 데이터 모델링 => 개념 스키마 => 물리적 데이터 모델링 => 내부 스키마
-
데이터의 의미를 파악하고 데이터와 관여하는 업무 프로세스를 개념적으로 정의 하고 분석하는 작업
1. 데이터 모델
-
사용할 데이터를 선별하여 데이터 베이스에 체계적으로 구조화 하여 저장 사용할 방법이 필요
-
의미, 데이터 타입, 연산 등을 명시하기 위해 사용할 수 있는 개념들의 집합
-
데이터 모델링: 실세계의 일부분을 DBMS가 지원하는 데이터 모델의 형태로 나타내는 과정
2. 개념적 데이터 모델링
- 요구 사항의 해석 오류를 방지
- 실세계의 데이터를 개념적으로 일반화시켜 데이터 구조, 데이터 타입, 속성, 관계, 제약조건 등을 이끌어 내는 과정
3. 논리적 데이터 모델링
- 특정 DBMS 의 구현 모델에 맞춰 데이터를 표현하는 과정
- 데이터 정의 언어로 기술된 개념 스키마 생성
4. 물리적 데이터 모델링
- 데이터 베이스 파일의 내부 저장 구조, 파일 구성, 인덱스, 접근 경로 등을 결정하는 과정
2.사용자 요구사항 분석
(개념적 데이터 모델링 이전에 사용자 요구사항 분석)
요구사항의 필요?
- 데이터에 대한 충분한 사전 분석없이 적절한 설계가 불가능
- 데이터베이스의 구조가 점차 복잡해지고 수명 주기가 단축되고 때문에 신속, 정확성이 요구
- 데이터 베이스의 활용 범위가 확대됨에 데이터베이스의 효율적 운용에 초점
- 사용자의 요구를 명세하지 않고 데이터 베이스 설계 및 개발을 진행하는 경우
- 결과물의 완성도 저하 및 신뢰도 추락
- 개발 후, 발생하는 에러 수정 어려움
개념
- 시스템의 대상이 되는 업무를 분석
- 정보 시스템의 데이터 베이스가 신속하고 효과적으로 업무 처리를 지원
- 필요한 데이터를 저장 및 운용할 수 있는 구조 개발
- 도출, 분석, 기록 단계로 수행
순서
Request for proposal (제안 요청서) => 요구 사항 도출 => 요구 사항 명세서 => 요구 사항 분석 => 요구 사항 정의서 => 요구사항 기록
3.ER 모델링 (Entity Relationship)
*1976년 카네기 멜론 대학의 P.Chen 박사 제안
개념
-
실세계의 속성들로 이루어진 개체(Entity)와 개체 사이의 관계(relationship)를 정형화 시킨 모델
-
개념적 모델링 단계에서 사용되는 데이터 모델
-
데이터 구조와 관려를 ERD으로 표현
-
구성 요소
개체, 관계
1.개체 집합
- 실세계에 존재하는 다른 객체와 구별되는 유무형의 사물
- 개체를 설명하는 여러 속성들로 구성
- 개체 집합
3 관계
- 관계 집합
- 속성
- 개체를 구체적으로 설명
- 속성에 포함될 수 있는 값의 특성에 따라 여러 종류로 구분
속성
1 단순 속성
- 더 작은 구성요소로 나눌 수 없는 속성 (학생이름, 성별, 나이)
- 복합 속성
- 더 작은 구성요소로 나눌 수 있는 속성 (생년월일)
- 단일값 속성
- 다중값 속성
- 유도 속성
- 다른 속성의 값으로부터 값이 유추될 수 있는 속성
- 저장 속성
제약조건
-
데이터 모델은 데이터, 의미, 구조 연관성 및 데이터의 조건을 표현하기 위한 도구
-
ER 모델은 개체와 관계에 대한 표현의 정확성을 위해 데이터가 준수해야 하는 제약 조건을 정의할 수 있는 표현 방법을 제공
-
제약 조건 (Constraints) 의 종류
사상수 (mapping cardinality)
관계 집합에 참가한 개체 집합에 대해 한 개체가 다른 개체와 관계를 맺을 수 있는 수량을 명시
-
일대일 (1:1)
-
일대다 (1:N)
-
다대일 (N:1)
-
다대다 (M:N)
참가 제약조건(participation constraints)
- 전체적 참가 (전부 관계가 있음)
- 부분적 참가 (전부 관계가 없음)
키(key) 속성
- 각 개체를 구별하는데 사용되는 유일한 값을 가지는 속성의 집합
- 개체를 고유하게 구분하는 역할
- 관계 집합의 특정 관계를 찾는 역할
특수 속성과 특수 관계
- 관계 집합의 속성: 두 개체 집합의 관계에서 생성되는 값을 저장하는 속성
- 재귀적 관계 : 한 개체 집합이 자기 자신관 관계 집합을 형성하는 관계
- 약학 개체 집합: 개체의 존재 유무가 관계를 맺고 있는 개체의 존재에 종속되는 개체 집합
- 강한 개체 집합: 약한 개체 집합과 연결되는 일반 개체 집합