티스토리 뷰
1. 데이터베이스 모델링의 필요
- 비지니스적 관점
- 어떤 데이터를 저장해야 하는가?
- IT적 관점
- 어떻게 데이터를 저장해야 하는가?
2. 데이터베이스 모델링의 정의
- 데이터베이스 모델링의 정의
- 데이터의 의미를 파악하고 데이터와 관여하는 업무 프로세스를 개념적으로 정의하고 분석하는 작업
- 사용할 데이터를 선별하고 데이터 베이스에 체계적으로 구조화하여 저장 및 사용할 방법이 필요
- 데이터 모델 ( 틀 )
- 데이터의 의미, 데이터의 타입, 연산 등을 명시하기 위해 사용할 수 있는 개념( 표기법 )의 집합
- 데이터 모델링 ( 설계 )
- 데이터에 대한 요구사항을 분석하여 추상화하는 과정
- 실세계의 일부분을 DBMS가 지원하는 데이터 모델의 형태로 나타내는 과정
- 데이터베이스 모델링의 단계
- 1 ) 사용자 요구사항 분석 ( 수행 업무 : 데이터 및 업무 )
- 2 ) 개념적 데이터 모델링 ( 수행 업무 : ER 모델 )
- 3 ) 논리적 데이터 모델링 ( 수행 업무 : 관계형 모델 )
- 4 ) 물리적 데이터 모델링 ( 수행 업무 : 물리적 세부사항 )
- 5 ) 내부 스키마
- 스키마란?
- 어떤 물건들을 적재하기 위한 효율적인 구조
3. 데이터베이스 모델링의 단계
- 개념적 데이터 모델링
- 요구사항을 바탕으로 추상화하고 해석 오류를 방지
- 실세계의 데이터를 개념적으로 일반화시켜 데이터 타입, 속성, 관계, 제약조건 등을 이끌어내는 과정
- 즉, 데이터의 의미와 데이터간의 관계를 파악하는 단계
- 논리적 데이터 모델링
- DBMS의 구현 모델에 맞춰 데이터의 구조를 표현
- 데이터 정의 언어로 기술된 스키마 생성
- 즉, 관계형 데이터 구현 모델에 맞춰 데이터를 구조화하는 단계
- 물리적 데이터 모델링
- 데이터베이스 파일의 내부 저장구조, 파일 구성, 인덱스, 접근 경로 등을 결정하는 과정
- 즉, 스키마에 실질적으로 저장하는 과정에 필요한 설정을 하는 단계
4. 사용자 요구사항 분석의 필요
- 데이터에 대한 충분한 사전 분석없이 적절한 설계가 불가능
- 데이터베이스의 구조가 점차 복잡해지고 수명 주기가 단축되는 최근 경향에 신소, 정확성이 요구
- 데이터베이스의 활용 범위가 확대됨에 따라 데이터 베이스의 효율적 운용에 초점
- 개념적 데이터 모델링 이전에 수행
- 사용자의 요구를 명세하지 않고 데이터베이스 설계 및 개발을 진행하는 경우
- 결과물의 완성도 저하 및 신뢰도 추락
- 개발 후, 발생하는 에러 수정에 대량의 추가 비용 지출
5. 사용자 요구사항 분석의 개념
- 정보 시스템의 대상이 되는 업무를 분석
- 정보 시스템의 데이터베이스가 신속하고 효과적으로 업무 처리를 지원
- 필요한 데이터를 저장 및 운용할 수 있는 구조 개발
- 도출 → 분석 → 기록 단계로 수행
- 국제 표준화 : IEEE-Std-830 ( Software Requirements Specification )
- 요구사항 명세 양식
- 소프트웨어를 만들기 앞서 기능적 요구사항과 비기능적 요구사항은 무엇인지 파악
- 좋은 요구사항 명세서란?
- 도출 → 분석 → 기록 단계를 수행하면서 추상적 → 구체적으로 기술
- 모호하지 않게 기술
- 요구사항 명세 양식
6. 사용자 요구사항 분석 과정
- 제안 요청서 ( RFP : Request For Proposal ) → ( 요구사항 도출 )
- 요구사항 도출
- 개발 프로젝트 배경, 목표 및 범위를 파악
- 업무 관계자 인터뷰 수행
- 제안 요청서의 요구사항을 기능별 분류 및 상세화
- 외부자료 수집 및 분석
- → 요구사항 명세서 → ( 요구사항 분석 )
- 요구사항 분석
- 도출된 요구사항의 명확성, 완전성, 모호성 검증
- 기술 개요, 기능 및 비기능 요구사항, 위험 요소, 용어와 데이터 정의, 사용자 인터페이스 명세화
- 불완전한 부분이 존재할 경우, 요구사항 도출 단계 재수행
- → 요구사항 정의서 → ( 요구사항 기록 )
- 요구사항 정의서를 통해 실질적인 개념적 데이터 모델링 진행
- 요구사항 기록
- 요구사항이 정확하게 반영되었는지 확인하는 단계
- 요구사항 목록 정리 및 관리자의 승인
- 정리된 요구사항을 형식에 맞춰 문서화
- 프로젝트 종료 때까지 반영 여부 지속적 관리
7. ER 모델의 개념 ( 개념적 데이터 모델링 )
- 1976년 케네기 멜론 대학의 P.Chen박사 제안
- 실세계의 속성들로 이루어진 개체( Entity )와 개체 사이의 관계( Relationship )를 정형화시킨 모델
- 개념적 데이터 모델링 관계에서 사용되는 모델
- 데이터 구조와 관계를 ER 다이어그램( ERD )으로 표현
- 구성요소
- 개체 집합, 관계 집합, 속성
- 제약 조건
- 특수 속성과 특수 관계
8. 개체집합
- 개체 ( Entity )
- 실세계에 존재하는 다른 객체와 구별되는 유무형의 사물
- 개체를 설명하는 여러 속성들로 구성
- 개체 집합 ( Entity Set )
- 같은 속성을 공유하는 개체들의 모임
9. 관계집합
- 관계
- 개체와 개체 사이의 연관성
- 관계집합
- 개체 집합 간의 연결 관계
10. 속성
- 개체를 구체적으로 설명하는 특성으로 개체 집합은 속성의 집합
- 속성 값의 특성에 따라 여러 종류로 구분
- 속성의 종류
- 단순 속성과 복합 속성
- 단일값 속성과 다중값 속성
- 유도 속성과 저장 속성
11. 속성의 종류
- 단순 속성과 복합 속성
- 단순 속성 : 더 작은 구성 요소로 나눌 수 없는 속성
- 복합 속성 : 더 작은 구성 요소로 나눌 수 있는 속성
- 단일값 속성과 다중값 속성
- 단일값 속성 : 한 개체에 대해 단 하나의 속성 값만을 갖는 속성
- ex ) 학생이름
- 다중값 속성 : 한 개체에 대해 여러 개의 속성 값을 갖는 속성
- ex ) { 전화번호 } : 다중값 속성은 { }로 표기
- 단일값 속성 : 한 개체에 대해 단 하나의 속성 값만을 갖는 속성
- 유도 속성과 저장 속성
- 유도 속성 : 다른 속성의 값으로부터 값이 유추될 수 있는 속성
- ex ) 나이 ( ) : 유도 속성은 함수의 개념으로 ( )로 표기
- 저장 속성 : 실제 값을 저장해야 하는 속성, 유도 속성을 위해 사용
- ex ) 생년월일
- 유도 속성 : 다른 속성의 값으로부터 값이 유추될 수 있는 속성
- 각각의 속성은 세 그룹 중 하나의 속성애 해당
- ex ) 생년월일은 복합 속성이자 단일값 속성이자 저장 속성이다.
12. 제약 조건
- 데이터 모델은 데이터, 의미, 구조, 연관성 및 데이터의 조건을 표현하기 위한 도구
- ER 모델은 개체와 관계에 대한 표현의 정확성을 위해 데이터가 준수해야 하는 제약 조건을 정의할 수 있는 표현 방법 제공
- 제약 조건( Constraints )의 종류
- 사상수
- 참가 제약 조건
- 키 속성
13. 제약조건 - 사상수 ( Mapping Cardinality )
- 관계 집합에 참가한 개체 집합에 대해 한 개체 집합의 개체가 다른 개체 집합의 개체와 관계 맺을 수 있는 수량
- ex ) 1:1, N:1, M:N
- 표현은 1인쪽에 ← 표시를 하고, 다수의 관계를 맺을 때는 <와 같은 화살표 표시가 아닌 -로 표시한다
14. 제약조건 - 참가 제약 조건 ( Participation Constraints )
- 전체적 참가
- 한 개체 집합의 모든 개체가 관계 집합에 참여하는 조건
- 표기 방법 : <== ( 이중선 )
- 부분적 참가
- 한 개체의 일부 개체만 관계 집합에 참여하는 조건
- 표기 방법 : ←
15. 제약조건 - 키 ( Key ) 속성
- 각 개체를 구별하는데 사용되는 유일한 값을 가지는 속성의 집합
- 개체를 고유하게 구분하는 역할
- 관계 집합의 특정 관계를 찾는 역할
16. 특수 속성과 특수 관계
- 관계 집합의 속성
- 두 개체 집합의 관계에서 생성되는 값을 저장하는 속성
- 재귀적 관계
- 한 개체 집합이 자기 자신과 관계 집합을 형성하는 관계
17. 특수 개체 집합
- 약한 개체 집합
- 개체의 존재 유무가 관계를 맺고 있는 개체의 존재에 종속되는 개체 집합
- 표기방법 : 약한 개체와 관계 개체까지 이중선으로 표기
- 강한 개체 집합
- 약한 개체 집합과 연결되는 개체 집합
728x90
'방송대 > 데이터베이스 시스템' 카테고리의 다른 글
6강. SQL (3) (0) | 2025.03.24 |
---|---|
5강. SQL (2) (0) | 2025.03.17 |
4강. SQL ( 1 ) (0) | 2025.03.10 |
3강. 관계형 모델 (0) | 2025.03.03 |
1강. 데이터베이스의 이해 (0) | 2025.02.19 |
댓글