报刊订阅数据库设计.docx

上传人:b****8 文档编号:9142725 上传时间:2023-02-03 格式:DOCX 页数:18 大小:97.55KB
下载 相关 举报
报刊订阅数据库设计.docx_第1页
第1页 / 共18页
报刊订阅数据库设计.docx_第2页
第2页 / 共18页
报刊订阅数据库设计.docx_第3页
第3页 / 共18页
报刊订阅数据库设计.docx_第4页
第4页 / 共18页
报刊订阅数据库设计.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

报刊订阅数据库设计.docx

《报刊订阅数据库设计.docx》由会员分享,可在线阅读,更多相关《报刊订阅数据库设计.docx(18页珍藏版)》请在冰豆网上搜索。

报刊订阅数据库设计.docx

报刊订阅数据库设计

 

数据库课程设计

(一)

 

班级:

姓名:

学号:

指导老师:

 

一、课程设计目的

·在理论和实验教学基础上进一步巩固已学基本理论及应用知识并加以综合提高

·学会将知识应用于实际的方法,提高分析和解决问题的能力,增强动手能力

·为毕业设计和以后工作打下必要基础

二、课程设计要求

运用数据库基本理论与应用知识,在微机RDBMS的环境上建立一个数据库应用系统。

要求把现实世界的事物及事物之间的复杂关系抽象为信息世界的实体及实体之间联系的概念模型,再转换为机器世界的数据模型和数据文件,并对数据文件实施检索、更新等操作。

1.可在以下内容中仅选一题

2.用E-R图设计概念模型

3.设计关系模型

4.分析关系模式各属于第几范式,阐明理由

5.设计应用系统的系统结构图

6.使用对象许可和命令许可设计安全性控制检查程序

7.使用CHEEK和RULE设计表的有效性规则及说明

8.为每一库表设计插入、删除、修改触发器

9.设计关系的外码约束

10.完成内容指定的各项要求

11.分析遇到的问题,总结并写出课程设计报告

12.自我评价

三、课程设计题目

题目1:

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

接收并且处理订户的订阅要求,回答订户的查询,统计报刊的订阅情况。

订单、订户、报刊目录、投递卡的数据见附表1-4。

完成以下操作:

(1)定义各文件的结构

(2)编制输入子系统,完成数据的录入

(3)检索地址为“太平路4890号”的订户信息

(4)检索份数多于3的期号

(5)检索订阅“01-01”报刊代号的订户名、报刊名、订阅份数

(6)检索没有订阅“人民日报”的订户号

(7)检索至少订阅“人民日报”的订户名

(8)检索至少订阅了“人民日报”的所有期号的订户号

(9)检索未订阅代号为“03-01”报刊的订户名

(10)检索被多个订户订阅的报刊之代号

(11)增加一种报刊“04-01,经济信息报,周报,0.5”

(12)删去报刊代号为“01-03”的报刊

(13)把订户号“161213”改为“161225”

(14)把“090104”订户所订的“01-03”报刊的截止日期改为12

(15)取出订阅期在1到12月份的各种报刊的代号和总数

(16)求每种报刊的订阅总数,并给出报刊代号

(17)统计各种报刊的订户数

(18)输出如下报表:

订户姓名

报刊名称

期号

日期

起订期

终订期

份数

(19)输出操作结果和程序清单

附表1-4

附表1:

订单(ORDER)

订户号(CNO)

日期(DATE)

报刊代号(NMNO)

起订期(START)

终订期(TERM)

份数

(QTY)

090101

831215

01-01

01

12

1

090101

840120

03-01

04

06

2

090101

840101

62-20

01

06

1

090104

831205

01-01

01

12

5

090104

840131

01-03

02

05

2

090205

840715

01-03

09

12

1

090205

840621

03-01

07

12

2

090205

831207

13-30

01

12

1

090205

840531

58-80

07

12

1

160412

831223

01-01

01

12

1

160412

840317

01-03

04

12

2

160412

840625

03-01

07

08

1

161213

840931

01-01

11

12

2

161213

840316

62-20

04

07

1

167480

840127

01-01

02

12

2

 

附表2:

订户(CUSTOMER)

编号

(CNO)

姓名

(NAME)

住址

