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

上传人:b****6 文档编号:7760103 上传时间:2023-01-26 格式:DOCX 页数:23 大小:280.03KB
下载 相关 举报
音响店DVD零售出租管理系统.docx_第1页
第1页 / 共23页
音响店DVD零售出租管理系统.docx_第2页
第2页 / 共23页
音响店DVD零售出租管理系统.docx_第3页
第3页 / 共23页
音响店DVD零售出租管理系统.docx_第4页
第4页 / 共23页
音响店DVD零售出租管理系统.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

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

《音响店DVD零售出租管理系统.docx》由会员分享,可在线阅读,更多相关《音响店DVD零售出租管理系统.docx(23页珍藏版)》请在冰豆网上搜索。

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

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

 

数据库原理及应用课程设计

设计报告

 

题目:

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

学号:

131007140

学生姓名:

指导教师:

提交时间:

2015-01-05

目录

第1章 需求分析1

1.1 需求调查1

1.2系统功能分析1

第2章 概念结构设计2

2.1局部E-R图:

2

2.2全局E-R图4

第3章 逻辑结构设计5

3.1 E-R图向关系模式转换5

3.2 建立关系模式5

3.3关系模式逻辑结构定义6

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

4.1存取方法设计9

4.2 存储结构设计9

4.3 物理设计9

第5章 数据库完整性设计12

5.1主键12

5.2参照完整性设计13

5.3 Check约束13

5.4触发器设计13

第6章数据库视图设计15

第7章数据库存储过程设计16

总结16

参考文献:

17

第1章 需求分析

1.1 需求调查

通过对各个用户的调查,该DVD零售租赁管理系统有如下需求:

1)系统管理:

实现系统管理人员对系统的管理,包括添加删除用户,更改密码,数据备份,数据还原,数据清除等功能。

2)数据管理:

实现管理人员对系统的管理,包括DVD的入库、借还、零售等功能。

3)基本信息:

实现显示客户和DVD的基本信息(包括客户信息及其租赁或购买的DVD信息,DVD的类型、库存等基本信息)。

4)查询:

查询客户租赁或购买状况,某段时间内各DVD的零售、借还数量,已租赁但未还的DVD信息及客户信息,现有的DVD的库存情况等。

5)帮助系统:

帮助系统为用户指明方向。

1.2系统功能分析

1)会员管理:

用于增加会员,删除会员,会员基本信息的修改,会员缴费、退押金、退租金等。

2)业务操作:

实现DVD的出租、返还、销售、退售、退租、添租功能。

3)DVD管理:

新添光盘入库,原有光盘进货,DVD光盘信息修改,光盘注销。

4)查询:

已出租、销售DVD查询,即将缺货的DVD查询,某一DVD的出租、销售情况查询,会员租赁或购买的情况查询。

5)系统设置:

操作员及其权限的设置,影片类型、会员类型的设置,非会员、会员的影片收费标准。

6)账务管理:

添加、修改、删除账户,账户收支,所有资金及其明细等。

第2章 概念结构设计

2.1局部E-R图:

2.2全局E-R图

第3章 逻辑结构设计

3.1 E-R图向关系模式转换

逻辑结构是独立于任何一种数据模型的,在实际应用中,一般所用的数据库环境已经给定(如SQLServer或Oracel或MySql)。

由于目前使用的数据库基本上都是关系数据库,因此首先需要将E-R图转换为关系模型,然后根据具体DBMS的特点和限制转换为特定的DBMS支持下的数据模型,最后进行优化系模式转换

3.2 建立关系模式

DVD信息(DVD编号,DVD名称,导演,主演,类型,年份,进货商,现货,库存,租赁价格,出售价格,被租次数)

用户信息(用户编号,用户类型,会员卡号,姓名,性别,联系方式,现住址,当前租赁,当前购买,历史租赁,历史购买)

会员卡信息(会员卡号,用户编号,会员类型,状态,卡内余额,累计出租,登记日期)

DVD租赁(租赁单号,DVD编号,DVD名称,租赁用户编号,应付押金,租赁日期,到期时间)

