💽 DataBase

데이터 모델링: 실습

데이터 베이스 설계 단계

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

요구 사항 분석

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

목적

사용자의 요구 사항을 수집하고 분석하여 개발할 데이터 베이스의 용도 파악
  • 업무에 필요한 데이터가 무엇인지, 그 데이터에 어떤 처리가 필요한지 등을 고려

결과물

  • 요구 사항 명세서

주요 작업

  • 데이터 베이스를 실제로 사용할 주요 사용자의 범위를 결정
  • 사용자가 조직에서 수행하는 업무를 분석
  • 면담, 설문 조사, 업무 관련 문서 분석 등의 방법을 이용해 요구 사항 수집
  • 수집된 요구 사항에 대한 분석 결과를 요구 사항 명세서로 작성

요구 사항 분석 예

notion image

개념적 설계

설계 2단계: 개념적 설계

목적

DBMS에 독립적인 개념적 스키마 설계
  • 요구 사항 분석 결과물을 개념적 데이터 모델을 이용해 개념적 구조로 표현
→ 개념적 모델링
  • 일반적으로 E - R 모델을 많이 이용

결과물

  • 개념적 스키마: E - R 다이어그램

주요 작업

  • 요구 사항 분석 결과를 기반으로 중요한 개체를 추출하고, 개체 간의 관계를 결정하여 E - R 다이어그램으로 표현

작업 과정

  1. 개체 추출, 각 개체의 주요 속성과 키 속성 선별
  1. 개체 간의 관계 결정
  1. E - R 다이어그램으로 표현
notion image

1. 개체와 속성 추출

  • 개체: 저장할 만한 가치가 있는 중요 데이터를 가진 사람이나 사물 등
    • ex) 병원 데이터 베이스 개발에 필요한 개체
      • 병원 운영에 필요한 사람: 환자, 의사, 간호사 등
      • 병원 운영에 필요한 사물: 병실, 수술실, 의료 장비 등
  • 개체 추출 방법
    • 요구 사항 문장에서 업무와 관련이 깊은 의미 있는 명사를 찾아라!
      • 업무와 관련이 적은 일반적이고 광범위한 의미의 명사는 제외(ex: 한빛마트)
      • 의미가 같은 명사가 여러 개일 경우는 대표 명사 하나만 선택(ex: 회원, 고객)
    • 찾아낸 명사를 개체와 속성으로 분류하라!

1. 개체와 속성 추출 예

notion image
  • 한빛 마트는 일반적이고 광범위한 의미의 명사이므로 제외
  • 회원 아이디, 비밀번호, 이름, 나이, 직업, 등급, 적립금은 회원의 속성으로 분류
  • 회원 아이디는 키 속성으로 분류
추출 결과
  • 개체: 회원
  • 회원 개체의 속성: 회원 아이디, 비밀번호, 이름, 나이, 직업, 등급, 적립금
  • 회원 개체의 키 속성: 회원 아이디
 
notion image
추출 결과
  • 개체: 회원, 상품
  • 속성: 주문 번호, 주문 수량, 배송지, 주문 일자
    • 회원이 상품을 주문을 해야 생기는 중요한 정보이기 때문에 회원이나 상품 개체의 속성으로 보기는 어렵고 이후 추출할 특정 관계의 속성일 가능성이 높음
 
한빛 마트 요구 사항 명세서에서 명사를 선별한 결과
notion image
 
notion image
 
notion image
notion image

2. 관계 추출

  • 관계: 개체 간 의미 있는 연관성
  • 관계 추출 방법
    • 요구 사항 문장에서 개체 간의 연관성을 의미 있게 표현한 동사를 찾아라!
      • 의미가 같은 동사가 여러 개일 경우, 대표 명사 하나만 선택
    • 찾아낸 관계에 대해 Mapping Cardinality와 참여 특성을 결정하라!
      • Mapping Cardinality: 1 : 1, 1 : n, n : m
      • 참여 특성: 필수적 참여 / 선택적 참여

2. 관계 추출 예

notion image
  • 입력해야 한다는 개체와 개체의 관계를 표현하는 동사로 볼 수 없으므로 제외
  • 부여된다는 개체와 개체의 관계를 표현하는 동사로 볼 수 없으므로 제외
  • 식별한다는 개체와 개체의 관계를 표현하는 동사로 볼 수 없으므로 제외
 
notion image
추출 결과
  • 관계: 주문
    • 회원 개체와 상품 개체가 맺는 관계, n : m 관계
    • 회원 개체는 관계에 선택적으로 참여 / 상품 개체는 관계에 선택적으로 참여
  • 주문 관계의 속성: 주문 번호, 주문 수량, 배송지, 주문 일자
 
notion image
추출 결과
  • 관계: 공급
    • 제조업체 개체와 상품 개체가 맺는 관계, 1 : n 관계
    • 상품 개체는 관계에 필수적으로 참여 / 제조업체 개체는 관계에 선택적으로 참여
  • 공급 관계의 속성: 공급일자, 공급량
 
notion image
추출 결과
  • 관계: 작성
    • 회원 개체와 게시글 개체가 맺는 관계, 1 : n 관계
    • 회원 개체는 관계에 선택적으로 참여 / 게시글 개체는 관계에 필수적으로 참여
 
notion image
 
notion image
 
notion image
 
notion image
 
notion image
 
notion image

출처