您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 02-数据库配置与管理-项目2-1
项目二公司管理数据库系统的规划设计【教学目标】(1)理解数据库的基本概念。(2)理解数据库组织数据的模型。(3)掌握关系型数据库的有关基本概念。(3)理解范式理论。【能力目标】(1)能够对实际应用系统进行项目需求分析。(2)能够根据项目需求分析进行数据库的概念模型设计。(3)能够将E-R模型转换为关系模型。(4)能够利用范式理论对数据表进行优化设计。(5)通过项目需求分析,培养与客户沟通的能力。【学习导航】本项目介绍数据库的开发流程,即数据库的设计规则和设计步骤。在图2-1中,可图2-1本项目在公司管理数据库系统开发中的称节及位置以看到本项目在公司管理数据库系统开发中的环节及位置。【工作任务】根据公司管理系统的工作流程,设计一个满足该公司管理的数据库。按照数据库设计的思想及基本步骤对公司管理数据库进行如下设计。(1)公司管理数据库的需求分析。(2)公司管理数据库的概念结构设计。(3)公司管理数据库的逻辑设计。(4)公司管理数据库的物理设计。理论知识准备数据库是相关数据的集合,它不仅反映数据本身的内容,而且要反映数据之间的联系。在数据库中,用数据模型这个工具来抽象、表示、处理现实世界中的数据和信息,以便计算机能够处理这些对象。因此,数据模型就是对现实世界数据的模拟。了解数据模型的基本概念是学习数据库的基础。根据数据模型应用目的的不同,可以将数据模型分为两类:概念模型(也称信息模式)和数据模型。前者是从用户的角度来对数据和信息建模,这类模型主要用在数据库的设计阶段,与具体的数据库管理系统无关。后者是从计算机系统的角度对数据建模,它与所使用的数据管理系统的种类有关,主要用于DBMS的实现。1.实体实体是客观存在且相互区别的事物及事物之间的联系,例如,在数据库概念结构设计时有客户实体、订单实体、雇员实体和产品实体。2.属性属性是指实体所具有的某种特性。属性用来描述一个实体,例如,产品实体有产品ID、产品名等各种属性。2.12.1.1概念模型2.1.1概念模型3.联系现实世界的事物间总是存在这样或那样的联系,这种联系必然要在信息世界中得到反映。这些联系在信息世界中反映为实体内部以及实体与实体之间的联系。两个实体之间的联系有3种情况。(1)一对一联系:如果对于实体A中的每一个实体,实体B中至多有一个实体与其发生联系,反之亦然,则称实体A与实体B是一对一联系,记作1:1。(2)一对多联系:如果对于实体A中的每一个实体,实体B中有n(n0)个实体与之发生联系;反之,对于实体B中的每一个实体,实体A中至多有一个实体与之发生联系,则称实体A与实体B是一对多联系,记作1:n。这是一种最常见的一种联系。如图2-2所示,产品实体与类别实体使用类别ID进行联系,每个类别都拥有多件产品,而每件产品只属于一个类别。因此,类别实体中的一个实体对应产品实体中的多个实体,产品实体中的一个实体只对应类别实体中的一个实体。所以,这两个实体之间构成一对多联系。(3)多对多联系:如果对于实体A中的每一个实体,实体B中有n(n≥0)个实体与之发生联系;反之,对于实体B中的每一个实体,实体A中有m(m≥0)个实体与之发生联系,则称实体A与实体B是多对多联系,记作m:n。如图2-3所示,如果公司中的每一个雇员并不是只负责一个订单,而每个订单也不是只能有一个订单负责人,那么在订单实体和雇员实体之间就会建立多对多联系。在大多数情况下,可以将这种联系转换为多个一对多联系。图2-2一对多联系图2-3多对多联系4.E-R方法E-R方法是一种用来在数据库设计过程中表示数据库系统结构的方法,又被称为EAR方法或EAR模型。它的主导思想是使用实体(Entity)、实体的属性(Attribution)、实体之间的关系(Relationship)来表示数据库系统的结构。在E-R模型图中,用方框表示实体,用菱形表示联系,用椭圆形表示属性。例如,可以将一名雇员作为一个实体表示,如图2-4所示。图2-4雇员实体另外,还可以使用E-R模型图来表示实体之间的关系。例如,可以使用如图2-5所示的E-R模型图来表示雇员实体和订单实体之间的关系。图2-5雇员实体和订单实体之间的联系图2-6转换后的数据表结构在完成了E-R模型图以后,就可以将模型图转换为真正的数据表结构了。在E-R模型图向数据表的转换过程中,首先需要将实体转换为一个独立的数据表,然后将实体的属性转换为数据表中的字段,最后根据实体之间的关系建立数据表之间的关联。例如,图2-5中的E-R模型图可以转换为如图2-6所示的数据表结构。当然,许多有经验的数据库开发者已经完全不必经过设计E-R模型图、将E-R模型图转换为数据表结构的过程就可以设计出准确可靠的数据库结构了。但在刚刚开始设计数据库的阶段,还希望同学们按照这种过程来进行。图2-6转换后的数据表结构2.1.2数据模型1.数据模型的三要素现实世界中的客观事物经过概念模型的抽象和描述,最终要转换为计算机所能识别的数据模型。数据模型与具体的DBMS相关,可以说它是概念模型的数据化,是现实世界的计算机模拟。数据模型通常有一组严格定义的语法,人们可以使用它来定义、操纵数据库中的数据。数据模型的组成要素包括数据结构、数据操作和数据的完整性约束。(1)数据结构。数据结构是对数据静态特征的描述。数据的静态特征包括数据的基本结构、数据间的联系和对数据取值范围的约束。所以说,数据结构是所研究对象类型的集合。例如,在前面所讲的公司管理系统中,产品表中的产品ID和订单表中的产品ID是有联系的,即订单表中的产品ID必须在产品表中产品ID的取值范围内。(2)数据操作。数据操作是指对数据动态特征的描述,包括对数据进行的操作及相关操作规则。数据库的操作主要有检索和更新(包括插入、删除、修改)两大类。数据模型要定义这些操作的确切含义、操作符号、操作规则(如优先级别)以及实现操作的语言。因此,数据操作完全可以看成是对数据库中各种对象操作的集合。(3)数据的完整性约束。数据的完整性约束是对数据静态和动态特征的限定,是用来描述数据模型中数据及其联系应该具有的制约和依存规则,以保证数据的正确、有效和相容。数据模型应该反映和规定符合本数据模型必须遵守的基本的通用的完整性约束条件。例如,在关系模型中,任何关系必须满足实体完整性和参照完整性两个条件。另外,数据模型还应该提供定义完整性约束条件的机制,用以反映特定的数据必须遵守特定的语义约束条件。例如,学生信息中必须要求学生性别只能是男或女。数据模型的这3个要素完整地描述了一个数据模型,数据模型不同,描述和实现方法亦不同。2.层次模型数据库的有类型,是根据数据模型划分的。目前常用的数据模型主要有层次模型、网状模型、关系模型和面向对象模型。其中,层次模型、网状模型是非关系模型。层次模型用树形结构来表示各类实体以及实体间的联系。以实体作为节点,树是由节点和连线组成的。每个节点表示一个记录类型,记录(类型)之间的联系用节点之间的连线(有向边)表示。通常把表示1的节点放在上面,称为父节点;把表示多的节点放在下面,称为子节点。在数据库中定义满足下面两个条件的数据模型为层次模型。(1)有且只有一个节点没有父节点,这个节点称为根节点。(2)根以外的其他节点有且只有一个父节点。由此可见,层次模型描述的是1:n的实体联系,即一个父节点可以有一个或多个子节点。如图2-7所示是一个层次模型。3.网状模型在现实世界中,事物之间的联系更多的是非层次关系的,用层次模型表示非树形结构是很不直接的,网状模型则可以克服这一点。与层次模型一样,网状模型中每个节点表示一个记录类型(实体),每个记录类型可包含若干个字段(实体的属性),节点间的连线表示记录类型(实体)之间一对多的父子联系。与层次模型不同,网状模型中的任意节点间都可以有联系。在数据库中,把满足以下两个条件的数据模型称为网状模型。(1)允许一个以上的节点无父节点。(2)一个节点可以有多于一个的父节点。由此可见,网状模型可以描述实体间多对多的联系。如图2-8所示是一个网状模型。图2-7层次模型图2-8网状模型网状模型是一种比层次模型更具普遍性的结构,它去掉了层次模型的两个限制,允许多个节点没有父节点,允许节点有多个父节点,此外它还允许两个节点之间有多种联系(称为复合联系)。因此,网状模型可以更直接地用于描述现实世界,而层次模型实际上是网状模型的一个特例。4.关系模型关系模型是目前应用最广泛,也是最重要的一种数据模型。关系数据库就是采用关系模型作为数据的组织形式的。关系模型是1970年在E.F.Codd发表的题为《大型共享数据库数据的关系模型》的论文中首次提出的,并开创了数据库关系方法和关系数据理论的研究,进而创建了关系数据库系统(RelationalDatabaseSystem,RDBS)。更重要的是RDBS提供了结构化查询语言(StrcturedQueryLanguage,SQL),它是在关系数据库中定义和操纵数据的标准语言。SQL大大增强了数据库的查询功能,是RDBS普遍应用的直接原因。(1)数据结构。关系模型中基本的数据结构是二维表。每个实体可以看成一个二维表,它存放实体本身的数据,实体间的联系也用二维表表表达。在关系模型中,每个二维表称为一个关系,并且有一个名称,称为关系名。如表2-1所示是个二维表的结构。产品ID产品名类别ID单价(元)库存量(件)1牛奶12.302002冰激凌11.504003果冻13.003004打印纸240.001005墨盒2200.00150表2-1二维表(2)数据操纵与完整性约束。关系模型的数据操纵主要有查询、插入、删除和更新。进行插入、删除、更新操作时要满足关系模型的完整性约束条件。关系模型的完整性约束包括实体完整性、参照完整性和用户定义完整性。关于数据完整性请参见2.1.4。(3)存储结构。关系模型中,实体及实体间的联系都用二维表来表示。在数据库的物理组织中,二维表以文件形式存储。(4)优点。关系数据模型的主要优点如下。①具有严格的数据理论基础,关系数据模型是建立在严格的数据概念基础上的。②概念单一,不管是实体本身还是实体之间的联系都用关系(表)来表示,这些关系必须是规范化的,使得数据结构非常清晰、简单。③在用户的眼中,无论是原始数据还是结果都是二维表,不用考虑数据的存储路径。因此,提高了数据的独立性、安全性,同时也提高了开发效率。5.面向对象模型面向对象数据库系统支持面向对象数据模型。面向对象数据库是面向对象数据库技术和面向对象程序设计相结合的产物,面向对象的方法是面向对象数据库模型的基础,这种数据模型能够适应更复杂的数据处理技术。面向对象模型中的核心概念是对象(Object)和类(Class)。(1)对象和类。对象类似于E-R模型中的实体,但更为复杂。每个对象不仅有数据特征,还有状态(State)特征和行为(Behavior)特征,并把它们封装在一起。比如,学号、姓名、年龄、专业等可以看做学生的数据特征,学生是否毕业看成状态特征,学生是否选修了课程可以看做学生的行为特征。因此,对象应该具有三要素:唯一的标识符用来识别对象;用特征或属性用来描述对象;有一组操作用来决定对象对应的行为。根据对象的定义,我们可以看出有很多客观存在的对象具有相似的特性。比如,学生是一个客观存在的对象,那么无论是男学生还是女学生都应该具有学生的特征,只不过可以通过相应的属性值加以区分。我们把具有相同数据特征和行为特征的所有对象称为类。由此可以看出,对象是类的一个实例。类是一个描述,对象是具体描述的值。每个类都由两部分组成,其一是对象类型,也称对象的状态;其二是对这个对象进行的操作方法,称为对象的行为。对象的状态是描述该对象属性值的集合,对象的行为是对该对象操作的集合。例如,学生赵强是一个学生类的对象。对象名:赵强对象的属性(状态):未婚学号:07304703203性别:男专业:信息工程系出生日期:1988-04—25对象的操作(行为):选修课程,参加考试该学生类中所有像赵强这样的学生对象,都
本文标题:02-数据库配置与管理-项目2-1
链接地址:https://www.777doc.com/doc-3539957 .html