好文档 - 专业文书写作范文服务资料分享网站

音响店DVD零售出租管理系统

天下 分享 时间: 加入收藏 我要投稿 点赞

第4章 数据库物理结构设计

4.1 存取方法设计

数据库系统是多用户共享的系统,对同一个关系要建立多条存储路径才能满足多用户的多种应用要求。对于DVD零售出租管理系统来说,为了提高某些属性(如:DVD的现货、库存、出租、零售记录等)的查询速度,可以选择聚簇存取的方法,即把这些属性上具有相同值的元组集中放在连续的物理块上。这样在查询某一类DVD或同一主演、导演出租零售数量时就会大大提高查询速度。因此,该系统中选择聚簇存取方法。

4.2 存储结构设计

DVD零售出租管理系统是一个复杂的计算机网络信息系统,采用基于客户端/服务器(C/S)应用体系结构来建设DVD零售出租管理系统。数据库管理系统采用Microsoft 公司推出的SQL Server 2000 或以上版本,并用SQL进行数据库的建立和数据库中数据的维护和查询。

4.3 物理设计

实现该设计的环境为Windows XP Professional + MS SQL Server 2008 或以上版本。 1、 建立数据库

create database 音响店DVD零售出租管理系统数据库 on

( name ='音响店DVD零售出租管理系统数据文件',

filename ='E:\\SJKKCSJ\\音响店DVD零售出租管理系统数据文件.mdf', size =15MB, maxsize = 50MB, filegrowth =5% ) log on

( name ='音响店DVD零售出租管理系统日志文件',

filename = 'E:\\SJKKCSJ\\音响店DVD零售出租管理系统日志文件.ldf', size = 2MB, maxsize = 5MB, filegrowth = 1MB )

2、 建立用户信息表

create table 用户信息表 (

用户编号 varchar(12) not null primary key,

用户类型 varchar(10) not null check(用户类型 in('会员''非会员')),

会员卡号 varchar(20), 姓名 varchar(10) not null,

性别 char(2) not null check(性别 in('男''女')), 联系方式 varchar(20) not null, 现住址 varchar(100) not null, 当前租赁 int , 当前购买 int, 历史租赁 int, 历史购买 int )

3、 建立会员卡信息表

create table 会员卡信息表 (

会员卡号 varchar(20) not null primary key, 用户编号 varchar(12) not null, 姓名 varchar(10) not null,

会员类型 varchar(20) not null check(会员类型 in('普通会员''白金会员' '黄金会员''钻石会员')),

状态 varchar(10) not null check(状态 in('激活''未激活')), 卡内余额 float , 累计租赁 int,

登记日期 date not null,

foreign key(用户编号) references 用户信息表(用户编号) )

4、 建立DVD信息表

create table DVD信息表 (

DVD编号 varchar(10) primary key, DVD名称 varchar(20) not null, 导演 varchar(10) not null, 主演 varchar(20) not null, 类型 varchar(10),

年份 varchar(5) not null, 进货商 varchar(20) not null, 现货 int check(现货>=0 ), 库存 int check(库存>=0 ), 租赁价格 float not null, 出售价格 float not null, 被租次数 int )

5、 建立DVD租赁信息表

create table DVD租赁信息表 (

租赁单号 varchar(12) not null primary key, DVD编号 varchar(10) not null, DVD名称 varchar(20) not null, 租赁用户编号 varchar(12) not null, 应付押金 float not null, 租赁日期 date not null, 到期时间 date not null,

foreign key(DVD编号) references DVD信息表(DVD编号), foreign key(租赁用户编号) references 用户信息表(用户编号) )

6、 建立DVD归还信息表

create table DVD归还信息表 (

归还单号 varchar(12) not null primary key, DVD编号 varchar(10) not null, DVD名称 varchar(20) not null, 归还用户编号 varchar(12) not null, 归还日期 date not null, 逾期天数 int,

应付金额 float not null,

损坏状况 char(2) not null check(损坏状况 in ('有''无')), 应退押金 float not null,

foreign key(DVD编号) references DVD信息表(DVD编号), foreign key(归还用户编号) references 用户信息表(用户编号) )

