免费智能真题库 > 历年试卷 > 系统分析师 > 2010年上半年 系统分析师 上午试卷 综合知识
  第40题      
  知识点:   三级模式   SQL语言   关系数据库   结构图   模式结构   视图   数据库   数据库的三级模式结构
  关键词:   存储文件   关系数据库   视图   语言   数据   数据库        章/节:   数据库系统       

 
SQL语言支持关系数据库三级模式结构图如下所示,图中视图、基本表、存储文件分别对应(40)。
 
 
  A.  模式、内模式、外模式
 
  B.  外模式、模式、内模式
 
  C.  模式、外模式、内模式
 
  D.  外模式、内模式、模式
 
 
 

 
  第42题    2017年上半年  
   56%
给定关系模式R<U ,F>,U={A,B,C,D ,E} ,F={B→A ,D→A ,A→E ,AC→B },则R的候选关键字为(42)..
  第42题    2016年上半年  
   58%
假设关系R(A1A2A3)上的一个分解为ρ={(A
  第42题    2019年上半年  
   63%
给定关系模式R<U,F>,其中:属性集U = {A,B,C,D,E},函数依赖集F={AC→B,B→CD}。关系R(42),且分别有(43)。
   知识点讲解    
   · 三级模式    · SQL语言    · 关系数据库    · 结构图    · 模式结构    · 视图    · 数据库    · 数据库的三级模式结构
 
       三级模式
        从下图可以看出,数据库系统可以分为外模式、概念模式和内模式三个层次。
        (1)概念模式(模式、逻辑模式):用以描述整个数据库中数据库的逻辑结构,描述现实世界中的实体及其性质与联系,定义记录、数据项、数据的完整性约束条件及记录之间的联系,是数据项值的框架。概念模式通常还包含有访问控制、保密定义、完整性检查等方面的内容,以及概念/物理之间的映射。概念模式是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。一个数据库只有一个概念模式。
        
        数据库系统结构层次
        (2)外模式(子模式、用户模式):用以描述用户看到或使用的那部分数据的逻辑结构,用户根据外模式用数据操作语句或应用程序去操作数据库中的数据。外模式主要描述组成用户视图的各个记录的组成、相互关系、数据项的特征、数据的安全性和完整性约束条件。外模式是数据库用户(包括程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。一个数据库可以有多个外模式。一个应用程序只能使用一个外模式。
        (3)内模式:是整个数据库的最低层表示,不同于物理层,它假设外存是一个无限的线性地址空间。内模式定义的是存储记录的类型、存储域的表示、存储记录的物理顺序,指引元、索引和存储路径等数据的存贮组织。内模式是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。一个数据库只有一个内模式。
        概念模式是数据库的中心与关键;内模式依赖于概念模式,独立于外模式和存储设备;外模式面向具体的应用,独立于内模式和存储设备;应用程序依赖于外模式,独立于概念模式和内模式。
 
       SQL语言
               SQL概述
               SQL(Structured Query Language)结构化查询语言,是一种数据库查询及程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,不同底层结构的不同数据库系统可以使用相同的SQL语言作为数据输入与管理的接口,常用的数据库开发系统,都支持SQL语言作为查询语言。
               SQL语言主要具有以下优点:
               .非过程化语言。SQL是一个非过程化的语言,因为它一次处理一个记录,对数据提供自动导航。SQL允许用户在高层的数据结构上工作,而不对单个记录进行操作。
               .统一的语言。SQL将许多任务统一在一种语言之中,包括:查询数据;在表中插入、修改和删除记录;建立、修改和删除数据对象;控制对数据和数据对象的存取;保证数据库一致性和完整性。
               .是所有关系数据库的公共语言。由于主流的关系数据库管理系统都支持SQL语言,所以SQL语言具有很强的公用性,所有用SQL编写的程序都是可以移植的。
               SQL语法基础
               (1)CREATE建立表结构语句。
               基本语法格式:
               
               语法说明:CREATE语句用于创建数据库中的表。其中column_name代表表中的字段名称,data_type代表字段可容纳何种数据类型。常用的数据类型可以是integer(size)、int(size)、smallint(size)、tinyint(size)、decimal(size,d)、numeric(size,d)、varchar(size)、date(yyyymmdd)等。CREATE语句的应用格式如下所示。
               
               
               该语句创建Student学生表,其中包含Id、Sname等六个字段。
               (2)SELECT查询语句。SELECT语句是数据库最基本语句之一,也是最常用的SQL操作。用户使用SELECT语句可以从数据库中按照自身的需要查询数据信息。系统按照用户的要求选择数据,然后将选择的数据以用户规定的格式整理后返回给用户。用户使用SELECT语句不但可以对数据库进行精确查询,还可以进行模糊查询。
               基本语法格式:
               
               语法说明:ALL|DISTINCT用来标识在查询结果中出现相同行时的处理方式。如果使用关键字ALL,则返回查询结果中的所有行(包括重复行);如果使用关键字DISTINCT,返回删除相同行的查询结果;select_list表示获取字段信息的字段列表,各个字段名称之间用逗号分隔。在这个列表中可以包含数据源表或视图中的字段名称及其他表达式,例如常量或函数。如果用户用“*”来代替字段列表,那么系统将返回指定数据库表中的全部数据信息;INTO new_table_list代表创建一个新的数据表,这个数据表的名称是new_table_list,包含的数据信息是查询出来的结果集;table_list表示数据信息的数据源表列表;WHERE search_conditions代表查询条件,该子句表示一个或多个筛选条件的组合。WHERE子句中可以使用算数运算符、比较运算符和逻辑运算符来设置条件。还可以使用BETWEEN…AND…、LIKE、IN、NOT IN等特殊运算符;GROUP BY group_by_list表示查询的分组条件,即归纳信息类型;HAVING search_conditions表示组或聚合的查询条件;ORDER BY order_lis表示查询结果的排序方式。具体应用格式如以下SQL语句所示。
               语句一:
               
               该语句查找Student学生表中所有学生的信息。
               语句二:
               
               该语句查找Student学生表中广东籍女学生的Sno、Sname和Sclass信息。
               语句三:
               
               该语句查找Student学生表中Sno最小的前10个记录。
               语句四:
               
               该语句查找Student学生表中所有Snative既不是湖南也不是湖北的学生信息。
               语句五:
               
               该语句查询以Sclass作为分组条件,查询结果为Student学生表中每个班的人数。
               语句六:
               
               该语句查找Student学生表中人数大于30的Sclass和人数。HAVING子句总是跟在GROUP BY子句之后,不可以单独使用。
               (3)INSERT插入语句。在SQL语句中,向数据表中添加数据的常用方法就是使用INSERT语句。
               语法格式:
               
               语法说明:INSERT INTO子句用于指定向某数据表插入数据。数据表名跟在INSERT INTO关键字后面;column name用于指定该数据表的列名,可以指定一列或者多列,所有这些列都必须放在圆括号“()”中。如果要指定多个列,则必须用逗号隔开。如果指定了列名,那么在目标数据表中所有未被指定的列必须支持空值或者默认值;VALUES子句主要用于提供向表中插入的值。这些值也必须放在圆括号中,如果指定的值为多个时,这些值之间也必须用逗号隔开。具体应用形式可见以下语句。
               
               该语句向Student学生表插入一条新的记录。
               UPDATE更新语句
               当数据被添加到数据表之后,会经常需要修改。在SQL语言中,对数据的修改是通过使用UPDATE语句来实现的。
               语法格式:
               
               语法说明:UPDATE子句和SET子句是必需的,而WHERE子句是可选的。在UPDATE子句中,必须指定将要更新的数据表的名称。在SET子句中,必须指定一个或多个子句表达式。使用UPDATE语句可以更改表中单行、多行或者表或视图中所有行的数值。具体应用形式可见以下语句。
               
               将Student学生表中Sname为刘晶晶的Sclass和Snative记录进行更新。
               DELETE删除语句
               DELETE语句用来从表或视图中删除一行或者多行记录。
               语法格式:
               
               语法说明:DELETE FROM子句要求指定从中删除行的表的名称,WHERE指定搜索条件。如果在DELETE语句中没有包括WHERE子句,那么将从指定的表中删除所有行。在DELETE语句中没有指定列名,这是因为不能从表中删除单个列的值。具体应用形式可见以下语句。
               
               该语句删除Student学生表中Sname为“刘晶晶”的记录。
 
       关系数据库
               关系模型概述
               关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。关系模型的数据结构单一,现实世界的实体以及实体间的各种联系均用关系来表示。在用户看来,关系模型中数据的逻辑结构是一张二维表。关系模型中常用的关系操作包括选择、投影、连接、除、并、交、差等查询操作,和增加、删除、修改操作两大部分。早期的关系操作能力通常用关系代数和关系演算来表示,关系代数是用对关系的运算来表达查询要求的方式,关系演算是用谓词来表达查询要求的方式。另外还有一种介于关系代数和关系演算之间的语言SQL,它不仅具有丰富的查询功能,而且具有数据定义和数据控制功能,是关系数据库的标准语言。
               关系数据结构及形式化定义
               首先介绍一些概念:
               (1)域(Domain):域是一组具有相同数据类型的值的集合。
               (2)笛卡尔积(Cartesian Product):给定一组域D1, D2,…,Dn,这些域中可以有相同的。D1,D2,…,Dn的笛卡尔积为:D1×D2×…×Dn={(d1,d2,…,dn) |di∈Di, i=1,2,…,n}其中每一个元素(d1,d2,…,dn)叫做一个n元组或简称元组。元素中的每一个值di叫做一个分量。笛卡尔积可以用来表示二维表,表中的每行对应一个元组,每列对应一个域。
               (3)关系(Relation):D1×D2×…×Dn的子集叫做在域D1,D2,…,Dn上的关系,表示为R (D1, D2,…,Dn),这里R表示关系的名字,n是关系的目或度(Degree),关系中的每个元素是关系中的元组。
               关系是笛卡尔积的有限子集,所以关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域。一个元组就是该关系所涉及的属性集的笛卡尔积的一个元素。由于在笛卡尔积的定义中,域是可以相同的,所以为了加以区分,必须对每个列起一个名字,称之为属性,n目关系必须有n个属性。若关系中的某一属性组的值能够唯一标识一个元组,则称该属性组为候选码(Candidate Key)。若一个关系有多个候选码,则选定其中之一为主码(Primary Key)。主码的各个属性称为主属性(Prime Attribute)。不包含在任何候选码中的属性称为非码属性(Non-key Attribute)。当关系模式的所有属性组是这个关系模式的候选码时,称为全码(All-Key)。
               关系的完整性
               (1)实体完整性。
               若属性A是基本关系R的主属性,则属性A不能取空值。也就是说基本关系得所有主属性都不能取空值,而不仅是主码整体不能取空值。
               (2)参照完整性。
               现实世界中的实体之间往往存在某种联系,在关系模型中实体之间的联系用关系描述,这样就会存在着关系间的引用。例如,学生、课程、选课三个关系如下:
               学生(学号,姓名,性别,专业)
               课程(课程号,课程名,教师,学分)
               选课(学号,课程号,成绩)
               它们之间是多对多联系,存在着属性的引用,即选课关系引用了学生关系的主码和课程关系的主码,如画线所示。在选课关系中必须满足:①选课关系中的“学号”值必须是确实存在的学生的学号,即在学生关系中有该学生的记录;②选课关系中“课程号”也必须确实存在,即课程关系中有该课程的记录。也就是说,选课关系中某些属性的取值需要参照其他关系的属性的取值。
               设F是基本关系R的一个或一组属性,但不是关系R的码。如果F与基本关系S的主码KS相对应,则称F是基本关系R的外码,并称基本关系R为参照关系,基本关系S为被参照关系或目标关系,关系R和S不一定是不同的关系。在上例中,“学号”和“课程号”是选课关系的外码,学生关系和课程关系是被参照关系,选课关系是参照关系。
               参照完整性规则:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码KS相对应(关系R和S不一定是不同的关系),则对于R中每个元组在F上的值或者取空值或者等于S中某个元组的主码值。
               (3)用户定义的完整性
               用户定义的完整性就是针对某一具体关系数据库的约束条件。例如属性的取值范围、属性间必须满足一定的函数关系等。
 
       结构图
        结构化设计方法中使用结构图来描述系统的体系结构,指出一个系统由哪些模块组成,以及模块之间的调用关系。结构图的基本成分有:模块、调用和数据。
               模块
               在结构化设计中,模块指具有一定功能并可以用模块名调用的一组程序语句,如函数、子程序等,它们是组成程序的基本单元。
               一个模块具有外部特征和内部特征。模块的外部特征包括:模块的接口(模块名、输入/输出参数、返回值等)和模块功能。模块的内部特征包括:模块的内部数据和完成其功能的程序代码。
               在结构图中,模块用矩形表示,并用名字标识该模块,名字应体现该模块的功能。
               调用
               结构图中模块之间的调用关系用从一个模块指向另一个模块的箭头来表示,其含义是前者调用了后者。
               数据
               模块间还经常用带注释的短箭头表示模块调用过程中来回传递的信息。箭头尾部带空心圆的表示传递的是数据,带实心圆的表示传递的是控制信息,如下图所示。
               
               模块间的数据传递
               可以在结构图上添加一些辅助符号进一步描述模块间的调用关系。如果一个模块是否调用一个从属模块决定于调用模块内部的判断条件,则该调用模块间的判断调用采用菱形符号表示;如果一个模块通过其内部循环的功能来循环调用一个或多个从属模块,则该调用称为循环调用,用弧形箭头表示。判断调用和循环调用的表示方法如下图所示。
               
               模块调用示例
               结构图的形态特征
               .深度。指结构图控制的层次,也就是模块的层数。
               .宽度。指一层中最大的模块个数。
               .扇出。指一个模块的直接下属模块的个数。
               .扇入。指一个模块的直接上属模块的个数。
 
       模式结构
        数据库系统采用三级模式结构,这是数据库管理系统内部的系统结构。
        (1)概念模式(Schema)。也称模式,是数据库中全体数据的逻辑结构和特征的描述,它由若干个概念记录类型组成,只涉及行的描述,不涉及具体的值。概念模式的一个具体值称为模式的一个实例,同一个模式可以有很多实例。
        (2)外模式(External Schema)。也称用户模式或子模式,是用户与数据库系统的接口,是用户用到的那部分数据的描述,由若干个外部记录类型组成。描述外模式的数据定义语言称为外模式DDL。
        (3)内模式(Internal Schema)。也称存储模式,是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式,定义所有的内部记录类型、索引和文件的组织方式以及数据控制方面的细节。描述内模式的数据定义语言称为内模式DDL。
 
       视图
        幻灯片视图功能为用户提供了各种适应不同使用情况的操作界面,其中包括普通视图、幻灯片浏览视图、幻灯片放映视图。当启动PowerPoint时,系统默认的是普通视图工作方式。
               普通视图。
               普通视图也称为编辑视图。在该视图工作方式下,可进行演示文稿的编辑和制作,如输入文字、绘制图形和插入图片、插入声音和视频、设置动画及切换效果、设置超链接等。普通视图有4个工作区域,如上图所示。
               .大纲/幻灯片工作区:位于窗口的左侧,可通过单击“大纲”选项卡或“幻灯片”选项卡在幻灯片文本大纲或幻灯片缩略图之间切换。
               .主工作区:位于窗口的中部,用于显示和编辑当前幻灯片。
               .任务窗格:位于窗口的右侧,提供常用命令的窗口。主要操作包括创建新演示文稿;选择幻灯片的版式;选择设计模板、配色方案和动画方案;创建自定义动画;设置幻灯片切换等。
               .备注区:位于窗口的下方,用户可以添加备注信息。
               幻灯片放映视图。
               在该视图方式下,可以放映演示文稿中的所有幻灯片。若幻灯片添加了切换效果,则会播放出来;若为幻灯片中的对象设置了动画效果,则在放映时即可展现动画效果。设置的超链接只有在幻灯片放映视图中才有效。
               幻灯片浏览视图。
               在该视图方式下,可以观察演示文稿的全局并了解演示文稿的风格,还可以调整演示文稿的顺序。可以对幻灯片进行选择、复制、删除、隐藏等操作,设置幻灯片的切换效果。
 
       数据库
        数据库(DataBase,DB)是指长期存储在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
        系统使用的所有数据存储在一个或几个数据库中。
 
       数据库的三级模式结构
        1975年2月,美国国家标准化委员会(ANSI)提出:数据库的数据体系结构分成内部级、概念级和外部级三个级别。这三个结构之间往往差别很大。为实现这三个抽象级别的转换,DBMS在这三级之间提供了两层映射:外模式/概念模式映射和概念模式/内模式映射。
               概念模式
               概念模式(也称为模式)是数据库中全部数据的逻辑结构和特征的描述,由若干概念记录类型组成。概念模式的一个具体值称为模式的一个实例。概念模式不但要描述概念记录类型,而且要描述记录之间的联系、所允许的操作、数据的一致性、安全性和其他数据控制方面的要求。
               在概念模式中必须不涉及存储结构、访问技术等细节。只有这样,概念模式才算做到了数据独立性,而在概念模式基础上定义的外模式才能做到数据独立。
               描述概念模式的数据定义语言称为"模式DDL"。
               外模式
               外模式是用户与数据库系统的接口。外模式是用户用到的那部分数据的描述,它由若干外部记录类型组成。用户使用数据操纵语言(DML)对数据库进行操作,实际上是对外模式的外部记录进行操作。例如,读一个记录值,实际上是读一个外部记录值(即逻辑值),而不是数据库的内部记录值。
               描述外模式的数据定义语言称为"外模式DDL"。有了外模式后,程序员不必关心概念模式,只与外模式发生联系,按照外模式的结构存储和操纵数据。
               内模式
               内模式(也称为存储模式)是数据库在物理存储方面的描述,包括定义所有的内部记录类型、索引、文件的组织方式,以及数据控制方面的细节。
               内部记录并不涉及物理记录,也不涉及设备的约束。比内模式更接近于物理存储和访问的那些软件机制是操作系统的一部分(即文件系统),例如,从磁盘读数据或写数据到磁盘上的操作等。
               概念模式/内模式映射
               概念模式/内模式映射存在于概念级和内部级之间,用于定义概念模式和内模式间的对应性,有时也称为"模式/内模式映射"。由于这两级的数据结构可能不一致,即记录类型、字段类型的组成可能不一样,因此需要这个映射说明概念记录和内部记录间的对应性。
               如果数据库的内模式要做修改,即数据库的存储设备和存储方法有所变化,那么概念模式/内模式映射也要做出相应的修改,但概念模式很可能仍然保持不变,也就是对内模式的修改尽量不影响概念模式,当然对于外模式和应用程序的影响更小,这样我们就称数据库达到了物理数据独立性。
               概念模式/内模式映射一般放在内模式中描述。
               外模式/概念模式映射
               外模式/概念模式映射存在于外部级和概念级之间,用于定义外模式和概念模式间的对应性,即外部记录类型和概念记录类型间的对应性。
               如果数据库的整体逻辑结构(即概念模式)要做修改,那么外模式/概念模式映射也要做相应的修改,但外模式很可能仍然保持不变,也就是对概念模式的修改尽量不影响外模式。当然对于应用程序的影响就更小,这样我们就称数据库达到了逻辑数据独立性。
               外模式/概念模式映射一般放在外模式中描述。
   题号导航      2010年上半年 系统分析师 上午试卷 综合知识   本试卷我的完整做题情况  
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 /
 
第40题    在手机中做本题