数据库系统原理课程设计报刊订阅管理系统.docx
- 文档编号:27554734
- 上传时间:2023-07-02
- 格式:DOCX
- 页数:24
- 大小:444.29KB
数据库系统原理课程设计报刊订阅管理系统.docx
《数据库系统原理课程设计报刊订阅管理系统.docx》由会员分享,可在线阅读,更多相关《数据库系统原理课程设计报刊订阅管理系统.docx(24页珍藏版)》请在冰豆网上搜索。
数据库系统原理课程设计报刊订阅管理系统
数据库系统原理课程设计
课题名称:
姓名:
班级:
学号:
指导老师:
2013年1月4日
一、需求分析-------------------------------------------------------------3
1.1需求-------------------------------------------------------3
1.2数据字典---------------------------------------------------3
1.3安全性要求-------------------------------------------------7
1.4一致性要求-------------------------------------------------7
1.5完整性要求-------------------------------------------------7
二、概念结构设计(绘制E-R图)-----------------------------8
三、逻辑结构设计------------------------------------------------8
3.1关系模式及优化分析-----------------------------------------8
3.2系统结构图-------------------------------------------------9
四、物理结构设计-----------------------------------------------10
4.1基本设置--------------------------------------------------10
4.2触发器----------------------------------------------------10
4.3存储过程--------------------------------------------------11
4.4模块设计--------------------------------------------------12
五、数据实施和维护---------------------------------------------13
5.1描述数据表------------------------------------------------13
5.2数据的创建------------------------------------------------13
六、抓图-----------------------------------------------------------16
6.1数据库及表的建立-------------------------------------------16
6.2数据录入与实施---------------------------------------------18
七、设计小结-----------------------------------------------------22
摘要
随着计算机信息管理、网络办公的逐步普及,信息交流的便捷已被越来越多的人们所利用。
如何利用先进的管理手段进行报刊订阅管理,已是众多人所关注的问题。
现代报刊订阅管理所面临的问题是:
信息量大,管理内容繁多,需要耗费大量人力和物力。
要想解决这一难题,就必须有一套科学、高效、严密、实用的管理系统。
采用现代计算机信息管理系统是实现此目标的主要途径。
这样不仅可以简化、规范学校的日常操作,而且可以使信息交流更加简单、快捷,从而减轻工作人员及相关部门的工作压力,增加管理的透明度。
因此,报刊订阅管理化平台系统应运而生。
报刊订阅管理系统能够很好的在校园网中架设和实现。
对于学校来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的,但B/S架构的系统只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。
无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行;如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享。
此次通过数据库系统课程设计,我熟悉了SQLSERVER数据库管理系统的结构与组成;掌握了SQLSERVER数据库管理系统的应用技术和的使用;实践了《学生成绩管理系统》的数据库应用系统的设计方法、开发过程和SQLSERVER数据库的管理与维护。
最终达到掌握数据库管理系统的使用和开发,提高分析问题、解决问题和实践应用能力。
一、需求分析
1.1需求
设计报刊订阅系统
订户:
报刊=m:
n
订户管理:
订户添加、修改、删除
目录管理:
目录添加、修改、删除
订单查询:
按订户或订单号查询订单详细情况
统计查询:
按照报刊目录统计各类报刊的订阅数量和金额
表单生成:
根据统计查询结果导出统计信息
订单只能订阅现有的报刊目录内容
投递时必须根据订单情况进行投递,不能超过订阅品种数量
1.2数据字典
1.2.1数据结构
管理员用户=管理员帐户+管理员密码
订户=订户编号+订户名+联系电话+联系地址
目录=目录编号+目录名+单价+批注信息
订单=订单号+目录编号+订阅数量+订阅期数+单价+总价
1.2.2数据项
编号
标识符
类型
长度
所属表名
汉语解释
1
Uname
Varchar
50
Login
管理员账户
2
Upassword
Varchar
50
Login
管理员密码
3
Cid
Varchar
10
Customer,Order
订户编号
4
Cname
Varchar
50
Customer
订户名
5
Phone
Varchar
15
Customer
联系电话
6
Address
Varchar
50
Customer
联系地址
7
Did
Varchar
50
Orderdetail,Diretory
目录编号
8
Dname
Varchar
50
Diretory
目录名
9
Unitprice
Float
8
Orderdetail,Diretory
目录单价
10
Ifo
Varchar
50
Diretory
批注信息
11
Ono
Varchar
10
Order,Orderdetail
订单编号
12
Odate
Datetime
8
Order
下定日期
13
Quantity
Int
4
Orderdetail
订阅数量
14
Qishu
Int
4
Orderdetail
订阅期数
15
Total
Varchar
8
Orderdetail
订单项总价
1.2.3数据流
编号
名称
来源
去向
组成
1
身份信息
系统管理员
应用系统
管理员账号和密码
2
授权信息
应用系统
系统管理员
3
错误身份信息
应用系统
系统管理员
4
查询请求
系统管理员
应用系统
查询对象识别符
5
查询结果
应用系统
系统管理员
查询对象具体信息
6
管理请求
系统管理员
应用系统
识别符和管理类型
7
管理结果信息
应用系统
系统管理员
被管理对象处理结果
8
非法请求
应用系统
系统管理员
非法请求提示信息
1.2.4数据流图
1.3安全性要求
数据库内设置管理员表,系统管理员进入时需登陆账号和密码,只有账号和密码同时正确后才允许其进入系统,并且管理员的账号和密码可以在系统中修改。
1.4一致性要求
管理系统各表之间有较强的相关性,个表之间建立相应的一致性约束,以此来实现一致性需求。
1.5完整性要求
采用数据库的事物机制防止操作故障引起的数据不一致。
二、概念结构设计(绘制E-R图)
三、逻辑结构设计
3.1关系模式,优化分析
Customer(Cid,Cname,Phone,Address)
Order(Ono,Cid,Odate)
Orderdetail(Ono,Did,Quantity,Qishu,Unitprice,Total)
Diretory(Did,Dname,Unitprice,Ifo)
Login(Uname,Upassword)
Orderdetail表属于第二范式,其余表都属于BCNF范式:
(Ono,Did)—>Quantity,
(Ono,Did)—>Qishu,
(Ono,Did)—>Unitprice,
(Quantity,Qishu,Unitprice)—>Total,
(Ono,Did)—>Total(Total表独立出来有利于统计查询,减少反复运算)
3.2系统结构图:
四、物理结构设计
4.1基本设置
为各个表建立索引;数据和索引放在磁盘中;按需进行系统配置;
4.2触发器
触发器框架
CREATETRIGGER触发器名
ON数据表名或视图名
AFTERINSERT或DELETE或UPDATE
AS
BEGIN
--这里是要运行的SQL语句
END
GO
实例:
创建一个Delete触发器
CREATETRIGGERtruCustomer
ONCustomer
AFTERDELETE
AS
BEGIN
-DeleteBorrowRecordFromBorrowRecordbr,DeletedWherebr.CustomerID=d.CustomerIDEND
GO
创建一个Update触发器
CREATETRIGGERtruCustomer
ONCustomer
AFTERUPDATE
AS
ifUpdate(Customer)BEGIN
UpdateBorrowRecordSetCustomerID=i.CustomerIDFromBorrowRecordbr,Deleted,
Insertedi--Deleted和Inserted临时表Wherebr.CustomerID=d.CustomerID
END
GO
4.3存储过程
(1)使用存储过程输出Customer表中所有信息
CreateprocedureUpdateCustomer
@Cidvarchar(10),
@Cnamevarchar(50),
@Phonevarchar(15),
@Addressvarchar(50)
As
UpdateCustomer
SetPhone=@Phone,Address=@Address
WhereCid=@CidandCname=@Cname
End
CreateprocedureinsertCustomer
@Cidvarchar(10),
@Cnamevarchar(50),
@Phonevarchar(15),
@Addressvarchar(50)
As
begin
Insert
intoCustomer(Cid,Cname,Phone,Address)
Values(@Cid,@Cname,@Phone,@Address)
4.4模块设计
4.4.1登录
4.4.2管理
4.4.3查询
4.4.4导出
五、数据实施和维护
5.1描述数据表
编号
数据表名称
类型
内容
1
Login
辅助表
管理员账号和密码
2
Customer
主表
订户信息
3
Diretory
主表
目录信息
4
Order
主表
订单的基本信息
5
Orderdetail
主表
订单的详细信息
5.2数据的创建
创建数据库magazine片段
CREATEDATABASE[magazine]ON
(NAME=N'magazine_Data',
FILENAME=N'C:
\ProgramFiles\MicrosoftSQLServer\MSSQL\data\magazine_Data.MDF',
SIZE=100,
FILEGROWTH=10%)
LOGON
(NAME=N'ab_Log',
FILENAME=N'C:
\ProgramFiles\MicrosoftSQLServer\MSSQL\data\magazine_Log.LDF',
SIZE=100,FILEGROWTH=10%)COLLATEChinese_PRC_CI_AS
GO
创建Login表
ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[Login]')andOBJECTPROPERTY(id,N'IsUserTable')=1)
droptable[dbo].[Login]
GO
CREATETABLE[dbo].[Login](
[Uname][varchar](50)COLLATEChinese_PRC_CI_ASNOTNULL,
[Upassword][varchar](50)COLLATEChinese_PRC_CI_ASNOTNULL
)ON[PRIMARY]
GO
创建Customer
ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[Customer]')andOBJECTPROPERTY(id,N'IsUserTable')=1)
droptable[dbo].[Customer]
GO
CREATETABLE[dbo].[Customer](
[Cid][varchar](10)COLLATEChinese_PRC_CI_ASNOTNULL,
[Cname][varchar](50)COLLATEChinese_PRC_CI_ASNULL,
[Phone][varchar](15)COLLATEChinese_PRC_CI_ASNOTNULL,
[Address][varchar](50)COLLATEChinese_PRC_CI_ASNOTNULL
)ON[PRIMARY]
GO
创建Diretory
ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[Diretory]')andOBJECTPROPERTY(id,N'IsUserTable')=1)
droptable[dbo].[Diretory]
GO
CREATETABLE[dbo].[Diretory](
[Did][varchar](50)COLLATEChinese_PRC_CI_ASNOTNULL,
[Dname][varchar](50)COLLATEChinese_PRC_CI_ASNULL,
[Unitprice][float]NOTNULL,
[Ifo][varchar](50)COLLATEChinese_PRC_CI_ASNOTNULL
)ON[PRIMARY]
GO
创建Order表
ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[Order]')andOBJECTPROPERTY(id,N'IsUserTable')=1)
droptable[dbo].[Order]
GO
CREATETABLE[dbo].[Order](
[Cid][varchar](10)COLLATEChinese_PRC_CI_ASNOTNULL,
[Ono][varchar](10)COLLATEChinese_PRC_CI_ASNOTNULL,
[Odate][datetime]NOTNULL
)ON[PRIMARY]
GO
创建Orderdetail表
ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[Orderdetail]')andOBJECTPROPERTY(id,N'IsUserTable')=1)
droptable[dbo].[Orderdetail]
GO
CREATETABLE[dbo].[Orderdetail](
[Did][varchar](50)COLLATEChinese_PRC_CI_ASNOTNULL,
[Ono][varchar](10)COLLATEChinese_PRC_CI_ASNOTNULL,
[Unitprice][float]NOTNULL,
[Quantity][int]NOTNULL,
[Qishu][int]NOTNULL,
[Total][float]NOTNULL
)ON[PRIMARY]
GO
六、抓图:
6.1数据库及表的建立
创建的数据库magazine
表
6.2数据录入与实施
数据录入方式:
手工
查询:
7、设计小结
通过一学期的学习,基本搞清楚了理论方面的一些东西,具体怎么用也不是很清楚。
但是这为这学期的课程设计打下了铺垫。
与其临渊羡鱼,不如退而结网。
这次数据库课程设计给我的最大的印象就是如果自己有了兴趣,就动手去做,困难在你的勇气和毅力下是抬不了头的。
从做这个数据库开始无论遇到什么困难,我都没有一丝的放弃的念头。
出于对知识的渴望,出于对新技术的好奇,出于对一切未知的求知。
我完成了这次数据库课程设计,不过这只是我学习路上的驿站,语言并不重要毕竟它仅仅是工具,用好一个工具并不是一件值得为外人道的事情,主要是了解学习思想。
古语说的好:
学无止境啊!
在我看来,数据库课程设计主要的目标是利用课程中学到的数据库知识和技术较好的开发设计出数据库应用系统,去解决各行各业信息化处理的要求。
通过这次的课程设计,更进一步巩固我们对数据库基本原理和基础理论的理解。
库应用系统设计开发的基本方法,进一步提高我们综合运用所学知识的能力。
当我选择报刊订阅管理系统时,我并没有着手写程序,而是从网上了解一下系统概述、系统目标、系统需求、业务流程分析、数据流程分析和数据词典。
当这些都准备好了之后,我就开始进行各个模块设计。
写出来的代码要求可以实现相应模块的功能,得到理想的效果。
知识的获得是无止境的,只要你想学,只要你行动,没有什么会难倒我们的。
回首这个些天的课程设计,我很欣慰,因为我有了动力,有了勇气。
谢谢老师对我们的不懈帮助,谢谢学校给了我们这一次实践的机会,这些美好的回忆美好的东西将永远伴随着我。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 系统 原理 课程设计 报刊 订阅 管理