ImageVerifierCode 换一换
格式:DOCX , 页数:25 ,大小:633.89KB ,
资源ID:29920756      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/29920756.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(《数据库原理》 城市天气查询系统.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

《数据库原理》 城市天气查询系统.docx

1、数据库原理 城市天气查询系统 数据库原理课程设计报告设计题目: 城市天气查询系统 专 业: 信息管理与信息系统 计算机与数据科学学院2019 年01月06日前言当代社会,人们在出行前往往要了解当天或者随后几天的天气情况,然后根据天气情况推断自己的出行状态以及该携带何种物品,于是,天气预报就成为了他们判断并了解这些信息的手段。随着现代社会信息化的发展,天气预报系统及天气查询系统也在不断演变。及时,准确地向人们发布最新的天气情况是气象信息系统的首要任务,但同时也要确保人们能够通过天气查询系统及时获得准确的天气情况。这次课程设计,主要采用了SQL语言,设计者通过完善天气管理及查询系统的功能,其中包括

2、查询,修改,增加,删除等,并利用需求分析,E-R图及相关结构设计对天气情况进行分析,为使用者及时,准确的提供当地最新及未来数天的天气情况预报,其中包括时间,温度,空气质量,相对湿度,风向,风力,气压等内容。使用者可以使用查询功能,按照地域或者时间查找相关的信息以及实现简单的统计功能。管理员可以凭借其身份认证在网络上完成修改,增加,删除等功能。从整体上看,此次设计的查询系统从某些方面来说还是可以满足人们的简单需求的,而且操作简单,布局容易,方便易懂。1 概述1.1 选题的背景与意义随着网络的日益发展,利用网页实现天气预报功能已将相当普遍。信息化的时代,人们出门前不必再去电视机前等待着观看实时天气

3、预报,而是利用手机,电脑等现代化设备,通过网络连接随时随地掌握当地的天气变化情况。在众多天气预报查询系统中,此次课程设计旨在开发一个功能完善,界面友好,操作简单,信息齐全,部署方便的天气查询系统。使用者可以通过查询的方式获得所需的天气信息情况,管理员可以通过其身份认证实现对天气数据的修改,增加,删除等功能。此次设计其优点就是人们可以通过较为简单的操作就可以获得自己所需的天气信息情况,不足之处就是查询,修改等功能必须在有网络连接的情况下实现。1.2相关技术分析操作系统Windows10数据库软件SQLsever2012操作语言SQL语言2 系统功能设计2.1系统总体结构设计图城市天气查询系统包括

4、员工,城市,天气管理模块及用户查询四个模块,其结构图如下图所示:图2.1系统总体结构设计图2.2 系统功能模块2.2.1员工管理模块此模块包含对员工基本信息的添加,修改,删除和查询。员工输入自己的编号和密码就可以进入管理系统的主界面,员工基本上可以对主界面的所有信息进行操作。2.2.2城市管理模块此模块包含城市的添加,查找和删除。用户可以通过手动输入,自动定位和选择系统内置的热门城市等方式选择目标城市。也可以在城市管理界面完成对城市的切换。通过对各个城市进行搜索查询,准确定位到每一个城市,然后再通过查询天气功能准确的显示每个每个城市的准确情况。2.2.3天气管理模块此模块主要完成对用户所选城市

5、的天气基本信息,如温度,相对湿度,风力,风向,降水量,紫外线等的添加,修改,删除和查询。员工可以通过其管理员身份认证进入系统主界面,对相关天气信息进行添加,修改,删除和查询。2.2.4用户查询模块此模块主要用于用户通过注册或者登陆的方式进入天气查询系统,通过输入时间和地点获得所需的天气信息。系统功能模块如图所示: 图2.2员工管理流程图图2.3用户查询流程图3数据库设计3.1 需求分析3.1.1数据流图图3.1数据流图3.1.2顶层数据流图图3.2顶层数据流图3.1.3数据字典(1)数据项表3.1 数据项列表数据项名含义说明类型长度与其他数据项的关系eno员工的编号int3是employees

6、的主键ename员工的姓名vachar10epassword员工的密码char12cityname城市的名称vachar10是城市表的主键dates日期datetime10是天气表的主键cityname城市的名称varchar10temperature温度float10relativeHumidity相对湿度char10windDirection风向vachar8wind风力int3bodyTemperature体感温度float8airPressure气压char8airQuality空气质量vachar10Uitraviolet紫外线vachar10uno用户的账号int10是用户表的主键

7、upassword用户的密码char12uname登录名vachar10(2)数据结构表3.2 数据结构列表数据结构名含义说明员工员工编号,姓名,密码城市城市名称天气日期,城市名称,温度,相对湿度,风向,风力,体感温度,气压,空气质量,紫外线用户用户账号,登录密码,登录名(3)数据流表3.3 数据流列表数据流名输入输出变更城市信息变更信息城市记录查询城市信息城市名称城市记录变更天气信息变更信息天气记录查询天气信息城市名称,日期等路况信息变更员工信息变更信息员工记录查询员工信息员工编号,姓名等员工记录变更用户信息变更信息用户记录查询用户信息用户账号,登录名等用户记录(3)数据存储表3.4 数据存

8、储列表数据存储名流入过程流出过程员工信息变更员工信息查询员工信息城市信息变更城市信息查询城市信息天气信息变更天气信息查询天气信息用户信息变更用户信息查询用户信息(4)处理过程表3.5 处理过程列表处理过程名输入输出查询城市名称,日期所需的天气信息变更信息变更信息再次查询信息用户登录用户账号,密码,登录名用户登录员工登录员工编号,姓名,密码员工登录3.2 概念结构设计3.2.1 局部E-R图数据抽象后得到了实体和属性,实际上实体和属性是相对而言的,往往要根据实际情况进行必要的整理。在调整过程中要遵循以下两条原则:1.实体具有描述信息,而属性没有。即属性必须是不可分的数据项,不能再由另一些属性组成

9、。2.属性不能与其他实体具有联系,联系只能发生在实体之间。(1)员工与天气信息E-R图图3.3员工与天气信息E-R图(2)员工与城市信息E-R图图3.4员工与城市信息E-R图(3)用户与天气信息E-R图图3.5用户与天气信息E-R图3.2.2全局E-R图合并各分图,消除属性冲突、命名冲突、结构冲突等三类冲突,得到初步E-R图,再消除不必要冗余,得到的基本E-R图如下所示:图3.6全局E-R图3.3逻辑结构设计逻辑结构设计一般分为三步:1初始关系模式设计;2关系模式规范化;3模式的评价与改进3.3.1 E-R图向关系模式的转换转换原则:一个实体转换为一个关系模式,实体的属性就是关系的属性,实体的

10、码就是关系的主码;一个联系转换为一个关系模式, 与该联系相连的各实体的主码以及联系的属性均转换为该关系的属性。该关系的主码有三种情况。如果联系为1:,则每个实体的主码都可以是关系的候选码。如果联系为1:n,则n端实体的主码是关系的主码。如果联系为n:m,则每个实体的主码的组合是关系的主码。将四个实体转化成关系模式:员工(员工编号,姓名,密码);城市(城市名称);天气(日期,城市名称,温度,相对湿度,气压,风向,风力,空气质量,体感温度,紫外线);用户(用户账号,登录名,登录密码)将两个联系转化成关系模式:管理(员工编号,日期,城市名称);查询(用户账号,日期,城市名称)由于上述转换基于的是全局

11、E-R模型,因此,上述转换得到的模式满足3NF。3.3.2子模式的设计表3.6 员工基本信息表列名数据类型可否为空说明enointnot null员工的编号enamevacharnot null姓名epasswordcharnot null密码表3.7 天气基本信息表列名数据类型可否为空说明datesdatetimenot null日期citynamevacharnot null城市的名称temperaturefloatnot null温度relativeHumiditycharnot null相对湿度windDirectionvacharnot null风向windintnot null风力

12、bodyTemperaturefloatnot null体感温度airPRESSUREcharnot null气压airQualityvacharnot null空气质量Uitravioletvacharnot null紫外线表3.8 用户基本信息表列名数据类型可否为空说明unointnot null用户的账号unamevacharnot null登录名upasswordcharnot null用户的密码3.4 物理结构设计不同的数据库产品所提供的物理环境、存取方法和存储结构有很大差别,能供设计人员使用的设计变量、参数范围也很不相同,隐藏没有通用的物理设计方法可遵循,只能给出一般的设计内容和原

13、则。数据库上运行的各种事务响应时间小、存储空间利用率高、事务吞吐率大,首先对要进行的事务进行详细分析,获得选择物理数据库设计所需要的参数;其次,要充分了解所用关系数据库管理系统的内部特征,特别是系统所提供的存取方法和存取结构。 以下是确定关系的存取方法的依据: 1. 对于数据库查询事务,需要得到:查询的关系,查询条件所涉及的属性,连接条件所涉及的属性,查询的投影属性。 2. 对于数据更新事务,需要得到:被更新的关系,每个关系上的更新操作条件所涉及的属性,修改操作要改变的属性值。 3. 除此之外,还需要制定每个事务在各关系上运行的频率和性能要求。 所谓选择索引存取方法,实际上就是根据应用要求确定

14、对关系的那些属性列建立索引、哪些属性列建立组合索引、哪些索引要设计唯一索引。 1)如果一个(或一组)属性经常在查询条件中出现,则考虑在这个(或这组)属性上建立索引(或组合索引)。 2)如果一个属性经常作为最大值和最小值等聚集函数的参数,则考虑在这个属性上建立索引。 3)如果一个(或一组)属性经常在连接操作的连接条件中出现,则考虑在这个(或这组)属性上建立索引。而确定数据库存储结构时要综合考虑存取时间、存储空间利用率和维护代价三方面的因素.这三个方面常常是相互矛盾的,例如消除一切冗余数据虽然能够节约存储空间,但往往会导致检索代价的增加,因此必须进行权衡,选择一个折中方案因此,对于此天气查询系统,

