网上书店数据库课程设计报告docx.docx
- 文档编号:4315719
- 上传时间:2022-11-29
- 格式:DOCX
- 页数:16
- 大小:34.74KB
网上书店数据库课程设计报告docx.docx
《网上书店数据库课程设计报告docx.docx》由会员分享,可在线阅读,更多相关《网上书店数据库课程设计报告docx.docx(16页珍藏版)》请在冰豆网上搜索。
网上书店数据库课程设计报告docx
大型数据库课程设计
设计报告
题目:
网上书店后台数据库
学号:
11100
学生姓名:
指导教师:
刘*
提交时间:
2013-11-23
第1章需求分析1
1.1需求调查1
1.2系统功能分析1
1.3而对用户需求分析2
第2章面向对象分析和设计3
第3章逻辑结构设计5
3.1类和对象向关系模式转换8
第4章数据库物理结构设计9
4.1存取方法设计9
4.2存储结构设计9
4.3物理设计9
第5章数据库完整性设计11
5.1主键及唯一性索引11
5.2参照完整性设计12
5.3Check约束12
5.4鮭发器设计12
第6章数据库视图设计13
第7章数据库存储过程设计14
第8章权限设计15
总结15
参考文献:
17
教务管理系统后台数据库
第1章需求分析
1.1需求调查
通过调查,该网上书店系统有如下需求:
(1)用户管理
系统的用户分两种:
管理员类用户和普通类用户。
普通类用户分为注册用户和非注册用户,这两种用户的权限区别在于能否进行购物(提交订单),以及对个人资料的管理包括个人资料、订单、等用户管理模块的全部功能。
注册用户只能对自己的信息进行修改、浏览、但是不具有管理网上售书系统后台功能管理的权限。
管理员具有使用系统的所有功能,而普通用户只需要具有日常书店的管理功能即可。
用户权限的设置通过用户登陆界而的输入来进行。
同时还可进行系统用户登陆的一些管理,包括添加,删除用户,更改用户的登陆密码等。
(2)书籍管理
书籍管理模块提供了采购、查询和库存警示的功能。
书店管理人员通过该模块来采购各类图书。
图书信息查询提供了各种查询条件,用户可以根据查询方式和条件来进行所需图书的查询。
库存警示可以及时反映书籍的库存情况,方便采购。
(3)会员管理
会员管理模块包括会员信息的录入、查询以及统计。
1.2系统功能分析
网上书店管理系统
(1)注册信息管理:
主要对用户注册的信息进行存储,及用户也可以对口己的信息进行修改删除等。
(2)订单信息管理:
主要用于对顾客的订单信息进行存储管理等。
(3)管理员信息管理:
主要用于对管理员的信息进行存储管理,录入,修改、删除等。
(4)书籍信息管理:
主要用于对书籍的一些主要信息进行存储管理,录入修改、删除等
(5)库存信息管理:
主要用于对书籍的库存量、是否打折、以及存储量是否充足,剩余多少进行存储。
(6)出版社信息管理:
主要用于对所出版书籍的出版的的一些信息进行存储,包括出版社地址、邮箱等。
1・3面向用户需求分析
在木管理系统中,主要的功能就是对书籍的一些数据进行管理、存储、录入、删除修改等功能,因此而向用户可以将系统分为以下几个子系统:
1.用户管理子系统;2.用户查询子系统;3•管理员管理子系统;4.管理员查询子系统;
下而从细分后的子系统分析子系统的需求:
客户管理子系统
客户查询子系统
管理员管理子系统
管理员查询子系统
网上书店管理系统
(1)客户管理子系统:
用户在使用该系统是必须先注册使用密码登录,因此,对密码的设置和修改是最基木的需求。
由于所有用户在使用该系统时都需要账号和密码,所以在后而的用户需求分析时不再重复对此需求进行描述。
在登录系统后,用户的最主要的需求就是通过该系统进行对订单的管理修改等操作。
其次,用户述要求可以通过系统进行个人信息的维护
(包括添加、删除、修改信息)。
(2)客户查询子系统:
在本管理系统中,用户是最低一级的用户,因此使用该系统可查询的内容也是最少的,仅限于对书籍的一些基本是信息的查询,包括出版社等信息。
(3)管理员管理子系统:
管理员是本网站系统中最高级是用户,因此,所管理的信息最多,包括书籍的存储量的多少,书籍的基木信息的修改删除等操作,还有书籍是否需要打折,包括订单的一些管理,出版社的管理书籍的村粗地方、书籍的编号的管理。
最后,系统管理员管理系统述应该可以利用该系统进行用户的管理和维护,包括用户的添加、删除,修改等等。
(4)管理员査询子系统:
因为管理员是本网站系统最高一级的用户,所以所查询的内容也远多于客户的查询的内容,包括客户的订单信息、客户的基本信息、也包括对书籍的一些基本信息的查询库存量的查询,及存储地方书等。
第二章面向对象分析和设计
类和对象设计如下:
客户信息
真实名:
string
用户名:
string
用户号:
string
地址址:
string
电话:
strin
添加()
删除()
査询()
修改()
用户订单信息
订单号:
string用户号:
string订购日期:
data
添加()
修改()
删除()
查询()
书籍信息
ISBN号:
string书名:
string价格:
string作者:
string出版年份:
string出版社:
string
查询()修改()删除()添加()
出版社信息
出版社名:
stringISBN号:
string书名:
string地址:
string
网址:
string添加()~删除()查询()修改()
库存信息
ISBN
号:
string
价格
int
库存数量:
int
库存下线int
折扣
string
添加
()
删除
()
查询
()
修改
()
管理员信息
管理员号:
string管理员名:
string密码:
string身份:
string邮箱:
string
添加()
删除()查询()修改()
第三章逻辑结构设计
局部E・R图:
客户信息图
订单信息图
出版社信息图
管理员信息图
拥有
用户
购买
单
订购H期
管理
发货H期
姓名
用户名
真实名
住址
电话
用户号
ISBN号
库存数量
订单
管理
ISBN号
订购数暈
管理员号
管理员
身份
3.1类和关系对象模式的转换
出版社信息(出版社名、ISBN号、书籍名、地址、网址)
书籍(ISBN号、书名、出版社、作者、定价、出版年份、)
客户(用户名、用户号、真实姓名、地址、电话)
书订单(订单号、ISBN号、发货日期日期、订购数量)
客户订单(订单号,用户号,订购日期)
管理员(管理员号、姓名、密码、身份、电话、邮编)
仓库(ISBN号、库存数量、折扣、价格、库存下限)
第四章数据库物理结构设计
4.1存取方法设计
数据库系统是多用户共享的系统,对同一个关系要建立多条存储路径才能满足多用户的多种应用要求。
对于网上书店管理系统来说,为了提高某些属性(如:
ISBN号,书籍名等)的查询速度,可以选择聚簇存取的方法,即把这些属性上具有相同值的元组集中放在连续的物理块上。
这样在查询某类书籍或是查询某个出版社出版的书籍等时就会大大提高查询速度。
因此,该系统中选择聚簇存取方法。
4.2存储结构设计
网上书店管理系统是一个大型复杂的计算机网络信息系统,采用基于浏览器/服务器(B/S),客户端/服务器(C/S)混合的应用体系结构来建设网上书店管理系统。
数据库管理系统采用Microsoft公司推出的SQLServer2000或以上版木,并用SQL进行数据库的建立和数据库中数据的维护和查询。
4.3物理结构设计
实现该设计的环境为WindowsXPProfessional+MSSQLServer2005或以上版木。
1.建立网上书店管理系统数据库
CREATEDATABASE网上书店管理系统
ON
PRIMARY
(
name=,网上书店_data1,
filename=,C:
\Users\李风收\Desktop\网上书店数据库\网上书店_data・md「,size=10MBA
maxsize=50MB,
filegrowth=5%
)
logon
name=*网上书店_log*,filename=,C:
\Users\李风收\Desktop\网上书店数据库\网上书店_data.ldf'zsize=lOmb,maxsize=50mbz
filegrowth=lmb
);
一建管理员信息表一
Createtable管理员信息表
(
管理员号char(10)primarykeynotnull,
管理员名char(10)notnull,
密码char(50)notnull,
身份char(20)notnull,
邮箱char(30))
—建立用丿"信息表--
Createtable用户信息表
(
用户号char(10)primarykeynotnull『
用丿勺名char(20)notrm丄丄,
真实名char(10),
地址varchar(200)notnull,
电话char(12)notnull
)
—建立图书信息表--
Createtable图书信息表
(
工SBN号char(8)primarykeynotnull,
书名char(50)notnuJ.丄,
价格moneynotnull,
作者char(20)notnull,
出版年份datetimenotnull,
出版社char(50)null
)
--建立库存表--
Createtable库存表
(
工SBN号char(8)primarykeynotnull,
库存量intnotnull,
价格moneynotnull,
库存下限intnotnull,
折扣float(4)null
)
一用户订单表--
Createtable用户订单表
订单号char(15)primarykeynotnull,
用丿勺号char(10)notnull/
订MlFl期datetimenotnull
)
--书订单表—
Createtable书订单表
(
订单号char(15)notnull,
工SBN号char(8)notnull,
数量char(10)notnull,
发货日期datetimenotnullprimarykey(订单号,工SBN号)
)
—建立出版补-信息表--
createtable岀版社信息表
(
出版社名char(20)notnullprimarykey,ISBN^*char(10)notnull,
书名char(20)notnull,
地址varchAr(40)null,
网址char(12)nullz
);
第五章数据库完整性设计
5.1主键及唯一性索引
表名
主键
建立唯一性索引
用户信息
(用户号)
createuniqueindex用户信息on用户信息(用户号asc)
图书信息
(ISBN号)
createuniqueindex图书信息on书信息(ISBN号asc)
书订单信息
(订单号)
createuniqueindex订单信息on订单信息(订单号asc)
管理员信息
(管理员号)
createuniqueindex管理员信息on管理员信息(管理员号asc)
仓库信息
(ISBN号)
createuniqueindex仓库信息on仓库信息(ISBN号asc)
客户订单
(订单号)
createuniqueindex管理书籍on客户订单(订单号asc)
出版社信息
(ISBN号)
createuniqueindex出版社信息on出版社信息(ISBN号asc)
5.2参照完整性设计
用户订单表中将属性用户号设计为外键
altertable用户订单表addconstraintaforeignkey(用户号)references用户表(用
户号)
5.3Check约束
createrule身份_ru*as@身份in(,超级管理员1,'用户管理员*,1图书管理员1,1订单管理员1)
5・4触发器设计
createtrigger删除用户on用户信息表
afterdeleteas
begin
declare@numchar
select@num=用丿勺号fromdeleted
deletefrom用户订单表
where用户号=@num
end
createtrigger删除工SBN号on图书信息表
afterdeleteas
begin
deletefrom库存表
where工SBN号in(select工SBN号fromdeleted)
deletefrom书订单表
where工SBN号in(select工SBN号fromdeleted)
end
createtrigger删除库中工SBN号on库存表
afterdeleteas
begin
deletefrom图书信息表
where工SBN号in(selectISBN号fromdeleted)deletefrom书订单表
where工SBN号in(select工SBN号fromdeleted)end
createtrigger删除订单号on用户订单表
afterdeleteas
begin
deletefrom书订单表where订单号in(select订单号fromdeleted)deletefrom用丿勺IT单表whereKT单号in(select•订单号fromdeleted)End
第六章数据库视图设计
createview出版社信息视图asselect*from出版社信息表;
createview管理员信息视图asselect*from管理员信息表;
createview用户信息视图asselect*from用户信息表;
createview图书信息视图asselect书名,价格,作者,岀版社from图书信息表;
createview库存视图asselect库存量from库存表;
createview用户订单视图asselect订购日期from用户订单表
createview书订单视图asselect发货日期from书订单表--建立客户订单视图--
createview客户订单视图
as
select用户信息表•用户号,用户名,真实名,用户订单表.订单号JSEN号,数量乂书籍数量,订购日期
from用户信息表,用户订单表,书订单表
where用户信息表•用户号=用户订单表•用户号AND用户订单表.订单号=书订单表•订单号;
第七章数据库存储过程设计
--建立存储过程—
createproc删除管理员存储过程@管理员号varchar
as
ifexists(select*from管理员信息表where管理员号=@管理员号)deletefrom管理员信息表where管理员号=@管理员号
createproc删除用户信息存储过程@用户号varchar(10)
as
begin
ifexists(select*from用户信息表where用户号=@用户号)deletefrom用户信息表where用户号=@用户号
ifexists(select*from用户订单表where用户号=@用户号)deletefrom用户订单表where用户号=@用户号
end
createproc删除图书信息存储过程0ISBN号varchar(8)
as
begin
ifexists(select*from图书信息表where工SBN号ISBN#)deletefrom图书信息表where工SBN号=@ISBN号
ifexists(select*from库存表where工SBN号=@ISBN号)
deletefrom库存表where工SBN号=@TSEN号
ifexists(select*from书订单表where工SBN号=@ISBN号)deletefrom书单表where工SBN号=@ZESBN号
end
第八章权限设计
--权限设置--
grantallprivilegesontable用广信息表,管理员信息表,图书信息表,库存表,书订单表,用户订单表,库存订单表,岀版社信息表t。
超级管理员
grantallprivilegesonview管理员信息视图,用广信息视亂图书信息视图,库存视图,书-订单视图,用户-订单视图,用户-书-订单视图t。
超级管理员
grantallprivilegesontable删除用户/删除工SBN号,删除工SBN号,删除订单号to超级管理员
删除管理员存储过程,删除用户信息存储过程,删
grantallprivilegesontable除图书信息存储过程t。
超级管理员
grantallprivilegesontable用广信息表,管理员信息表to用户管理员
grantselectonview管理员信息视图,用户信息视图,图书信息视图,库存视图,书-订单视图,用户-订单视图,用户-书-订单视图to用户管理员
grantal1privilegesontable图书信息表,库存表to图书管理员
grantselect^updateontAble管理员信息表to图书管理员
grantselectonview管理员信息视图,用户信息视图,图书信息视图,库存视图,书-订单视图,用户-订单视图,用户-书-订单视图to图书管理员
grantallprivilegesontable用户-订单表,书-订单表to订单管理员
grantselect^updateontable管理员信息表to订单管理员
grantselectonview管理员信息视图,用户信息视图,图书信息视图,库存视图,书-订单视图,用户-订单视图,用户-书-订单视图t。
订单管理员
grantselectontable图书信,息、表to用丿
grantselect,insertontable用户信息表,用户-订单表,书-订单表to用户
grantselectonview管理员信息视图,用户信息视图,图书信息视图,库存视图,书-订单视图,用户-订单视图,用户-书-订单视图to用户
总结
理论联系实际才能做好一件事,学习一门课程同样是这样。
通过16学时的数据库课程设计实习,受益匪浅,从中学到了许多新知识,这些知识是在课堂中不能学到或者说很难学到的。
并且对大型数据库设计这一门课程有了更深一步的理解。
在做课程设计中,可以把课堂上所学的理论知识和实践联系起来,在所要开发的系统中渐渐学会了融会贯通。
同样通过对SQLServer的应用,也使我们熟练和巩固了对SQL的理解。
通过做课程设计,有几点感想,归纳如下。
1.扎实的理论基础。
如果不掌握它们,很难写出高水平的程序。
而这一点又是我们所缺乏的。
2.不钻牛角尖。
当遇到障碍的时候,暂时远离电脑,当重新开始工作的时候,也许会发现那些难题现在竟然可以迎刃而解。
3.多与别人交流。
三人行必有我师。
4.良好的编程风格。
注意养成良好的习惯,代码的缩进编排,变量的命名规则要始终
保持一致。
如果注释和代码不一致,那就更加糟糕。
在这次的设计过程中,我学到的不仅是知识,我述认识到许多事情。
这次设计使我的编程水平提高了一大步,使我充分的认识到合作的可贵。
由于这次设计涉及到数据库,我的学到了不少编程工具与数据库连接的知识,对数据库的操作有了进一步的了解。
这次设计对我的综合能力是一次很好的锻炼,但是我必须承认自己的能力和知识还很肤浅。
所以今后我的学习道路述是很漫长的。
最后,特别要感谢XX老师在软件工程和数据库课程中认真负责的教学,才使得我能结合所学的知识完成这一课程设计。
参考文献:
1.王珊,萨师煩•数据库系统概论[M].高等教育出版社,2005
2.郑阿奇等.SQLserva实用教程(第3版)[M].电子工业出版社,2009
3.赵乃真等.信息系统设计与应用.清华大学出版社,2005
《大型数据库课程设计》报告评分标准
选题及功能设计
选题合理,功能简单(D)
有一定的工作量和实用价值(C)
功能设计丰富,有一定的难度系数(B)
功能设计合理全面,能体现数据库的存储和整理数据的功能(A)
数据表和数据量
具备基本的数据表,数据量较少,但能够实现系统基本需要(D)
具备基本的数据表,数据量适中,实现了一定的数据完整性(C)
有多个数据表,数据量适中,有完善的数据完整性(B)
有多个数据表,数据量充足,具有较强的数据安全性和数据完整性(A)
数据库对象
具备基本的数据表,有主外键约束(D)
创建了若干种的数据库对象,并加以利用(C)
在实际应用中合理利用了各类数据库对象(B)
具有身份验证、数据备份等较复杂的数据管理功能(A)
功能实现
利用存储过程实现了各种查询功能(D)
除查询功能,还实现了各种数据操作功能(C)
在上一条基础上,述实现了数据统计汇总功能(B)
合理利用函数、存储过程、触发器实现各种数据查询、操作、管理功能(A)
设计报告
完成设计报告,阐述了系统功能,结构较完整(D)
开题报告反映设计思路,结构完整,格式较规范(C)
报告内容完整,图表使用准确,格式清晰,功能描述详尽(B)
报告内容完整,图表使用准确,描述详细,代码阐述清楚,反映系统执行流程(A)
教师签字:
总评成绩:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网上 书店 数据库 课程设计 报告 docx
![提示](https://static.bdocx.com/images/bang_tan.gif)