一.题目要求
请根据你对铁路购票业务流程的理解,完成铁路购票系统的数据库设计,以E-R模型展示你的设计方案并实现为数据库,具体要求请下载“课程资料中的“数据库实验报告模板.doc”。最终提交你的实验报告WORD版。要求Word文件更名为“”学号姓名数据库设计实验报告“的格式。
二.作业具体要求
实验目的:
1、根据需求完成数据库设计建模,熟练使用E-R模型;
2、在数据库设计方案基础上实现为数据库。
实验任务:
1、根据业务流程抽象出相关实体及关系;
2、使用E-R模型实现设计方案;
3、基于E-R模型实现为可运行的数据库。
请完成以下内容:
1、以E-R模型展示你的设计方案,要求包含完整的设计,有实体名称、实体属性、主键,并在图中体现实体间的关系;
注:E-R模型,可以手绘后拍照,也可以直接在WORD中绘制,还可以使用Visio绘制,如果愿意深入学习,可以尝试使用ERWIN等数据库设计工具完成(该软件可网络搜索试用版)。以上方式任选其一,请展示你的方案于下方空白处。
2、实现为可运行的数据库,建立数据库、表以及插入数据的代码复制到下方。
注:关于测试数据,用户信息可以自编,不要求使用自己的真实身份证号码,但请使用18位身份证号码格式,用户信息中必须包含自己的名字,车次信息简化为仅关注京沪高铁,要求至少包含3对列车的信息,要求能够存储停靠站以及出发、到达时间,车次信息要求严格按照12306的实际信息输入。购票信息要求至少10条,请设计包含以下情况的购票:同一人同一天往返京沪,同一人不同天往返京沪,请结合实际情况考虑你的测试数据。请展示你的代码于下方空白处。
三.作业评判规则
设计(3分)
评分细则如下:
E-R图例规范得1分,否则给0.5,即有设计方案就至少0.5,所谓规范是E-R图的图例是否应用了Chen方法或Crow's foot方法中的图例,如果规范采用则给1分1,否则0.5;
实体及联系设计恰当给1分,基本原则是实体本身反映一类事物的本质;
范式设计合理得1分,如有违反范式,特别是二和三范式的,得0.5分。
代码(2分)
评分细则如下:
完全没有代码直接给0,如有代码,参照以下评判规则:
提供了代码,并且和实体能够对应得1分,如有缺失代码或者单纯拷贝作业代码并没有准确更改,酌情给分0.5。
代码正确运行得1分,如果运行中有错误,给0.5分。
复议:对于评判不准的部分,可自主寻找志愿者中的搭档,尝试使用双评方式,即两个评判人对同一份作业进行评判,最终经过两位评判者协商确定被评判人的成绩,这种方法仅在对设计作业难以清除判断的情况下使用。
四.作业评判结果
学号 | E-R图例 | 实体及联系设计 | 范式设计合理 | 代码完整 | 运行结果 | 复议 | 总分 | 总结 | |||||
15******132 | E-R图的图例未应用了Chen方法或Crow's foot方法中的图例。 | 0.5 | 恰当 | 0.5 | 合理 | 1 | 不完整 | 0.5 | 正确 | 0.5 | 由于代码不完整,未能运算出应得结果。 | 3 | 能够运用E-R模型设计,实体间存在基本的逻辑,望完善代码的完整性。 |
17******112 | 正确 | 1 | 恰当 | 1 | 合理 | 1 | 完整 | 1 | 正确 | 1 | 代码规范性存在问题,故总分-0.5分。 | 4.5 | E-R运用合理,实体间存在基本逻辑,代码完整,但是缺少规范性,望改进。 |
17******125 | E-R图的图例未应用了Chen方法或Crow's foot方法中的图例。 | 0.5 | 恰当 | 1 | 合理 | 1 | 完整 | 1 | 正确 | 1 | 代码规范性存在问题,故总分-0.6分。 | 4 | E-R运用合理,实体间存在基本逻辑,代码完整,但是缺少规范性,望改进。 |
17******212 | 正确 | 1 | 恰当 | 1 | 合理 | 1 | 完整 | 1 | 正确 | 1 | 无 | 5 | E-R运用合理,实体间存在基本逻辑,代码完整。 |
17******228 | E-R图的图例未应用了Chen方法或Crow's foot方法中的图例。 | 0.5 | 恰当 | 1 | 合理 | 1 | 不完整 | 0.5 | 正确 | 0.5 | 由于代码不完整,未能运算出应得结果。 | 3.5 | 能够运用E-R模型设计,实体间存在基本的逻辑,望完善代码的完整性。 |
17******329 | E-R图的图例未应用了Chen方法或Crow's foot方法中的图例。 | 0.5 | 恰当 | 0.5 | 合理 | 1 | 无 | 无 | 2 | 能够运用E-R模型设计,实体间存在基本的逻辑,望写出代码。 | |||
17******416 | E-R图的图例未应用了Chen方法或Crow's foot方法中的图例。 | 0.5 | 恰当 | 1 | 合理 | 1 | 完整 | 1 | 正确 | 1 | 无 | 4.5 | E-R运用合理,实体间存在基本逻辑,代码完整。 |
五.范式概述
1 第一范式(1NF)
所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。如果出现重复的属性,就可能需要定义一个新的实体,新的实体由重复的属性构成,新实体与原实体之间为一对多关系。在第一范式(1NF)中表的每一行只包含一个实例的信息。
简而言之,第一范式就是无重复的列。
2 第二范式(2NF)
第二范式(2NF)要求数据库表中的每个实例或行必须可以被唯一地区分。为实现区分通常需要为表加上一个列,以存储各个实例的唯一标识。这个唯一属性列被称为主关键字或主键、主码。
第二范式(2NF)要求实体的属性完全依赖于主关键字。所谓完全依赖是指不能存在仅依赖主关键字一部分的属性。如果存在,那么这个属性和主关键字的这一部分应该分离出来形成一个新的实体,新实体与原实体之间是一对多的关系。为实现区分通常需要为表加上一个列,以存储各个实例的唯一标识。
简而言之,第二范式就是非主属性非部分依赖于主关键字
3 第三范式(3NF)
第三范式(3NF)要求一个数据库表中不包含已在其它表中已包含的非主关键字信息。
简而言之,第三范式就是属性不依赖于其它非主属性。
六.小结
这次作业与之前几次作业相比难度明显加大,需要同学们自己依照实际问题完成设计及代码。大部分同学认真完成,值得表扬。仍存在如代码书写不规范等问题,希望可以改进。
如有建议请指出。