(ADDR)

090101

单明

北京路10号

090104

杨春花

中山路4235号

090205

陈卫星

汉府街1234号

160412

李宇

光华门路784号

161213

吴明镇

鼓楼街2107号

167480

王文武

太平路4890号

 

附表3:

报刊目录(NMTABLE)

代号

(NMNO)

名称

(TITLE)

刊期

(PERIOD)

单价

(PRICE)

01-01

人民日报

日报

0.067

01-03

中国日报

周六报

0.10

03-01

解放日报

日报

0.033

11-06

物价市场

半月刊

0.04

13-30

内蒙古科技报

周报

0.03

58-80

新疆社会科学

季刊

0.60

62-20

四川中医

月刊

0.35

 

附表4:

投递卡(SENDING)

订户号

(CNO)

报刊代号(NMNO)

期号

(ISSUE)

份数

(QTY)

090101

01-01

2407

1

090101

03-01

134

2

090101

62-20

204

1

090104

01-01

2407

5

090104

01-03

7840

2

090205

01-03

7840

1

090205

03-01

2401

2

090205

13-30

780

1

090205

58-80

230

1

090205

58-80

231

1

160412

01-01

2407

1

160412

01-03

7840

2

160412

01-01

2408

1

160412

01-03

7841

2

161213

01-01

2407

2

161213

62-20

45

1

 

E-R图

n1

1n

n1

 

关系模型

属于((订户号,报刊号),订户号)

包括((订户号,报刊号),报刊号)

对应(订户号,(订户号,报刊号))

该关系属于第一范式

因为存在部分函数依赖

 

四、实验内容及其源程序

4.检索地址为“太平路4890号”的订户信息

print"所查订户信息为:

"

select*

fromcustomer

wherecustomer.addr='太平路4890号'

结果:

所查订户信息为:

cnonameaddr

----------------------------------------

167480王文武太平路4890号

5.检索份数多于3的期号

print"所查期号信息为:

"

selectissue

fromsending

whereqty>3

结果:

所查期号信息为

Issue

-------

2407

6.检索订阅“01-01”报刊代号的订户名,报刊名,订阅份数

print"所查订户名,报刊名,订阅份数信息为:

"

select[name],title,qty

fromcustomer,nmtable,[order]

where[order].cno=oand[order].nmno=nmtable.nmno

结果:

所查订户名,报刊名,订阅份数信息为

Nametitleqty

-------------------------------------------------------

单明人民日报1

单明解放日报2

杨春花人民日报5

杨春花中国日报2

陈卫星内蒙古科技报1

陈卫星新疆社会科学1

陈卫星解放日报2

陈卫星中国日报1

李宇人民日报1

李宇解放日报1

李宇中国日报2

吴明镇人民日报2

王文武人民日报2

7.检索没有订阅“人民日报”的订户号

print"所查订户名信息为:

"

selectdistincto

from[order],customer,nmtable

where[order].cno=oand[order].nmno=nmtable.nmnoandnmtable.title!

='人民日报'

结果:

所查订户名信息为:

cno

-----------

090101

090104

090205

160412

8.检索至少订阅“人民日报”的订户名

print"所查订户名信息为:

"

selectdistinctname

from[order],customer,nmtable

where[order].cno=oand[order].nmno=nmtable.nmnoandnmtable.title='人民日报'

结果:

所查订户名信息为:

name

----------

单明

李宇

王文武

吴明镇

杨春花

9.检索至少订阅“人民日报”的所有期号的订户号

print"所查订户号信息为:

"

selectdistinctcno

fromsending,nmtable

wheresending.nmno=nmtable.nmnoandnmtable.title='人民日报'

groupbycno

havingcount(distinctissue)=(selectcount(distinctissue)

fromsending,nmtable

wheresending.nmno=nmtable.nmnoandnmtable.title='人民日报')

结果:

所查订户号信息为:

cno

-----------

160412

10.检索未订阅代号为“03-01”报刊的订户名

print"所查订户名信息为:

"

selectdistinct[name]

from[order],customer,nmtable

where[order].cno=oand[order].nmno=nmtable.nmnoand[order].nmno!

='3-01'

结果:

所查订户名信息为:

name

-----------

陈卫星

