0088334 胡正军 数据库系统原理 大作业(已修改).doc_第1页
0088334 胡正军 数据库系统原理 大作业(已修改).doc_第2页
0088334 胡正军 数据库系统原理 大作业(已修改).doc_第3页
0088334 胡正军 数据库系统原理 大作业(已修改).doc_第4页
0088334 胡正军 数据库系统原理 大作业(已修改).doc_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本科学生综合性实验报告课程名称:数据库系统原理 智能自行车管理系统 数据库设计 项目组长 胡 正 军 学号 0088334 班 级 B04班 实验项目名称 智能自行车管理系统数据库设计 指导教师及职称 刘爱红 老师 开课学期 2010 至 2011 学年 第1 学期 完成时间 2010 年 12 月 31 日 目 录 1.需求分析11.1编写目的11.2背景11.3系统目标11.4需求分析11.4.1业务需求及处理流程11.4.2系统功能分析21.4.2.1 老师信息管理21.4.2.2 学生信息管理31.4.2.3 自行车信息管理41.4.2.4 自行车类型信息管理41.4.2.5 租车信息管理51.4.2.6 租车罚款管理51.5系统总体功能图61.6数据需求及业务规则分析81.7数据约束分析111.8数据字典121.8.1数据项与数据结构121.8.2数据处理142. 数据库概念设计172.1定义实体集及属性172.2定义联系集及属性172.3 E-R模型设计182.3.1一元实体联系属性描述182.3.2 二元实体联系属性描述192.3.3 总体ER图描述203.逻辑设计213.1实体集转换为关系模式213.2 联系集转化为关系模式213.3关系设计244.物理设计254.1关系模式存储方式选择254.1.1索引存取方式,主要采用B+ 树索引方法254.1.2聚簇存取方式254.2数据库的存取结构254.2.1数据的存放位置254.2.2数据存储路径261.需求分析 需求分析将从目的,背景,目标,及用户需求等方面进行分析,为概念设计提供依据。1.1编写目的 由于学生外出,老师上下班等多有不便。引进智能自行车,方便学生外出,游玩,跨校区选课;方便教职工上下班。以方便学生及有关人员为原则,实现智能化、无人化统一管理。1.2背景 近年来,随着社会经济的飞速发展和城市化进程步伐加快,城市人口不断增加,使人们出行量逐年递增。虽然政府在城市建设上加大了投资力度,但远远跟不上经济发展对城市交通资源的需求,尤其是大学校园。现在很多学校都在向郊外搬迁,形成职教基地,大学城等。因此学生外出等多有不便。骑自行车环保,健身,娱乐,无噪音。智能自行车由学校统一布点铺放,安装在大学、大学城。在学校大门,宿舍等选择合适的场地布点,安装。以方便学生为原则。实现智能化、无人化统一管理。必将受到学生的青睐。1.3系统目标 该系统目标实现用户注册、租用自行车修改订单等操作;以方便学生老师及有关人员为原则,实现使用自行车智能化、无人化统一管理。1.4需求分析需求分析主要包括以下内容:业务需求及处理流程、系统功能分析、系统总体功能图、数据需求及业务规则分析,数据约束分析,数据字典。1.4.1业务需求及处理流程业务需求分析是根据现实世界对象需要,描述应用的具体业务处理流程,如图1.1所示。是否是学生老师? 开 始 N用户选择自行车种类 Y 是否有该资源?N用户选择自行车数量 Y是否超过一台? N 租车成功 Y保存用户租车信息保归还自行车保是否超时有损坏? Y罚款结算金额结算 N扣 款结 束 图 1.1系统流程图1.4.2系统功能分析 现在对我们财大本校具体情况分析,综合对自行车使用流程的分析,系统功能具体如下。1.4.2.1 老师信息管理提供老师注册功能(系统管理员完成),实现老师基本信息的基本操作以及老师租用自行车信息的统计功能。(1)老师注册。老师注册时要求完成基本信息填写,包括教师工号,姓名、性别、出生年月、职称等信息。系统检查所有信息填写正确后提示老师注册成功,并返回用户编号。(2)老师信息查询。老师(用户)登陆系统后可以按各种条件查询各种信息。按老师工号查询基本信息。按用户(老师)编号查询信息。按用户编号(老师)查询老师租用信息。查询在同一职称的老师信息。查询具有相同租用业务的老师信息。查询租用金额最多的用户(老师)信息。 (3)老师基本信息修改。当系统管理员发现老师的信息不合规定时,可以对老师的信息进行修改。 修改老师姓名。 修改老师职称。 修改老师出生年月。(4)当某一个老师在规定时间里还没有租用业务时或是老师(用户)要求退出时,系统将删除该用户。(5)系统统计功能。系统每时每刻都允许按各种不同的条件进行统计操作。 统计某职称老师的人数。 统计拥有相同租用业务(自行车种类,租用时间等)人数。 统计各个年龄段的老师人数。 统计所有注册老师的总人数。1.4.2.2 学生信息管理提供学生注册功能(系统管理员完成),实现学生基本信息的基本操作(增删改查)以及学生租用自行车信息的统计功能。(1)学生注册。学生注册时要求完成基本信息填写,包括学号,姓名、性别、出生年月、年级、专业等信息。系统检查所有信息填写正确后提示学生注册成功,并返回用户编号。(2)学生信息查询。学生(用户)登陆系统后可以按各种条件查询各种信息。按学号查询基本信息。按用户(学生)编号查询信息。按用户编号(学生)查询学生租用信息。查询在同一年级专业的学生信息。查询具有相同租用业务的学生信息。查询租用金额最多的用户(学生)信息。 (3)学生基本信息修改。当系统管理员发现学生的信息不合规定时,可以对学生的信息进行修改。修改学生姓名。修改学生年级专业。修改学生出生年月。(4)当某一个学生在规定时间里还没有租用业务时或是学生(用户)要求退出时,系统将删除该用户。(5)系统统计功能。系统每时每刻都允许按各种不同的条件进行统计操作。 统计某专业学生(用户)的人数。 统计拥有相同租用业务(自行车种类,租用时间等)人数。 统计各个年级的学生人数。 统计所有注册学生的总人数。1.4.2.3 自行车信息管理实现自行车基本信息的基本操作以及系统对自行车各种信息的统计功能。(1)录入自行车基本信息。自行车的基本信息包括:自行车编号、自行车名称、描述(用途)、购买日期等信息。(2)删除某自行车基本信息。若自行车被损坏或是折旧不能使用了允许对该自行车的基本信息进行删除。(3)自行车基本信息查询。用户可以按各种不同的条件查询各种自行车的信息。 按自行车编号查询自行车的信息。 按自行车的名称查询自行车的信息。 按自行车描述(用途)查询自行车的基本信息。 按自行车购买日期查询自行车的基本信息。(4)自行车基本信息修改。当某些自行车的基本信息需要进行修改时,允许对其信息进行修改。 修改自行车名称。 修改自行车的用途描述。 修改自行车购买日期。(5)自行车信息统计功能。根据不同的标准对自行车进行统计。 统计某一购买日期的自行车总数。 统计某名称自行车数。 统计某用途描述自行车数。1.4.2.4 自行车类型信息管理实现自行车类型信息的基本操作:(1)增加自行车类型信息。增加的信息包括:自行车类型编号、自行车类型名称。(2)删除自行车类型信息。当某两个类别可以合并时,可以将其中一个自行车类型信息删除。(3)修改基本自行车类型的基本信息。修改自行车类型名称。修改自行车类型编号。(4)查询自行车类型的基本信息。按照不同的条件查询自行车类型信息。 按自行车类型编号查询自行车类型信息。 按自行车类型名称查询自行车类型信息。1.4.2.5 租车信息管理实现对用户租用自行车操作的基本管理:(1) 系统增加新的租车信息。租车信息包括:租车编号、用户编号、租车开始时间、用户还车时间,租车金额,租车日期。(2) 删除租车信息。每隔一定时间系统自动删除某日期以前的租车基本信息。(3) 修改租车信息。当系统发现有信息录入错误时,可以修改以下信息。 当某一租车编号不合规定时修改租车编号。 修改租车金额。 修改租车日期。 可根据具体实际情况修改租车起始时间。(4) 查询租车信息。按以下不同的条件查询租车基本信息。 按租车编号查询租车信息。 按租车日期查询租车信息。 按租车开始时间查询用户所在租车业务的信息。 按还车时间查询用户所在租车业务的信息。 按用户编号查询租车信息。(5) 统计功能。根据不同的标准统计信息。 统计在某一时间段的租车业务总数。 统计在某一时间点以前租车金额汇总数。 统计在某一时间点自行车使用总数。 每个规定时间(规定一周)统计在这一周的车金额总数。1.4.2.6 租车罚款管理 实现租车罚款信息的基本操作:(1)由于使用不当所造成的自行车损坏,或是用户超出规定归还时间的情况,系统增加租车罚款信息。罚款信息包括:罚款编号、用户编号、损坏罚款金额、超期罚款金额以及罚款时间、罚款总金额。(2)删除租车罚款信息。用户赔款之后,系统将自动删除用户租车罚款信息。(3)修改租车罚款信息。系统可以修改以下信息: 修改罚款的用户编号。 修改罚款金额(包括损坏罚款和超期罚款)。 修改罚款时间。(4)查询租车罚款信息。按不同的条件查询租车罚款信息: 按用户编号查询租车罚款信息。 按罚款编号查询租车罚款信息。 按租车罚款金额查询租车罚款信息。 按罚款时间查询租车罚款信息。 按是否是损坏罚款查询相应自行车信息。(5)统计功能。根据不同的标准统计租车罚款信息: 统计用户在此租车编号下总的租车金额数(租车金额、罚款)。 统计租车罚款金额在一定范围内的租车信息。 统计具有罚款记录的自行车总数。 统计具有损坏罚款记录的自行车总数。1.5系统总体功能图该系统总体功能图如图1.2所示。智能自行车管理系统老师注册老师基本信息修改老师信息查询系统删除老师系统统计功能老师管理系统统计功能系统删除学生学生信息查询学生基本信息修改学生注册学生管理自行车管理自行车类型管理查询自行车类型的基本信息修改基本自行车类型的基本信息删除自行车类型信息增加自行车类型信息自行车信息统计功能自行车基本信息修改自行车基本信息查询删除某自行车基本信息增加自行车基本信息系统增加新的租车信息删除租车信息修改租车信息查询租车信息租车管理统计功能系统增加租车罚款信息删除租车罚款信息修改租车罚款信息查询租车罚款信息统计功能租车罚款管理 图1.2 系统功能图1.6数据需求及业务规则分析业务规则分析主要是分析系统中数据之间的约束以及数据库的范围界定,基于上述功能需求,通过进一步了解分析数据需求及业务分析规则如下:(1) 老师注册时,由用户编号唯一标识,需要存储教师工号,姓名、性别、出生年月、职称等信息。(2) 学生注册时,由用户编号唯一标识,需要存储学号,姓名、性别、出生年月、年级、专业等信息。(3) 查询具有职称相同老师信息时用自表连接连查询。(4) 查询在年级专业相同的学生信息时用自表连接查询。(5) 查询具有相同出生日期的老师学生信息时用自表连接查询。(6) 根据老师工号查询老师信息增加一个带一个参数的存储过程,只要加上一个老师工号执行这个存储过程就能查询到该工号所对应的老师信息。(7) 根据学生学号查询学生信息增加一个带一个参数的存储过程,只要加上一个学生学号执行这个存储过程就能查询到该学号所对应的学生信息。(8) 修改老师姓名时先按照用户编号查询,然后再修改该老师姓名。(9) 修改学生姓名时先按照用户编号查询,然后再修改该学生姓名。(10) 修改老师姓名时先按照老师工号查询,然后再修改该老师姓名。(11) 修改学生姓名时先按照学生学号查询,然后再修改该学生姓名。(12) 修改老师出生年月时先按照教师工号查询,然后再改该老师的出生年月。(13) 修改学生出生年月时先按照学生学号查询,然后再改该学生的出生年月(14) 修改老师职称时先按教师工号查询,然后再修改该老师的职称。(15) 修改学生年级专业时先按照学生学号查询,然后再修改该球员的国籍。(16) 删除用户信息时先按用户编号进行查询,然后在对其进行删除。(17) 统计某一相同年龄的老师信息时,只有满足老师年龄等于该值的时候才可以计数。(18) 统计某一相同年龄的学生信息时,只有满足学生年龄等于该值的时候才可以计数(19) 统计某一年龄段的老师人数时,新建一个带两个参数的存储过程,然后指定参数值执行存储过程就可以达到目的。(20) 统计某一年龄段的学生人数时,新建一个带两个参数的存储过程,然后指定参数值执行存储过程就可以达到目的(21) 统计同一年级专业的学生人数时,新建一个带两个参数的存储过程,然后指定参数值执行存储过程就可以达到目的。(22) 统计某一职称的老师时,新建一个带一个参数的存储过程,然后指定参数的值执行该存储过程就能统计出老师人数。(23) 自行车注册时,由自行车编号唯一标识:需要存储自行车编号、自行车名称、描述(用途)、购买日期等信息。系统检查所有信息正确填写后提示注册成功,并返回自行车编号,编号由8位组成,开头字母为B,后紧跟注册的年号,后4位按流水线产生。(24) 根据自行车名称查询时只有名称等于固定值的自行车信息才能查询显示。创建带一个参数的存储过程,然后指定参数的值执行该存储过程即可。(25) 按自行车编号查询时只有编号等于指定编号的自行车信息才能查询显示。创建带一个参数的存储过程,然后指定参数的值执行该存储过程即可。(26) 按自行车用途描述查询时只有关键字与指定用途相似的自行车信息才能查询显示。创建带一个参数的存储过程,然后指定参数的值执行该存储过程即可。(27) 按购买日期查询时只有编号等于指定编号的自行车信息才能查询显示。创建带一个参数的存储过程,然后指定参数的值执行该存储过程即可。(28) 修改自行车名称时,先按自行车编号查询然后进行名称修改。(29) 修改自行车购买日期时,先按照自行车编号进行查询然后进行购买日期修改。(30) 修改自行车用途描述时,先按照自行车编号进行查询然后进行用途描述修改。(31) 删除自行车信息时,先按照自行车编号查询到该自行车信息然后进行删除操作。(32) 统计某一购买日期的自行车总数时,新建一个带一个整数类型参数的存储过程,然后指定参数值执行存储过程就即可。(33) 统计某名称自行车数时,创建带一个整数类型参数的存储过程,然后指定参数的值执行存储过程即可。(34) 统计某一指定用途描述的自行车总数时,创建一个带整数类型参数的存储过程,然后指定参数的值执行该存储过程即可。(35) 统计所有自行车的总数,创建一个不带参数的存储过,然后执行该存储过程即可。(36) 增加自行车类型信息时,由自行车类型编号唯一标识,增加的信息包括:自行车类型编号、自行车类型名称。系统检查所有信息正确填写后提示注册成功,并返回类型编号,编号由8位组成,开头字母为K,后紧跟注册的年号,后4位按流水线产生。(37) 删除自行车类型信息时先按自行车类型编号进行查询,然后在对其进行删除。(38) 修改自行车类型名称时先按自行车类型编号查询。(39) 系统管理员可以实行系统内的所有操作。(40) 增加租车信息时,由租车编号唯一标识,增加的信息包括:租车编号、用户编号、租车开始时间、用户还车时间,租车金额,租车日期。系统检查所有信息正确填写后提示录入成功,并返回租车编号,编号由8位组成,开头字母为C,后紧跟录入的年号,后4位按流水线产生。(41) 只有系统管理员才能修改租车信息。(42) 增加租车罚款信息时,由罚款编号唯一标识,增加的信息包括:罚款编号、用户编号、损坏金额、超期金额,罚款时间。系统检查所有信息正确填写后提示录入成功,并返回罚款编号,编号由8位组成,开头字母为F,后紧跟录入的年号,后4位按流水线产生。(43) 每一个租车业务完成之后系统自动更新租车表中的信息。(44) 当整个租车流程完成之后,如果只发生自行车损坏,计算相应损坏罚款,并在租车罚款表中损坏罚款栏注明,超期罚款栏为空。(45) 当整个租车流程完成之后,如果只发生超期罚款,计算相应的超期罚款,并在租车罚款表中超期罚款栏注明,超期罚款栏为空。(46) 当整个租车流程完成之后,如果用户没有发生罚款事项,在租车罚款表中损坏罚款栏和超期罚款栏注明(都为空)。(47) 当整个租车流程完成之后,如果用户发生损坏罚款和超期罚款事项,在租车罚款表中损坏罚款栏和超期罚款栏注明(都不为空)。(48) 每位用户都有属于相应的类型。(49) 每位老师注册的用户编号都不相同。(50) 每位学生注册的用户编号都不相同。(51) 老师学生的用户编号编码规则相同。(52) 每辆自行车注册的自行车编号都不相同。(53) 每辆自行车都有属于相应的类型。(54) 某一时期内自行车的租用数量不能多余这一时期内的拥有数量。(55) 同一时间,一辆自行车只能被一个用户使用,一个用户在同一时间只能租用一辆自行车。(56) 老师租用自行车成功后需保存老师租车信息。(57) 学生租用自行车成功后需保存学生租车信息。(58) 对自行车数量少于3辆的站点,需进行及时调整。(59) 当一辆自行车处于维修不能被租用的状态时,应及时录入自行车状态信息(60) 本系统不考虑出现事故问题,如用户在使用过程中出现的车祸或是伤害1.7数据约束分析用户访问权限:任何用户都不能访问其他用户的密码。(1) 任何老师都可以随时查询自己的相关信息。(2) 任何学生都可以随时查询自己的相关信息。(3) 老师只能查询自己的历史租用情况,不可访问到其他老师的租用信息。(4) 学生只能查询自己的历史租用情况,不可访问到其他学生的租用信息。(5) 自行车使用者人数不能超过拥有的自行车数量。(6) 老师编码规则:以字母C开头加上8位数字,其中前4位数字由老师注册时间的年份顺序生成,后4位则是按流水号依次增大。老师表的主键是customerNo。每一个用户(老师)编号都是唯一的。Check约束为check(customerNo like C0-90-90-90-90-90-90-90-9)。所有属性都唯一,无外键约束。(7) 学生编码规则:以字母C开头加上8位数字,其中前4位数字由学生注册时间的年份顺序生成,后4位则是按流水号依次增大。学生表的主键是customerNo。每一个用户(学生)编号都是唯一的。Check约束为check(customerNo like C0-90-90-90-90-90-90-90-9)。所有属性都唯一,无外键约束。(8) 自行车编码规则:以字母B开头再加上8位数字,其中前4位数字由录入的时间年份顺序生成,后4位则是按流水号依次增大。Check约束为check(bikeNo like B0-90-90-90-90-90-90-90-9). 没有为空的属性,所有属性值都唯一,无外键约束。(9) 自行车类型编码规则:以字母K开头加上8位数字,其中前4位数字由录入的时间年份顺序生成,后4位则是按流水号依次增大。Check约束为check(bikeType like K0-90-90-90-90-90-90-90-9). 每个自行车类型编号唯一。自行车类型表中没有为空的属性,所有属性值都唯一,无外键约束。(10) 租车编码规则:以字母S开头加上8位数字,其中前4位数字由录入的时间年份顺序生成,后4位则是按流水号依次增大。Check约束为check( hireNo like S0-90-90-90-90-90-90-90-9). 每个租车编号唯一。租车表中没有为空的属性,所有属性值都唯一,无外键约束。 (11) 罚款编码规则:以字母F开头加上8位数字,其中前4位数字由录入的时间年份顺序生成,后4位则是按流水号依次增大。Check约束为check(punishNo like F0-90-90-90-90-90-90-90-9). 每个罚款编号唯一。租车罚款表中没有为空的属性,所有属性值都唯一,无外键约束。(12) 租车罚款规则:每个罚款事项都有相应用户和自行车,且这些事项唯一。租车罚款表中没有为空的属性,所有属性值都唯一,无外键约束。 (13) 自行车使用时间不能超过12小时,超过此时间按超期罚款计算扣款金额。(14) 自行车停用时间不能超过24小时,如果超过此时间,系统自动删除该自行车相关信息。1.8数据字典 数据字典包括数据项描述、数据结构描述、数据流、数据存储和处理过程,具体内容如下。1.8.1数据项与数据结构通过对所建立的表进行分析,我们得到了以下一些数据项,如表1.1至表1.7所示。 表1.1 老师表teacher数据项名与别名类型(长度)是否为空约束数据项含义说明teacherNovarChar(20)Not null09数字教师工号teacherNamevarChar(20)Not nullAZ字符 老师姓名sexchar(4)Not nullF或M 性别birthdaydatetimeNot null时间数字出生日期headShipvarchar(15)Not nullAZ字符职称customerNochar(6)Not nullC加8个数字用户编号表1.2学生表student数据项名与别名类型(长度)是否为空约束数据项含义说明studentNochar(20)Not null09数字学号studentNamevarChar(20)Not null字符学生姓名sexchar(1)Not nullF或M性别birthdaydatetimeNot null时间数字出生日期gradeChar(4)Null09数字年级subjectvarChar(20)Null字符专业customerNochar(6)Not nullC加8个数字用户编号 表1.3租车表 hire数据项名与别名类型(长度)是否为空约束数据项含义说明hireNoChar(13)Not nullS加8个数字租车编号customerNovarChar(20)Not nullC加8个数字用户编号startTimedatetimeNot null时间数字租车开始时间endTimedatetimeNot null时间数字租车结束时间hireSumchar(4)Not null09数字租车金额hireDatedatetimeNot null时间数字租车日期表1.4 自行车表bike数据项名与别名类型(长度)是否为空约束数据项含义说明 bikeNoChar(6)Not nullB加8个数字自行车编号bikeNamevarChar(20)Not nullAZ的字符自行车名称descriptionvarChar(20)Not NullAZ的字符用途描述buyDatedatetimeNot null时间数字购买日期表1.5 自行车类型表 bikeType数据项名与别名类型(长度)是否为空约束数据项含义说明typeNosmallIntNot nullK加8个数字自行车类型编号typeNamevarChar(20)Not nullAZ的字符自行车类型名称表1.6租车罚款表 punish 数据项名与别名类型(长度)是否为空约束数据项含义说明punishNoChar(13)Not nullF加8个数字租车罚款编号customerNovarChar(20)Not nullC加8个数字用户编号damageSumchar(4) Null09数字损坏罚款金额outdateSumchar(4) Null09数字超期罚款金额punishTimedatetimeNot null时间数字罚款时间punishSumchar(4) Null09数字罚款总金额 1.8.2数据处理为了实现预期的系统功能,我们建立了以下数据处理过程,如表1.12所示。编号名称数据处理说明1.老师注册增加或录入老师基本信息2.按姓名查询老师信息按照老师姓名精确查询满足条件的老师信息3.按编号查询老师信息按照教师工号精确查询满足条件的老师信息4.相同职称的老师查询按照某职称查询出有此职称的老师信息5.相同租车业务老师查询按照某租车业务查询有此业务的老师信息6.某一年出生的老师查询按照某年查询出在此年出生的老师信息7某自行车用户信息查询按照自行车编号查询用户信息8查询同类型的老师信息按照某类型查询老师信息9.修改老师姓名当老师姓名信息错误时对其进行修改10.修改用户密码当用户需要修改密码时对密码进行修改11.修改老师的出生年月当老师出生年月填写错误时对其进行修改12.修改老师职称老师职称不断在改变,及时更新老师职称信息13.删除老师信息对一些不符合条件或要求退出老师进行删除 14.统计某年龄段老师总数对年龄满足该条件的老师人数进行统计15.统计某年龄老师总数对年龄满足该条件的老师人数进行统计16.统计某职称的老师总数对某进行职称的老师进行人数统计17统计某用户类型的人数对某用户类型人数进行统计18.统计用户总数统计出使用该系统的所有用户的总数19.学生注册增加或录入学生基本信息20.按姓名查询学生信息对姓名满足条件的学生进行精确查询21.按学号查询学生信息查询出某学号的学生基本信息22.查询某性别的学生信息查询出男性或女性的全部学生信息23.查询某年级的学生信息对在同一年级的学生信息进行查询24.查询某专业的学生信息对某专业的学生信息进行查询25查询特定年龄学生信息对年龄等于该值的学生的信息进行详细查询26.查特定年龄段学生信息查询出年龄在此范围的所有学生信息27修改学生姓名学生姓名信息有误时修改该学生姓名28修改学生密码欲修改密码时对其密码进行修改并保存信息29修改学生出生年月学生出生年月填写错误时对其进行修改30删除学生信息当某学生退出时从系统中删除该学生的信息31统计某性别的学生人数对男性和女性的学生人数进行统计32统计某年龄学生人数对年龄是某个值的学生进行人数统计33统计某年龄段学生人数对年龄在该范围的学生人数进行统计34统计所有学生用户人数对所有学生用户人数进行统计35增加用户类型信息在系统中增加新的用户类型信息36增加自行车类型信息在系统中增加新的自行车类型信息37删除用户类型信息删除系统中没有用户的类型信息38删除自行车类型信息删除系统中没有自行车的类型信息39按用户类型编号查询查询出用户类型编号为特定值的类型信息40按自行车类型编号查询查询出自行车类型编号为特定值的类型信息41按用户类型名称查询查询出类型名称为指定值的类型信息42按自行车类型名称查询查询出类型名称为指定值的类型信息43修改用户类型名称当有需要修改类型名称时对其进行修改44修改自行车类型名称当有需要修改类型名称时对其进行修改45统计所有用户类型种数对系统中存放的用户类型总数进行统计46统计自行车类型种数对系统中存放的自行车类型总数进行统计47录入自行车信息在系统中录入新的自行车车信息48修改自行车名称当自行车名称信息错误时对其进行修改49修改自行车购买日期当自行车购买日期填写错误时对其进行修改50修改自行车的用途描述当有需要时对自行车用途描述进行修改51删除自行车信息对损坏的的自行车信息进行删除 52统计所有自行车总数对所有自行车进行统计53统计租用自行车总数对所有正在使用自行车进行统计54统计未使用自行车总数对所有未被租用的自行车数量进行统计55按租车编号查询信息查询出某租车编号的租车信息56按用户编号查询信息查询出某用户编号的租车信息57查询特定租车金额信息查询出租车金额为指定值的租车信息58修改租车金额根据具体情况对租车金额进行修改59修改租车日期租车日期有变化时对其进行修改60统计某时间段租车数对某时间段的租车数进行统计61增加新的租车信息当有新的租车业务时录入其信息62增加新的租车罚款信息当有新的租车罚款记录时录入其信息63删除租车信息当所有流程结束后从系统中删除某租车信息64查询用户罚款信息查询某用户编号的所有罚款信息65查询用户罚款信息查询某罚款编号的所有罚款记录66修改租车罚款记录根据具体情况对租车罚款记录进行修改67修改租车罚款日期当某租车罚款日期变化时对其进行修改68统计某时间段罚款记录对某时间段的罚款信息进行统计2. 数据库概念设计2.1定义实体集及属性(1)老师实体集teacher:教师工号(teacherNo),姓名(teacherName),性别(sex),出生年月(birthDay),职称(headShip),用户编号(customerNo)等信息。(2)学生实体集student:学生学号(studentNo),姓名(studentName),性别(sex),出生年月(birthDay),年级(grade),专业(subject),用户编号(customerNo)等信息。(3)用户类型实体集customerType:用户类型编号(typeNo),用户类型名称(typeName),密码(passWord)等信息。(4) 自行车实体集bike:自行车编号(bikeNo),自行车名称(bikeName),描述(description),购买日期(buyDate)等信息。(5)自行车类型实体集bikeType:自行车类型编号(typeNo),自行车类型名称(typeName)等信息。2.2定义联系集及属性(1)Belong联系集:bikeType与bike之间的一对多的联系集。表明一个自行车类型可以有多台自行车对应。(2)hire联系集:租用编号(hireNo),用户编号(customerNo),租车开始时间(startTime)、用户还车时间(endTime),租用金额(hireSum),租车日期(hireDate)等信息。teacher,student与bike之间一对一的联系集,表明一个老师在同一时间只可以租用一台自行车,一台自行车只能被一个老师使用。表明一个学生在同一时间只可以租用一台自行车,一台自行车只能被一个学生使用。(3)punish联系集:用户编号(customerNo),罚款编号(punishNo),损坏罚款金额(damageSum)、超期罚款金额(outdateSum),罚款时间(punishTime),罚款总额(punishSum)。teacher,student与bike之间的一对一的联系集。表明一个老师通过租用自行车在同一时间只可以与一台自行车有租车罚款单。表明一个学生通过租用自行车在同一时间只可以与一台自行车有租车罚款单。2.3 E-R模型设计所有ER模型描述如下。2.3.1一元实体联系属性描述如下:(1)老师基本属性如图2.1所示。customerNoteacherNameteacherNo headShipbirthday Teacher sex图2.1 teacher实体集(2)学生基本属性如图2.2所示。customerNostudentName studentNo Gradebirthday student Subject sex图2.2 student实体集(3)自行车基本属性如图2.3所示。bikeNamebikeNo DescriptionbuyTime bike图2.3 bike实体集(4)自行车类型基本属性如图2.4所示。typeNotypeNamememe bikeType图2.4 bikeType实体集(5)租车基本属性如图2.5所示。hireDate startTimehireNo endTime hirehireSum customerNo图2.5 hire实体集(6)租车罚款基本属性如图2.6所示。 customerNopunishTimepunishNo outdateTimeDamageSummployeeno Punish图2.6 punish实体集2.3.2 二元实体联系属性描述如下:(1) belong联系集的E-R图如2.7所示。bikeTypebelongBike图2.7 联系belong的E-R图(2) hire联系集的E-R图如2.8所示。hireBikeTeacher图2.8 联系hire的E-R图(3) hire联系集的E-R图如2.9所示。hireBikeStudent图2.9 联系hire的E-R图(4) punish联系集的E-R图如2.10所示。punishBikecustomer图2.10 联系punish的E-R图2.3.3 总体ER图描述如图2.12: TeacherPunishHire bikeTypeBelong BikedamageSumhireSumendTimePunishSumstartTimepunishTime StudentpunishSum 图 2.12 总体E-R图3.逻辑设计本次设计的数据库在SQL Server 2000上实现,将概念结构设计中的E-R图转换成SQL Sever 2000支持的关系数据模型。3.1实体集转换为关系模式将所有的实体分别转换为单独的一张表。(1)老师实体集teacher: Teacher(teacherNo, teacherName,sex,birthDay,headShip,customerNo)(2)学生实体集student:Student(studentNo,studentName,sex,birthDay,grade,subject,customerNo)(3)自行车实体集bike: bike(bikeNo,bikeName,description,buyDate)(4)自行车类型实体集bikeType:bikeType(typeNo,typeName)3.2 联系集转化为关系模式将概念设计中产生的每一个联系转换为单独的一张表。除此之外,在模式后面给出了联系的数据字典。(1)联系集hire:由于这是一个一对一的联系, 经过模式分解可以把hire解分解成两张表,即主表hire和明细表hireDetail实体hire数字字典变化如表3.1所示:表3.1 实体hire数据项名与别名类型(长度)是否为空约束数据项含义说明hireNoChar(13)Not nullS加8个数字租车编号customerNovarChar(20)Not nullC加8个数字用户编号startTimedatetimeNot null时间数字租车开始时间endTimedatetimeNot null时间数字租车结束时间hireSumchar(4)Not null09数字租车金额hireDatedatetimeNot null时间数字租车日期实体hireDetail的数字字典如表3.2所示:表3.2 实体hireDetail 数据项名与别名类型(长度)是否为空取值范围数据项含义说明与其他数据项的联系hireNochar(13)Not nullS加8个数字租用编号主键,外键,参照hire表pricechar(8)Not null09数字租用价格独 立hireTimedatetimeNot null时间数字租车时间独 立bikeNochar(6)Not nullB加8个数字自行车编号主键,外键,参照bike表 (2)联系集punish:由于这是一个一对一的联系,经过模式分解可以把punish表分解成两张表,即主表punish和明细表punishDetail。Punish实体的属性发生变化,数字字典变化后如表3.3所示:表3.3 punish实体数据项名与别名类型(长度)是否为空约束数据项含义说明customerNovarChar(20)Not nullC加8个数字用户编号 punishNoChar(6)Not nullF加8个数字罚款编号damageSumchar(4) Null09数字损坏罚款金额outdateSumchar(4) Null09数字超期罚款金额punishTimedatetimeNot null时间数字罚款时间实体punishDetail的数字字典如表3.4所示: 表3.4 实体punishDetail数据项名与别名类型(长度)是否为空取值范围数据项含义说明与其他数据项的联系punishNochar(13)Not nullF加8个数字罚款编号主键,外键,参照hire表outPricechar(8)Not null09数字超期价格独 立hireTimedatetimeNot null时间数字超期时间独 立bikeNochar(6)Not nullB加8个数字自行车编号主键,外键,参照bike表(3)联系集Belong:这是一个一对多的联系,因此可以把用户类型编号typeNo作为实体teacher和实体studen

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论