数 据 库 课 程 设 计订户订阅报刊应用系统文档格式.docx

上传人:b****5 文档编号:17697914 上传时间:2022-12-08 格式:DOCX 页数:20 大小:1.12MB
下载 相关 举报
数 据 库 课 程 设 计订户订阅报刊应用系统文档格式.docx_第1页
第1页 / 共20页
数 据 库 课 程 设 计订户订阅报刊应用系统文档格式.docx_第2页
第2页 / 共20页
数 据 库 课 程 设 计订户订阅报刊应用系统文档格式.docx_第3页
第3页 / 共20页
数 据 库 课 程 设 计订户订阅报刊应用系统文档格式.docx_第4页
第4页 / 共20页
数 据 库 课 程 设 计订户订阅报刊应用系统文档格式.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

数 据 库 课 程 设 计订户订阅报刊应用系统文档格式.docx

《数 据 库 课 程 设 计订户订阅报刊应用系统文档格式.docx》由会员分享,可在线阅读,更多相关《数 据 库 课 程 设 计订户订阅报刊应用系统文档格式.docx(20页珍藏版)》请在冰豆网上搜索。

数 据 库 课 程 设 计订户订阅报刊应用系统文档格式.docx

设计一个订户订阅报刊的应用系统。

涉及订单、订户、报刊目录及投递卡信息。

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动态网站开发从基础到实践

——机械工业出版社陈益材李睦芳

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

当前位置:首页 > 求职职场 > 笔试

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

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