[데이터베이스시스템] 데이터베이스 모델
데이터 베이스 모델링
데이터의 의미를 파악하고 데이터와 관여하는 업무 프로세스를 개념적으로 정의하고 분석하는 과정
- 데이터 모델 : 의미 데이터 타입, 연산 등을 명시하기 위해 사용할 수 있는 개념들의 집합
- 데이터 모델링 : 실세계의 일부분을 DBMS가 지원하는 데이터 모델의 형태로 나타내는 과정
- 관점
- 비즈니스적 관점 : 어떤 데이터를 저장해야 하는가?
- 컴퓨터 프로그래머 관점 : 어떻게 데이터를 저장해야 하는가?
- 둘 다 고려해야하며 비즈니스적-프로그래머 관점 순으로 진행
- 비즈니스적 관점 : 어떤 데이터를 저장해야 하는가?
- 구현 과정
1) 사용자 요구사항 분석
2) 개념적 데이터 모델링
- 요구사항의 해석 오류를 방지
- 실세계의 데이터를 개념적으로 일반화시켜 데이터 구조, 데이터 타입, 속성, 관계, 제약조건 등을 이끌어내는 과정
3) 논리적 데이터 모델링
- 특정 DBMS의 구현 모델에 맞춰 데이터를 표현하는 과정
- 데이터 정의 언어로 기술된 개념 스키마 생성
4) 물리적 데이터 모델링
- 데이터베이스 파일의 내부 저장구조, 파일 구성, 인덱스, 접근 경로 등을 결정하는 과정
사용자 요구사항 분석
- 사용자 요구사항의 필요
- 데이터에 대한 충분한 사전분석 없이 적절한 설계가 불가능
- 데이터베이스의 구조가 점차 복잡해지고 수명 주기가 단축되고, 때문에 신속 정확성이 요구
- 데이터베이스의 활용 범위가 확대됨에 데이터베이스의 효율적 운용에 초점
- 사용자의 요구를 명세하지 않고 데이터베이스의 설계 및 개발을 진행하는 경우
결과물의 완성도 저하 및 신뢰도 추락 및 개발 후, 발생하는 에러 수정에 많은 비용 지출
- 데이터에 대한 충분한 사전분석 없이 적절한 설계가 불가능
- 시스템 요구사항 분석의 개념
- 시스템의 대상이 되는 업무를 분석
- 도출, 분석, 기록 단계로 수행
- 국제 표준화 : IEEE-Std-830
- 시스템의 대상이 되는 업무를 분석
- 사용자 요구사항 분석 과정
- 제안 요청서(사용자)를 통해 요구사항 도출
- 요구사항 명세서(개발자)를 통해 요구사항 분석
- 요구사항정의서를 통해 요구사항 기록
- 제안 요청서(사용자)를 통해 요구사항 도출
ER모델
실세계의 속성들로 이루어진 개체(entity)와 개체 사이의 관계(relationship)를 정형화 시킨 모델
개념적 모델링 단계에서 사용되는 데이터 모델
데이터 구조와 관계를 ER 다이어그램(ERD)로 표현
- 개체
- 실세계에 존재하는 다른 객체와 구별되는 유무형의 사물
- 개체를 설명하는 여러 속성들로 구성
- 개체 집합 : 같은 속성을 공유하는 개체들의 모임
- 실세계에 존재하는 다른 객체와 구별되는 유무형의 사물
- 관계
- 개체와 개체 사이의 연관성
- 관계 집합 : 개체 집합 간의 연결 관계
- 개체와 개체 사이의 연관성
- 속성
- 개체를 구체적으로 설명
- 속성에 포함될 수 있는 값의 특성에 따라 여러 종류로 구분
- 속성의 종류
1) 단순속성 : 더 작은 구성요소로 나눌 수 없는 속성
2) 복합속성 : 더 작은 구성요소로 나눌 수 있는 속성
3) 단일값 속성 : 한 개체에 대해 단 하나의 값만을 갖는 속성
4) 다중값 속성 : 한 개체에 대해 여러 개의 값을 갖는 속성. {}으로 표시
5) 유도 속성 : 다른 속성의 값으로부터 값이 유추될 수 있는 속성
6) 저장 속성 : 유도 속성을 위해 사용되는 속성
- 개체를 구체적으로 설명
- 제약 조건
- 데이터 모델은 데이터, 의미, 구조, 연관성 및 데이터의 조건을 표현하기 위한 도구
- ER 모델은 개체와 관계에 대한 표현의 정확성을 위해 데이터가 준수해야 하는 제약조건을 정의할 수 있는 표현 방법을 제공
- 제약조건의 종류
1) 사상수 : 한 개체가 다른 개체와 관계를 맺을 수 있는 수량을 명시
2) 참가제약조건 : 전체적 참가(─) / 부분적 참가 (〓)
- 데이터 모델은 데이터, 의미, 구조, 연관성 및 데이터의 조건을 표현하기 위한 도구