방송통신대학교 데이터베이스 시스템 강의 정리 자료입니다.
1. 데이터베이스 모델링의 이해
데이터베이스 모델링의 필요
: 일반적으로 데이터베이스 모델링은 비즈니스적 관점(어떤 데이터를 저장해서 활용해야하는가?와 관련된 내용)에서 IT적 관점(어떻게 데이터를 저장해야하는가?와 관련된 내용)으로 이어짐. 즉, 데이터베이스 모델링이란 데이터의 의미를 파악하고 데이터와 관련 업무 프로세스를 개념적으로 정의하고 분석하는 작업으로 총 4단계로 이루어짐.
사용할 데이터를 선별하고 데이터베이스에 체계적으로 구조화하여 저장, 사용할 방법이 필요하기에 데이터 모델(데이터의 의미, 타입, 연산등을 명시하기 위해 사용할 수 있는 개념의 집합)을 활용하여 처리함.
데이터 모델링이란데이터에 대한 요구사항을 분석하여 추상화하는 과정으로 실세계의 일부분을 DBMS가 지원하는 데이터 모델의 형태로 나타내는 과정을 일컬음.
데이터모델링의 단계
- 개념적 데이터 모델링
: 요구사항을 바탕으로 추상화하고 해석 오류를 방지함. 실세계의 데이터를 개념적으로 일반화시켜 데이터 타입, 속성, 관계, 제약조건을 이끌어내는 과정
- 논리적 데이터 모델링
: DBMS의 구현 모델에 맞춰 데이터의 구조를 표현하는 과정으로 데이터 정의 언어로 기술된 스키마를 생성함.
- 물리적 데이터 모델링
: 데이터베이스 파일의 내부 저장구조, 파일 구성, 인덱스, 접근 경로 등을 결정하는 과정
2. 사용자 요구사항 분석
사용자 요구사항 분석의 필요
: 데이터에 대한 충분한 사전 분석없이 적절한 설계가 불가능함. 이는 데이터베이스의 구조가 점차 복잡해지고 수명 주기가 단축되는 최근 경향에 신속, 정확성이 요구되고, 데이터베이스의 활용범위가 확대됨에 따라 데이터베이스의 효율적 운용이 중요해진 점에서 기인함.
사용자의 요구를 명세하지 않고 데이터베이스 설계 및 개발을 진행하게되면 결과물의 완성도 저하 및 신뢰도가 추락할 수 있고, 개발 후 발생하는 에러 수정에 대량의 추가 비용이 지출될 수 있기에 사전 사용자 요구사항 분석은 필수적임.
사용자 요구사항 분석의 개념
: 정보 시스템의 대상이 되는 업무를 분석해야하는데 이는 정보 시스템의 데이터베이스가 신속하고 효과적으로 업무 처리를 지원할 수 있게하고 필요한 데이터를 저장 및 운용할 수 있는 구조를 개발하는데 기초가 되기 때문임.
도출 → 분석 → 기록 단계로 수행하며, IEEE-Std-830(소프트웨어를 제작하기 앞서서 기능적 요구사항과 비기능적 요구사항을 명세하는 국제 표준 양식)으로 국제 표준화가 이루어져 있음.
사용자 요구사항 분석 과정
: 제안 요청서(RFP: Request For Proposal / 발주자가 필요로 하는 요구사항들을 정리한 문서)를 요청 후 수령함.
→ 요구사항 도출(개발 프로젝트 배경, 목표 및 범위를 파악 / 업무 관계자 인터뷰 수행 / 제안요청서의 요구사항을 기능별 분류 및 상세화 / 외부자료 수집 및 분석)
→ 요구사항 명세서가 도출됨.
→ 요구사항 분석(도출된 요구사항의 명확성, 완전성, 모호성 검증 / 기술 개요, 기능 및 비기능 요구사항, 위험요소, 용어와 데이터 정의, 사용자 인터페이스 명세화 / 불완전한 부분이 존재할 경우, 요구사항 도출 단계 재수행)
→ 요구사항 정의서가 도출됨.
→ 요구사항 기록(요구사항 목록 정리 및 관리자의 승인 / 정리된 요구사항을 형식에 맞춰 문서화 / 프로젝트 종료 때가지 반영 여부 지속적 관리)
3. ER 모델
ER 모델의 개념
: 1976년 카네기 멜론 대학의 P. Chen 박사의 제안으로 만들어진 개념으로 실세계의 속성들로 이루어진 개체(Entity)와 개체 사이의 관계(Relationship)를 정형화시킨 모델이며, 개념적 데이터 모델링 단계에서 사용되는 모델임.
데이터 구조와 관계를 ERD(Entity-Relationship Diagram)으로 표현하며 구성요소로는 개체 집합, 관계 집합, 속성, 제약조건, 특수 속성과 특수 관계가 있음.
개체 집합
- 개체(Entity)
: 실세계에 존재하는 다른 객체와 구별되는 유무형의 사물로 개체를 설명하는 여러 속성들로 구성됨.
- 개체 집합(Entity Set)
: 같은 속성을 공유하는 개체들의 모임.
관계 집합
- 관계
: 개체와 개체사이의 연관성
- 관계 집합
: 개체 집합 간의 연결 관계
속성
: 개체를 구체적으로 설명하는 특성으로 개체 집합은 속성의 집합이고, 속성 값의 특성에 따라 여러 종류로 구분됨. 속성의 종류로는 단순속성, 복합속성, 단일값 속성, 다중값 속성, 유도 속성, 저장 속성이 있음.
- 단순 속성
: 더 작은 구성요소로 나눌 수 없는 속성으로 학생 집합에서 학생이름, 성별, 나이와 같은 속성들이 이에 해당됨.
- 복합 속성
: 더 작은 구성요소로 나눌 수 있는 속성으로 생년월일과 같은 속성이 이에 해당함. 예를 들어 '1999년 12월 5일'이라는 값이 있다고 할 때 이를 연, 월, 일로 나눌 수 있음.
- 단일값 속성
: 한 개체에 대해 단 하나의 속성값만을 갖는 속성으로 학생이름, 생년월일과 같은 속성들이 이에 속함.
- 다중값 속성
: 한 개체에 대해 여러 개의 속성 값을 갖는 속성으로 전화번호와 같은 속성들이 이에 속함. 예를 들어 학생이 집 전화번호와 휴대폰 전화번호가 있다고 할 때 전화번호라는 속성은 2개 이상의 값을 가지게 됨.
- 유도 속성
: 다른 속성의 값으로부터 값이 유추될 수 있는 속성으로 나이와 같은 속성(생년월일에서 나이를 추론할 수 있음)이 이에 해당함.
- 저장 속성
: 실제 값을 저장해야하는 속성으로 유도 속성을 위해 사용함.
제약조건
: 데이터 모델은 데이터, 의미, 구조, 연관성 및 데이터의 조건을 표현하기 위한 도구임. ER모델은 개체와 관계에 대한 표현의 정확성을 위해 데이터가 준수해야하는 제약조건을 정의할 수 있는 표현방법을 제공하기 시작했으며, 이와 같은 제약조건은 사상수, 참가 제약조건, 키 속성과 같은 종류가 있음.
사상수(Mapping cardinality)
: 관계 집합에 참가한 개체 집합에 대해 한 개체 집합의 개체가 다른 개체 집합의 개체와 관계를 맺을 수 있는 수량으로 사상 수에 따라 내부 스키마의 구조가 상당히 달라질 수 있기에 매우 중요한 제약 조건임. 화살표가 있으면 1의 관계를 의미함.
참가 제약조건(Participation Constraints)
- 전체적 참가
: 한 개체 집합의 모든 개체가 관계 집합에 참여하는 조건으로 이중선으로 표기함.
- 부분적 참가
: 한 개체 집합의 일부 개체만 관계 집합에 참여하는 조건으로 단일선으로 표기함.
키(Key) 속성
: 각 개체를 구별하는데 사용되는 유일한 값을 가지는 속성의 집합으로 개체를 고유하게 구분하는 역할과 관계 집합의 특정 관계를 찾는 역할을 하며, 반드시 1개 이상은 존재해야함.(예시: 학생번호)
특수 속성과 특수 관계
- 관계 집합의 속성
: 두 개체 집합의 관계에서 생성되는 값을 저장하는 속성으로 신청 시각과 같은 값이 이에 해당함.
- 재귀적 관계(Recursive Relationship)
: 한 개체 집합이 자기 자신과 관계 집합을 형성하는 관계로 선수, 후수 과목이 대표적인 예시임.
특수 개체 집합(이중선으로 표기함)
- 약한 개체 집합
: 개체의 존재 유무가 관계를 맺고 있는 개체의 존재에 종속되는 개체 집합
- 강한 개체 집합
: 약한 개체 집합과 연결되는 개체 집합
개념적 데이터 모델링의 결과
'방송통신대학교 > 3학년 1학기' 카테고리의 다른 글
운영체제] 2강. 프로세스와 쓰레드 (0) | 2025.03.13 |
---|---|
[운영체제] 1강. 운영체제 소개 (0) | 2025.03.13 |
[데이터베이스 시스템] 4강. SQL (1) (0) | 2025.03.12 |
[데이터베이스 시스템] 3강. 관계형 모델 (0) | 2025.03.12 |
[데이터베이스 시스템] 1강. 데이터베이스의 이해 (0) | 2025.03.11 |
댓글