개발하는 자몽

개념적 데이터 모델링: 실습 본문

Database

개념적 데이터 모델링: 실습

jaamong 2022. 1. 13. 14:39
 

데이터베이스의 원리와 응용

본 강의에서는 데이터베이스 입문자들에게 꼭 필요한 데이터베이스 기초 이론, 데이터 모델과 연산, SQL, 데이터베이스 설계에 대해 공부하고자 한다.

www.kocw.net

위 강의와 데이터베이스 개론(2019, 김연희 지음) 책을 바탕으로 작성하는 글입니다.

 

 

데이터베이스 설계 단계

E-R 모델과 릴레이션 변환 규칙을 이용한 설계의 과정

  • 1단계 : 요구 사항 분석
  • 2단계 : 개념적 설계
  • 3단계 : 논리적 설계
  • 4단계 : 물리적 설계
  • 5단계 : 구현

Note 설계 과정 중에 오류가 발견되어 변경이 필요하면 이전 단계로 되돌아가 설계 내용을 변경 가능

 

 

요구사항 분석

설계 1단계 : 요구 사항 분석

  • 목적
    • 사용자의 요구 사항을 수집하고 분석하여 개발할 데이터베이스의 용도를 파악
      : 업무에 필요한 데이터가 무엇인지, 그 데이터에 어떤 처리가 필요한지 등을 고려
  • 결과물
    • 요구 사항 명세서
  • 주요 작업
    • 데이터베이스를 실제로 사용할 주요 사용자의 범위를 결정
    • 사용자가 조직에서 수행하는 업무를 분석
    • 면담, 설문 조사, 업무 관련 문서 분석 등의 방법을 이용해 요구 사항 수집
    • 수집된 요구 사항에 대한 분석 결과를 요구 사항 명세서로 작성

요구 사항 분석 Ex. [한빛 마트 데이터베이스]

인터넷으로 회원들에게 상품을 판매하는 한빛 마트의 데이터베이스 개발

출처 - 데이터베이스의 원리와 응용(kocw)

 

 

개념적 설계

설계 2단계 : 개념적 설계

  • 목적
    • DBMS에 독립적인 개념적 스키마 설계
    • 요구 사항 분석 결과물을 개념적 데이터 모델을 이용해 개념적 구조로 표현  개념적 모델링
      • 일반적으로 E-R 모델을 많이 이용
  • 결과물
    • 개념적 스키마 : E-R 다이어그램
  • 주요 작업
    • 요구 사항 분석 결과를 기반으로 중요한 개체를 추출하고 개체 간의 관계를 결정하여 E-R 다이어그램으로 표현
  • 작업 과정
    • STEP 1  개체 추출, 각 개체의 주요 속성과 키 속성 선별  ☞  개체와 속성 추출
    • STEP 2  개체 간의 관계 결정  ☞  관계 추출
    • STEP 3  E-R 다이어그램으로 표현  ☞  E-R 다이어그램 작성

개념적 설계 - (STEP 1) 개체와 속성 추출

  • 개체 : 저장할만한 가치가 있는 중요 데이터를 가진 사람이나 사물 등
  • 개체 추출 방법
    • 요구 사항 문장에서 업무와 관련이 깊은 의미 있는 명사 찾기
      • 업무와 관련이 적은 일반적이고 광범위한 의미의 명사는 제외 (Ex. 한빛 마트 : 전체 데이터베이스를 포괄하는 광범위한 범위이므로 제외)
      • 의미가 같은 명사가 여러 개일 경우는 대표 명사 하나만 선택 (Ex. 회원, 고객)
    • 찾아낸 명사를 개체 속성으로 분류하기

개념적 설계 - (STEP 1) 개체와 속성 추출 예

그림 8-4의 요구 사항 명세서에서 개체와 속성을 추출하는 과정

출처 - 데이터베이스의 원리와 응용(kocw)

[추출 결과] (A)

  • 한빛 마트 : 일반적이고 광범위한 의미의 명사이므로 제외
  • 개체 : 회원
  • 회원(개체)의 속성 : 회원아이디, 비밀번호, 이름, 나이, 직업, 등급, 적립금
  • 키 속성 : 회원아이디(회원을 식별할 수 있는 속성)

 