15、我将选择B+树索引。在此查询系统中,员工信息表,城市信息表,天气信息表,用户信息表中的主键分别为员工编号,城市名称,日期,用户账号,而当用户查询天气信息时,需要对此四个表进行连接才可查询所需信息。在员工信息表中的员工编号和姓名上创建唯一索引;在城市信息表中的城市名称上创建唯一索引;在天气信息表中的日期,和城市名称上创建唯一索引;在用户信息表中的用户账号和登录名上创建唯一索引,如下图所示:图3.7创建索引3.5 数据库实施3.5.1数据库,表建立的代码(1)创建一个数据库,数据库名为KSMcreate database KSM(2)创建一个员工信息表,并输入相关的员工编号,姓名,密码信息crea

16、te table employees(eno int primary key,-员工编号ename varchar(10),-员工姓名epassword char(12) not null,-员工的密码uno int ,dates datetime )insert into employees values(001,ksm,123456,101,2018-2-22);insert into employees values(002,zhw,532265,102,2018-3-27);insert into employees values(003,wj,58721YN,103,2018-5-2

17、);insert into employees values(004,lzp,5498oiw,104,2018-6-26);图3.8员工信息表(3)创建一个城市信息表,输入城市的名称create table city(cityname varchar(10) primary key-城市的名称)insert into city values(杭州);insert into city values(平顶山);insert into city values(郑州);insert into city values(上海);图3.9城市信息表(4)创建一个天气信息表,输入相关的天气信息。create