单明

李宇

王文武

吴明镇

杨春花

11.检索被多个用户订阅的报刊之代号

print"所查报刊代号信息为:

"

selectnmno

from[order]

groupbynmno

havingcount(cno)>1

结果:

所查报刊代号信息为:

nmno

--------

01-01

01-03

03-01

62-26

12.增加一种报刊“04-01,经济信息报,周报,0.5”

insert

intonmtable

values('04-01','经济信息报','周报','0.5')

结果:

存放于数据库中

13.删去报刊代号为“01-03”的报刊

delete

fromnmtable

wherenmno='01-03'

结果:

存放于数据库中

14.把订户号“161213”改为“161225”

updatecustomer

setcno='161225'

wherecno='161213'

结果:

存放于数据库中

15.把“090104”订户所订的“01-03”报刊的截止日期改为12

update[order]

setterm='12'

wherecno='090104'andnmno='01-03'

结果:

存放于数据库中

16.检索订阅期在1-12月份的各种办刊的代号和总数

print"所查订阅期在1-12月份的各种办刊的代号和总数:

"

selectnmno,sum(qty)

from[order]

whereterm<=12andterm>=1

groupbynmno

结果:

所查订阅期在1-12月份的各种办刊的代号和总数:

Nmno无列名

------------------------------------------------------------------------------------

01-0111

01-035

03-015

13-301

58-801

62-262

17.检索每种报刊的订阅总数,并给出报刊代号

print"所查每种报刊的订阅总数,报刊代号:

"

selectnmno,sum(qty)

from[order]

groupbynmno

结果:

所查每种报刊的订阅总数,报刊代号:

Nmno无列名

---------------------

01-0111

01-035

03-015

13-301

58-801

62-262

18.统计各种报刊的订户数

print"所查各种报刊的订户数:

"

selectnmno,count(cno)

from[order]

groupbynmno

结果:

所查各种报刊的订户数:

Nmno无列名

--------------------

01-015

01-033

03-013

13-301

58-801

62-262

19.输出如下报表:

订户姓名

报刊名称

期号

日期

起定期

终定期

份数

print"所输出表格为:

"

select[name]订户姓名,title人民日报,issue期号,start起定期,term终定期,[order].qty份数

fromcustomer,nmtable,sending,[order]

where[order].cno=oand[order].nmno=nmtable.nmnoando=o

结果:

所输出表格为:

姓名报刊名称期号起定期终定期份数

---------------------------------------------------------------------------------------------------------------

单明人民日报13401121

单明人民日报20401121

单明人民日报240701121

单明解放日报13404062

单明解放日报20404062

单明解放日报240704062

杨春花人民日报240701125

杨春花人民日报784001125

杨春花中国日报240702052

杨春花中国日报784002052

陈卫星内蒙古科技报23001121

陈卫星内蒙古科技报23101121

陈卫星内蒙古科技报240101121

陈卫星内蒙古科技报78001121

陈卫星内蒙古科技报784001121

陈卫星新疆社会科学23007121

陈卫星新疆社会科学23107121

陈卫星新疆社会科学240107121

陈卫星新疆社会科学78007121

陈卫星新疆社会科学784007121

陈卫星解放日报23007122

陈卫星解放日报23107122

陈卫星解放日报240107122

陈卫星解放日报78007122

陈卫星解放日报784007122

陈卫星中国日报23009121

陈卫星中国日报23109121

陈卫星中国日报240109121

陈卫星中国日报78009121

陈卫星中国日报784009121

李宇人民日报240701121

李宇人民日报240801121

李宇人民日报784001121

李宇人民日报784101121

李宇解放日报240707081

李宇解放日报240807081

李宇解放日报784007081

李宇解放日报784107081

李宇中国日报240704122

李宇中国日报240804122

李宇中国日报784004122

李宇中国日报784104122

吴明镇人民日报240711122

吴明镇人民日报4511122

五、实验小结

通过这次课程设计,我更加深刻的了解和认识sql语言的相关查询,更改,删除等操作。

同时,也提高了自己的应用能力。

在上机过程中,对自己的错误也有了改进的措施,避免以后工作中错误再次发生。

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

当前位置:首页 > 高等教育 > 医学

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

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