Database Design Project

업데이트:

프로젝트 개요

목적

무비넷이라는 스트리밍 서비스 형태의 사업모델을 구상하여 개발하고자 한다.
개발 이전에 우리 팀은 프로세스 모델링을 하기 전에 데이터 모델링부터 하고자 한다. 우리 팀이 데이터 모델링부터 하는 중요한 이유는 다음과 같은 특정 때문이다.

● 기능은 시간과 비용에 따라 점차적으로 개발해도 변화가 적고 체계적 개발 가능.
● 기능이 변해도 데이터는 잘 변하지 않음.

이렇듯 무비넷이라는 사업모델의 시나리오를 정의하고, 이에따라 데이터 모델링을 통하여 데이터베이스를 설계하는 것이 우리 팀의 주 목적이 된다.


시나리오

우리 팀은 효과적인 데이터 추출을 위하여 기존의 정의된 시나리오의 핵심부분을 도출하여 표시하였다.
도출된 시나리오는 다음과 같다.

image image image


개별 모델링

우리 팀은 개별적으로 데이터 모델링을 실시한 후, 팀원들에게 설명하고 다른 팀원들도 각자의 모델링 설명을 듣고 결과를 보면서 상호간의 피드백 시간을 가지기로 했다.

이를 통하여 일관성있는 최종적인 모델링 결과를 도출하는 것이 우리 팀만의 개별 모델링을 하는 목적이다.


본인

image


A 학우

image


B 학우

image


C 학우

image


상호 피드백

  1. 본인 ERD
    • 현금영수증에 대한 정보가 부족하다.
    • 영화배우 엔터티명이 부적절하다.
    • 시리즈에 대한 정의가 되어있지않다.
  2. A 학우 ERD
    • 배우 엔티티에서 주, 조연을 알 수 있는 항목이 없다.
    • 회원 정보를 관리할때 회원 ID와 비밀번호에 대한 정보가 부족하다.
    • 회원이 시청한 영화를 다시 보기위한 정보가 필요하므로 새로운 설계가 필요하다.
  3. B 학우 ERD
    • 추천영화 엔티티가 부적절하다고 생각됨
    • 회원결제이력 엔티티에 부적절한 식별자(멤버쉽등급)가 있음
  4. C 학우 ERD
    • 회원등급에 따른 할인율이 나오지 않는다.
    • 영화 엔티티가 조연배우와 주연배우를 모두 포함하고있음
    • 멤버쉽 지원정보가 없음


통합 모델링

개별적 모델링을 통하여 우리 팀은 각자의 모델에서 발생할 수 있는 여러 가지 문제점을 발견하였다.
이를 상호간의 피드백을 통하여 보완해주며 의견이 조율되었고, 조율된 의견을 바탕으로 통합적인 데이터 모델링 작업과정을 수행하였다.


엔터티 후보

  • 키 엔티티 1) 배우
    2) 멤버십
    3) 이벤트
    4) 감독
    5) 장르
    6) 회원등급

  • 메인 엔티티 1) 영화 2) 회원 3) 결제

  • 액션 엔티티 1) 담당배우 2) 영화별장르 3) 선호장르 4) 선호배우 5) 선호감독 6) 관람이력 7)이벤트참여회원


엔터티 자격 검증

  1. 엔티티 검증 방법
    • 순수성

엔터티는 반드시 순수한 본질집합이 되어야 한다. 개체 집합 or 행위 집합 둘중 하나가 되어야한다.

(예외사항 1) - 관계의 엔터티화

관계가 엔터티로 변하는 경우이다. 관계가 M:M이 되면 더 이상 관계로만 존재할 수 없기 때문에 엔터티로 바뀌게 되며, 이를 릴레이션 엔터티라고 한다.

(예외사항 2) - 일부 집합 정의

전체 논리적인 집합 중에서 관리하고자 하는 일부의 집합만을 엔터티로 정의하고 자 할 때, 구체적인 명칭을 부여하다 보면 이를 수식하고 있는 단어로 인해 마치 개체 집합과 행위 집합의 합성처럼 보일 수가 있다.

(예외사항 3) - 배타적 관계 대체

엔터티가 여러 엔터티와 동일한 내용의 관계를 갖는 배타적 관계를 가질 때 만약 배타적 관계의 변화 가능성이 높다면 이를 피하기 위해 배타적 관계에 있는 것들 만 모아서 별도의 엔터티를 구성하는 경우


  • 동질성

집합에 들어갈 개체들의 동일한 성질을 어디까지로 한정할 것인가를 결정하는 것.
엔터티가 가지고 있는 특수한 공통분모

  • 독립성

새롭게 정의하고자 하는 엔터티가 앞서 정의해 둔 어떤 엔터티에도 포함되지 않는 독립적인 집합인지를 확인하는 것

● 위와 같은 세 가지 특성 검토하여 엔터티의 자격을 검증하였다.


릴레이션쉽 매트릭스

image


Entity Relationship Diagram

image


속성검증

다음의 4단계 검증 과정을 통해 속성을 검증하였다.

속성 검증 방법

  1. 최소 단위 분할 : 가능한 최소 단위까지 분할 후 필요에 따라 통합

  2. 유일값 존재 검증(단일값 확인 여부) : 관리되어야 할 값이 반드시 하나만 존재해야 한다.

  3. 가공값 유무 판정(추출값 확인 여부) : 원천적인 값을 갖는지, 다른 속성에 의해 가공되어 생성된 값을 갖는지 검증

  4. 관리 수준 상세화 검토(상세한 관리의 필요 여부) : 미래의 업무 변화에 대비하여 상세한 정보 관리가 필요한지 검토

업데이트:

댓글남기기