18、table weather(dates datetime primary key,-日期cityname varchar(10) foreign key references city,-外键城市名称temperature float(10),-温度relHumidity char(10) ,-相对湿度windDir varchar(8),-风向wind int,-风力bodyTemp float(10),-体感温度airPre char(8),-气压airQua varchar(8),-空气质量Uitra varchar(10),-紫外线) insert into weather value

19、s(2018-2-22,杭州,20.0,57%,南风,3,21.5,1kgw/cm2,良好,良好);insert into weather values(2018-3-27,平顶山,25.0,35%,东北风,2,26.5,1kgw/cm2,严重污染,良好);insert into weather values(2018-5-2,郑州,23.0,40%,东南风,1,23.5,1kgw/cm2,好,差);insert into weather values(2018-6-26,上海,24.0,56%,西北风,3,21.5,1kgw/cm2,良好,好);图3.10天气信息表(5)创建一个用户表,输入

20、用户的账号,用户密码,登录名create table users(uno int primary key,-用户的账号upassword char(12),-用户密码uname varchar(10)-登录名)insert into users values(101,12356,小白);insert into users values(102,148ox,小话);insert into users values(103,1235wox,小绿);insert into users values(104,5621wlk,小黑);图3.11用户信息表3.5.2查询语句(1)查询用户信息select