출처 - 데이터베이스의 원리와 응용(kocw)

[추출 결과] (B)

  • 개체 : 회원, 상품
  • 속성 : 주문번호, 주문수량, 배송지, 주문 일자  회원이 상품을 주문을 해야 생기는 정보, 이후 추출할 특정 관계의 속성일 가능성이 높음

 

출처 - 데이터베이스의 원리와 응용(kocw)

[추출 결과] (최종)

  • 개체 : 회원, 상품, 제조업체, 게시글
  • 속성
    • 회원의 속성 : 회원아이디, 비밀번호, 이름, 나이, 직업, 등급, 적립금
    • 상품의 속성 : 상품번호, 상품명, 재고량, 단가
    • 제조업체의 속성 : 제조업체명, 전화, 위치, 담당자
    • 게시글의 속성 : 글번호, 글제목, 글내용, 작성일자
  • 키 속성
    • 회원의 키 속성 : 회원아이디
    • 상품의 키 속성 : 상품번호
    • 제조업체의 키 속성 : 제조업체명
    • 게시글의 키 속성 : 글번호

출처 - 데이터베이스의 원리와 응용(kocw)

개념적 설계 - (STEP 2) 관계 추출

  • 관계 : 개체 간의 의미 있는 연관성
  • 관계 추출 방법
    • 요구 사항 문장에서 개체 간의 연관성을 의미 있게 표현한 동사 찾기
      • 의미가 같은 동사가 여러 개일 경우는 대표 명사 하나만 선택
    • 찾아낸 관계에 대해 매핑 카디널리티참여 특성을 결정하기
      • 매핑 카디널리티 : 일대일(1 : 1), 일대다(1 : n), 다대다(n : m)
      • 참여 특성 : 필수적 참여  |  선택적 참여

개념적 설계 - (STEP 2) 관계 추출 예

그림 8-4의 요구 사항 명세서에서 관계를 추출하는 과정

출처 - 데이터베이스의 원리와 응용(kocw)

위 밑줄 처진 동사 모두 개체와 개체의 관계를 표현하는 동사로 볼 수 없으므로 제외

 

출처 - 데이터베이스의 원리와 응용(kocw)

[추출 결과] (B)

  • 관계 : 주문
    • 회원(개체)상품(개체)가 맺는 관계 - 다대다(n : m) 관계
    • 회원(개체)는 관계에 선택적 참여  |  상품(개체)는 관계에 선택적 참여
  • 주문(관계)의 속성 : 주문번호, 주문수량, 배송지, 주문일자

 

출처 - 데이터베이스의 원리와 응용(kocw)

[추출 결과] (C)

  • 관계 : 공급
    • 제조업체(개체)상품(개체)가 맺는 관계 - 일대다(1 : n) 관계
    • 상품(개체)는 관계에 필수적 참여  |  제조업체(개체)는 관계에 선택적 참여
  • 공급(관계)의 속성 : 공급일자, 공급량

 

출처 - 데이터베이스의 원리와 응용(kocw)

[추출 결과] (D)

  • 관계 : 작성
    • 회원(개체)게시글(개체)가 맺는 관계 - 일대다(1 : n) 관계
    • 회원(개체)는 관계에 선택적 참여  |  게시글(개체)는 관계에 필수적 참여

 

출처 - 데이터베이스의 원리와 응용(kocw)

[추출 결과] (최종)

  • 관계 : 주문, 공급, 작성
  • 관계에 참여하는 개체
    • 주문 : 회원(선택), 상품(선택)
    • 공급 : 상품(필수), 제조업체(선택)
    • 작성 : 회원(선택), 게시글(필수)
  • 관계 유형
    • 주문 : 회원 상품 - 다대다
    • 공급 : 상품 제조업체 - 일대다
    • 작성 : 회원 게시글 - 일대다
  • 속성
    • 주문 : 주문번호, 주문수량, 배송지, 주문일자
    • 공급 : 공급일자, 공급량

 

출처 - 데이터베이스의 원리와 응용(kocw)

개념적 설계 - (STEP 3) E-R 다이어그램 작성

출처 - 데이터베이스의 원리와 응용(kocw)

 

Comments