본문 바로가기
KNOU/요약정리

[데이터베이스시스템] 데이터베이스 모델링

by bottlesun 2024. 5. 25.
728x90

데이터베이스 모델링의 이해

데이터베이스 모델링의 필요

  1. 비즈니스적 관점

→ 어떤 데이터를 저장해야 하는가?

  1. 컴퓨터 프로그래머 관점

→ 어떻게 데이터를 저장해야 하는가?

데이터베이스 시스템 구현 과정

  • 소프트웨어 공학 시점의 효율적인 시스템 구현 과정

기능적 요구 사항[기능 분석] → 애플리케이션 아키텍쳐[애플리케이션 프로그램 설계] → 애플리케이션 [애플리케이션 프로그램 구현]

DBMS 의존적인 부분 [애플리케이션 아키텍쳐[애플리케이션 프로그램 설계] → 애플리케이션 [애플리케이션 프로그램 구현]]

  • 데이터 관점

사용자 요구사항 분석 → 개념적 데이터 모델링 → 논리적 데이터 모델링 → 개념스키마 → 물리적 데이터 모델링 → 내부 스키마

DBMS 의존적인 부분 [ 개념스키마 → 물리적 데이터 모델링 → 내부 스키마]

데이터베이스 모델링의 개념

  1. 데이터의 의미를 파악하고 데이터와 관여하는 업무 프로세스를 개념적으로 정의하고 분석하는 작업
  2. 모델링의 단계

사용자 요구사항 분석 → (데이터 및 업무) →

개념적 데이터 모델링 → (ER 모델) →

논리적 데이터 모델링 → (관계형 모델) →

물리적 데이터 모델링 → (물리적 세부사항) → 내부 스키마

데이터 모델

  1. 사용할 데이터를 선별하여 데이터베이스에 체계적으로 구조화하여 저장 사용할 방법이 필요
  2. 데이터 모델

→ 의미, 데이터 타입, 연산 등을 명시하기 위해 사용할 수있는 개념들의 집합

  1. 데이터 모델링

→ 실시계의 일부분을 DBMS가 지원하는 데이터 모델의 형태로 나타내는 과정

데이터 모델링 단계

  1. 개념적 데이터 모델링

→ 요구사항의 해석 오류를 방지 하기 위해 사용

→ 실세계의 데이터를 개념적으로 일반화 시켜 데이터 구조, 데이터 타입, 속성, 관계, 제약조건 등을 이끌어내는 과정

  1. 논리적 데이터 모델링

→ 특정 DBMS의 구현 모델에 맞춰 데이터를 표현하는 과정

→ 데이터 정의 언어로 기술된 개념 스키마 생성

  1. 물리적 데이터 모델링

→ 데이터베이스 파일의 내부 저장구조, 파일 구성, 인덱스, 접근 경로 등을 결정하는 과정

사용자 요구사항 분석

사용자 요구사항의 필요

  1. 데이터에 대한 충분한 사전 분석없이 적절한 설계가 불가능

→ 데이터베이스의 구조가 점차 복잡해지고 수명 주기가 단축되고 때문에 신속, 정확성이 요구

→ 데이터베이스의 활용 범위가 확대됨에 데이터베이스의 효율적 운용에 초점

  1. 사용자의 요구를 명세하지 않고 데이터베이스 설계 . 및개발을 진행하는 경우

→ 결과물의 완성도 저하 및 신뢰도 추락

→ 개발 후 발생하는 에러 수정에 많은 추가 비용 지출

사용자 요구사항 분석의 개념

  1. 시스템의 대상이 되는 업무를 분석

→ 정보 시스템의 데이터베이스가 신속하고 효과적으로 업무 처리를 지원

→ 필요한 데이터를 저장 및 운용 할 수 있는 구조 개발

  1. 도출, 분석, 기록 단계로 수행

사용자 요구사항 분석 과정

  1. 제안 요청서 (요구사항 도출 단계)

→ 요구사항 도출 (기획)

  • 구축대상, 목표, 범위 를 기준으로 조사범위를 결정
  • 업무 관계자와의 인터뷰 (회의)
  • 외부자료 수집 및 분석
  1. 요구사항 명세서 (개발사에서 명세)

→ 요구사항 분석 (조율)

  • 도출된 요구사항의 명확성, 완전성, 모호성 검증
  • 불완전한 부분이 존재할 경우 요구사항 도출단계 재수행
  • 요구사항을 분류하여 통합 또는 분리 (기능별 세분화)
  1. 요구사항 정의서

→ 요구사항 기록(프로젝트 검증)

  • 요구사항 목록 정리 및 관리자의 승인
  • 정리된 요구사항을 형식에 맞춰 문서화
  • 프로젝트 종료 때까지 반영 여부 관리 (지속적)

ER 모델

