数据库设计方法

一、延续训练题

假设你是一个小的录影带出租店的老板。你的出租店里面有3000部电影。每部电影都有DVD或VHS录像带号码。对于每部电影,需要知道它的标题和类别(如,喜剧,悬疑,剧情,动作,战争,或科幻)。

另外,每部电影可能有多个副本。每部电影有一个特定的ID,一部电影可以是DVD或VHS格式。总是至少有一个DVD或VHS录像带关联到每部电影,或者说,每个DVD或VHS录像带始终是一个单一的特定电影的拷贝。

顾客很关注电影主演的具体实施者。梅尔•吉布森和朱莉娅罗伯茨很受欢迎。所以每部电影的主演需要了解。不是所有的电影有明星演员。客户想知道每个演员的“真实”出生时的名字和出生日期。我们需要在展现电影中主要演员。

顾客会来我们的出租店租影碟,你需要记录每个顾客的的姓名、电话号码、以及地址。当然,每个我们的会员都有一个会员号码

我们需要记录哪些影碟哪位客户目前已租借。客户可以租借出多张DVD或磁带在任何给定的时间。我们需要保留我们所有的出租的历史。每当一个客户租用一台DVD和/或磁带,我们想保持出租的日期/时间和返回的日期/时间。我们所有的租金根据返回的时间来计算,所以并不需要保持一个到期日。

保持这个租赁历史将让我们分析我们的租金的模式。我们将能够确定有多少DVD /磁带每一个客户的租金多少次,客户已恢复DVD或磁带晚。我们也将知道多少次特定的DVD或录像带已被使用,就会知道什么时候退役每一个。

要求:

1、根据题意理解,分析设计满足需求的表,可以用表格表示,也可以用ER图表示。

一、影片表:

表一:影片表

表名

Movies

 

列名

数据类型

空/非空

约束条件

备注

V_id

int

not null

 primary key

影片id

name

varchar(64)

not null

 

影片名称

Director

varchar(64)

not null

 

影片导演

m_actor

varchar(64)

not null

 

影片主演

Date

varchar(64)

not null

 

上映时间

introduction

varchar(64)

not null

 

影片简介

T_id

int

not null

foreign key

影片类型ID

                                   表二:影片类型

表名

Movies

 

列名

数据类型

空/非空

约束条件

备注

T_id

Int

not null

 

类型ID

Type_name

varchar(64)

not null

 

类型名称

二、会员表:

表名

Member

 

列名

数据类型

空/非空

约束条件

备注

N_id

int

identity

primary key

会员ID

name

varchar(64)

not null

 

会员姓名

gender

varchar(64)

not null

 

会员性别

Id_card

varchar(64)

not null

 

会员身份证号

Ph_nu

int

not null

 

会员电话号码

address

varchar(64)

not null

 

会员地址

三、影碟表:

表名

DVD-Video

 

列名

数据类型

空/非空

约束条件

备注

D_id

int

identity

primary key

影碟ID

format

varchar(64)

not null

 

影碟格式

language

varchar(64)

not null

 

影碟语言

Purchase_ time

varchar(64)

not null

 

进货时间

state

varchar(64)

not null

 

影碟状态

inventory

int

not null

 

库存数量

四、租借表:

                    表一:租借总表

表名

Rent

 

列名

数据类型

空/非空

约束条件

备注

id

int

not null

primary key

记录ID

D_id

int

not null

 

出租影碟ID

V_id

int

not null

 

出租影片ID

N_id

int

not null

 

租借会员ID

number

int

not null

 

租借数量

sum

float

not null

 

金额

O_time

varchar(64)

not null

 

应归还时间

A_time

varchar(64)

not null

 

实际归还时间

Z_time

varchar(64)

not null

 

租借时间

T_id

int

not null

foreign key

租借类型ID

表二:租金

表名

Money

 

列名

数据类型

空/非空

约束条件

备注

T_id

int

not null

 

租借类型ID

Money_day

float

not null

 

每日租金

introduction

varchar(64)

not null

 

租金介绍

数据库设计方法