一、延续训练题
假设你是一个小的录影带出租店的老板。你的出租店里面有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 |
| 租金介绍 |