[Database] 데이터베이스 설계 (개념적 설계)

h220101·2022년 8월 2일
0

데이터베이스 설계

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

  • 요구 -> 개념적설계 -> 논리적설계 -> 물리적설계 -> 구현
  • 설계과정 -> 오류발견 -> 변경필요 -> 이전단계 설계내용 변경가능 (과정 내에서 피드백이 가능하다.)

요구사항 분석 목적

  • 사용자의 요구 사항을 수집 분석하여 개발할 데이터베이스의 용도를 파악한다.
  • 업무에 필요한 데이터, 데이터를 이용한 처리 방향 등을 고려한다.
  • 결과물 : 요구사항 명세서

주요작업

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

요구사항 분석 예시



📌개념적 설계

  • DBMS에 독립적인 개념적 스키마 설계
  • 요구사항 명세서를 개념적 구조로 표현한다.
  • 결과물 : E-R 다이어그램

주요작업

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

개체와 속성추출

저장할만한 가치가 있는 중요 데이터를 가진 사람이나 사물

  • 예) 학사행정 데이터베이스 개발에 필요한 개체
    학사행정 운영에 필요한 사람 : 학생, 교수, 행정담당자 등
    학사행정 운영에 필요한 사물 : 강의실, 행정실, 교자재 등

개체 추출 방법

요구 사항 문장에서 업무와 관련이 깊은 의미 있는 명사

  • 업무와 관련이 적은 일반적이고 광범위한 의미의 명사는 제외
  • 의미가 같은 명사가 여러 개일 경우는 대표 명사 하나만 선택
  • 추출된 명사를 개체와 속성으로 분류

개체 속성 추출 예시

1. 쇼핑몰에 회원으로 가입하려면 회원아이디, 비밀번호, 이름, 나이, 직업을 입력해야 한다.
2. 가입한 회원에게는 등급과 적립금이 부여된다.
3. 회원은 회원아이디로 식별한다.
4. 회원이 상품을 주문하면 주문에 대한 주문번호, 수량, 배송지, 주문일자 정보를 유지해야한다.

---> 1. 쇼핑몰에 회원으로 가입하려면 회원아이디, 비밀번호, 이름, 나이, 직업을 입력해야 한다.

  • 쇼핑몰은 일반적이고 광범위한 의미의 명사이므로 제외한다.
  • 회원아이디, 비밀번호, 이름, 나이, 직업, 등급, 적립금은 회원의 속성으로 분류한다.
  • 회원아이디는 키 속성으로 분류한다.

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

---> 2. 회원이 상품을 주문하면 주문에 대한 주문번호, 수량, 배송지, 주문일자 정보를 유지해야한다.

개체 : 회원, 상품
속성 : 주문번호, 주문수량, 배송지, 주문일자
키 속성 : 회원이 상품을 주문 시 생성되는 정보이기 때문에 특정관계(주문)의 속성


개체 간의 관계 추출

  • 관계: 개체간의 의미있는 연관성

개체 간의 관계 추출 방법

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

개체 간의 관계 추출 예시 (1)

1. 회원은 여러 상품을 주문할 수 있고, 하나의 상품을 여러 회원이 주문할 수 있다.
2. 회원이 상품을 주문하면 주문에 대한 주문번호, 수량, 배송지, 주문일자 정보를 유지해야 한다.

관계 : 주문
회원과 상품 개체 관계 : 다대다 (N:M)
회원 : 선택적 참여, 상품 (선택적 참여)
주문관계 속성 : 주문번호, 수량, 배송지, 주문일자

개체 간의 관계 추출 예시 (2)
각 상품은 한 제조업체가 공급하고, 제조업체 하나는 여러상품을 공급할 수 있다.
제조업체가 상품을 공급하면 공급량 정보를 유지해야 한다.

관계 : 공급
상품과 제조업체 개체관계 : 일대다 (1:N)
상품 : 필수적 참여, 제조 (선택적 참여)
공급 관계 속성 : 공급일자, 공급량

개체 간의 관계 추출 예시 (3)
회원은 게시글을 여러개 작성 할 수 있고, 게시글 하나는 한 명의 회원만 작성할 수 있다.

관계 : 작성
회원과 게시글 개체관계 : 일대다 (1:N)
상품 : 선택적 참여, 게시글 (필수적 참여)

profile
기록하는 삶

0개의 댓글