DVD归还(归还单号,DVD编号,DVD名称,归还用户编号,归还日期,逾期天数,应付金额,损坏情况,应退押金)

DVD零售(零售单号,DVD编号,DVD名称,购买用户编号,出售日期,出售数量,应付金额)

DVD退购(退购单号,DVD编号,DVD名称,退购用户编号,退购日期,退购数量,有无损坏,应退金额)

DVD入库(DVD编号,DVD名称,入库日期,入库数量)

 

3.3关系模式逻辑结构定义

1.用户详细信息

字段名

数据类型

长度

约束

用户编号

varchar

12

主键

用户类型

varchar

10

会员、非会员

会员卡号

varchar

20

可为空

姓名

varchar

10

不为空

性别

char

2

男或女

联系方式

varchar

20

不为空

现住址

varchar

100

不为空

当前租赁

int

可为空

当前购买

int

可为空

历史租赁

int

可为空

历史购买

int

可为空

2.会员卡详细信息

字段名

数据类型

长度

约束

会员卡号

varchar

20

主键

用户编号

varchar

12

外键

姓名

varchar

10

不为空

会员类型

varchar

20

普通、白金会员等

状态

varchar

10

激活、未激活

卡内余额

float

可为空

累计出租

int

可为空

登记日期

date

不为空

3.DVD详细信息

字段名

数据类型

长度

约束

DVD编号

varchar

10

主键

DVD名称

varchar

20

不为空

导演

varchar

10

不为空

主演

varchar

20

不为空

类型

varchar

10

可为空

年份

varchar

5

不为空

进货商

varchar

20

不为空

现货

int

不小于0

库存

int

不小于0

租赁价格

float

不为空

出售价格

float

不为空

被租次数

int

可为空

4.DVD入库信息

字段名

数据类型

长度

约束

DVD编号

varchar

10

主键、外键

DVD名称

varchar

20

不为空

入库日期

date

不为空

入库数量

int

不为空

5.DVD租赁信息

字段名

数据类型

长度

约束

租赁单号

varchar

12

主键

DVD编号

varchar

10

外键

DVD名称

varchar

20

不为空

租赁用户编号

varchar

12

外键

应付押金

float

不为空

租赁日期

date

不为空

到期时间

date

不为空

6.DVD归还信息

字段名

数据类型

长度

约束

归还单号

varchar

12

主键

DVD编号

varchar

10

外键

DVD名称

varchar

20

不为空

归还用户编号

varchar

12

外键

归还日期

date

不为空

逾期天数

int

4

可为空

应付金额

float

不为空

损坏状况

char

2

有、无

应退押金

float

不为空

7.DVD零售信息

字段名

数据类型

长度

约束

零售单号

varchar

12

主键

DVD编号

varchar

10

外键

DVD名称

varchar

20

不为空

购买用户编号

varchar

12

外键

出售日期

date

不为空

出售数量

int

不为空

应付金额

float

不为空

8.DVD退购信息

字段名

数据类型

长度

约束

退购单号

varchar

12

主键

DVD编号

varchar

10

外键

DVD名称

varchar

20

不为空

退购用户编号

varchar

12

外键

退购日期

date

不为空

退购数量

int

不为空

有无损坏

char

2

有、无

应退金额

float

不为空

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

4.1存取方法设计

数据库系统是多用户共享的系统,对同一个关系要建立多条存储路径才能满足多用户的多种应用要求。

对于DVD零售出租管理系统来说,为了提高某些属性(如:

DVD的现货、库存、出租、零售记录等)的查询速度,可以选择聚簇存取的方法,即把这些属性上具有相同值的元组集中放在连续的物理块上。

这样在查询某一类DVD或同一主演、导演出租零售数量时就会大大提高查询速度。

因此,该系统中选择聚簇存取方法。

4.2 存储结构设计

DVD零售出租管理系统是一个复杂的计算机网络信息系统,采用基于客户端/服务器(C/S)应用体系结构来建设DVD零售出租管理系统。

数据库管理系统采用Microsoft公司推出的SQLServer2000或以上版本,并用SQL进行数据库的建立和数据库中数据的维护和查询。

4.3 物理设计

