免费智能真题库 > 历年试卷 > 信息系统管理工程师 > 2014年上半年 信息系统管理工程师 上午试卷 综合知识
  第12题      
  知识点:   数据库逻辑结构设计   数据库设计   数据模型   关系模型   设计过程   实体   实体类   数据库   外模式
  关键词:   关系模型   实体   数据库   数据模型   外模式   数据        章/节:   系统分析设计基础知识       

 
关系模型是采用(12)结构表达实体类型及实体间联系的数据模型。在数据库设计过程中,设计用户外模式属于(13).
 
 
  A.  树型
 
  B.  网状
 
  C.  线型
 
  D.  二维表格
 
 
 

 
  第17题    2015年上半年  
   22%
部门、员工和项目的关系模式及它们之间的E-R图如下所示,其中,关系模式中带实下划线的属性表示主键属性。
部门(部门代..
  第21题    2020年下半年  
   59%
视图设计属于数据库设计的(21)阶段。
  第50题    2019年上半年  
   58%
以下关于数据库设计的叙述中,不正确的是( )。
   知识点讲解    
   · 数据库逻辑结构设计    · 数据库设计    · 数据模型    · 关系模型    · 设计过程    · 实体    · 实体类    · 数据库    · 外模式
 
       数据库逻辑结构设计
        逻辑结构设计的任务是要将概念结构设计阶段完成的概念模型转换成能被选定的数据库管理系统支持的数据模型。现行的数据库管理系统一般支持网状、层次和关系三种数据模型中的一种,其中关系型的数据模型在DBMS中的应用和支持较为广泛,已成为主流。
        下面简单介绍一下由E-R模型转换为关系数据模型的转化规则。在关系数据模型下,数据的逻辑结构是一张二维表,每个关系为一张二维表格。E-R模型转换为关系数据模型的转化规则如下。
        .每一实体及其属性对应于一个关系模式。实体名作为关系名,实体的属性作为对应关系的属性。所谓关系模式,就是对关系的描述,用关系名(属性1、属性2、属性3,……属性n)来表示。
        .两两实体之间的联系及其属性一般对应一个关系模式,联系名作为对应的关系名,联系的属性作为对应关系的属性;不带属性的联系可以去掉。
        .实体和联系中关键字属性在关系模式中仍作为关键字。
        上图中所示的实体关系图可以按照这些转换规则进行转化得到如下对应的关系模型。
        .主管上级领导,编号、姓名、性别、年龄、职务、任职时间、参加工作时间、入党时间、学历
        .科室,包括主管上级领导编号、科室号
        .科员,包括科室号、编号、姓名、性别、年龄、职称、参加工作时间、入党时间、学历
        .群众,包括来访者编号、姓名、性别、年龄、来访日期、服务事宜
        .服务,包括受理公务员编号、来访者编号、服务日期、服务事宜、处理结果
        不同的系统配备的数据库管理系统性能不同,因而必须结合具体DBMS的性能和要求将一般数据模型转换成所选用的数据管理系统支持的数据模型,若选用的DBMS支持层次、网络模型,则还要完成从关系模型向层次或网络模型的转换。
 
       数据库设计
        数据库的设计质量对整个系统的功能和效率有很大的影响。数据库设计的核心问题是:从系统的观点出发,根据系统分析和系统设计的要求,结合选用的数据库管理系统,建立一个数据模式。设计的基本要求是:
        .符合用户需求,能正确反映用户的工作环境
        .设计与所选用的DBMS所支持的数据模式相匹配
        .数据组织合理,易操作、易维护、易理解
               数据库设计步骤
               数据库的设计过程可以分为4个阶段,即用户需求分析、概念结构设计、逻辑结构设计和物理结构设计。下图反映和分析了这一设计过程,其中:
               
               数据库设计步骤
               .用户需求分析是对现实世界的调查和分析
               .概念结构设计是从现实世界向信息世界的转换。根据用户需求来进行数据库建模,也称为概念模型,常用实体关系模型表示。
               .逻辑结构设计是从信息世界向数据世界的转化。将概念模型转化为某种数据库管理系统所支持的数据模型。
               .物理结构设计是为数据模型选择合适的存储结构和存储方法。
               用户需求分析
               用户需求分析需要结合具体的业务需求分析,确定信息系统的各类使用者以及管理员对数据及其处理、数据安全性和完整性的要求。主要设计如下三方面:
               (1)系统应用环境分析。
               系统应用环境及系统所服务和运行的特殊组织环境。不同业务单位有不同的组织结构和业务工作流程。环境的特殊性将决定数据库的整体设计思路和风格。
               (2)用户数据需求及加工分析。
               用户需求及加工分析指用户希望从数据库中获得那些信息以及对信息的处理要求。由此决定数据库中应该存储哪些信息以及对数据需要进行哪些加工处理,包括在处理过程中特定的查询要求、响应时间要求,以及数据安全性、保密性、完整性和一致性等方面的要求,应在此基础上编制数据字典。
               (3)系统约束条件分析。
               系统约束条件分析及分析现有系统的规模、结构、资源和地理分布,明确现有系统存在的种种限制或约束,从而使系统设计不至于脱离实际条件,确保系统设计顺利实施。
               数据库概念结构设计
               概念结构设计是指由现实世界的各种客观事物及其联系转化为信息世界中的信息模型的过程,即为数据库的概念结构设计。E-R模型即实体-联系模型是描述数据库概念结构的有力工具。下面结合实例说明E-R模型的构建。
               在一个政府部门中存在着多个不同科室,每一个由若干名科员构成,每个科室都有一名主管上级领导,科室公务员负责为前来机关办事的群众提供相关的服务。现分别画出各个科室的E-R模型图,再画出整个机关的E-R模型。
               一个科室结构应包括:
               (1)实体,即上级领导、科室、科员、群众。
               (2)实体联系,主管领导与科室之间是一对多的关系,科室与科员之间的联系也是一对多的关系,科员与群众之间是多对多的关系。
               (3)各个实体所具有的属性。
               .主管上级领导,属性可以有编号、姓名、性别、年龄、职务、任职时间、参加工作时间、入党时间、学历
               .科室的属性可以包括科室号
               .科员的属性包括编号、姓名、性别、年龄、职称、参加工作时间、入党时间、学历
               .群众属性包括服务日期、服务事宜、处理结果
               .服务,包括服务日期、服务事宜、处理结果
               通过以上分析,可以得到如下的E-R模型,如下图所示(部分属性)。
               
               科室E-R模式图
               数据库逻辑结构设计
               逻辑结构设计的任务是要将概念结构设计阶段完成的概念模型转换成能被选定的数据库管理系统支持的数据模型。现行的数据库管理系统一般支持网状、层次和关系三种数据模型中的一种,其中关系型的数据模型在DBMS中的应用和支持较为广泛,已成为主流。
               下面简单介绍一下由E-R模型转换为关系数据模型的转化规则。在关系数据模型下,数据的逻辑结构是一张二维表,每个关系为一张二维表格。E-R模型转换为关系数据模型的转化规则如下。
               .每一实体及其属性对应于一个关系模式。实体名作为关系名,实体的属性作为对应关系的属性。所谓关系模式,就是对关系的描述,用关系名(属性1、属性2、属性3,……属性n)来表示。
               .两两实体之间的联系及其属性一般对应一个关系模式,联系名作为对应的关系名,联系的属性作为对应关系的属性;不带属性的联系可以去掉。
               .实体和联系中关键字属性在关系模式中仍作为关键字。
               上图中所示的实体关系图可以按照这些转换规则进行转化得到如下对应的关系模型。
               .主管上级领导,编号、姓名、性别、年龄、职务、任职时间、参加工作时间、入党时间、学历
               .科室,包括主管上级领导编号、科室号
               .科员,包括科室号、编号、姓名、性别、年龄、职称、参加工作时间、入党时间、学历
               .群众,包括来访者编号、姓名、性别、年龄、来访日期、服务事宜
               .服务,包括受理公务员编号、来访者编号、服务日期、服务事宜、处理结果
               不同的系统配备的数据库管理系统性能不同,因而必须结合具体DBMS的性能和要求将一般数据模型转换成所选用的数据管理系统支持的数据模型,若选用的DBMS支持层次、网络模型,则还要完成从关系模型向层次或网络模型的转换。
               数据库物理结构设计
               数据库的物理设计以逻辑结构设计的结果为输入,结合关系数据库系统的功能和应用环境、存储设备等具体条件为数据模型选择合适的存储结构和存储方法。从而提高数据库的效率。物理结构设计的主要任务如下。
               (1)确定存储结构。
               根据用户对数据结构和处理的要求,权衡数据存取时间、空间利用率和维护代价等三方面的利弊,综合考虑存储效率、维护成本等相关因素,从数据库管理系统提供的各种存储结构(例如顺序存储结构、索引存储结构,等等)中,选取合适的结构并加以实现。
               (2)选择和调整存储路径。
               数据库必须支持多个用户的多种应用,因此必须提供多个存取入口、多条存取路径,建立多个辅助索引。此过程中需要考虑一些问题,例如如何选取合适的数据项建立索引,如何建立辅助索引从而达到检索效率和存储空间的统一等。
               (3)确定数据存储位置。
               按照不同的应用可将数据分为若干个组。根据各组数据利用频率和存储要求的不同,各类数据的存放位置、存储设备以及区域划分都应有所不同。应该把存取频率和存取速度要求较高的数据存储在高速存储器上,把存取频率和存取速度要求较低的数据存储在低速存储器上。
               (4)确定存储分配。
               大多数据库管理系统会提供一些存储分配参数,例如溢出区大小、块大小、缓冲区大小和个数等,设计人员应全面考虑这些参数,以进行物理优化。
               (5)确定数据的完整性与安全性约束。
               进行物理设计时不仅要考虑所选用数据库管理系统提供的安全机制和完整性约束,还要考虑用户使用制度、应用程序、计算机系统等各个涉及具体应用的方面。
               (6)考虑数据恢复方案。
               数据库的物理设计阶段也要考虑数据库的恢复问题,采取必要的物理措施和手段,为突发事件和故障后的恢复做好准备,提供必要的物理工具。
 
       数据模型
        模型是现实世界特征的模拟和抽象,而数据模型(Data Model)也是一种模型,是对现实世界数据特征的抽象。现有的数据库系统均是基于某种数据模型的。根据模型应用的不同目的,可以将模型划分为两类:第一类是概念模型(也称信息模型),它是按用户的观点来对数据和信息建模,主要用于数据库设计;另一类是数据模型,主要包括网状模型、层次模型、关系模型等,它是按计算机系统的观点对数据建模,主要用于DBMS的实现。数据模型是数据库系统的核心和基础,各种计算机上实现的DBMS软件都是基于某种数据模型的。
               数据模型的组成要素
               数据模型是严格定义的一组概念的集合,这些概念精确地描述了系统的静态特性、动态特性和完整性约束条件。因此数据模型通常有数据结构、数据操作和数据的约束条件三个组成要素。
               (1)数据结构。数据结构是所研究的对象类型的集合。这些对象是数据库的组成成分,包括两类,一类是与数据类型、内容、性质有关的对象;一类是与数据之间联系有关的对象。数据结构是刻画一个数据模型性质最重要的方面。因此在数据库系统中,人们通常按照其数据结构的类型来命名数据模型。例如层次结构、网状结构和关系结构的数据模型分别命名为层次模型、网状模型和关系模型。数据结构是对系统静态特性的描述。
               (2)数据操作。数据操作是指对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作及有关的操作规则。数据库主要有检索和更新(包括插入、删除、修改)两大类操作。数据模型必须定义这些操作的确切含义、操作符号、操作规则以及实现操作的语言。数据操作是对系统动态特性的描述。
               (3)数据的约束条件。数据的约束条件是一组完整性规则的集合。而数据库的完整性是指数据的正确性和相容性,例如,学生学号必须唯一、性别只能是男或女、本科学生的年龄的取值范围为14~30的整数。完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。
               概念模型和E-R图
               (1)基本概念。
               .实体:客观存在并可相互区别的事物。实体可以是具体的人、事、物,也可以是抽象的概念或联系。
               .属性(Attribute):实体所具有的某一特征。一个实体可以由若干个属性来刻画。
               .码(Key):唯一标识实体的属性集。
               .域(Domain):属性的取值范围。
               .实体型(Entity Type):具有相同属性的实体必然具有共同的特征和性质。用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。
               .实体集(Entity Set):同型实体的集合。
               .联系(Relationship):分为实体(型)内部的联系和实体(型)之间的联系。实体内部的联系通常是指组成实体的各属性之间的联系。实体之间的联系通常是指不同实体集之间的联系。两个实体型之间的联系可以分为:一对一联系(记为1:1)、一对多联系(1:n)和多对多联系(m:n)。
               (2)概念模型的表示方法。
               概念模型的表示方法很多,其中最为著名最为常用的是实体-联系方法(E-R方法,也称为E-R模型),该方法用E-R图来描述现实世界的概念模型。在E-R图中,实体用矩形表示,矩形框内写明实体名;属性用椭圆形表示,并用无向边将其与相应的实体连接起来;联系用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1,1:n或m:n)。同时,如果联系具有属性,则这些属性也要用无向边与该联系连接起来。
               如下图所示就是用E-R图来表示某个工厂物资管理的概念模型。
               
               工厂物资管理E-R图
               仓库、零件、供应商、项目、职工是物资管理所涉及到的实体。每个实体都有若干属性,例如,仓库的属性是仓库号、面积和电话号码。实体之间具有联系,这些联系分别是:①仓库和零件的多对多联系,一个仓库可以存放多种零件,一种零件可以存放在多个仓库当中,库存量表示某种零件在某个仓库中的数量。②仓库和职工之间的一对多联系,一个仓库有多个职工当仓库保管员,一个职工只能在一个仓库工作。③职工之间的一对多联系,即职工之间具有领导-被领导关系,例如仓库主任领导若干保管员,一个保管员被一个仓库主任领导。④供应商、项目和零件三者之间具有多对多联系,一个供应商可以供给若干项目多种零件,每个项目可以使用不同供应商供应的零件,每种零件可由不同供应商供给。
               可以看出,实体-联系方法是抽象和描述现实世界的有力工具。用E-R图表示的概念模型独立于具体的DBMS所支持的数据模型,它是各种数据模型的共同基础,比数据模型更一般、更抽象、更接近现实世界。
               最常用的数据模型
               目前,数据库领域中最常用的数据模型有四种:层次模型、网状模型、关系模型、面向对象模型。其中层次模型和网状模型统称为非关系模型。
               (1)层次模型。
               层次模型是数据库系统中最早出现的数据模型,用树型结构来表示各类实体以及实体间的联系。在数据库中定义满足下面两个条件的基本层次联系的集合为层次模型:①有且只有一个结点没有双亲结点,这个结点成为根结点;②根以外的其他结点有且只有一个双亲结点。层次数据库系统只能直接处理一对多(包括一对一)的实体联系,但在现实世界中很多联系是非层次的(例如一个结点具有多个双亲时),层次模型在处理多对多联系时,必须首先将其分解成一对多联系,分解方法有冗余结点法和虚拟结点法,但这两种处理方法较笨拙。
               (2)网状模型。
               在数据库中,把满足以下两个条件的基本层次联系集合成为网状模型:①允许一个以上的结点无双亲;②一个结点可以有多于一个的双亲。网状模型比层次模型更具普遍性,层次模型是网状模型的一个特例。可以看出,与层次模型不同,网状模型中子女结点与双亲结点的联系可以不唯一,因此,要为每个联系命名,并指出与该联系有关的双亲记录和子女记录。
               此类模型的结构复杂,当应用环境扩大时,数据库将变得复杂,最终用户难以掌握。记录之间的联系通过存取路径实现,用户必须了解系统结构的细节,才能在应用程序的编写中选择到适当的路径,加重了编程的负担。
               (3)关系模型。
               关系模型是目前最重要的一种数据模型,关系数据库系统(例如著名的DB2、Oracle、Ingres、 Sybase、 Informix等)采用关系模型为数据的组织方式。关系模型与层次模型和网状模型不同,它建立在严格的数学概念的基础之上,应用数学方法来处理数据库中的数据。在用户观点下,关系模型中数据的逻辑结构是一张二维表,由行和列组成。关系模型概念单一,无论实体还是实体间的联系都是用关系表示,数据结构简单清晰,用户易懂易用。存取路径对用户透明,数据独立性高、安全保密性好,且简化了数据库开发工作。如下图所示是关系模型数据结构的示例。
               
               关系模型数据结构
               一个关系对应一张表,它表示的关系可描述为如下。
               学生(学号,姓名,性别,系名,生日)
               在关系模型中,实体间的联系都是用关系来表示。上图所示的学生、课程、选课的多对多联系在关系模型中可以表示为:
               学生(学号,姓名,性别,系名,生日)
               课程(课程号,课程名,学分)
               选修(学号,课程号,成绩)
 
       关系模型
        我们先学习几个相关的基本概念。
        (1)域:一组具有相同数据类型的值的集合。
        (2)笛卡儿积:给定一组域D1D2,…,Dn,这些域中可以有相同的。它们的笛卡儿积为:D1×D2×…×Dn={(d1d2,…,dn)|djDjj=1,2,…,n}。其中每一个元素(d1d2,…,dn)叫作一个n元组(简称为元组)。元组中的每一个值dj叫作一个分量。
        (3)关系:D1×D2×…×Dn的子集叫作在域D1D2,…,Dn上的关系,用RD1D2,…,Dn)表示。这里R表示关系的名字,n是关系的目或度。
        关系中的每个元素是关系中的元组,通常用t表示。关系是笛卡儿积的子集,所以关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域。由于域可以相同,为了加以区分,必须对每列起一个名字,称为属性。
        若关系中的某一属性组(一个或多个属性)的值能唯一地标识一个元组,则称该属性组为候选码(候选键)。若一个关系有多个候选码,则选定其中一个作为主码(主键)。主码的所有属性称为主属性。不包含在任何候选码中的属性称为非码属性(非主属性)。在最简单的情况下,候选码只包含一个属性。在最极端的情况下,关系模式所有属性的组合构成关系模式的候选码,称为全码。
        关系可以有三种类型:基本关系(基本表、基表)、查询表和视图表。基本表是实际存在的表,它是实际存储数据的逻辑表示;查询表是查询结果对应的表;视图表是由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据。
        基本关系具有以下6条性质:
        (1)列是同质的,即每一列中的分量是同一类型的数据,来自同一个域。
        (2)不同的列可出自同一个域,称其中的每一列为一个属性,不同的属性要给予不同的属性名。
        (3)列的顺序无所谓,即列的次序可以任意交换。
        (4)任意两个元组不能完全相同。但在大多数实际关系数据库产品中,例如Oracle等,如果用户没有定义有关的约束条件,它们都允许关系表中存在两个完全相同的元组。
        (5)行的顺序无所谓,即行的次序可以任意交换。
        (6)分量必须取原子值,即每一个分量都必须是不可分的数据项。
        关系的描述称为关系模式,一个关系模式应当是一个五元组,它可以形式化地表示为:RUD,DOM,F)。其中R为关系名,U为组成该关系的属性名集合,D为属性组U中属性所来自的域,DOM为属性向域的映像集合,F为属性间数据的依赖关系集合。关系模式通常可以简记为RA1A2,…,An)。其中R为关系名,A1A2,…,An为属性名。
        关系实际上就是关系模式在某一时刻的状态或内容。也就是说,关系模式是型,关系是它的值。关系模式是静态的、稳定的,而关系是动态的、随时间不断变化的,因为关系操作在不断地更新着数据库中的数据。但在实际当中,常常把关系模式和关系统称为关系,读者可以从上下文中加以区别。
        在关系模型中,实体以及实体间的联系都是用关系来表示。在一个给定的现实世界领域中,相应于所有实体及实体之间的联系的关系的集合构成一个关系数据库。
        关系数据库也有型和值之分。关系数据库的型也称为关系数据库模式,是对关系数据库的描述,是关系模式的集合。关系数据库的值也称为关系数据库,是关系的集合。关系数据库模式与关系数据库通常统称为关系数据库。
 
       设计过程
        结构化设计的过程如下。
        (1)精化DFD。
        (2)确定DFD的信息流类型(变换流或事务流)。
        (3)根据流类型分别将变换流或事务流转换成程序结构图。
        (4)根据软件设计的原则对程序结构图做优化。
        (5)描述模块功能、接口及全局数据结构。
        (6)复查。
 
       实体
        从上表中可见,在E-R模型中实体用矩形表示,通常矩形框内写明实体名。实体是现实世界中可以区别于其他对象的“事件”或“物体”。例如,企业中的每个人都是一个实体。每个实体由一组特性(属性)来表示,其中的某一部分属性可以唯一标识实体,如职工号。实体集是具有相同属性的实体集合,例如,学校所有教师具有相同的属性,因此教师的集合可以定义为一个实体集;学生具有相同的属性,因此学生的集合可以定义为另一个实体集。
 
       实体类
        实体类通常对应现实生活中的实体,它包含了用于描述实体的不同实例的信息(称为属性),还封装了维护其信息或属性的行为(称为方法),它们是系统的核心。
        实体类是对用户来说最有意义的类,通常采用业务领域术语命名,一般来说是一个名词。
 
       数据库
        数据库(DataBase,DB)是指长期存储在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
        系统使用的所有数据存储在一个或几个数据库中。
 
       外模式
        外模式(子模式、用户模式)用以描述用户看到或使用的那部分数据的逻辑结构,用户根据外模式用数据操作语句或应用程序去操作数据库中的数据。外模式主要描述组成用户视图的各个记录的组成、相互关系、数据项的特征、数据的安全性和完整性约束条件。
        外模式是数据库用户(包括程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。一个数据库可以有多个外模式。一个应用程序只能使用一个外模式。
   题号导航      2014年上半年 信息系统管理工程师 上午试卷 综合知识   本试卷我的完整做题情况  
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 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
第12题    在手机中做本题