CS/데이터베이스

데이터베이스 설계 1 - 요구 사항 분석 / 개념적 설계

JWonK 2022. 5. 24. 11:52
728x90
반응형

※ 데이터베이스 설계 단계 


 

▶ 데이터베이스 설계

→ 사용자의 다양한 요구 사항을 고려하여 데이터베이스를 생성하는 과정

 

▶ 관계 데이터베이스의 대표적인 설계 방법

  1. E-R 모델과 릴레이션 변환 규칙을 이용한 설계
  2. 정규화를 이용한 설계 : 후에 포스팅 예정

 

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

데이터베이스 설계의 과정 : 5단계

 

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

핵심 단계 : 1, 2, 3단계

 

1단계 ; 요구 사항 분석

  • 데이터베이스의 용도 파악
  • 결과물 : 요구 사항 명세서

 

2단계 : 개념적 설계

  • DBMS에 독립적인 개념적 구조 설계
  • 결과물 : 개념적 스키마 (E-R 다이어그램)

 

3단계 : 논리적 설계

  • DBMS에 적합한 논리적 구조 설계
  • 결과물 : 논리적 스키마(릴레이션 스키마)

 

4단계 : 물리적 설계

  • DBMS로 구현 가능한 물리적 구조 설계
  • 결과물 : 물리적 스키마

 

5단계 : 구현

  • SQL문을 작성한 후 이를 DBMS에서 실행하여 데이터베이스 생성

 

※ 요구 사항 분석


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

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

 

※ 개념적 설계


설계 2단계 : 개념적 설계

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

 

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

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

요구 사항 문장에서 개체와 속성을 추출한 예

"한빛 마트" 또한 명사이나 일반적이고 광범위한 의미의 명사이므로 제외

[ 추출 결과 ]

  • 개체 : 회원
  • "회원" 개체의 속성 : 회원 아이디, 비밀번호, 이름, 나이, 직업, 등급, 적립금
  • "회원" 개체의 키 속성 : 회원 아이디

한빛 마트 요구 사항 명세서에서 명사를 선별한 결과

 

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

 

 

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

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

요구 사항 문장에서 동사를 선별한 예(A)

  1. "입력해야 한다"는 개체와 개체의 관계를 표현하는 동사로 볼 수 없으므로 제외
  2. "부여된다"는 개체와 개체의 관계를 표현하는 동사로 볼 수 없으므로 제외
  3. "식별한다"는 개체와 개체의 관계를 표현하는 동사로 볼 수 없으므로 제외

 

 

요구 사항 문장에서 동사를 선별한 예(B)

[ 추출 결과 ]

  • 관계 : 주문
    • "회원" 개체와 "상품" 개체가 맺는 관계, 다대다(N:M) 관계
    • "회원" 개체는 관계에 선택적으로 참여 / "상품" 개체는 관계에 선택적으로 참여
  • "주문" 관계의 속성 : 주문번호, 주문수량, 배송지, 주문일자

 

 

요구 사항 문장에서 동사를 선별한 예(C)

[ 추출 결과 ]

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

 

 

요구 사항 문장에서 동사를 선별한 예(D)

[ 추출 결과 ]

  • 관계 : 작성
    • "회원" 개체와 "게시글" 개체가 맺는 관계, 일대다(1:N) 관계
    • "회원" 개체는 관계에 선택적으로 참여 / "게시글" 개체는 관계에 필수적으로 참여

 

 

한빛 마트 요구 사항 명세서에서 동사를 선별한 결과

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

 

 

주문 관계의 E-R 다이어그램

 

공급 관계의 E-R 다이어그램

 

작성 관계의 E-R 다이어그램

 

728x90
반응형