实现该设计的环境为WindowsXPProfessional+MSSQLServer2008或以上版本。

1、建立数据库

createdatabase音响店DVD零售出租管理系统数据库

on

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

filename='E:

\SJKKCSJ\音响店DVD零售出租管理系统数据文件.mdf',

size=15MB,

maxsize=50MB,

filegrowth=5%

logon

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

filename='E:

\SJKKCSJ\音响店DVD零售出租管理系统日志文件.ldf',

size=2MB,

maxsize=5MB,

filegrowth=1MB

2、建立用户信息表

createtable用户信息表

用户编号varchar(12)notnullprimarykey,

用户类型varchar(10)notnullcheck(用户类型in('会员''非会员')),

会员卡号varchar(20),

姓名varchar(10)notnull,

性别char

(2)notnullcheck(性别in('男''女')),

联系方式varchar(20)notnull,

现住址varchar(100)notnull,

当前租赁int,

当前购买int,

历史租赁int,

历史购买int

3、建立会员卡信息表

createtable会员卡信息表

会员卡号varchar(20)notnullprimarykey,

用户编号varchar(12)notnull,

姓名varchar(10)notnull,

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

状态varchar(10)notnullcheck(状态in('激活''未激活')),

卡内余额float,

累计租赁int,

登记日期datenotnull,

foreignkey(用户编号)references用户信息表(用户编号)

4、建立DVD信息表

createtableDVD信息表

DVD编号varchar(10)primarykey,

DVD名称varchar(20)notnull,

导演varchar(10)notnull,

主演varchar(20)notnull,

类型varchar(10),

年份varchar(5)notnull,

进货商varchar(20)notnull,

现货intcheck(现货>=0),

库存intcheck(库存>=0),

租赁价格floatnotnull,

出售价格floatnotnull,

被租次数int

5、建立DVD租赁信息表

createtableDVD租赁信息表

租赁单号varchar(12)notnullprimarykey,

DVD编号varchar(10)notnull,

DVD名称varchar(20)notnull,

租赁用户编号varchar(12)notnull,

应付押金floatnotnull,

租赁日期datenotnull,

到期时间datenotnull,

foreignkey(DVD编号)referencesDVD信息表(DVD编号),

foreignkey(租赁用户编号)references用户信息表(用户编号)

6、建立DVD归还信息表

createtableDVD归还信息表

归还单号varchar(12)notnullprimarykey,

DVD编号varchar(10)notnull,

DVD名称varchar(20)notnull,

归还用户编号varchar(12)notnull,

归还日期datenotnull,

逾期天数int,

应付金额floatnotnull,

损坏状况char

(2)notnullcheck(损坏状况in('有''无')),

应退押金floatnotnull,

foreignkey(DVD编号)referencesDVD信息表(DVD编号),

foreignkey(归还用户编号)references用户信息表(用户编号)

7、建立DVD零售信息表

createtableDVD零售信息表

零售单号varchar(12)notnullprimarykey,

DVD编号varchar(10)notnull,

DVD名称varchar(20)notnull,

购买用户编号varchar(12)notnull,

出售日期datenotnull,

出售数量int,

应付金额floatnotnull,

foreignkey(DVD编号)referencesDVD信息表(DVD编号),

foreignkey(购买用户编号)references用户信息表(用户编号)

8、建立DVD退购信息表

createtableDVD退购信息表

退购单号varchar(12)notnullprimarykey,

DVD编号varchar(10)notnull,

DVD名称varchar(20)notnull,

退购用户编号varchar(12)notnull,

退购日期datenotnull,

退购数量intnotnull,

有无损坏char

(2)notnullcheck(有无损坏in('有''无')),

应退金额floatnotnull,

foreignkey(DVD编号)referencesDVD信息表(DVD编号),

foreignkey(退购用户编号)references用户信息表(用户编号)

9、建立DVD入库信息表

createtableDVD入库信息表

DVD编号varchar(10)notnullprimarykey,

DVD名称varchar(20)notnull,

入库日期datenotnull,

入库数量intnotnull,

foreignkey(DVD编号)referencesDVD信息表(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编号,退购用户编号)

