数 据 库 课 程 设 计订户订阅报刊应用系统.doc_第1页
数 据 库 课 程 设 计订户订阅报刊应用系统.doc_第2页
数 据 库 课 程 设 计订户订阅报刊应用系统.doc_第3页
数 据 库 课 程 设 计订户订阅报刊应用系统.doc_第4页
数 据 库 课 程 设 计订户订阅报刊应用系统.doc_第5页
免费预览已结束,剩余13页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数 据 库 课 程 设 计-订户订阅报刊应用系统院系:J0501计算机姓名:刘志民学号:3051110012指导老师:辛燕2008年6月28日数据库课程设计【实验目的】u 加深对数据库系统、软件工程、程序设计语言的理论知识的理解和应用水平;u 在理论和实验教学基础上进一步巩固已学基本理论及应用知识并加以综合提高;u 学会将知识应用于实际的方法,提高分析和解决问题的能力,增强动手能力;u 为毕业设计和以后工作打下必要基础。【课程设计任务】设计一个订户订阅报刊的应用系统。涉及订单、订户、报刊目录及投递卡信息。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约束:0qty1000 T-SQL语言: alter table orderadd check(QTY between 0 and 1000); 5.触发器设置(1)完成报刊目录NMTABLE表的price不小于0.10的约束Create trigger ins On nmtable For insert As declare price float Select price=price From insertedBegin if price0.10 Rollback tran return endReturn(2)订户和订单关系表的级联删除触发器 Create trigger del On customer For delete As if rowcount=0 return Delete order From order1,deleted d Where o=o Begin If error!=0 rollback tran return end Return6设计关系的主码约束、外码约束和使用CHECK实现完整性控制: 7(1)定义各文件的结构订单(order)Create table order1 (cno char(10), date char(10), nmno char(10), start char(10), term char(10), qty int, primary key(cno,nmno),/*在表级定义实体完整性*/ foreign key (cno) references customer(cno), /*在表级定义参照完整性*/ foreign key(nmno) references nmtable(nmno)/*在表级定义参照完整性*/);订户(customer)Create table customer1 (cno char(10) primary key,/*表级定义主码*/ Name char(20) unique,/*列值唯一*/ Addr char(30) ); 报刊目录(nmtable)Create table nmtable (nmno char(10) primary key, title char(20), period char(20) price float(8) );投递卡(sending)Create table sending (cno char(10), issue char(10), nmno char(10), qty int, primary key(cno,nmno), /*在表级定义实体完整性*/ foreign key (cno) references customer(cno), /*在表级定义参照完整性*/ foreign key(nmno) references nmtable(nmno) /*在表级定义参照完整性*/);(2)开发环境:Dreamweaver cs3 数据环境:Microsoft SQL Server 20009. 应用程序编写用户的登录界面如下图: (1) 连结数据库代码(此处以与订户数据表的连接为例): 程序采用MICROSOFT SQL OLEDB方法连接数据库,所以先初始化OLEDB组件,再创建Connection实例,如果创建成功,就尝试连结,集所有的数据操作可以共享这个数据库连接。在需要使用数据访问的 页面中使用将该页面包含进来。(2)订阅信息统计模块该模块将显示所有订阅信息,包括每个用户订了哪些报刊,报刊的份数,起止月份及所订报刊的单价等所有数据信息,如图:以下给出加载这些信息的函数:l 插入数据:输入订户号,日期,报刊代号,起订期,终订期,份数后单击插入数据按钮,程序就会将此订户的信息添加到数据库中。l 主页:单击此按钮会返回主页面l 插入数据后对应的数据库内容 :(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平台会简单些,所以大家就开始用制作网页的工具做,我选择了Dreamweaver CS3,因为之前对其略知一二。所以网页界面做起来很简单,但麻烦事还在后头呢,都装了IIS软件,但很少有几台机子能够做好测试服务器的。这个我本以为是和机器有关,后来晚上翻着书一页页看,终于在不经意间发现了: URL 前缀由域名和 Web 站点主目录的任何一个子目录或虚拟目录(而不是文件名)组成。例如, http:/localhost/aa/发现这个之后,高兴坏了,因为测试成功了,然后就是导入数据库了,在这里有给卡住了,因为之前做的是静态网页,现在该做动态了,要连接数据库了,没办法,又得请教高手了,后来在书上例题及老师的指导下,数据库导入成功。最可怜的就是下面的事了:页面无法预览。面对此种境况,她们放弃了WEB平台开发,还了制作网页工具书,又借了VB,因为看到电竞班在用VB“开发”,我也想过弃旧换新,可是都做了这么久了,最后还是没换,上网查找导致HTTP500的原因就这样一直折腾了一天,后来还是没结果,眼看着他们的VB成果出来了,可自己的网页还是无法预览,最后只有请教老师,老师耐心的替我查找原因,现实总是那么的残忍:我的系统或硬件问题导致IIS软件不能发挥其所有功能。当时就想:换VB?怎么可能?没有解决不了的事情,在无奈的情况下,借了别人的电脑来做。主要是用她的电脑来预览页面并通过主页面来录入数据,在前面功夫的基础上后面就做得很快。因为网页制作工具简单,随着你的设计,代码也就自动生成,但你可以写代码来完成你想要的功能,方便得很,而且页面做出来也工整,看起来舒服。不像VB平台做出来的总觉得怪怪的,当然VB也有其自身的好处。随着数据库课程设计的结束,觉得自己应该具备的能力不是我会多少,而是我应该具备快速学会东西的能力。遇到什么就学什么。我们有时候很容易被一些专业名词说吓着,包括什么建模,软件工程,数据分析,数据挖掘等等。我身边就有很多同学被这些纸老虎所唬住,而没有勇气去接触他们,总是说这个太难了之类的退堂鼓的话,他们低估了自己的潜力同时也压抑住了他们自己的好奇心。与其临渊羡鱼,不如退而结网。这次数据库课程设计给我的最大的印象就是如果自

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论