-
[데이터베이스] 3강. 데이터베이스 모델링데이터베이스 2016. 5. 9. 22:20
[출처] 방송통신대학교 데이터베이스 강의 정리
1. 데이터베이스 모델링 과정
- 사용자 요구사항 분석 단계
- 요구사항 도출
- 구축대상, 프로젝트 목표, 범위를 기준으로 조사범위를 결정
- 업무관계자 인터뷰
- 외부자료 수집 및 분석
- 요구사항 분석
- 도출된 요구사항의 명확성, 완전성, 모호성 검증
- 요구사항을 분류하여 통합 또는 분리
- 불완전한 부분이 존재할 경우 요구사항 도출단계 재수행
- 요구사항 기록
- 요구사항 목록 정리 및 관리자의 승인
- 정리된 요구사항을 형식에 맞춰 문서화
- 프로젝트 종료 때까지 반영 여부 지속적 관리
- 데이터 모델링
- 시스템 대상이 되는 업무를 분석하여 정보 시스템을 구축하는 설계 과정에서 업무의 내용을 적절한 표기법으로 표현하는 것.
- 모델링의 관점
- 데이터 관점: 업무와 관련된 데이터는 무엇인지, 데이터 간의 관계는 무엇인지 모델링
- 프로세스 관점 : 업무를 통해 어떤 일을 처리하는지 모델링
- 데이터와 프로세스 상관 관점 : 업무 처리를 통해 데이터가 어떻게 영향을 받는지 모델링
- 개념적 데이터 모델링
- 요구사항이 잘못 해석되는 오류를 피하기 위해 추상화 기법 사용
- 실세계의 데이터들을 개념적으로 일반화시킨 데이터 타입, 속성, 관계, 제약조건을 이끌어 과정
- 논리적 데이터 모델링(논리 스키마 생성 단계)
- 특정 DBMS에 맞추어 데이터를 표현하는 과정
- 데이터 정의 언어로 기술된 논리 스키마 생성
- 물리적 데이터 모델링
- 데이터베이스 파일의 내부 저장구조, 파일 구성, 인덱스, 접근 경로 등을 결정
2. ER 모델 (개념적 데이터 모델링)
- 1976년 카네기 멜론 대학의 Peter Chen에 의하여 제안
- 개념적 데이터 모델링의 대표적인 기법으로 실세계의 속성들로 이루어진 개체(Entity)와 개체 사이의 관계(Relationship)를 정형화 시킨 모델
- 구성요소
- 개체 집합
- 개체(entity)
- 실세계에 존재하는 다른 모든 객체와 구별되는 유무형의 사물로 여러 속성들로 구성
- 조직 내부의 업무 처리 대상이 되는 데이터
- 개체 집합(entity set)
- 같은 속성을 공유하는 개체들의 모임
- 관계 집합
- 관계
- 개체와 개체 사이의 연관성을 표현
- 업무 프로세스와 관련된 개체를 명시
- 관계 집합
- 개체 집합 간의 연결 관계
- 속성
- 개체를 구체적으로 설명하는 특성
- 속성에 포함될 수 있는 값의 특성에 따라 여러 종류로 구분
- 속성의 종류
- 단순 속성
- 더이상 작은 구성요소로 나눌 수 없는 속성
- 이름, 키, 몸무게등
- 복합 속성
- 더 작은 구성요소로 나눌 수 있는 속성
- 주민등록 번호(각 자리수 별로 의미하는 바가 다름)
- 단일값 속성
- 하나의 개체에 대해 단 하나의 값만을 갖는 속성
- 사람은 ? 이름, 키, 몸무게
- 다중값 속성
- 하나의 개체에 대해 여러 개의 값을 갖는 속성
- 사람은 여러개의 전화번호, 계좌번호등을 갖을 수 있다.
- 유도 속성
- 다른 속성의 값으로부터 값이 유추될 수 있는 속성
- 속성 뒤에 소가로를 표시 ex) 나이()
- 저장 속성
- 유도 속성을 위해 사용되는 속성
- 널(null) 속성
- 특정 개체가 일부 속성값을 가지지 못하여 널(null)값을 갖는 속성
- 특정 개체가 가지는 속성값을 모르는 경우
- 특정 개체에 일부 속성이 적용이 될 수 없는 경우
- 제약조건
- ER 모델은 관계에 대한 표현을 명확하게 하기 위해 데이터베이스가 항상 준수해야 하는 제약조건(constraints)을 정의할 수 있는 방법을 제공
- 제약 조건의 종류
- 사상수(mapping cardinality)
- 관계 집합에 참가한 개체 집합들에 대해 각각의 개체가 얼마만큼의 관계를 맺을 수 있는지 명시 한 수
- 화살표 표현은 항상 일쪽으로 향한다.
- 일대일 관계(1 : 1), 일대다 관계(1 : N), 다대일 관계(M , 1), 다대다 관계(M : N) : 화살표 없음
- 참가 제약조건(participation constraints)
- 전체적 참가 : 어떤 개체 집합의 모든 개체가 특정관계 집합에 참여 하는 조건
- 부분적 참가 : 어떤 개체 집합의 일부 개체가 특정관계 집합에 참여 하는 조건
(최소값, 최대값)으로 표현
- 키 속성
- 각 개체를 구별하는데 사용되는 이율한 값을 가지는 속성의 집합
- 밑줄로 표시
- 특수 관계
- 관계 집합의 속성 : 두 개체 집합의 관계에서 생성되는 값을 저장
- 재귀적 관계 : 한 개체 집합 자기 자신과 관계 집합을 형성하는 관계
- 약한 개체 집합 : 개체의 존재 유무가 관계를 맺고 있는 개체의 존재에 종속되는 개체 집합(점선으로 표시)
- 강한 개체 집합 : 약학 개체 집합과 연결되는 일반 개체 집합
3. ER 모델 예
- 본교의 학사지원 시스템은 여러 명의 교수와 학생들 그리고 과목 정보를 관리하기 위한 시스템이다.
- 학생은 학번, 이름, 학년, 소속학과 정보를 가지며, 교수는 교번, 이름, 연봉 정보를 가진다. 과목은 학수번호, 과목명, 학점 정보를 가진다. 과목은 한 개 이상의 분반으로 이루어진다. 분반은 번호, 학기, 연도 정보를 관리한다. 추가적으로 과목은 선수과목 정보를 가진다.
- 하나의 학생은 한 명의 교수와 지도교수 관계를 맺을 수 있으며, 한 명의 교수는 복수의 학생을 지도할 수 있다. 학생은 여러개의 과목을 수강할 수 있으며, 교수는 여러 개의 과목을 강의할 수 있다. 하나의 과목은 여러 명의 학생이 수강할 수 있으나, 강사는 1명으로 제한된다. 수강 및 강의 시 학수번호와 분반번로를 같이 기술해야 한다.
1. 개체가 무엇인지 분별하고 동일한 개체는 개체집합으로 묶는다.
2. 각각의 개체집합에 키속성을 부여한다.
'데이터베이스' 카테고리의 다른 글
[데이터베이스] 2강 데이터베이스의 이해(2) (0) 2016.05.08 [데이터베이스] 1강 데이터베이스의 이해(1) (0) 2016.04.05