数 据 库 课 程 设 计订户订阅报刊应用系统文档格式.docx
《数 据 库 课 程 设 计订户订阅报刊应用系统文档格式.docx》由会员分享,可在线阅读,更多相关《数 据 库 课 程 设 计订户订阅报刊应用系统文档格式.docx(20页珍藏版)》请在冰豆网上搜索。
设计一个订户订阅报刊的应用系统。
涉及订单、订户、报刊目录及投递卡信息。
1.用E-R图设计概念模型
2.设计关系模型
3.分析关系模式各属于第几范式,阐明理由
4.使用CHECK设计表的有效性规则及说明
5.为每一库表设计插入、删除、修改触发器,从而保证数据库的完整性约束。
6.设计关系的外码约束
7.完成以下操作(输出操作结果和程序清单)
8.分析遇到的问题,总结并写出课程设计报告
9.自我评价
10.接收并且处理订户的订阅要求,回答订户的查询,统计报刊的订阅情况。
【数据库系统设计】
1.设计E-R图
2.设计相应的关系模型,确定数据库结构
根据基础数据建立名为“报刊”的数据库,并建立三个关系表:
订单表ORDER1、用户表CUSTOMER、报刊表NMTABLE,投递卡SENDING各表结构及数据结构如下:
(1)ORDER1表:
(2)CUSTOMER表:
(3)NMTABLE报刊表:
(4)SENDING投递卡:
订阅(代号,编号)
投递(订户号,期刊代号,代号)
提交(订户号,期刊代号,编号)
3.数据库范式分析
由于此数据库不存在传递依赖和部分依赖,所以该数据库系统属于第三范式。
4.为order表的qty字段设计check约束:
0<
qty<
1000
T-SQL语言:
altertableorder
addcheck(QTYbetween'
0'
and'
1000'
);
5.触发器设置
(1)完成报刊目录NMTABLE表的price不小于0.10的约束
Createtriggerins
Onnmtable
Forinsert
Asdeclare@pricefloat
Select@price=price
Frominserted
Beginif@price<
0.10
Rollbacktranreturnend
Return
(2)订户和订单关系表的级联删除触发器
Createtriggerdel
Oncustomer
Fordelete
Asif@@rowcount==0return
Deleteorder
Fromorder1,deletedd
Whereo=o
BeginIf@@error!
=0rollbacktranreturnend
Return
6.设计关系的主码约束、外码约束和使用CHECK实现完整性控制:
7.
(1)定义各文件的结构
订单(order)
Createtableorder1
(cnochar(10),
datechar(10),
nmnochar(10),
startchar(10),
termchar(10),
qtyint,
primarykey(cno,nmno),/*在表级定义实体完整性*/
foreignkey(cno)referencescustomer(cno),/*在表级定义参照完整性*/
foreignkey(nmno)referencesnmtable(nmno)/*在表级定义参照完整性*/
订户(customer)
Createtablecustomer1
(cnochar(10)primarykey,/*表级定义主码*/
Namechar(20)unique,/*列值唯一*/
Addrchar(30));
报刊目录(nmtable)
Createtablenmtable
(nmnochar(10)primarykey,
titlechar(20),
periodchar(20)
pricefloat(8));
投递卡(sending)
Createtablesending
issuechar(10),
primarykey(cno,nmno),/*在表级定义实体完整性*/
foreignkey(nmno)referencesnmtable(nmno)/*在表级定义参照完整性*/
(2)开发环境:
Dreamweavercs3
数据环境:
MicrosoftSQLServer2000
9.应用程序编写
用户的登录界面如下图:
(1)连结数据库代码(此处以与订户数据表的连接为例):
程序采用MICROSOFTSQLOLEDB方法连接数据库,所以先初始化OLEDB组件,再创建Connection实例,如果创建成功,就尝试连结,集所有的数据操作可以共享这个数据库连接。
在需要使用数据访问的页面中使用<
!
--#includefile="
连接数据库的文件名"
-->
将该页面包含进来。
(2)订阅信息统计模块
该模块将显示所有订阅信息,包括每个用户订了哪些报刊,报刊的份数,起止月份及所订报刊的单价等所有数据信息,如图:
●以下给出加载这些信息的函数:
●插入数据:
输入订户号,日期,报刊代号,起订期,终订期,份数后单击插入数据按钮,程序就会将此订户的信息添加到数据库中。
●主页:
单击此按钮会返回主页面
●插入数据后对应的数据库内容:
(3)订户管理模块
订户管理模块包括编号,姓名,住址。
如图:
(4)报刊目录管理包括代号,名称,刊期,单价。
(5)投递卡管理包括订户号,报刊代号,期号,份数。
10.对数据库进行查询,更新等操作
1.检索地址为“太平路4890号”的订户信息
2.检索份数多于3的期号
3.检索订阅“01-01”报刊代号的订户名、报刊名、订阅份数
4.检索没有订阅“人民日报”的订户号
5.检索未订阅代号为“03-01”报刊的订户名
6.检索被多个订户订阅的报刊之代号
7.增加一种报刊“04-01,经济信息报,周报,0.5”
执行后结果为:
8.删去报刊代号为“01-03”的报刊
9.把订户号“161213”改为“161225”
10.把“090104”订户所订的“01-03”报刊的截止日期改为12
11.取出订阅期在1到12月份的各种报刊的代号和总数
12.求每种报刊的订阅总数,并给出报刊代号
13.统计各种报刊的订户数
14.输出如下报表
订户姓名
报刊名称
期号
日期
起订期
终订期
份数
结果如下:
【课程遇到的问题及设计心得】
近一个礼拜的数据库课程设计结束了,怀着通过这次课程设计积累的信心,写下自己的心得,为自己的足迹留下哪怕是微不足道但是对自己弥足珍贵的痕迹。
繁忙的考试任务结束后,先拿到数据库的课设题目,心里在暗自高兴:
“(*^__^*)嘻嘻……咋这么简单呢?
画个E-R图,写出关系模型,对数据库进行查询,更新等等。
在之前实验的基础上,这次课程设计可以很轻松完成了。
”可是,事实却很是“残忍”o(∩_∩)o…
这次的数据库数据可不是在企业管理器里建表输进去就可以了,而是要通过登录界面输入进去,这下可把我们给难住了,都蒙住了。
所以第一课时就只能做做查询更新了,只是熟练一下为后来做准备。
做界面的思路经老师讲解后变得清楚,可是该选用什么软件平台做又让我们抓了狂,老师说用ASP,JSP做可能会简单点,所以全体出动借书,每人搬回四本,有ASP,JSP,PB,VB…就这样开工了,因为老师说过web平台会简单些,所以大家就开始用制作网页的工具做,我选择了DreamweaverCS3,因为之前对其略知一二。
所以网页界面做起来很简单,但麻烦事还在后头呢,都装了IIS软件,但很少有几台机子能够做好测试服务器的。
这个我本以为是和机器有关,后来晚上翻着书一页页看,终于在不经意间发现了:
URL前缀由域名和Web站点主目录的任何一个子目录或虚拟目录(而不是文件名)组成。
例如,http:
//localhost/aa/发现这个之后,高兴坏了,因为测试成功了,然后就是导入数据库了,在这里有给卡住了,因为之前做的是静态网页,现在该做动态了,要连接数据库了,没办法,又得请教高手了,后来在书上例题及老师的指导下,数据库导入成功。
最可怜的就是下面的事了:
页面无法预览。
面对此种境况,她们放弃了WEB平台开发,还了制作网页工具书,又借了VB,因为看到电竞班在用VB“开发”,我也想过弃旧换新,可是都做了这么久了,最后还是没换,上网查找导致HTTP500的原因……就这样一直折腾了一天,后来还是没结果,眼看着他们的VB成果出来了,可自己的网页还是无法预览,最后只有请教老师,老师耐心的替我查找原因,现实总是那么的残忍:
我的系统或硬件问题导致IIS软件不能发挥其所有功能。
当时就想:
换VB?
怎么可能?
没有解决不了的事情,在无奈的情况下,借了别人的电脑来做。
主要是用她的电脑来预览页面并通过主页面来录入数据,在前面功夫的基础上后面就做得很快。
因为网页制作工具简单,随着你的设计,代码也就自动生成,但你可以写代码来完成你想要的功能,方便得很,而且页面做出来也工整,看起来舒服。
不像VB平台做出来的总觉得怪怪的,当然VB也有其自身的好处。
随着数据库课程设计的结束,觉得自己应该具备的能力不是我会多少,而是我应该具备快速学会东西的能力。
遇到什么就学什么。
我们有时候很容易被一些专业名词说吓着,包括什么建模,软件工程,数据分析,数据挖掘等等。
我身边就有很多同学被这些纸老虎所唬住,而没有勇气去接触他们,总是说这个太难了之类的退堂鼓的话,他们低估了自己的潜力同时也压抑住了他们自己的好奇心。
与其临渊羡鱼,不如退而结网。
这次数据库课程设计给我的最大的印象就是如果自己有了兴趣,就动手去做,困难在你的勇气和毅力下是抬不了头的。
从做这个数据库开始无论遇到什么困难,我都没有一丝的放弃的念头。
在老师的耐心指导和同学的虚心帮助下,出于对一切未知的求知,我完成了这次数据库课程设计。
【参考文献】
⏹数据库系统概论(第四版)——高等教育出版社王珊萨师煊编
⏹Asp数据库系统开发案例精选——人民邮电出版社盖天宇孙明丽
⏹DreamweaverCS3+ASP动态网站开发从基础到实践
——机械工业出版社陈益材李睦芳