DB_1. 비디오가게

oungoo·2020년 10월 9일
0

데이터베이스

목록 보기
4/4

데이터베이스 설계단계

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

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

  • E-R모델과 변환규칙을 이용한 설계
  • 정규화를 이용한 설계

E-R모델과 변환규칙을 이용한 설계

  • 1~3단계가 핵심
  • 설계 과정중에 오류발견되어 변경필요하면 이전단계로 되돌아가 설계내용 변경 가능

1단계 : 요구사항분석

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

2단계 : 개념적 설계

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

3단계 : 논리적 설계

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

4단계 : 물리적 설계

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

5단계 : 구현

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

문제 : 비디오 대여

나는 조그마한 비디오 가게를 운영하고 있으며 이 곳에서 관리할 테입을 3000개 이상 보유하고 있다. 각 비디오 테입은 테입번호를 가지고 있으며, 영화마다 제목과 종류(예를 들어 코미디,공포,드라마,액션,전쟁 등)를 알 필요가 있다. 우리는 각 영화당 많은 테입을 보유하고 있으며, 영화마다 특정번호를 부여하고 각 테입이 어떤 영화를 포함하고 있는지 관리한다.
테입은 (Beta 혹은VHS 방식)일 수 있다. 우리는 각 영화를 위해 적어도 한개 이상의 테입을 보유하고 있으며, 각 테입은 항상 한가지의 영화를 담고 있다. 보유한 테입의 길이는 매우 길어 복수개의 테입으로 된 영화는 하나도 없다. 우리는 특정 배우가 출연한 영화를 자주 찾는다. 안성기나 강수연은 항상 인기가 좋다. 그래서 우리는 각 영화마다 주연배우를 알 필요가 있으며 본명및 생년월일까지도 알고자 한다. 우리는 보유하고 있는 영화의 주연들에 대한 정보만 관리하고 싶다.
우리는 많은 고객을 보유하고 있으며 신용고객클럽에 가입한 회원들에게만 테입을 대여한다. 이 클럽에 가입하기 위하여 고객은 좋은 신용을 가져야하며 각 회원들의 성명,주소,전화번호,회원번호를 관리하고자 한다.
우리는 고객이 현재 어떤 테입을 빌려갔는지를 관리하고자 하며 고객은 한번에 여러개의 테입을 빌려갈 지도 모른다. 또한, 우리는 현재의 대여정보만 관리하지 과거의 이력정보는 관리하지 않는다


요구사항분석

  • 어떻게(how to)가 아니라 무엇(what)에 초점

요구사항 명세서

나는 조그마한 비디오 가게를 운영하고 있으며 이 곳에서 관리할 테입을 3000개 이상 보유하고 있다. 각 비디오 테입은 테입번호를 가지고 있으며, 영화마다 제목종류(예를 들어 코미디,공포,드라마,액션,전쟁 등)를 알 필요가 있다. 우리는 각 영화당 많은 테입을 보유하고 있으며, 영화마다 특정번호를 부여하고 각 테입이 어떤 영화를 포함하고 있는지 관리한다.
테입은 (Beta 혹은VHS 방식) 일 수 있다. 우리는 각 영화를 위해 적어도 한개 이상의 테입을 보유하고 있으며, 각 테입은 항상 한가지의 영화를 담고 있다. 보유한 테입의 길이는 매우 길어 복수개의 테입으로 된 영화는 하나도 없다. 우리는 특정 배우가 출연한 영화를 자주 찾는다. 안성기나 강수연은 항상 인기가 좋다. 그래서 우리는 각 영화마다 주연배우를 알 필요가 있으며 본명생년월일까지도 알고자 한다. 우리는 보유하고 있는 영화의 주연들에 대한 정보만 관리하고 싶다.
우리는 많은 고객을 보유하고 있으며 신용고객클럽에 가입한 회원들에게만 테입을 대여한다. 이 클럽에 가입하기 위하여 고객은 좋은 신용을 가져야하며 각 회원들의 성명,주소,전화번호,회원번호를 관리하고자 한다.
우리는 고객이 현재 어떤 테입을 빌려갔는지를 관리하고자 하며 고객은 한번에 여러개의 테입을 빌려갈 지도 모른다. 또한, 우리는 현재의 대여정보만 관리하지 과거의 이력정보는 관리하지 않는다


  • 각 비디오 테입은 테입번호를 가진다.
    테입은 테입번호를 가진다.
  • 영화마다 제목과 종류를 알 필요가 있다.(코미디,공포,드라마,액션, 전쟁)
    영화는 제목과 종류를 가진다.
  • 영화마다 특정번호를 부여한다.
    영화는 영화번호를 가진다.
  • 테입은 Beta 혹은 VHS 방식일 수 있다.
    테입방식은 Beta 혹은 VHS 방식이다.
  • 각 영화를 위해 한 개 이상의 테입을 가지고 있다.
  • 각 테입은 항상 한가지의 영화를 담고 있다.
  • 복수개의 테입으로 된 영화는 하나도 없다.
  • 특정 배우가 출연한 영화를 자주 찾는다.
  • 영화마다 주연배우를 알 필요가 있다.
    영화는 주연배우를 가진다.
  • 주연배우의 본명과 생년월일을 알고자 한다.
    배우는 본명과 생년월일을 가진다.
  • 보유하고 있는 영화의 주연들에 대한 정보만 관리하고 싶다.
  • 신용고객클럽에 가입한 회원들에게만 테입을 대여한다.
  • 클럽에 가입하려는 고객은 좋은 신용을 가져야 한다.
  • 각 회원들의 성명,주소,전화번호,회원번호를 관리한다.
    회원은 성명, 주소, 전화번호, 회원번호를 가진다.
  • 고객이 현재 어떤 테입을 빌려갔는지 관리한다.
    대여장부
  • 고객은 한번에 여러개의 테입을 빌려갈 수 있다.
  • 현재의 대여정보만 관리한다. 과거 이력정보는 관리하지 않는다.

개념설계

속성

개체 : 영화

  • 속성 : 영화번호pk, 제목, 종류, 재생시간, 주연배우fk

개체 : 테입

  • 속성 : 테입번호pk, 영화번호fk, 수량 테입방식

개체 : 배우

  • 속성 : 번호pk, 예명, 본명, 생년월일

개체 : 회원

  • 속성 : 회원번호pk, 성명, 주소, 전화번호, 신용등급?

개체 : 장부

  • 속성 : 테입정보fk, 회원번호fk, 대여날짜

관계

포함 (영화 - 테입)

출연 (영화 - 배우)

논리설계

물리설계와 구현

피드백

  • 재고테이블

0개의 댓글