文章目录:
在这学期,我们开设了一门课程——数据库原理及应用,这门课可以说是计算机专业最重要的一门课之一了!!!如果说,你对软件开发特别感兴趣,那么,就一定要学好数据库这门课,因为提到软件,就会随之联想到数据,试问:哪一个软件没有数据呢?所以说,学号数据库这门课程,对我们做项目、进行软件开发的帮助是非常非常大的!!!
学好数据库,不能仅仅只会一些SQL语句,还要对这当中的很多概念进行理解掌握,例如:什么是数据库的三级模式和两级映像、数据库系统具有哪些特点、SQL语句的语法和编写规则、什么是1NF、2NF、3NF、BCNF、模式分解中的最小依赖集的求解和无损分解、保持函数依赖的判断、以及最后的数据库保护、并发控制。
可以说,数据库这门课程的知识点非常零碎,但总体来说不算太难,当我们对这些知识学的差不多的时候,就可以自己尝试着做一个数据库课程设计,下面,我把自己为期一周的数据库课程设计的内容分享给大家,希望可以对大家学习数据库提供一些有效的帮助!!!👇👇👇
1.设计开篇
-
1.1 设计时间
2020年5月24日——2020年5月31日(时间仅仅是博主留作纪念,证明自己学过数据库😁😁😁)
-
1.2 设计目的
数据库原理及应用课程设计是计算机科学与技术专业集中实践性环节之一,是学习完《数据库原理及应用》课程后进行的一次全面的综合性练习。其目的在于加深对数据库基础理论和基本知识的理解,掌握使用数据库进行软件开发的基本方法,提高运用数据库解决实际问题的能力,最终实现对于给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(比如:信息需求和处理需求)。同时,此次设计对于我们将来的毕业论文设计和具体工作的实践有着重要的意义。
-
1.3 设计任务
本课程设计的任务是通过开发一个数据库机票预定信息系统,来学习数据库系统的设计与开发,以及使用Navicat等一些MySQL相关的软件来作为开发工具。通过对计算机软硬件解决方案的论证,对应用领域进行调查分析,同时也会参考各种资料和进行数据库系统开发实践。最后,在指导老师的帮助下,能够自主的来实现课程设计的全部内容。(在这里,给大家说明一下,数据库不只有MySQL,还有SQL Server,DB2等,我学习的是MySQL,编写SQL语句使用的软件是Navicat)
2.系统概述
随着全球逐渐的进入信息化时代,各个国家各个地区的航空公司为了适应当前越来越激烈的竞争,不断地增强公司的信息化程度、提高公司的售票管理的效率,所以就建立起了相应的不同的机票预订信息系统,成功实现了航空公司对售票效率和管理水平上的进一步提高。
在计算机网络、数据库等一些先进的开发平台上,利用现有的软件,配置一定的硬件,可以尝试的去开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的机票预订系统,实现航空公司的机票预定和销售的数据库管理系统,为企业的决策层提供准确、精细以及迅速的机票预定销售信息。
随着社会发展的不断进步,人民消费水平的不断提高,致使民航事业不断壮大,乘坐民航的消费者也越来越多,因此机票的预定也越发重要,航空公司为方便客户出行,需要开发一个机票预订信息系统。根据预定机票的客户信息(姓名、身份证号,联系方式、出行时间以及出行目的地等),系统经过查询航空公司内的航班数、每个航班的座舱等级以及座位号等信息,来为旅客安排合理的航班。
3.设计内容
3.1 需求分析
-
3.1.1 业务需求
机票预定需要提供一下业务:订票、录入客户信息、录入航班信息、登记机票、查询机票、航班、客户信息等。
-
3.1.2 功能需求
业务员从客户获得信息并且输入客户信息,形成客户信息表。
业务员输入航班信息,输入机票信息,形成航班基本信息表和机票信息表。
通过客户信息以及机票信息、航班信息形成机票出售信息表。
业务员和客户查询信息。
3.2 系统设计
-
3.2.1 概念结构设计
(1)航班信息实体-属性图 👇👇👇(由于E-R图在博文中不太好画,所以在这里给大家上传截图)
(2)机票信息实体-属性图 👇👇👇
(3)客户信息实体-属性图 👇👇👇
(4)机票出售信息实体-属性图 👇👇👇
上面是4个局部E-R图,下面我们根据这4个局部E-R图总结出全局E-R图,如下图所示👇👇👇
-
3.2.2 逻辑结构设计
我们将合并之后的全局E-R图(机票预定信息系统)转换为关系模式(主键用下划线标注)
①航班(航班编号,航班名称,起飞地点,起飞时间,座位数)
②客户(姓名,联系方式,证件类型,证件号)
③机票(机票号,航班号,座位号,座位等级,票价,是否预定,折扣,业务员)
④售出机票(航班号,起飞时间,机舱等级,票价,折扣,姓名,付款情况,座位号)
-
3.2.3 物理结构设计
根据总体结构图设计出机票预订信息系统的基本表的结构。 下面是4个基本表的具体内容👇👇👇
3.3 系统实施
-
3.3.1 数据库实现
首先,创建机票预订数据库,然后根据基本表的结构分别创建四个基本表,具体实现的SQL语句如下:👇👇👇
(1)创建机票预订数据库
CREATE DATABASE 机票预定;
(2)创建航班信息表
(3)创建客户信息表
(4)创建机票信息表
(5)创建售出机票信息表
-
3.3.2 数据载入
(1)航班信息表具体数据
(2)客户信息表具体数据
(3)机票信息表具体数据
(4)售出机票表具体数据
3.4 运行与测试
-
3.4.1 查询数据
(1)查询起飞地点为“沈阳”,同时起飞时间是“3:10”的航班信息。
(2)查询航班号为“LN002”,同时是经济舱的机票信息。
(3)查询王五的客户信息。
(4)查询航班号为“LN003”,同时是贵宾舱的机票售出情况。
-
3.4.2 分析数据
在设计机票预订信息系统数据库的时候,很多情况都是需要结合实际生活来一步一步进行的。由于要做的事情是机票的预定,可以将其想象为操作系统中的实时系统,需要在规定的时间内为用户预定机票做出相应的处理。
那么,在设计每个局部E-R图以及全局E-R图的时候,我们需要清楚各个实体、属性之间的联系(比如:哪个属性作为主键,这个属性能否为空)。而在创建每一个基本表的时候,我们需要注意每个属性用什么数据类型存储、以及长度(如若不考虑长度,可能会导致无法存储或者数据溢出),当然还要记得对字符集的修改(utf8)。
4.总结与心得体会
通过这次数据库课程设计,我发现在这其中还有很多我们没有学到、但需要用到的知识,也有很多需要我们进一步掌握的内容。我也慢慢的发现,有很多学过的东西理解的还差不多,但是不能灵活的运用到实际生活中,我想这就需要我们自己不断地去做大量的实践,来增加在实际生活中使用这些知识的经验。通过自己不断地学习努力,去发现问题、解决问题,在这个过程中,我也会更加深入的理解这学期所学习的数据库课程的知识,当然也会和其他课程(操作系统、数据结构)有一定的联系。
在老师提出数据库还有一个课程设计的时候,我就开始在网上查找这方面的资料,也清楚了数据库设计中的这些步骤,从需求分析→概念结构设计→逻辑结构设计→物理结构设计,也算是体验到了这里面的不易(也会有一些乐趣)。有些东西书上写的很清楚,看上去貌似也挺简单,但真正需要自己来设计完成的时候,才发现这其中的难度所在。
那么,展望未来,大学毕业之后,无论是否考研,都会面临着找工作的压力,从选择这个专业,到进入这个专业,再到以后从事本专业方面的工作,这是一个循序渐进的过程,更是需要我们不断地去学习、去实践,当我们面对困难时,要用于尝试,去克服它、战胜它,只有这样,才会拥有越来越多的实践经验,也会为我们以后就业提供极大的帮助。
最后想说的是,在本次数据库课程设计中,由于知识掌握的还不算是很全面,所以在设计过程中,也会出现一些错误,希望老师能够给予批评和指导,我也会认真听取老师的建议,把数据库以及其他课程学的更好。
以上就是博主自己花了一个星期的时间,完成的数据库课程设计——机票预定信息系统,在这其中,其实也可以添加数据库视图的创建、对数据进行备份这些操作,感兴趣的朋友们可以自己尝试完成一下。因为博主本学期刚刚学完数据库,所以博文中可能难免会出现错误,还请大家谅解!!!😀😀😀