《数据库原理》 城市污染查询系统.docx
《《数据库原理》 城市污染查询系统.docx》由会员分享,可在线阅读,更多相关《《数据库原理》 城市污染查询系统.docx(10页珍藏版)》请在冰豆网上搜索。
《数据库原理》城市污染查询系统
《数据库原理》课程设计报告
设计题目:
城市污染查询系统
专业:
信息管理与信息系统
计算机与数据科学学院
2019年1月10日
第1章概述
1.1选题的背景与意义
城市环境污染,是在城市的生产和生活中,向自然界排放的各种污染物,超过了自然环境的自净能力,遗留在自然界,并导致自然环境各种因素的性质和功能发生变异,破坏生态平衡,给人类的身体、生产和生活带来危害。
具有以下几个特征:
1、污染的内容全面性;
2、污染的范围广泛性;
3、污染的时间长期性;
4、污染的危害严重性。
随着科学技术水平的发展和人民生活水平的提高,环境污染也在增加,特别是在发展中国家。
环境污染问题越来越成为世界各个国家的共同课题之一。
环境污染会给生态系统造成直接的破坏和影响,如沙漠化、森林破坏、也会给生态系统和人类社会造成间接的危害,有时这种间接的环境效应的危害比当时造成的直接危害更大,也更难消除。
每一个环境污染的实例,可以说都是大自然对人类敲响的一声警钟。
为了保护生态环境,为了维护人类自身和子孙后代的健康,必须积极防治环境污染。
1.2相关技术分析
在系统的开发工具上选择的是Micorsoft公司的软件开发工具SQL-server2008,具体内容采用SQL-server数据库。
第2章系统功能设计
2.1系统总体结构设计图
2.2系统功能模块
1.2.1查询方向选择
选择所查询的城市污染方面,包括空气污染,水域污染,固体废物污染,噪声污染和土壤污染几个方向。
便于更快的了解污染状况,同时也更利于直观的了解该污染的相关情况。
1.2.2具体查询内容
1.环境质量:
显示当前某地的环境质量,并进行分析;
2.污染源:
显示出该污染在城市中的主要污染源;
3.主要污染物:
显示出该污染的主要污染物;
4.近期污染程度:
显示出近期该污染的污染程度。
第3章数据库设计
3.1需求分析
图1.1
字段
类型
长度
意义
P_source
char
10
主键污染源
P_airpollutant
char
2
大气污染物
P_noise
char
2
噪声
P_TSP
char
2
TSP
P_heavymetal
char
2
重金属
P_municipalrefuse
char
2
城市污染
图1.2污染源与污染物
字段
类型
长度
意义
P_pollutiontype
char
12
主键污染类型
P_airpollutant
char
2
大气污染物
P_noise
char
2
噪声
P_TSP
char
2
TSP
P_heavymetal
char
2
重金属
P_municipalrefuse
char
2
城市污染
图1.3污染类型与污染物
3.2概念结构设计
图2.1
图2.2
图2.3
3.3逻辑结构设计
1.各个实体所对应的关系模式如下:
污染源(污染物)
污染物(污染类型,污染源)
2.范式的判定
污染物(污染类型,污染源)3NF
3.4物理结构设计
数据库的物理设计就是为逻辑数据模型选取一个最合适应用要求的物理结构的过程,在这个阶段中要完成两大任务:
(1)确定数据库的物理结构,在关系数据库中主要是存取方法和存储结构;
(2)对物理结构进行评价,评价的重点是时间和空间效率。
索引:
图3.1
视图:
图3.2
3.5数据库实施
(一)建立数据库
createdatabaseTEXT
(二)建立污染源与污染物之间的表
createtableP_s_mc(
P_sourcechar(10)primarykey,
P_airpollutantchar
(2),
P_noisechar
(2),
P_TSPchar
(2),
P_heavymetalchar
(2),
P_municipalrefusechar
(2)
)
图4.1
(三)建立污染类型与污染物之间的表
createtableP_pt_mc(
P_pollutiontypechar(12)primarykey,
P_airpollutantchar
(2)notnull,
check(P_airpollutant='有'orP_airpollutant='无'),
P_noisechar
(2)notnull,
check(P_noise='有'orP_noise='无'),
P_TSPchar
(2)notnull,
check(P_TSP='有'orP_TSP='无'),
P_heavymetalchar
(2)notnull,
check(P_heavymetal='有'orP_heavymetal='无'),
P_municipalrefusechar
(2)notnull,
check(P_municipalrefuse='有'orP_municipalrefuse='无')
)
图4.2
(4)建立DDL触发器
useTEXT
go
createtriggersafe
ondatabase
fordrop_table,alter_table
asprint'不能删除或修改数据表'
rollback
go
图4.3和图4.4
3.6数据库运行与维护
数据库的备份
backupdatabase{TEXT|@TEXT_var}
Todisk=‘C:
\ProgramData\Microsoft\Windows\StartMenu\Programs\MicrosoftSQLServer2008R2\TEXT.bak’
第4章结束语
通过这一次的设计,我学会了很多东西,也知道了自己的不足,我觉得我学的还是不怎么牢固,总是忘掉一些小细节,导致总是有点问题,不过好在做完了,我今后一定要更加努力。
这次的设计让我更加的了解数据库的知识,实践与纸上谈兵是完全不同的。