VD信息表.DVD编号

用户信息表.用户编号

DVD入库表

(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现货及客户的当前租赁数量

createtrigger_rentonDVD租赁信息表--租赁触发器

forinsert

as

begin

updateDVD信息表set现货=现货-1

fromDVD信息表,inserted

whereDVD信息表.DVD编号=inserted.DVD编号

update用户信息表set当前租赁=当前租赁+1

from用户信息表,inserted

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

end

2.实现归还时自动修改DVD现货及客户的当前租赁数量和历史租赁数量

createtrigger_returnonDVD归还信息表--归还触发器

forinsert

as

begin

updateDVD信息表set现货=现货+1

fromDVD信息表,inserted

whereDVD信息表.DVD编号=inserted.DVD编号

update用户信息表set当前租赁=当前租赁-1

from用户信息表,inserted

where用户信息表.用户编号=inserted.归还用户编号

update用户信息表set历史租赁=历史租赁+1

from用户信息表,inserted

where用户信息表.用户编号=inserted.归还用户编号

updateDVD归还信息表setDVD编号=DVD租赁信息表.DVD编号,DVD名称=DVD租赁信息表.DVD名称,

归还用户编号=DVD租赁信息表.租赁用户编号

fromDVD租赁信息表,DVD归还信息表,inserted

whereDVD租赁信息表.租赁单号=inserted.归还单号

end

3.实现入库时自动修改DVD库存

createtrigger_buyonDVD入库信息表--入库触发器

forinsert

as

updateDVD信息表set库存=库存+inserted.入库数量

fromDVD信息表,inserted

whereDVD信息表.DVD编号=inserted.DVD编号

4.实现零售时自动修改DVD库存及用户当前购买和历史购买

createtrigger_saleonDVD零售信息表--零售触发器

forinsert

as

begin

update用户信息表set历史购买=当前购买

from用户信息表,inserted

where用户信息表.用户编号=inserted.购买用户编号

update用户信息表set当前购买=当前购买+inserted.出售数量

from用户信息表,inserted

where用户信息表.用户编号=inserted.购买用户编号

updateDVD信息表set库存=库存-inserted.出售数量

fromDVD信息表,inserted

whereDVD信息表.DVD编号=inserted.DVD编号

end

5.实现退购时自动修改DVD库存及用户当前购买

createtrigger_offonDVD退购信息表--零售触发器

forinsert

as

begin

update用户信息表set当前购买=当前购买-inserted.退购数量

from用户信息表,inserted

where用户信息表.用户编号=inserted.退购用户编号

updateDVD信息表set库存=库存+inserted.退购数量

fromDVD信息表,inserted

whereDVD信息表.DVD编号=inserted.DVD编号

updateDVD退购信息表setDVD编号=DVD零售信息表.DVD编号,DVD名称=DVD零售信息表.DVD名称,

退购用户编号=DVD零售信息表.购买用户编号

fromDVD零售信息表,DVD退购信息表,inserted

whereDVD零售信息表.零售单号=inserted.退购单号

end

第6章数据库视图设计

1.创建视图查询DVD的现货、库存

createviewnumber

as

selectDVD编号,DVD名称,现货,库存

fromDVD信息表

2.创建视图查询用户的租赁,购买状况

createviewuser_number

as

select当前购买,历史购买,当前租赁,历史租赁

from用户信息表

3.创建视图查看会员情况

createviewvip

as

select会员卡信息表.会员卡号,会员卡信息表.姓名,性别,会员类型,状态,联系方式,现住址,卡内余额,登记日期

from会员卡信息表,用户信息表

where会员卡信息表.会员卡号=用户信息表.会员卡号

4.创建视图查看影片是否缺货

createviewout_of_stock

as

selectDVD名称,导演,主演,类型

fromDVD信息表

whereDVD信息表.库存=0

第7章数据库存储过程设计

创建存储过程统计某段时间内各DVD的销售、借还数量

createproceduretongji@begintimedate,@endtimedate,@typechar(6)

as

declare@leixingchar(6)

set@leixing=@type

beg

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 起诉状

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1