




已阅读5页,还剩46页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库课程设计 课题名称: 停车场管理系统 作 者: 学 号: 学 院: 专 业: 指导教师: 课程设计指导书一 设计目的数据库原理课程设计是计算机科学与技术专业集中实践性环节之一,是从实践中体会到数据库系统概论中所介绍的数据库理论知识。通过设计并建立一个简单的关系数据库,加深对数据库模式的理解,锻炼数据库设计能力,掌握开发一个小型数据库系统时设计数据库的基本方法,提高运用数据库解决实际问题的能力。1需求分析(应用领域的调查分析)a 第一阶段对业务流程和数据流程的调查,需求应符合实际工作业务需求,构建系统的功能模块,并给出子模块功能的需要描述。b 第二阶段正确的绘制本系统的数据流图,包括系统总体数据流图及各分系统或子模块数据流图c 结合数据流图给出数据字典。2 概念结构设计将数据流图转化为分ER图,最后合并成整体的ER图(要求整体ER图至少6各实体)3 逻辑结构设计a ER图向关系模型转换b 数据模型优化c 设计用户子模式4 物理结构设计根据优化后的关系设计模式设计数据库表5 对在整个设计中的功能给出sql语句的相应描述,要求优化查询,至少包括以下3个方面的内容:a数据定义b数据查询c数据更新目录一 系统功能需求分析1.1 停车场车位划分1.2 车辆进出管理及收费功能1.3 停车场信息查询功能1.4 系统管理功能1.5 开发软件SQL Server 20001.6 存储过程简介二 系统设计及实现2.1 系统功能模块设计2.2 安全性与完整性要求:2.3流程图b 总流程图2.4 业务流程图2.5 数据字典A 数据项B 数据结构C 数据流三概念结构设计3.1 分ER图3.2 总ER图四逻辑结构设计4.1 E-R 图向关系模式转换4.2 数据模型优化4.3优化后的关系模式 4.4设计数据库表4.54.6 设计用户子模式五 物理结构设计5.1 数据库物理设计的内容和方法:5.2.数据定义5.2.1 定义表格5.2.2 定义视图5.2.3 索引定义5.3 数据查询5.4 数据更新5.4.1插入数据5.4.2更改数据5.4.3删除数据六 数据库的实施和维护6.1 数据库的载入和应用程序的调试6.2 数据库的试运行 6.3 数据库的运行和维护七 总结设计目的随着21世纪的到来,信息化已变得越来越重要。在停车场的信息化中,涉及停车场车位管理的信息化、车主管理的信息化、停车信息管理的信息化。做好信息化工作有利于提高停车场的管理效率,提升停车场的竞争力。随着汽车工业的迅猛发展,我国汽车拥有量急剧增加。建设部统计数据显示,我国私人汽车拥有量年均增长20左右,大大快于经济增速。近年来,随着经济的快速发展和人民生活水平的提高,我国机动车保有量持续快速增长,其中私人汽车拥有量增速明显。截至2007年6月,全国汽车保有量达5356万辆,其中私人汽车3239万辆。停车场作为交通设施的组成部分,随着交通运输的繁忙和不断发展,人们对其管理的要求也不断提高,都希望管理能够达到方便、快捷以及安全的效果。停车场的规模各不相同,对其进行管理的模式也有不同之处,管理者需要根据自身的条件,选择应用经济、稳定的管理程序,以免选择了高成本的管理系统。本论文旨在设计一个简洁、稳定、实用的停车场管理信息系统,希望在容错性、实用性、易操作性等方面具有自己的特色,并且保持一定的可扩展性,以满足不同停车场的信息管理需求一需求分析需求分析的任务是通过详细调查实现世界要处理的对象,充分了解原系统工作概况,明确用户的各种需求,然后再此基础上确定新系统的功能。调查的重点是数据和处理,通过调查、收集与分析,获得用户对数据库如下要求:(1)、信息要求。(2)、处理要求。(3)、安全性与完整性要求。进行需求分析首先是调查清楚用户的实际要求,与用户达成共识,然后分析与表达这些需求。调查用户需求的具体步骤是:(1)、调查组织机构情况。包括了解该组织的部门组成情况、各部门的职责等,为分析信息流做准备。(2)、调查各部门的业务活动情况。包括了解各个部门输入和使用什么数据,如何加工处理这些数据,输出什么信息,输出到什么部门,输出结果的格式是什么。(3)、在熟悉了业务活动的基础上,协助用户明确对新系统的各种要求,包括信息要求、安全性与完整性要求。(4)、确定新系统的边界。对前面调查的结果进行初步分析,确定哪些功能由计算机完成,那些活动由人工完成。在调查过程中,可以根据不同的问题和条件,使用不同的调查方法。常用的调查方法有:(1) 跟班作业。通过亲身参加业务工作来了解业务活动的情况。(2) 开调查会。通过与用户座谈来了解业务活动情况及用户需求。(3) 请专人介绍。(4) 询问。对某些调查中的问题,可以找专人询问。(5) 设计调查表请用户填写,如果调查表设计得合理,这种方法是很有效的。(6) 查阅记录。查阅与原系统有关的数据记录。数据库应用系统开发背景 随着21世纪的到来,人们更深切地感受到了计算机在生活和工作中的作用越来越重要,越来越多职业需要具有计算机的应用技能。掌握计算机是职业的雪要,更是事业发展的需要。 信息在社会和经济的发展中所起的作用越来越为人们所重视。信息资源的开发利用水平已成为衡量一个国家综合国力的重要标志之一。在计算机的三大主要应用领域(科学计算、数据处理与过程控制)中,数据处理的比重占70%左右。计算机作为信息处理的工具,为适应数据处理需求的迅速提高,满足各类系统对数据处理的要求,在文件系统的基础上发展起了数据库系统。 数据库技术产生于年60年代末,70年代初期,其主要目的是有效地管理和存取大量的数据资源。数据库技术主要研究如何存储的是通用化的相关数据集合,它不仅包括数据本身,而且包括数据之间的联系。30多年来,数据库在理论上、实现技术上均得到很大的发展,研制出许多商用数据库管理系统,使得计算机应用渗透到各行各业的各类管理工作中。现在,数据库技术已成为计算机领域里最重要的技术之一,是软件科学的一个独立的分支。近年来,数据库技术和计算机网路技术的发展相互渗透、相互促进,已成为当今计算机领域内发展迅速、应用广泛的两大领域。数据库系统是数据处理的核心机构,管理信息系统、办公自动化系统、决策支持系统等都是使用了数据库管理系统或数据库技术的计算机应用系统。 数据库方法原本是针对事务处理申大量管理需求的,但是它的应用范围不断扩大,不仅应用于事务处理,并且进一步应用到情报检索、人工智能、专家系统、计算机辅助设计等,涉及到非数值计算各方面的应用。应用范围的扩大又进一步促进了数据库技术的深入发展,可以说数据库系统已成为计算机应用系统的重要组成部分之一。 微机数据库系统以开发成本低、简单易学、方便用户等优点,迅速得到了推广。计算机应用人员只有了解数据库系统的基本原理,掌握数据库设计的基础理论,熟悉数据库管理系统特点,才能开发出好的数据库应用系统。 随着计算机计算机技术的飞速发展,计算机在企业管理中应用及普及,利用计算机实现企业信息管理势在必行。本课题以高等院校为对象,作为高效要面对大量的课程设计项目及相关信息的处理,这就需要一个课程设计管理系统来提高管理工作的效率。通过本系统,可以做到信息的规范管理、科学统计和快速查询,从而减少管理工作方面的工作量。 数据处理技术已深入到我们工作和生活的方方面面,而数据库技术是数据处理不可缺少的手段。随着数据库技术的发展,面向对象的数据库、分布式数据库、多媒体数据库、数据库开发工具的研究方兴未艾,这些技术的发展使用软件的开发速度更快、成本更低、质量更好、功能更强。1 系统功能需求分析 一个典型的停车场管理信息系统需要包括车辆进出管理及收费功能、停车场车位及车主信息查询功能和系统设置及管理功能。1.1 停车场车位划分 首先将停车场划分为固定车位和自由车位两部分。固定车位又可以称为专用车位或内部车位,它的特点是使用者固定,交费采用包月制或包年制,平时进出停车场时不再交费。对于固定车位的车辆,系统有着详细的信息记录,包括车辆信息和车主信息。自由车位又可以称为公用车位或公共车位,它的特点是使用者不固定,针对临时性散客服务,车辆每次出停车场时,根据停车时间和停车费率交纳停车费用。固定车位的车辆总是停放在自己的车位上,而不停放在自由车位上。不同类型停车场的固定车位和自由车位数目比例是不同的,比如商场、车站、机场类停车场的自由车位数目相对较多,而住宅小区、单位自用类停车场的固定车位数目相对较多。停车场的固定车位和自由车位数目一般情况下是固定不变的,但有时根据停车场规划改变也需要调整,系统可以在系统管理功能里对这两类车位的数目进行设定和修改。1.2 车辆进出管理及收费功能 车辆进入停车场时,系统记录车辆的车牌号码和进入时间。车辆离开停车场时,根据车辆车牌号码判断是否为固定车位车辆,如果为固定车位车辆则不收费,只记录车辆离开停车场时间;如果为自由车位车辆则根据进入时间和离开时间计算出停车费用进行收取。所有进出停车场的信息(包括车牌号码、进入时间、离开时间、停车费用)都记入一个进出记录表以备查询和统计使用。1.3 停车场信息查询功能 系统的查询功能可以查询包括自由车位空闲数目、自由车位停车情况、固定车位使用情况、固定车位车主信息、自由车位使用率等多种信息。将自由车位空闲数目或自由车位使用率显示在停车场入口处,可以提示即将进入停车场的车主;如果自由车位已满,更可以给出指示,并不允许继续进行车辆进入自由车位停车场的操作。1.4 系统管理功能 系统的管理功能可以查看一定时间内总收取费用情况,也可以查看一定时间内的详细收费情况,可以查看所有车辆进出停车场的记录,也可以查询指定车辆(包括固定车位车辆与自由车位车辆)所有进出停车场的记录,可以设定和修改固定车位和自由车位数目以及停车费用的费率,而且可以做系统初始化的工作。1.5 开发软件SQL Server 2000主要特性 SQL Server的特性主要包括以下五个方面。第一,Internet集成。SQL Server 2000 数据库引擎提供完整的XML支持。它还具有构成最大的Web站点的数据存储组成所需的可伸缩性、可用性和安全功能。SQL Server2000程序设计模型与WindowsDNA构架集成,用以开发Web应用程序,并且SQL Server2000 支持English Query和Microsoft搜索服务等功能,在Web应用程序中包含了用户友好的查询和强大的搜索功能。第二,可伸缩性和可用性。用一个数据库引擎可以在不同的平台上使用,从运行Windows 98的便携式电脑,到运行Windows2003 数据中心版的大型多处理器服务器。SQL Server2000企业版支持联合服务器,索引视图和大型内存支持等功能,使其得以升级到Web 站点所需的性能级别。第三,企业级数据库功能。SQL Server2000关系数据库引擎支持当今苛刻的数据处理环境所需的功能。数据库引擎充分保护数据完整性,同时将管理上千万个并发修改数据库的用户的开销减小到最小。SQL Server 2000分布式查询使您得以引用来自不同数据源的数据,就好像这些数据是SQL Server 2000数据库的一部分,同时分布式事务支持充分保护任何分布式数据更新的完整性。复制同样使您得以维护多个数据复本,同时确保单独的数据复本保持同步。可将一组数据复制到多个移动的脱接用户,使这些用户自主地工作,然后将他们所做的修改合并回发布服务器。第四,易于安装、部署和使用。SQL Server 2000中包括一系列管理和开发工具,这些工具可改进在多个站点上安装、部署、管理和使用SQL Server 的过程。SQL Server 2000还支持基于标准的、与Windows DNA集成的程序设计模型,使SQL Server数据库和数据仓库的使用成为生成强大的可伸缩系统的无缝部分。这些功能使您的一快速交付SQL Server应用程序,使客户只需最少的安装和管理开销即可实现这些应用程序。第五,数据仓库。SQL Server 2000中包括析取和分析汇总数据以进行联机分析处理(OLAP)的工具。SQL Server 2000中还包括一些工具,可用来直观地设计数据库并通过English Query来分析数据。SQL(Structured Query Language,译为结构化查询语言)在关系数据库中的地位就犹如英语在世界上的地位。它是数据库系统的通用语言。利用它,用户可以用几乎同样的语句在不同的数据库系统上执行同样的操作。比如“select * from数据表名”代表要从某个数据表中取出全部数据,在Oracle 9i、SQL Server2000、Foxpro等关系型数据库中都可以使用这条语句。SQL已经被ANSI(美国国家标准化组织)确定为数据库系统的工业标准。 1.6 存储过程简介存储过程是SQL Server数据库系统中很重要的一个概念,其是SQL Server数据库中存放的查询,而不是客户机上前端代码中存放的查询。合理的使用存储过程,可以有效地提高程序的性能,假如在网路上某个查询操作有几百户到几千户同时执行,则从客户机通过网路向服务器发送这个查询需要增加大量网路通信流,即使不造成拥塞,也是网路速度(以及用户速度)大大减慢,为避免拥塞和让网络全速进行,就应该减少客户机通过网络向服务器发送代码量,从而减少网络的通信流。为此,需将代码存放在服务器中,即将查询放进存储过程中,生成存储过程后,用户要取得数据,只需在网络上发送代码EXEC stored_procedure_name即可。并且将查询逻辑封装在数据库系统的存储过程中,可以大大提高整个软件系统的可维护性,当你的查询逻辑发生了改变的时候,不需修改并编译客户端应用程序以及重新分发他们到为数从多的用户手中,你只需要修改位于服务器端的实现相应查询逻辑的存储过程即可。合理的编写自己需要的存储过程,可以最大限度的利用SQL Server的各种资源。2 系统设计及实现2.1 系统功能模块设计根据系统的需求分析,将系统设计的功能分为三大模块:车辆进出管理模块、信息查询模块和系统管理模块。其中车辆进出管理模块包括进入停车场和离开停车场费用结算,信息查询模块包括自由车位空闲数目指示、固定车位停车情况查询、固定车位车主信息查询、自由车位停车情况查询,系统管理模块包括总收取费用显示、停车费率设定及修改、详细收费情况查询、指定车辆进出记录查询、系统初始化功能。2.2安全性与完整性要求安全性要求:a、 系统应设置访问用户的标识以鉴别是否是合法用户,并要求合法用户设置其密码,保证用户身份不被盗用;b、系统应对不同的数据设置不同的访问级别,限制访问用户可查询和处理数据的类别和内容;c、系统应对不同用户设置不同的权限,区分不同的用户。完整性要求是指数据库中数据的正确性和相容性。数据库完整性由各种各样的完整性约束来保证,因此可以说数据库完整性设计就是数据库完整性约束的设计。数据库完整性约束可以通过DBMS或应用程序来实现,基于DBMS的完整性约束作为模式的一部分存入数据库中。通过DBMS实现的数据库完整性按照数据库设计步骤进行设计,而由应用软件实现的数据库完整性则纳入应用软件设计(本文主要讨论前者)。数据库完整性对于数据库应用系统非常关键,其作用主要体现在以下几个方面: 1数据库完整性约束能够防止合法用户使用数据库时向数据库中添加不合语义的数据。2利用基于DBMS的完整性控制机制来实现业务规则,易于定义,容易理解,而且可以降低应用程序的复杂性,提高应用程序的运行效率。同时,基于DBMS的完整性控制机制是集中管理的,因此比应用程序更容易实现数据库的完整性。3合理的数据库完整性设计,能够同时兼顾数据库的完整性和系统的效能。比如装载大量数据时,只要在装载之前临时使基于DBMS的数据库完整性约束失效,此后再使其生效,就能保证既不影响数据装载的效率又能保证数据库的完整性。4在应用软件的功能测试中,完善的数据库完整性有助于尽早发现应用软件的错误。 数据库完整性约束可分为6类:列级静态约束、元组级静态约束、关系级静态约束、列级动态约束、元组级动态约束、关系级动态约束。动态约束通常由应用软件来实现。不同DBMS支持的数据库完整性基本相同,Oracle支持的基于DBMS的完整性约束如下表所示:数据库完整性设计示例一个好的数据库完整性设计首先需要在需求分析阶段确定要通过数据库完整性约束实现的业务规则,然后在充分了解特定DBMS提供的完整性控制机制的基础上,依据整个系统的体系结构和性能要求,遵照数据库设计方法和应用软件设计方法,合理选择每个业务规则的实现方式;最后,认真测试,排除隐含的约束冲突和性能问题。基于DBMS的数据库完整性设计大体分为以下几个阶段: 1需求分析阶段 经过系统分析员、数据库分析员、用户的共同努力,确定系统模型中应该包含的对象,如人事及工资管理系统中的部门、员工、经理等,以及各种业务规则。 在完成寻找业务规则的工作之后,确定要作为数据库完整性的业务规则,并对业务规则进行分类。其中作为数据库模式一部分的完整性设计按下面的过程进行。而由应用软件来实现的数据库完整性设计将按照软件工程的方法进行。2概念结构设计阶段 概念结构设计阶段是将依据需求分析的结果转换成一个独立于具体DBMS的概念模型,即实体关系图(ERD)。在概念结构设计阶段就要开始数据库完整性设计的实质阶段,因为此阶段的实体关系将在逻辑结构设计阶段转化为实体完整性约束和参照完整性约束,到逻辑结构设计阶段将完成设计的主要工作。 3逻辑结构设计阶段此阶段就是将概念结构转换为某个DBMS所支持的数据模型,并对其进行优化,包括对关系模型的规范化。此时,依据DBMS提供的完整性约束机制,对尚未加入逻辑结构中的完整性约束列表,逐条选择合适的方式加以实现。 在逻辑结构设计阶段结束时,作为数据库模式一部分的完整性设计也就基本完成了。每种业务规则都可能有好几种实现方式,应该选择对数据库性能影响最小的一种,有时需通过实际测试来决定。数据库完整性设计原则 在实施数据库完整性设计的时候,有一些基本的原则需要把握: 1根据数据库完整性约束的类型确定其实现的系统层次和方式,并提前考虑对系统性能的影响。一般情况下,静态约束应尽量包含在数据库模式中,而动态约束由应用程序实现。 2实体完整性约束、参照完整性约束是关系数据库最重要的完整性约束,在不影响系统关键性能的前提下需尽量应用。用一定的时间和空间来换取系统的易用性是值得的。 3要慎用目前主流DBMS都支持的触发器功能,一方面由于触发器的性能开销较大,另一方面,触发器的多级触发不好控制,容易发生错误,非用不可时,最好使用Before型语句级触发器。 4在需求分析阶段就必须制定完整性约束的命名规范,尽量使用有意义的英文单词、缩写词、表名、列名及下划线等组合,使其易于识别和记忆,如:CKC_EMP_REAL_INCOME_EMPLOYEE、PK_EMPLOYEE、CKT_EMPLOYEE。如果使用CASE工具,一般有缺省的规则,可在此基础上修改使用。 5要根据业务规则对数据库完整性进行细致的测试,以尽早排除隐含的完整性约束间的冲突和对性能的影响。6要有专职的数据库设计小组,自始至终负责数据库的分析、设计、测试、实施及早期维护。数据库设计人员不仅负责基于DBMS的数据库完整性约束的设计实现,还要负责对应用软件实现的数据库完整性约束进行审核。 7应采用合适的CASE工具来降低数据库设计各阶段的工作量。好的CASE工具能够支持整个数据库的生命周期,这将使数据库设计人员的工作效率得到很大提高,同时也容易与用户沟通。2.3 流程图a分流程图车辆进出管理进入停车场费用结算离开停车场费用结算信息查询自由车位空闲数目固定车位停车情况查询固定车位车主信息查询自由车位停车情况查询系统管理模块收取费用显示停车费率设定及修改详细收费情况查询指定车辆进出记录查询系统初始化功能系统管理模块收取费用显示停车费率设定及修改详细收费情况查询制定车辆进出记录查询系统初始化功能B 总流程图停车场管理信息系统进出管理信息查询系统管理车量进入停车场离开停车场费用结算固定车位停车信息查询固定车位车主信息查询自由车位停车信息查询停车费率设定及修改详细收费情况查询指定车辆进出记录系统初始化设计2.4 业务流程图数据流图:简称DFD,就是采用图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。数据流图的基本符号的意思: 1.矩形表示数据的外部实体;2.圆角的矩形表示变换数据的处理逻辑; 3.少右面的边矩形表示数据的存储; 4.箭头表示数据流。数据流程图中有以下几种主要元素:数据流。数据流是数据在系统内传播的路径,因此由一组成分固定的数据组成。如订票单由旅客姓名、年龄、单位、身份证号、日期、目的地等数据项组成。由于数据流是流动中的数据,所以必须有流向,除了与数据存储之间的数据流不用命名外,数据流应该用名词或名词短语命名。 :数据源(终点)。代表系统之外的实体,可以是人、物或其他软件系统。:对数据的加工(处理)。加工是对数据进行处理的单元,它接收一定的数据输入,对其进行处理,并产生输出。:数据存储。表示信息的静态存储,可以代表文件、文件的一部分、数据库的元素等。固定车位业务流程图被管理员看固定车位进入停车场固定车离开停车场自由车数据流程图询问管理员进入停车场自有车如无车位,等待或离开若有车位,进入被看付费离开停车场2.5 数据字典 数据字典(Data dictionary)是一种用户可以访问的记录数据库和应用程序元数据的目录。主动数据字典是指在对数据库或应用程序结构进行修改时,其内容可以由DBMS自动更新的数据字典。被动数据字典是指修改时必须手工更新其内容的数据字典。1数据字典是一个预留空间,一个数据库,这是用来储存信息数据库本身。 1数据字典可能包含的信息,例如: 数据库设计资料 储存的SQL程序 用户权限 用户统计 数据库的过程中的信息 数据库增长统计 数据库性能统计数据字典则是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果.数据字典通常包括数据项数据结构数据流数据存储和处理过程五个部分.数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合. 组成 1数据流 2数据流分量,即数据元素 3数据存储 4处理 数据字典 数据库的重要部分是数据字典。它存放有数据库所用的有关信息,对用户来说是一组只读的表。数据字典内容包括: 数据库中所有模式对象的信息,如表、视图、簇、及索引等。 分配多少空间,当前使用了多少空间等。 列的缺省值。 约束信息的完整性。 用户的名字。 用户及角色被授予的权限。 用户访问或使用的审计信息。 其它产生的数据库信息。 数据库数据字典是一组表和视图结构。它们存放在SYSTEM表空间中。 数据库数据字典不仅是每个数据库的中心。而且对每个用户也是非常重要的信息。用户可以用SQL语句访问数据库数据字典。关于数据的信息集合,是一种用户可以访问的记录数据库和应用程序元数据的目录,是对数据库内表信息的物理与逻辑的说明A 数据项系统建立三个基本数据库(表):固定车位表、自由车位表和进出记录表,分别存放固定车位车辆及车主信息、自由车位停车信息和所有车辆进出记录信息。下面列出了各表的结构。表1 固定车位表结构字段名类型宽度(字节)车位编号数值型3车牌号码字符型12车辆颜色字符型6车主姓名字符型10联系电话字符型12联系地址字符型20车辆照片通用型4是否在位逻辑型1进入时间日期时间型8离开时间日期时间型8表2 自由车位表结构字段名类型宽度(字节)车牌号码字符型12进入时间日期时间型8表3 进出记录表结构字段名类型宽度(字节)车牌号码字符型12进入时间日期时间型8离开时间日期时间型8停车费用数值型6免费车辆逻辑型1字段名类型宽度(字节)工作号字符型12姓名字符型10管理车号字符型12B 数据结构数据结构 1=固定车,组成车位编号,车辆颜色,车主姓名,车辆照片,车牌编号数据结构2=固定车位,组成是否在位,车位号,进入时间,离开时间数据结构3=自由车,组成车牌号,进入时间数据结构4=固定车车主信息,组成姓名,年龄,地址,车牌号,联系方式数据结构5=自由车位,组成车牌号码,进入时间,收费标准,状态数据结构6=自由车位进出记录,组成进入时间,离开时间,停车费用,免费车辆数据结构7=管理员,组成工作号,姓名,管理车位C 数据流数据流1=固定车进入停车场,固定车位,固定车,固定车主,组成数据结构1,数据结构2,数据结构4数据流2=自由车进入停车场,自由车,自由车位,自由车位进出记录,组成数据结构3,数据结构5,数据结构6数据流3=管理员管理,管理员,组成数据结构7三概念结构设计在需求分析阶段所得到的应用需求应该首先抽象为信息世界的结构,才能更好的,更准确的用某一DBMS实现这些需求。概念结构的主要特点是:(1) 能真实,充分的反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求,是对现实世界的一个真是模型。(2) 易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库设计成功的关键。(3) 易于更改,应当用环境和应用要求改变时,容易对概念模型修改和扩充。(4) 易于向关系,网状,层次等各种数据模型转换。概念结构是各种数据模型的共同基础,它比数据模型更独立于机器,更抽象,从而更加稳定。概念结构模型的设计方法和步骤设计概念结构通常有四类方法:(1) 自顶向下。即首先定义全局概念结构的框架,然后逐步细化(2) 自底向上。即首先定义全局部应用的概念结构,然后将它们集成起来,得到全局概念结构。(3) 逐步扩张。首先定义最重要的核心概念,然后向外扩充,以滚雪球的方式逐步生成其他概念结构,直至总体概念结构。设计 E-R图E-R图也即实体-联系图(Entity Relationship Diagram),提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。构成E-R图的基本要素是实体型、属性和联系,其表示方法为: 实体型(Entity):用矩形表示,矩形框内写明实体名;比如学生张三丰、学生李寻欢都是实体。如果是弱实体的话,在矩形外面再套实线矩形。 属性(Attribute):用椭圆形表示,并用无向边将其与相应的实体连接起来;比如学生的姓名、学号、性别、都是属性。如果是多值属性的话,再椭圆形外面再套实线椭圆。如果是派生属性则用虚线椭圆表示。 联系(Relationship):用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1 : 1,1 : n或m : n)。 比如老师给学生授课存在授课关系,学生选课存在选课关系。如果是弱实体的联系则在菱形外面再套菱形。 得到以上数据项和数据结构以后,就可以设计出实际的数据库实体,以及他们之间的关系,为后边的数据库逻辑结构设计打基础。这些实体包括各种具体信息,通过相互之间的作用形成数据的流动。此课程设计选题管理系统包含以下实体:固定车,固定车位,固定车车主,自由车位,自由车,进出记录,管理员3.1 分ER图固定车车位编号车牌编号车辆颜色车主姓名车辆照片固定车位是否在位进入时间离开时间车位号自由车车牌号进入时间车主信息姓名年龄车牌号地址联系方式自由车位车牌号码进入时间状态收费标准进出记录进入时间离开时间停车费用免费车辆管理员工作号姓名管理车位车牌号放置颜色车辆照片固定车固定车位车位号是否在位离开时间进入时间固定车主固定车姓名年龄地址联系方式颜色车位编号车牌号车辆照片用车牌号自由车位进出记录车牌号状态收费标准进入时间离开时间免费车辆停车费用记载管理车位姓名状态管辖管理员自由车位工作号收费标准离开时间进入时间管理车位记录停车费用姓名进出记录管理员免费车辆工作号是否在位车位号固定车位放置车辆照片车牌号固定车颜色用年龄姓名固定车车主联系方式地址管理车位姓名工作号管理员记录管辖车牌号进入时间自由车位记载进出记录收费标准状态免费车辆停车费用离开时间车位号颜色放置固定车位固定车是否在位车牌号车辆照片用管理车位年龄姓名管理管理员固定车主工作号姓名联系方式地址是否在位车位号固定车位管理管理车位管理员工作号记录管辖姓名车牌号进入时间记载收费标准离开时间进出记录自由车位状态停车费用免费车辆3.2 总ER图固定车固定车位固定车主管理员自由车位进出记录颜色车辆照片姓名年龄地址联系方式收费标准工作号姓名管理车位车位号是否在位进入时间离开时间停车费用免费车辆放置用记载管理记录管辖车牌号状态车牌号说明:固定车与固定车主为 1:1 固定车与固定车位为 1:1 固定车位与管理员为 n: 1 自由车位与管理员为 n:1 进出记录与自由车位为 1 :1管理员与进出记录为 1:m 四逻辑结构设计1、E-R图向关系模型的转换关系模型的逻辑结构是一组关系模式的集合。E-R图则是由实体型、实体的属性和实体型之间的联系3个要素组成的。所以将E-R图转换为关系模型实际上就是要将实体型、实体的属性和实体型之间的联系转换为关系模式,这种转换一般遵循如下原则:一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。对于实体间的联系则有以下不同情况:(1)、一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。如果转换一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性军转换为关系的属性,每个实体的码均是该关系的候选码。如果与某一端实体对应的关系模式合并,则需在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。(2)、一个1:联系可以转换为一个独立的关系模式,也可以与端对应的联系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。(3)、一个m:n联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一部分。(4)、3个或3个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一部分。(5)、具有相同码的关系模式可合并。4.1 E-R 图向关系模式转换关系模式是对关系的描述。关系实际上就是关系模式在某一时刻的状态或内容。也就是说,关系模式是型,关系是它的值。关系模式是静态的、稳定的,而关系是动态的、随时间不断变化的,因为关系操作在不断地更新着数据库中的数据。但在实际当中,常常把关系模式和关系统称为关系,读者可以从上下文中加以区别。关系模式可以形式化地表示为:R(U,D,dom,F)R 关系名,U 组成该关系的属性名集合,D 属性组U中属性所来自的域,dom 属性向域的映象集合,F 属性间的数据依赖关系集合。例如:导师和研究生出自同一个域人,取不同的属性名,并在模式中定义属性向域的映象,即说明它们分别出自哪个域:dom(SUPERVISOR-PERSON)= dom(POSTGRADUATE-PERSON)=PERSON关系模式通常可以简记为:R (U) 或 R (A1,A2,An)R 关系名,A1,A2,An 属性名,注:域名及属性向域的映象常常直接说明为属性的类型、长度。关系数据库系统是支持关系模型的数据库系统。关系模型的组成:1. 关系数据结构单一的数据结构关系现实世界的实体以及实体间的各种联系均用关系来表示,从用户角度看,关系模型中数据的逻辑结构是一张二维表。 2. 关系操作集合常用的关系操作包括查询操作和插入、删除、修改操作两大部分。其中查询操作的表达能力最重要,包括:选择、投影、连接、除、并、交、差等。关系模型中的关系操作能力早期通常是用代数方法或逻辑方法来表示,分别称为关系代数和关系演算。关系代数是用对关系的代数运算来表达查询要求的方式;关系演算是用谓词来表达查询要求的方式。另外还有一种介于关系代数和关系演算的语言称位结构化查询语言,简称SQL。 3. 关系的三类完整性约束这3类完整性约束包括:实体完整性、参照完整性和用户定义的完整性。实体完整性(Entity Integrity)规则:若属性A是基本关系R的主属性,则属性A不能取空值。例如:在课程表(课程号,课程名,教师,周课时数,备注)中,“课程号”属性为主键,则“课程号”不能取相同的值,也不能取空值。参照完整性规则:若属性(或属性组)F是基本关系R的外键,它与基本关系S的主键Ks相对应(关系R和S不一定是不同的关系),则对于关系R中每个元组在关系F上的值必须为:最多固定车(车牌号 颜色 车辆照片)固定车位(车位号 状态)固定车主(姓名 年龄 地址 联系方式)自由车位(车牌号码 状态 收费标准 )进出记录(进入时间 离开时间 停车费用 免费车辆)管理员(工作号 姓名 管理车位)管理(工作号 车位号)记载(车牌号码 进入时间 离开时间 停车费用 免费车辆)管辖(车牌号码 工作号)记录(工作号 进入时间 离开时间 停车费用 免费车辆)最少固定车(车牌号 颜色 车辆照片)固定车位(车位号 状态)固定车主(姓名 年龄 地址 联系方式 工作号)自由车位(车牌号码 状态 收费标准 工作号)进出记录(进入时间 离开时间 停车费用 免费车辆 工作号)管理员(工作号 姓名 管理车位)记载(车牌号码 进入时间 离开时间 停车费用 免费车辆)4.3 数据模型优化1、确定数据依赖2、对于各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系冗余数据和冗余联系容易破坏数据为的完整性,给数据库维护增加困难,应当予以消除。经过规范化理论得出,原关系模式之间的数据依赖已经达到极小化,没有冗余的联系,消除冗余的E-R图称为基本E-R图3、按照数据依赖的理论对关系模式逐一进行分析,考察是否存在部分函数依赖,传递函数依赖,多值依赖等,确定各关系模式分别属于第几范式。4、按照需求分析阶段得到的处理要求,分析对于这样的应用环境这些模式是否合适,确定是否要对某些模式进行合并或分解。根据需求分析阶段系统的功能分析,这样的应用环境,这些模式可以完成包括消费者信息管理,预订信息管理,成本核算管理,审查工作,库存管理这些模块的要求,分析结果中可在设计用户子模式中对不同级别的用户定义不同的view。4.3优化后的关系模式 固定车(车牌号 颜色 车辆照片)固定车位(车位号 状态)固定车主(姓名 年龄 地址 联系方式 工作号)自由车位(车牌号码 状态 收费标准 工作号)进出记录(进入时间 离开时间 停车费用 免费车辆 工作号)管理员(工作号 姓名 管理车位)记载(车牌号码 进入时间 离开时间 停车费用 免费车辆)4.4设计数据库表数据名数据类型长度允许空固定车车牌号码int20否固定车进入时间datetime20否固定车车位编号int20否固定车主姓名char20否年龄Int20否地址char20否联系方式char20否管理员管理车位号int20否姓名char20否工作证号int20否自由车位车牌号int20否自由车位进入时间datetime20否离开时间datetime20否停车费用datetime20是4.5 固定车车牌号码 int进入时间 datetime固定车位车位编号 int固定车主姓名char(256)年龄 int地址char(256)联系方式char(256)管理员管理车位号int工作证号int姓名char(256)进出记录进入时间datetime离开时间datetime停车费用datetime自由车位车牌号 int驾驶放置管理记录管辖记载4.6 设计用户子模式 将概念模型转换为全局逻辑结构模型后,还应该根据局部应用需求,结合具体DBMS的特点,设计用户的外模式。目前关系数据库管理系统一般都提供了视图(View)概念,可以利用这一功能设计更符合局部用户需要的用户外模式。第一数据库全局模式主要是从系统的时间效率、空间效率、易维护等角度出发。由于用户外模式与模式是相对独立的,因此在定义用户外模式时可以注重考虑用户的习惯与方便。包括:(1) 使用更符合用户习惯的别名。在合并各分ER图时,曾做了消除命名冲突的工作,以使数据库系统中同一关系和属性具有唯一的名字。这在设计数据库整体结构时是非常必要的。用View机制可以在设计用户View时重新定义某些属性名,使其与用户一致,以方便使用。(2) 可以对不同级别的用户定义不同的View,以保证系统的安全性。 (3) 简化用户对系统的使用。如果某些局部应用中经常要使用某些很复杂的查询,为了方便用户,可以将这些复杂查询定义为视图,用户每次只对定义好的视图进行查询,大大简化了用户的使用。视图是从一个或几个基本表(或视图)导出的的表。它与基本表不同,是一个虚表。数据库中只存放视图的定义,而不存放视图对应的数据,这些数据仍存放在原来的基本表中。所以基本表中数据发生变化,从视图中查询
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年宁夏安全员考试法规题库答案
- 2025年无人机巡检员巡检研发面试模拟题
- 2025年扶贫基金会面试技巧与模拟题集锦
- 2025年医院会计实施预测题及答案
- 2025年学校安全员技能考核题及答案
- 2025年司法鉴定助理环境面试模拟试卷集
- 2025年安全生产培训考试答案
- 2025年农林技术员资格考试试题及答案解析
- 机票业务培训基础知识
- 2025年礼仪活动策划师认证考试试题及答案解析
- 2025年北师大版新教材数学二年级上册教学计划(含进度表)
- 2025年职业技能鉴定-油品储运调和操作工-油品储运调和操作工(高级技师)历年参考题库含答案解析(5套)
- 初中语文学科组质量分析
- 2025年电抗器行业当前市场规模及未来五到十年发展趋势报告
- 新班主任自我介绍课件
- 2025广西中考英语真题(原卷版)
- 餐饮行业食品安全管理实务培训教材
- 反歧视艾滋病课件
- 供应商保价协议合同范本
- 2025-2030中国乒乓发球机行业市场运营模式及未来发展动向预测报告
- 2025年广东省中考历史试卷(含答案)
评论
0/150
提交评论