7、 建立DVD零售信息表

create table DVD零售信息表 (

零售单号 varchar(12) not null primary key, DVD编号 varchar(10) not null, DVD名称 varchar(20) not null, 购买用户编号 varchar(12) not null, 出售日期 date not null, 出售数量 int,

应付金额 float not null,

foreign key(DVD编号) references DVD信息表(DVD编号), foreign key(购买用户编号) references 用户信息表(用户编号)

)

8、 建立DVD退购信息表

create table DVD退购信息表

(

退购单号 varchar(12) not null primary key, DVD编号 varchar(10) not null, DVD名称 varchar(20) not null, 退购用户编号 varchar(12) not null, 退购日期 date not null, 退购数量 int not null,

有无损坏 char(2) not null check(有无损坏 in ('有''无')), 应退金额 float not null,

foreign key(DVD编号) references DVD信息表(DVD编号), foreign key(退购用户编号) references 用户信息表(用户编号) )

9、 建立DVD入库信息表

create table DVD入库信息表 (

DVD编号 varchar(10) not null primary key, DVD名称 varchar(20) not null, 入库日期 date not null, 入库数量 int not null,

foreign key(DVD编号) references DVD信息表(DVD编号) )

第5章 数据库完整性设计

5.1 主键

表名 DVD信息表 用户信息表 会员卡信息表 DVD租赁信息表 DVD归还信息表 DVD零售信息表 DVD退购信息表 DVD入库信息表 主键 (DVD编号) (用户编号) (会员卡号) (租赁编号) (归还编号) (零售编号) (退购编号) (DVD编号) 5.2 参照完整性设计

表名 DVD租赁表 DVD归还表 DVD零售表 DVD退购表 DVD入库表

外键 (DVD编号,租赁用户编号) (DVD编号,归还用户编号) (DVD编号,购买用户编号) (DVD编号,退购用户编号) (DVD编号) 参照 DVD信息表.DVD编号 用户信息表.用户编号 DVD信息表.DVD编号 用户信息表.用户编号 DVD信息表.DVD编号 用户信息表.用户编号 VD信息表.DVD编号 用户信息表.用户编号 DVD信息表.DVD编号 5.3 Check约束

1、会员卡信息表中将会员类型、状态进行check约束:

check(会员类型 in('普通会员''白金会员''黄金会员''钻石会员'))

check(状态 in('激活''未激活'))

2、用户信息表中用户类型、性别进行check约束:

check (用户类型in ('会员''非会员')) ,check (性别in ('男''女')) 3、 DVD归还表中将损坏状况进行check约束:

check (损坏状况in ('有''无'))

4、DVD退购表中将有无损坏进行check约束:

check (有无损坏in ('有''无'))

5、DVD信息表中对现货、库存进行check约束:

check(现货>=0 ),check(库存>=0 )

5.4触发器设计

1.实现出租时自动修改DVD现货及客户的当前租赁数量

create trigger _rent on DVD租赁信息表--租赁触发器 for insert as begin

update DVD信息表 set 现货=现货-1 from DVD信息表,inserted

where DVD信息表.DVD编号=inserted.DVD编号 update 用户信息表 set 当前租赁=当前租赁+1 from 用户信息表,inserted

where 用户信息表.用户编号=inserted.租赁用户编号

音响店DVD零售出租管理系统

第4章数据库物理结构设计4.1存取方法设计数据库系统是多用户共享的系统,对同一个关系要建立多条存储路径才能满足多用户的多种应用要求。对于DVD零售出租管理系统来说,为了提高某些属性(如:DVD的现货、库存、出租、零售记录等)的查询速度,可以选择聚簇存取的方法,即把这些属性上具有相同值的元组集中放在连续的物理块上。这样在查询某一类DVD或同一主演、导演出租零
推荐度:
点击下载文档文档为doc格式
88gjq9wa9557eja0pqkz5136q5t3m0006sc
领取福利

微信扫码领取福利

微信扫码分享