ER 모델의 개념

  1. 1976년 카네기 멜론 대학의 P.Chen(피터첸) 박사 제안
  2. 실세계의 속성들로 이루어진 개체(entity) 와 개체 사이의 관계 (relationship)를 정형화 시킨 모델
  3. 개념적 모델링 단계에서 사용되는 데이터 모델
  4. 데이터 구조와 관계를 ER 다이어그램(ERD) 으로 표현
  5. 구성요소

→ 개체 집합

→ 관계 집합

→ 속성

개체 집합

  • 개체(entity)

→ 실세계에 존재하는 다른 객체와 구별되는 유무형의 사물

→ 개체를 설명하는 여러 속성들로 구성

  • 개체 집합(entity set)

→ 같은 속성을 공유하는 개체들의 모임

학생 개체 집합 학생
(0001,철수,남,17) 학생번호
(0002,옥순,여,17) 학생이름
(0003,길동,남,18) 성별
(0004,현숙,여,19) 나이

관계집합

  • 관계

→ 개체와 개체 사이의 연관성

  • 관계집합

→ 개체 집합 간의 연결 관계

학생 개체 집합

학생번호 이름
0001 철수
0002 옥순
0003 길동
0004 현숙

학과 개체 집합

학과이름 단과대학
컴퓨터과학과 자연과학대학
행정학과 사회과학대학

전공 관계 집합 (학생 -<전공>- 학과)

학생 학과
학생번호 학과이름
이름 단과대학

속성

  1. 개체를 구체적으로 설명
  2. 속성에 포함될 수 있는 값의 특성에 따라 여러 종류로 구분
  3. 속성의 종류

→ 단순 속성과 복합 속성

→ 단일값 속성과 다중값 속성

→ 유도 속성과 저장 속성

속성의 종류

  • 단순속성

→ 더 작은 구성요소로 나눌 수없는 속성

ex ) 성별, 학생이름, 나이 …

  • 복합속성

→ 더작은 구성요소로 나눌 수 있는속성

ex ) 생년월일 - 년 월 일 (들여쓰기로 표기)

  • 단일값 속성

→ 한 개체에 대해 . 단하나의 값만을 갖는 속성

ex ) 학생이름 , 생년월일

  • 다중값 속성

→ 한 개체에 대해 여러 개의 값을 갖는 속성

ex ) {학과}, {전화번호}

  • 유도 속성

→ 다른 속성의 값으로부터 값이 유추될 수 있는 속성

ex ) 나이()

  • 저장 속성

→ 유도 속성을 위해 사용 될 수있는 속성

ex ) 생년월일 → 나이 를 위해 사용 가능

제약조건

  1. 데이터 모델은 데이터, 의미, 구조, 연관성 및 데이터의 조건을 표현하기 위한 도구
  2. ER 모델은 개체와 관계에 대한 표현의 정확성을 위해 데이터가 준수해야 하는 제약 조건을 정의 . 할수 있는 표현 방법을 제공
  3. 제약조건(constraints)의 종류

→ 사상수

→ 참가 제약조건

→ 키 속성

사상수(mapping cardinality)

관계 집합에 참가한 개체 집합에 대한 한 개체가 다른 개체와 관계를 맺을 수있는 수령을 명시

  • 일대일(1 : 1)

→ x 개체 와 y 개체의 관계가 한개씩 밖에 안들어가는 관계

X ← <보유> → Y

  • 일대다(1 : N)

→ x 개체가 y 개체의 여러개와 관계를 맺을 수 있는 관계

X ← <보유> - Y

  • 다대다(N : N)

→ x 개체와 y 개체가 서로 여러개씩 관계를 맺을 수있는 관계

X - <보유> - Y

참가 제약 조건(Participation constraints)

  • 전체적 참가 : 어떤 개체 집합의 모든 개체가 관계 집합에 참여 하는 조건

=

  • 부분적 참가 : 어떤 개체 집합의 일부 개체가 관계 집합에 참여하는 조건

교수 ← <강의> = 과목

키(Key) 속성

  1. 각 개체를 구별하는데 사용 되는 유일한 값을 가지는 속성의 집합

→ 개체를 고유하게 구분하는 역할

→ 관계 집합의 특정 관계를 찾는 역할

→ 밑줄로 표기

특수 속성과 특수 관계

  • 관계 집합의 속성

→ 두 개체 집합의 관계에서 생성되는 값을 저장하는 속성

강의 내용 중 발췌

  • 재귀적 관계

→ 한 개체 집합이 자기 자신과 관계 집합을 형성하는 관계

강의 내용 중 발췌2

  • 약한 개체 집합

→ 개체의 존재 유무가 관계를 맺고 있는 개체의 존재에 종속되는 개체 집합

→ 학생 개체와 계좌 개체에서 학생 개체가 사라지면 계좌 개체를 사용 할 수 없는 계좌 개체를 뜻함

  • 강한 개체 집합

→ 약한 개체 집합과 연결 되는 일반 개체 집합

→ 연결된 개체 집합이 없어도 존재 유무가 뚜렷한 학생 개체 집합을 뜻함

강의 내용 중 발췌3

 

728x90

댓글