案例分析公司管理数据库系统的规划.ppt_第1页
案例分析公司管理数据库系统的规划.ppt_第2页
案例分析公司管理数据库系统的规划.ppt_第3页
案例分析公司管理数据库系统的规划.ppt_第4页
案例分析公司管理数据库系统的规划.ppt_第5页
已阅读5页,还剩83页未读 继续免费阅读

下载本文档

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

文档简介

1,项目一 公司管理数据库 系统的规划,2,工作任务:,根据某公司的工作流程,设计一个满足该公司管理的数据库系统。具体要求如下: 公司数据库管理系统主要完成客户和产品之间进行产品订购的功能,此系统可以实现让公司增加、删除和修改所提供的产品,还可以让客户增加、删除和修改所需要的产品。公司交易员(雇员)可以利用客户提出的订货信息和产品信息提出交易建议。另外,该系统能够分类统计已订购的产品信息。,3,数据,描述事物的符号称为数据。描述事物的符号可以是数字,也可以是文字、图形、图像、声音、语言等,数据有多种表现形式,他们都可以经过数字化后存入计算机。,4,数据库,数据库是指长期存储在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。,5,数据库管理系统,数据库管理系统是位于用户与操作系统之间的一层数据管理软件。它的主要功能包括以下几个方面: 数据定义功能 数据操纵功能 数据库的运行管理 数据库的建立和维护功能,6,Oracle数据库管理系统工作界面,7,SQL Server数据库管理系统工作界面,8,Access数据库管理系统工作界面,9,Visual FoxPro数据库管理系统工作界面,10,数据库技术的四条线索,三个系统: 历史发展(层次网状系统) 当前主流(关系系统) 未来发展(面向对象系统) 数据库发展史上的两条主线: 数据模型的演变:层次、网状、关系、面向对象 数据语言的演变:基本SQL、嵌入SQL、动态SQL、递归SQL、ORDB的SQL 两个端点: 用户(使用)、系统(实现) 数据库设计演变的过程 ER图,对象联系图,UML类图,11,DBMS主流产品现状,代表性产品:Oracle公司的Oracle、IBM公司的DB2以及微软的SQL Server等 关系数据库技术仍然是主流 2000年RDBMS的市场份额占整个数据库市场的80%,这个比例比1999年增长了15%。 产品形成系列化 如DB2通用数据库产品包括了从高端的企业级并行数据库服务器,到移动端产品DB2 Everywhere的一整套系列。从支持平台看,不再是大型机上的专有产品,支持目前主流的各种平台,包括Linux和Windows NT。此外,它还有各种中间件产品,如DB2 Connect、DB2 Datajointer、DB2 Replication等,构成了一个庞大的数据库家族。,12,DBMS主流产品现状,支持各种互联网应用 例如,Oracle公司从8版起全面支持互联网应用,是互联网数据库的代表。微软公司更是将SQL Server作为其整个.NET计划中的一个重要的成分。 海量数据处理 互联网提供大量以XML格式数据为特征的半结构化数据,支持这种类型的数据的存储、共享、管理、检索等也是各数据库厂商的发展方向。,13,DBMS主流产品现状,向智能化集成化方向扩展 数据丰富知识贫乏的现实直接导致了联机分析处理(OLAP)、数据仓库(Data Warehousing)和数据挖掘(Data Mining)等技术的出现 企业应用越来越复杂,会涉及到应用服务器、Web服务器、其它数据库、旧系统中的应用以及第三方软件等,数据库产品与这些软件是否具有良好集成性往往关系到整个系统的性能。 Oracle公司的Oracle 9i 产品包括了OLAP、数据挖掘、ETL工具等一套完整的BI(商业智能)支持平台。IBM 公司也把BI套件作为其数据库的一个重点来发展。 微软认为商务智能将是其下一代主要的利润点。,14,DBMS模块,15,数据模型,数据库系统模型是指数据库中数据的存储结构。较为常见的有层次模型、网络模型、关系模型3种,选择使用这3种模型的数据库被分别称为层次型数据库、网络型数据库和关系型数据库。,16,1层次型数据库,层次型数据库使用结构模型作为自己的存储结构。这是一种树型结构,它由结点和连线组成,其中节点表示实体,连线表示实体之间的关系。 层次模型的特点: (1)有且仅有一个结点无双亲,该结点称为根结点; (2)其他结点有且只有一个双亲; (3)上一层和下一层记录类型间联系是1:N,学校的层次模型,18,2网络型数据库,网络型数据库使用网络模型作为自己的存储结构。在这种存储结构中,数据记录将组成网络中的节点,而记录和记录之间的关联组成节点之间的连线,从而构成了一个复杂的网状结构。 (1)有一个以上的结点没有双亲; (2)结点可以有多于一个的双亲,19,3关系型数据库,关系型数据库使用的存储结构是多个二维表格。表中的一行称为一条记录或元组,用来描述一个对象的信息;表中的一列称为一个字段或属性,用来描述对象的一个属性。数据表与数据表之间存在相应的关联,这些关联将被用来查询相关的数据。,20,数据库设计的基本步骤,按照规范化设计方法将数据库设计分为以下6个阶段 需求分析 概念结构设计 逻辑结构设计 数据库物理设计 数据库实施 数据库运行和维护,21,22,数据库设计思想原则,用户参与 发展眼光:系统不仅要满足用户目前的需求,也应满足近期要求,还要对于远期需求有相应的处理方案。,23,需求分析的任务,详细调查用户要处理的对象 充分了解原系统的工作概况 明确用户的各种要求 然后在此基础上确定新系统的功能 信息要求 处理要求 完整性要求,24,需求分析方法,为了明确用户的实际要求,需要: 跟班作业; 开调查会; 请专人介绍; 询问; 设计调查表要用户填写; 查阅记录等;,25,收集基础数据和一组数据流图 建设好数据字典: 数据项 数据结构 数据流 数据存储 处理过程 将收集到的数据分析后,提交给用户,征得用户认可。,26,(一)公司管理数据库系统 的需求分析,在这个阶段中,将对需要存储的数据进行收集和整理,并组织建立完整的数据集。可以使用多种方法进行数据的收集,例如相关人员调查、历史数据查阅、观摩实际的运作流程以及转换各种实用表单等。,27,数据流图,28,数据字典,数据流,29,学生成绩管理系统,30,(二)公司管理数据库系统的 概念模型设计,在需求分析的基础上,用ER模型表示数据及其相互间的联系,产生反映用户信息需求的数据模型。概念设计的目的是准确地描述应用领域的信息模式,支持用户的各种应用,概念设计的成果是绘制出公司管理数据库系统的ER图。,31,概念模型,概念模型最常用方法是实体-联系(Entity-Relationship)方法(即E-R方法),它源于1976年。 E-R图所描述的现实世界的信息结构称为实体-联系模型(E-R模型)。E-R图中包括实体、属性和联系3 种基本图素,32,1概念模型的主要概念,实体:客观存在并相互区别的事物及其事物之间的联系。例如,一个学生、一门课程、学生的一次选课等都是实体。 属性:实体所具有的某一特性。例如,学生的学号、姓名、性别、出生年份、系、入学时间等。 联系:实体与实体之间以及实体与组成它的各属性间的关系,分为: 一对一联系 一对多联系 多对多联系,33, 一对一联系(one-to-one),定义 如果两个实体集A、B中的任意一个实体至多与另一个实体集中的一个实体对应联系,则称A、B为一对一联系。记为“11”联系,34, 一对多联系(one-to-many),定义 设有两个实体集和,如果中每个实体与中任意个实体(包括零个)有联系,而中的每个实体至多与中的一个实体有联系,则称该联系为从到的1对多联系,记为1联系,35, 多对多联系(many-to-many),定义 如果两个实体集、中的每个实体都与另一个实体集中的任意个实体(包括零个实体)有联系,则称这两个实体集是多对多联系,记为“”联系。,36,2概念模型的表示方法,实体型:用矩形表示,矩形框内写明实体名。 属性:用椭圆形表示,并用无向边将其与相应的实体连接起来。 联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1,1:n或m:n)。,37,E-R模型,E-R模型是现实世界的纯粹表示,有三个基本成份:实体、联系和属性。它是一个概念性模型,描述的是现实中的信息联系,而不涉及数据如何在数据库系统中的存放。,38,公司管理数据库系统的ER模型,39,(三)公司管理数据库系统的逻辑设计,数据库逻辑设计的任务是把数据库概念设计阶段产生的数据库概念模式(ER图)转换为数据库逻辑模式。进行数据库逻辑设计,首先将概念设计中所得的ER图转换成等价的关系模式,然后,再进行逻辑模式的规范化和性能优化,使形成的数据库系统数据表,满足用户的完整性和安全性要求。,40,1、ER图转换为系统的数据表,利用ER图到关系模式转换的有关知识,将图1-2所示的公司管理数据库系统的ER图转换为系统的数据表。,41,2、将逻辑模式规范化和性能优化,由ER图转换的数据库逻辑模型还只是逻辑模式的雏形,要成为逻辑模式,还需要进行以下几个方面的处理: 对数据库的性能、存储空间等优化; 数据库逻辑模型的规范化,42,A、对数据库的性能、存储空间等优化,依据: 提高数据库性能的措施有:减少联接运算和减少关系的大小和数据量等。 节省存储空间的措施有:减少每个属性所占的空间、采用假属性减少重复数据所占存储空间。,43,产品信息表(product),44,产品信息表(product),45,类别信息表(category),46,拆分产品信息表(product) 后的逻辑模式,47,B、数据库逻辑模型的规范化,数据库的范式理论 关系数据库范式理论是在数据库设计过程中将要依据的准则,数据库结构必须要满足这些准则,才能确保数据的准确性和可靠性。这些准则被称为规范化形式,即范式。在数据库设计过程中,对数据库进行检查和修改并使它符合范式的过程叫做规范化。,48,数据库的范式理论,范式按照规范化的级别分为5种: 第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、第四范式(4NF)和第五范式(5NF)。在实际的数据库设计过程中,通常需要用到的是前三类范式。 第一范式 数据的原子性 第二范式 主键的绝对相关性 第三范式 依赖的传递性,49,(1)第一范式(1NF),第一范式要求每一个数据项都不能拆分成两个或两个以上的数据项。 例:在下面的表 所示的teacher表中“学历学位”是由学历和学位组成的,因此,这个teacher表不满足第一范式。可以将“学历学位”字段拆分为两个字段,如表所示,从而使该数据表满足第一范式。,50,teacher表,51,非规范化的关系score0,52,满足1NF的关系score1,53,(2)第二范式(2NF) : 主键的绝对相关性,如果一个数据表已经满足第一范式,而且该数据表中的任何一个非主键字段的数值都依赖于该数据表的主键字段,那么该数据表满足第二范式,即2NF。,54,不满足第二范式的P_order表,例: 在P_order表中,数据表的主键是订单ID。其中,“产品名”字段完全依赖于“产品ID”字段,而不是取决于订单ID,因此,P_order表不满足第二范式。但该数据表中的其他字段都完全依赖于该表的主键字段“订单ID”,因此,可以将该数据表中的“产品名”字段去掉,以满足第二范式。 不满足第二范式的P_order,55,满足第二范式的P_order表,56,(3)第三范式(3NF) : 依赖的传递性,如果一个数据表已经满足第二范式,而且该数据表中的任何两个非主键字段的数值之间不存在函数依赖关系,那么该数据表满足第三范式,即3NF。,57,例:如果在employee表中,“奖金”字段的数值是“薪水”字段数值的20,因此,这两个字段之间存在着函数依赖关系,所以employee表不满足第三范式。可以将“奖金”字段从该表中去掉,以满足第三范式。,58,规范化后的公司管理数据库 逻辑模式,59,C、确定数据表和表中的字段,Customer表:用来存储有关客户的信息,60,P_order表:用来存储有关订单的信息,61,Employee表:用来存储有关雇员的信息,62,Product表:用来存储有关产品的信息,63,Category表:用来存储有关产品类别的信息,64,D、建立约束,以保证数据的完整性和一致性,65,数据完整性,数据的完整性是指存储在数据库中的数据的正确性和可靠性,它是衡量数据库中数据质量好坏的一种标准。数据完整性要确保数据库中数据一致、准确,同时符合企业规则。因此,满足数据完整性要求的数据应具有以下特点:,数据类型准确无误 数据的值满足范围设置 同一表格数据之间不存在冲突 多个表格数据之间不存在冲突,66,实体完整性(Entity Integrity,功能: 实体完整性的目的是确保数据库中所有实体的惟一性,也就是不应使用完全相同的数据记录。,方法:设定主键(Primary Key)、惟一键(Unique Key)、惟一索引(Unique Index)和标识列(Identity Column)等,其中最常用的是使用主键。,67,区域完整性(Domain Integrity,功能:要求数据表中的数据位于某一个特定的允许范围内。,方法:使用默认值(Default)、核查(Check)、外键(Foreign Key)、数据类型(Data Type)和规则(Rule)等多种方法来实现区域完整性。,例:如果限制“性别”字段的数据值可以是“男”或“女”,那么,输入的其他数值将被SQL Server 2000拒绝。,68,参照完整性(Referential Integrity),作用:用来维护相关数据表之间数据一致性的手段,通过实现参照完整性,可以避免因一个数据表的记录改变而造成另一个数据表内的数据变成无效的值。,方法:外键(Foreign Key)、核查(Check)、触发器(Trigger)和存储过程(Stored Procedure)。,例:在employee表和P_order表中,如果要删除employee表中的一条记录,而同时在P_order表中存在需要参考该记录的记录集,那么该删除操作将会失败,这样就避免了P_order表中的数据失去关联。,69,用户定义完整性,功能:这种数据完整性由用户根据实际应用中的需要自行定义。 方法:规则(Rule)、触发器(Trigger)、存储过程(Stored Procedure)和数据表创建时可以使用的所有约束(Constraint)。 例:在employee表和P_order表中,如果某雇员负责的订单数超过5个,那么该雇员的“薪水”应大于5000。,70,主键和外键,数据表之间的关联实际上是通过键(Key)来实现的。所谓的“键”是指数据表中的一个字段,键分主键(Primary Key)和外键(Foreign Key)两种,它们都在数据表联接的过程中起着重大的作用。,71,主键:,主键是数据表中具有惟一性的字段,设置为主键的字段的值不能重复。 作用:执行查询,以提高查询的速度。数据库管理系统并不会强制要求在每一个数据表中必须设置主键,但这里推荐大家这样做,因为主键在数据表联接和提高查询性能方面会起到很大的作用。,72,外键,一个数据表将使用该数据表中的外键连接到其它的数据表,而这个外键字段在其它的数据表中将作为主键字段出现。,73,约束,使用约束是实现数据完整性最主要的方法,使用约束的主要目的是限制输入到表中的数值的范围。从应用范围来讲,约束可分为两种:字段级约束和数据表级约束。 字段级约束:字段级约束是数据表中字段定义的一部分,它只能应用于数据表中的一个字段。 数据表级约束:数据表级约束独立于数据表的字段定义之外,它可以应用于数据表中的多个字段。,74,(1) 主键(PRIMARY KEY)约束,主键约束使用数据表中的一列数据或多列数据来惟一地标识一行数据。也就是说,在数据表中不能存在主键相同的两行数据。而且,位于主键约束下的数据应使用确定的数据,不能输入NULL来代替确定的数值。在管理数据表时,应确保每一个数据表都拥有自己惟一的主键,从而实现数据的实体完整性。,75,(2) 外键(FOREIGN KEY)约束,外键约束主要用来实现数据的区域完整性和引用完整性。如果确定了数据表中某一个字段将作为该数据表与其他数据表关联时使用的外键,那么,该字段的取值范围将决定于关联数据表中该字段的取值。,76,(3) 惟一(UNIQUE)约束,惟一约束主要用来确保非主键字段中数据的惟一性。惟一约束同主键约束主要区别在于: 在同一个数据表中,惟一约束可以用来同时约束一个或多个非主键字段中数据的惟一性,而主键约束只允许约束一个字段数据的惟一性或多个字段组合在一起的惟一性。 在使用惟一约束的字段中允许出现NULL值,而在使用主键约束时,字段中不允许出现NULL值。,77,(4) 核查(CHECK)约束,核查约束通过检查输入数据表字段的数值来维护数据的完整性,以确保只有符合条件的数据才能够进入数据表。它通常是通过检查一个逻辑表达式的结果是否为真来判断数据是否符合条件的。,78,1、建立主键约束,以惟一标识数据表的各条记录,用主键来标识记录,在本公司管理数据库中,雇员ID是employee表的主键,客户ID是customer表的主键,产品ID是product表的主键,类别ID是category表的主键,订单ID是P_order表的主键。,79,2、建立数据表之间的关联,并根据建立的关联,实现表之间的参照完整性,80,81,82,3、对表中一些字段建立检查约束,如性别字段值应为“男”或“女”,添加约束“check(性别 in (男,女)”,定货日期应在系统日期之前, 添加约束“check(订货日期date()”,83,(四)公司管理数据库系统的物理设计,1选择存储结构:设计物理存储结构的目的是确定如何在磁盘上存储关系、索引等数据库文件,使得空间利用率最大而数据操作的开销最小。由于物理存储结构的设计包含的方面非常广泛,而且不同的数据库管理系统对磁盘空间管理的策略差别很大,所以,在此不多介

温馨提示

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

评论

0/150

提交评论