数据库实训项目报告.docx
- 文档编号:2270774
- 上传时间:2023-05-03
- 格式:DOCX
- 页数:25
- 大小:1.23MB
数据库实训项目报告.docx
《数据库实训项目报告.docx》由会员分享,可在线阅读,更多相关《数据库实训项目报告.docx(25页珍藏版)》请在冰点文库上搜索。
数据库实训项目报告
数据库实训项目报告
书店数据库管理系统
系别:
班级:
学号:
姓名:
日期:
2011.12.27
一、需求分析与设计
书店数据库管理系统是为方便书店管理员对书店的管理。
1.1具体功能分析
1、书店经营的基础信息,如:
仓库、图书、供应商、业务员信息等是一个书店最基本、最重要的信息,脱离了这些基础信息,书店系统就无法运行。
“信息管理功能”就用于管理这些资料。
“图书信息维护”用于维护(增加、删除、修改、查询)图书的基本信息,内容包括图书编号、书名、作者、出版社、进货价、销售价等,其中设置图书编号是使程序可以通过图书编号方便查询所需的书。
“供应商信息维护”和“业务员信息维护”还有“仓库信息维护”分别维护供应商和销售业务员还有书店仓库的信息,具体的实现功能和和图书信息管理的功能相似。
2、“进书管理功能”用于管理书店的进书业务,在该功能中设置一张进书单表,它可以记录进书业务中涉及到得的所有信息,并发挥进书业务的相应功能。
内容包括进书单编号、图书编号、供应商编号、进书日期、业务员编号、进书数量、费用等。
另外还设置有历史进书管理的功能,用于查看以前进书的相关信息,并将现在的进书单信息归入历史进书管理的相应表中。
3、“售书管理功能”用于管理书店的售书业务,在该功能中设置一张售书单表,它可以记录售书业务中涉及到得的所有信息,并发挥售书业务的相应功能。
另外,此销售单的设置为统计库存与财务发挥了重要作用。
因为书店一般都是零售,所以无需考虑客户,改售书单内容包括售书单编号、图书编号、售书日期、业务员编号、售书数量、销售额等。
另外还设置有历史售书管理的功能,用于查看以前售书的相关信息,并将现在的售书单信息归入历史售书管理的相应表中。
4、“库存管理功能”用于查询书店的库存数量和库存金额,进书或者售书后库存数量和金额相应地增加或减少。
5、“权限管理功能”中主要涉及到用户权限设置,用于查看和修改当前用户的权限。
规定不同的用户对系统拥有不同的使用权限,内容包括用户编号、用户名、密码、权限名称等。
1.2信息需求
1、“图书信息维护”用于维护(增加、修改、查询、删除)图书的基本信息,所涉及到得信息包括图书编号、书名、作者、出版社、进货价、销售价。
2、“供应商信息维护”用于维护供应商的基本信息,涉及到的信息包括供应商编号、供应商名称、地址、电话、银行账号。
3、“业务员信息维护”用于维护书店销售业务人员的基本信息,涉及到的信息包括业务员编号、姓名、性别、年龄、电话。
4、“进书单”用于录入书店进书单,涉及到的信息包括进书单编号、图书编号、供应商编号、进书日期、业务员编号、进书数量、费用等。
5、“售书单”用于录入书店的售书单,涉及到的信息包括售书单编号、图书编号、售书日期、业务员编号、售书数量、销售额等。
因为书店一般都是零售,所以无需考虑客户。
6、“库存查询”用于查询书店的库存数量和金额,涉及到的信息包括仓库号、图书编号、库存数量、库存金额等。
7、“用户权限设置”用于设置各用户信息及使用系统的权限,涉及到的信息包括用户编号、用户名、密码、权限名称等。
8、“仓库信息”用于维护仓库的基本信息,涉及到的信息又仓库编号。
9、一个业务员可以买多种图书,但一种图书只能一个业务员买。
10、一个业务员可以卖多种图书,一种图书也可以多个业务员卖。
1.3功能模块图
根据对书店售书系统的分析,一个书店售书系统应该包括以下几大功能,每个功能都由若干相关联的子功能模块组成。
二、概要设计
该书店信息管理系统的E—R图如图所示:
该图所示的书店数据库系统概念结构中,包括了图书、供应商、业务员、仓库、用户信息5个实体。
三、详细设计
书店售书系统的数据采用SQLServer数据库来存储,数据库表包括图书信息表、供应商信息表、业务员信息表、用户信息表、进书单、售书单、仓库信息表、库存信息表。
1、图书信息表
图书信息表保存图书的基本信息,内容包括图书编号(同样的书用同一个图书编号,并不是给具体的每本书编号)、书名、作者、出版社、进货价、销售价等,其中图书编号是该表的主键。
图书信息表
字段名称
数据类型
字段长度
允许空
字段含义
bookno
char
18
图书编号,该表的主键
bookname
char
50
√
书名
author
char
40
√
作者
publish
char
60
√
出版社
inprice
int
4
√
进价
outprice
int
4
√
销售价
2、供应商信息表
供应商信息表保存供应商的基本信息,内容包括供应商编号、供应商名称、地址、供应商电话、银行账号等,其中供应商编号是该表的主键。
供应商信息表
字段名称
数据类型
字段长度
允许空
字段含义
providerno
char
14
供应商编号,该表的主键
provider
char
20
√
供应商名称
address
char
80
√
地址
providertel
char
11
√
供应商电话
account
char
18
√
银行账户
3、业务员信息表
业务员信息表用于保存书店销售业务人员的基本信息,内容包括业务员号、姓名、性别、电话、年龄、类别等,其中业务员编号是该表的主键。
从中获取所有业务员的名字作为词典供用户使用。
业务员信息表
字段名称
数据类型
字段长度
允许空
字段含义
operationno
char
8
业务员编号,该表的主键
operationname
char
12
√
业务员姓名
sex
char
2
√
性别
age
char
2
√
年龄
category
char
14
√
类别
operationtel
char
11
√
业务员电话
4、用户信息表
用户信息表用于保存用户的基本信息及其权限分配,内容包括用户编号、用户名、密码、用户权限名称,其中用户编号、用户权限名称是该表的主键。
用户信息表
字段名称
数据类型
字段长度
允许空
字段含义
userno
char
8
用户编号,该表的主键
username
char
12
√
用户名
cipher
char
6
√
用户密码
righ
char
20
用户权限名称,主键
5、进书单信息表
进书单用于录入书店进书单,内容包括进书单编号、图书编号、供应商编号、进书日期、业务员编号、进书数量、费用等。
其中进书单编号是该表的主键,图书编号、供应商编号、业务员编号是该表的外键。
进书单信息表
字段名称
数据类型
字段长度
允许空
字段含义
inno
char
6
进书单编号,该表主键
bookno
char
18
√
图书编号,外键
providerno
char
14
√
供应商编号,外键
indate
char
20
√
进书日期
operationno
char
8
√
业务员编号,外键
inamount
int
4
√
进书数量
fee
int
4
√
费用
6、售书单信息表
售书单用于录入书店售书单,内容包括售书单编号、图书编号、售书日期、业务员编号、售书数量、销售额等。
其中售书单编号是该表的主键,图书编号、业务员编号是该表的外键。
售书单信息表
字段名称
数据类型
字段长度
允许空
字段含义
outno
char
6
售书单编号,该表的主键
bookno
char
18
√
图书编号,外键
outdate
char
20
√
售书日期
operationno
char
8
√
业务员商编号,外键
outamount
int
4
√
售书量
income
int
4
√
收入
7、仓库信息表
仓库信息表用于存放关于仓库的相关信息,内容包括仓库编号,仓库编号就是该表的主键
仓库信息表
字段名称
数据类型
字段长度
允许空
字段含义
storeno
char
6
仓库号,该表的主键
8、库存信息表
库存信息表用于查询书店的库存数量和库存金额,内容包括仓库号、图书编号、库存数量、库存金额等。
其中仓库编号和图书编号是该表的主键。
库存信息表
字段名称
数据类型
字段长度
允许空
字段含义
storageno
char
8
仓库编号,外键
bookno
char
18
√
图书编号,外键
storageamount
char
10
√
库存数量
storagesum
char
10
√
库存金额
四、系统实现和系统测试
1、用SQL语句创建一个名为Book的数据库。
createdatabaseBook
ON
(
name='Book',
filename='E:
\yang\Book.mdf'
)
2、在Book数据库中建立表。
2.1建立图书信息表:
createtablebook
(booknochar(18)primarykey,
booknamechar(50)unique,
authorchar(40),
publishchar(60),
inpriceint,
outpriceint
)
2.2建立供应商信息表
createtableprovider
(providernochar(14)primarykey,
providerchar(20)unique,
addresschar(80),
providertelchar(11),
accountchar(18)
)
2.3建立业务员信息表
createtableoperation
(operationnochar(8)primarykey,
operationnamechar(12)unique,
sexchar
(2),
agechar
(2),
categorychar(14),
operationtelchar(11)
)
2.4建立用户信息表
createtableuserinformation
(usernochar(8),
usernamechar(12),
cipherchar(6),
righchar(20),
primarykey(userno,righ)
)
2.5建立进书单信息表
createtableinbooklist
(innochar(6)primarykey,
booknochar(18),
providernochar(14),
indatechar(20),
operationnochar(8),
inamountint,
feeint,
foreignkey(bookno)referencesbook(bookno),
foreignkey(providerno)referencesprovider(providerno),
foreignkey(operationno)referencesoperation(operationno)
)
2.6建立售书单信息表
createtableoutbooklist
(outnochar(6)primarykey,
booknochar(18),
outdatechar(20),
operationnochar(8),
outamountint,
incomeint,
foreignkey(bookno)referencesbook(bookno),
foreignkey(operationno)referencesoperation(operationno)
)
2.7建立仓库信息表
createtablestore
(storenochar(6)primarykey,
)
2.8建立库存信息表
createtablestorage
(storenochar(6),
booknochar(18),
storageamountchar(10),
storagesumchar(10),
foreignkey(bookno)referencesbook(bookno),
foreignkey(storeno)referencesstore(storeno)
)
3、创建视图
建立book表的视图,显示书的编号、书名、作者、出版社、售价。
便于顾客查看。
createviewbook1
as
selectbookno,bookname,author,publish,outprice
frombook
4、创建存储过程
4.1创建一个名字为yang的存储过程,当输入一个出版社名字,将会出现书店书中这个出版社的书以及书的相关信息。
Ifexists
(SELECTnameFROMsysobjects
WHEREname='yang'ANDtype='p')
DROPPROCEDUREyang
GO
CREATEPROCEDUREyang
@yangvarchar(8)
AS
SELECT*FROMbook
WHEREpublish=@yang
GO
存储过程的测试:
4.2创建一个名字为qin的存储过程,当输入一个进书单编号,将会出现这个进书单相关信息。
Ifexists
(SELECTnameFROMsysobjects
WHEREname='qin'ANDtype='p')
DROPPROCEDUREqin
GO
CREATEPROCEDUREqin
@qinvarchar(8)
AS
SELECT*FROMinbooklist
WHEREinno=@qin
GO
存储过程的测试:
5、创建触发器
建立outbooklist表中的触发器yangqin,在下订单的时候,storage表中的库存的数量及时更新。
createtriggeryangqinonoutbooklistforinsert
asdeclare@booknoint,@numint
select@num=outbooklist.outamountfromoutbooklist
select@bookno=booknofrominserted
updatestorage
setstorageamount=storageamount-@num
wherebookno=@bookno
触发前storage表
触发前outbooklist表
出售单0009
触发后的storage表
五、总结
经过三周的学习,我们最终完成了书店管理系统的设计。
通过此次课程设计我们受益良多。
通过这次课程设计,我明白了理论与实际应用相结合的重要性,掌握并熟练运用SQL语句,提高了我的综合运用所学知识的能力,理解了数据库电脑实用性。
在本次课程设计和过程中,由于时间不是很长,系统需求分析上可能不是很全面,系统中还存在很多缺点。
在书店管理系统设计中出现的问题,都是通过老师和同学帮助解决的,感谢老师和同学给与的帮助。
经过这次课程设计,我的知识得到了很大提高,经验也更加丰富。
希望能在今后的不断的学习中和努力中,把程序做得更好。
最后,再次感谢老师所给我的帮助。
参考文献:
萨师煊、王珊。
数据库系统概论(第四版)北京:
高等教育出版社
Welcome!
!
!
欢迎您的下载,
资料仅供参考!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 项目 报告