21、*from users图3.12查询用户信息(2)查询天气信息select *from weather图3.13查询天气信息(3)查询城市信息select *from city图3.14查询城市信息(4)查询员工信息select *from employees图3.15查询员工信息3.5.3建立视图(1)用于查询员工基本信息的视图如下: 图3.16员工信息视图(2)用于查询城市基本信息的视图如下:图3.17城市信息视图(3)用于查询天气基本信息的视图如下:图3.18天气信息视图(4)用于查询用户基本信息的视图如下:图3.19用户信息视图3.5.4触发器触发器的删除:当删除城市表中的城市信息时,

22、对应的天气表中有关此城市的天气信息也被删除。use KSMgocreate trigger del_x on city after deleteas delete from weatherwhere weather.cityname in (select cityname from deleted)godelete from city where cityname=平顶山select *from cityselect *from weather图3.20触发器的删除触发器的插入:当在天气表中插入天气信息时,天气表中含有的城市的天气信息会成功插入,不含有的城市天气信息插入失败。use KSMgo

23、create trigger insert_sx on weatherafter insertas if exists (select *from inserted where cityname in(select cityname from city) print 添加成功else begin print 插入失败 rollback transaction endinsert into weather values(2018-2-23,长沙,20.0,57%,南风,3,21.5,1kgw/cm2,良好,良好);insert into weather values(2018-3-8,上海,20

24、.0,57%,南风,3,21.5,1kgw/cm2,良好,良好);select *from weather图3.21触发器的插入图3.22触发器的插入3.6数据库运行与维护3.6.1备份与还原的原则备份类型的选择和还原模式的确定都应遵循这样的原则:尽最大可能、以最快速度减少或消灭数据丢失。3.6.2 注意事项(1)如果只进行数据库备份,那么将无法还原自最近一次数据库备份以来数据库中所发生的所有事务。(2)如果进行数据库备份时也进行事务日志备份,那么可以将数据库还原到失败点。那些在失败之前为提交的事务将无法还原,但如果您在数据库失败后立即对当前处于活动状态的事务进行备份,则为提交的事务也可以还原

25、。3.6.3 数据库的备份计划(1)有规律地进行数据库备份,例如每晚进行备份。(2)以较小的时间进行差异备份,比如每隔3小时或4小时。(3)在相邻的两次差异备份之间进行事务日志备份,可以每20分钟或30分备份一次3.6.4 数据库的还原计划如果采用上述的备份方案,在进行还原的时候,我们可以先还原最近一次的数据库备份,接着进行差异备份的还原,最后进行事务日志备份的还原。但是,在更多情况下我们希望还原到数据库失败的那一刻,此时我们只需按照下面的方法就可以达到目的了(1)如果能访问数据库的事务日志文件,则应备份当前正处于活动状态的事务日志;(2)还原最近一次数据库备份;(3)还原最近一次差异备份;(

26、4)按顺序还原自差异备份以来进行的事务日志备份4 结束语通过这次课程设计得出一个结论:知识必须通过应用才能实现其价值!有些东西以为学会了,但真正到用的时候才发现是两回事,所以我认为只有到真正会用的时候才是真的学会了。同时在设计的过程中发现了自己的不足之处,对一些前面学过的知识理解得不够深刻,掌握得不够牢固,比如说E-R图的合并,触发器等。数据库的设计最主要的就是分析,合理设计表的结构,规范表的字段,建立合理的关系及模式图,而在此次设计中均有所体现,虽然设计过程不是很困难,但是操作比较复杂,耗时较多。但我在整个设计中还是懂得了许多东西,不仅培养了我独立工作的能力,还树立了对自己工作能力的信心,相

27、信会对今后的学习工作生活有非常重要的影响。而且大大提高了动手和思维的能力,使我充分体会到了在创造过程中探索的艰难和成功时的喜悦。虽然这个设计做的并不完美,但是在设计过程中所学到的东西是这次课程设计的最大收获和财富,使我终身受益。 对我而言,知识上的收获重要,精神上的丰收是可喜的。挫折是一份财富,经历是一份拥有。这次实际操作必将成为我们人生旅途上一个非常美好的回忆!参考文献1 陈志泊. 数据库原理及应用教程. 人民邮电出版社, 2018.2 高凯. 数据库原理与应用.2版. 电子工业出版社, 2016.3 张红娟,傅婷婷. 数据库原理. 西安电子科技大学出版社, 2014.4 唐好魁. 数据库技术及应用.3版.北京:电子工业出版社,2015.5杨海霞. 数据库原理与设计.2版.北京:人民邮电出版社,2015.

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

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