软考中级-软件设计师(六)
一、数据库系统的体系结构
相关概念
- 三级模式
- 外模式:也称为用户模式,是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是与某一应用有关的数据的逻辑表示。一个数据库可以有多个外模式。
- 模式:又称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。一个数据库只有一个模式。
- 内模式:也叫存储模式,是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。一个数据库只有一个内模式。
- 两级映像
- 外模式/模式(外模式到模式的转换)映像:定义了外模式与模式之间的对应关系,当模式改变时,通过修改此映像可使外模式保持不变,从而保证数据的逻辑独立性。
- 模式/内模式(模式到内模式的转换)映像 :定义了数据全局逻辑结构与存储结构之间的对应关系,当数据库的存储结构改变时,通过修改此映像可使模式保持不变,进而保证数据的物理独立性。
主要内容
- 数据库系统体系结构的类型
- 集中式数据库系统:数据和数据管理集中,所有功能集中在DBMS所在计算机。
- C/S结构:客户端负责数据表示服务,服务器主要负责数据库服务,数据库系统分为前端和后端。
- 分布式数据库系统:分为物理上分布、逻辑上集中和物理上分布、逻辑上分布两种。具有数据独立性(包括分布透明性)、集中与自治共享结构的控制结构、适当增加数据冗余度、全局的一致性、可串行性和可恢复性等特点。分布式数据透明性又包括分片透明、复制透明、位置透明和局部映像透明性。
- 并行数据库系统:有共享内存式、无共享式等。
- 数据仓库:具有面向主题、集成的、相对稳定的(非易失的)、反映历史变化等特点。
考点
- 三级模式和两级映像的概念、作用及相互关系:这是考试的重点,常考查对三级模式各自定义、特点以及两级映像如何保证数据独立性的理解。
- 数据库系统体系结构的类型及特点:如分布式数据库的特点,包括数据透明性的具体内容等,以及集中式、C/S结构、并行数据库系统的特点等。
- 数据仓库的特点:需要掌握数据仓库与普通数据库的区别,即面向主题、集成性、稳定性和历史性等特点。
相关考题
- 选择题
- 数据库系统中的视图、存储文件和基本表分别对应数据库系统结构中的( )。
A.模式、内模式和外模式
B.外模式、模式和内模式
C.模式、外模式和内模式
D.外模式、内模式和模式 - 答案:D。视图对应外模式,存储文件对应内模式,基本表对应模式。
- 分布式数据库系统中,用户不必关心数据的分片,对数据的操作在全局关系上进行,这体现了( )。
A.分片透明性
B.复制透明性
C.位置透明性
D.局部映像透明性 - 答案:A。分片透明性是指用户不必关心数据是如何分片的,他们对数据的操作在全局关系上进行。
- 数据库系统中的视图、存储文件和基本表分别对应数据库系统结构中的( )。
- 简答题
- 简述数据库系统三级模式结构的含义,并说明两级映像的作用。
- 答案:三级模式结构包括外模式、模式和内模式。外模式是用户视图,模式是全局逻辑视图,内模式是物理存储视图。两级映像中外模式/模式映像保证了数据的逻辑独立性,模式/内模式映像保证了数据的物理独立性。当模式改变时,通过调整外模式/模式映像可使外模式不变,应用程序无需修改;当存储结构改变时,通过调整模式/内模式映像可使模式不变,应用程序也无需修改。
二、数据库设计过程
主要内容
- 需求分析:输入为“当前和未来应用的数据要求”以及“数据处理要求”,输出是“数据流图”“数据字典”和“需求说明书”。这一阶段的核心是全面、准确地收集和分析用户对数据及数据处理的需求。
- 概念结构设计:基于需求分析的结果,设计“用户的数据模型(即与DBMS无关的概念模型)”,典型的成果是“ER模型(实体联系图 entity relation?)”。该阶段要抽象出实体、属性以及它们之间的联系,构建出独立于具体数据库管理系统(DBMS)的概念模型。
- 逻辑结构设计:依据“转换规则、规范化理论”,将概念结构设计阶段的ER模型转换为“关系模式”,同时还会生成“视图、完整性约束及应用处理说明书”。此阶段要考虑如何把概念模型映射为特定DBMS支持的数据模型,并进行规范化处理以优化关系模式。
- 物理设计:在“DBMS特性”“硬件、OS特性”的基础上,对数据库的物理存储结构和存取方法进行设计。例如确定数据的存储位置、索引的建立方式等,以满足系统对性能等方面的要求。
考点
- 各阶段输入输出与核心成果:
- 需求分析阶段,要明确输入是数据和数据处理要求,输出是数据流图、数据字典和需求说明书。
- 概念结构设计阶段,重点是ER模型的构建,包括实体、属性、联系的识别与表示。
- 逻辑结构设计阶段,掌握ER模型到关系模式的转换规则,以及关系模式的规范化(如1NF、2NF、3NF等)。
- 物理设计阶段,理解如何根据DBMS、硬件和操作系统特性来优化物理存储与存取。
- ER模型相关:能够根据实际场景绘制ER图,判断实体间的联系类型(1:1、1:N、M:N,即一对一,一对多,多对多),并能将ER图转换为正确的关系模式。
- 关系模式规范化:判断关系模式属于第几范式,以及如何通过分解等操作将关系模式提升到更高范式,以消除数据冗余和更新异常等问题。
相关考题
- 需求分析阶段考题:数据库设计中,需求分析阶段的输出不包括( )。
A. 数据流图
B. 数据字典
C. ER模型
D. 需求说明书
答案:C。解析:ER模型是概念结构设计阶段的成果,不是需求分析阶段的输出。 - 概念结构设计考题:在ER模型中,学生和课程之间是多对多的联系,那么这种联系在ER图中应如何表示( )。
A. 用一条线连接学生和课程实体,线上标注“1:1”
B. 用一条线连接学生和课程实体,线上标注“1:N”
C. 用一条线连接学生和课程实体,线上标注“M:N”,并可增加关联实体(如选课)
D. 无法表示
答案:C。解析:多对多联系在ER图中用“M:N”标注,且对于多对多联系,通常需要引入关联实体来记录联系的属性等信息。 - 逻辑结构设计考题:将ER图中的实体“学生(学号,姓名,性别)”和“课程(课程号,课程名,学分)”以及它们之间的多对多联系“选课(成绩)”转换为关系模式,以下正确的是( )。
A. 学生(学号,姓名,性别);课程(课程号,课程名,学分);选课(学号,课程号,成绩)
B. 学生(学号,姓名,性别,课程号);课程(课程号,课程名,学分)
C. 学生(学号,姓名,性别);课程(课程号,课程名,学分,成绩)
D. 学生(学号,姓名,性别);课程(课程号,课程名,学分)
答案:A。解析:对于多对多联系,需要单独建立一个关系模式,包含两个实体的主键以及联系自身的属性,所以选课关系模式应包含学号、课程号和成绩。
三、E-R图
相关概念
- 实体(Entity):现实世界中可区别于其他对象的“事物”或“对象” 。比如一个学生、一家公司、一本书等,都可以看作是实体。实体可以分为具体实体(如一个人、一辆汽车)和抽象实体(如一场演出、一次会议 )。
- 属性(Attribute):实体所具有的某一特性,一个实体可以由若干个属性来刻画。例如,学生实体具有学号、姓名、年龄、性别等属性。属性又可细分为简单属性(不可再分,如性别 )和复合属性(可再分,如地址可分为省、市、区等 );单值属性(一个实体的属性只能有一个值,如学号 )和多值属性(一个实体的属性可能有多个值,如一个人可能有多个电话号码 );基本属性(其值不能通过其他属性的值推导出来,如学生的年龄 )和派生属性(其值可以从其他属性的值推导出来,如学生的入学年份可由当前年份和学制推导得出 )。
- 联系(Relationship):现实世界中事物之间的关联关系。实体间的联系分为三种类型:一对一联系(1:1),比如一个公民对应一个身份证号;一对多联系(1:N),如一个班级有多个学生;多对多联系(M:N),像一个学生可以选修多门课程,一门课程也可以被多个学生选修。
- 码(Key):也称为键(主键、外键、候选键),能唯一标识实体的属性或属性集。例如学生实体中的学号,可唯一确定一个学生。
主要内容
- E-R图的表示方法:在E-R图中,实体用矩形表示,矩形框内写明实体名;属性用椭圆形表示,并用无向边将其与相应的实体连接起来;联系用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:N或M:N )。对于具有属性的联系,要将属性和联系用无向边连接起来。
- E-R模型的设计步骤:
- 确定实体集:通过对现实世界业务的分析,识别出相关的实体,如在学校管理系统中,可确定学生、教师、课程、班级等实体集。
- 确定联系类型:分析实体之间的关联,确定是1:1、1:N还是M:N联系。比如班级和班主任是1:1联系,班级和学生是1:N联系 。
- 确定实体集和联系的属性:明确每个实体和联系所具有的特性,像学生实体有学号、姓名等属性,选课联系有成绩属性。
- 绘制E-R图:按照规定的图形符号,将上述确定的实体、属性和联系绘制出来,形成完整的E-R图。
- E-R模型到关系模式的转换:
- 实体的转换:一个实体转换为一个关系模式,实体的属性就是关系模式的属性,实体的码就是关系模式的码 。例如学生实体转换为关系模式“学生(学号,姓名,年龄,性别)”,其中“学号”是码。
- 联系的转换:
- 1:1联系:可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。例如,部门和负责人是1:1联系,若转换为独立关系模式为“负责人(负责人ID,部门ID,…)”;若与部门关系模式合并,则在部门关系模式中增加负责人相关属性。
- 1:N联系:可以转换为一个独立的关系模式,也可以与N端对应的关系模式合并。通常将1端实体的码纳入N端实体的关系模式中作为外键。比如班级和学生是1:N联系,学生关系模式可表示为“学生(学号,姓名,班级ID,…)”,其中“班级ID”是外键 。
- M:N联系:必须转换为一个独立的关系模式,该关系模式的码是两端实体码的组合。如学生和课程的M:N选课联系,转换后的关系模式为“选课(学号,课程号,成绩)”,“学号”和“课程号”共同构成码。
考点
- E-R图的绘制:根据实际业务场景,准确识别实体、属性和联系,并正确绘制E-R图,包括图形符号的使用、联系类型的标注等。
- 联系类型的判断:能依据业务逻辑,判断实体之间的联系是1:1、1:N还是M:N 。
- E-R模型到关系模式的转换:熟练掌握不同实体和联系类型转换为关系模式的规则,确保转换后的关系模式满足数据库设计的要求。
相关考题
选择题
- 在学校的图书管理系统中,一本书只能有一个ISBN号,一个ISBN号对应一本书,书和ISBN号之间的联系类型是( )。
A. 1:1
B. 1:N
C. M:N
D. 无联系
答案:A
解析:一本书只能对应一个ISBN号,一个ISBN号也只对应一本书,这是典型的一对一联系。 - 已知有学生实体(学号,姓名,年龄)和课程实体(课程号,课程名,学分),学生和课程之间是多对多的选课联系,将该E-R模型转换为关系模式后,选课关系模式的码是( )。
A. 学号
B. 课程号
C. 学号 + 课程号
D. 姓名 + 课程名
答案:C
解析:对于多对多联系,转换后的关系模式码是两端实体码的组合,学生实体的码是学号,课程实体的码是课程号,所以选课关系模式的码是学号 + 课程号。
简答题
- 请根据以下描述绘制E-R图:某医院有多个科室,每个科室有多名医生,每个医生只属于一个科室;患者可以挂不同医生的号看病,一个患者可以多次看病,每次看病对应一位医生。(要求标注实体、属性、联系及联系类型)
答案:- 实体:科室(科室编号,科室名称,…)、医生(医生编号,姓名,性别,…)、患者(患者编号,姓名,年龄,…)
- 联系:科室和医生是1:N联系;患者和医生是M:N联系,联系属性可以有看病时间等。
- E-R图绘制:用矩形分别表示科室、医生、患者;用菱形表示联系,分别标注“所属”(科室与医生间 )、“看病”(患者与医生间 );用无向边连接实体和联系,并标注联系类型;用椭圆形表示属性,并用无向边连接到对应的实体上。
四、E-R图转关系模式
相关概念
- E-R图:即实体 - 联系图,用于描述现实世界中实体、实体的属性以及实体之间的联系,是数据库概念设计的常用工具。
- 关系模式:对关系的描述,一般表示为关系名(属性1, 属性2, …, 属性n),是数据库逻辑结构设计的结果, 用于在具体的数据库管理系统中存储和管理数据。
主要内容
- 实体转换为关系模式
- 一个实体通常转换为一个关系模式,实体的名称作为关系模式的名称,实体的属性成为关系模式的属性,实体的码(能唯一标识该实体的属性或属性组)作为关系模式的码 。例如,“学生”实体具有属性“学号、姓名、年龄、性别”,其中“学号”是码,转换后的关系模式为“学生(学号, 姓名, 年龄, 性别)”,“学号”是该关系模式的码。
- 联系转换为关系模式
- 1:1联系:
- 可以转换为一个独立的关系模式,关系模式的属性包括两端实体的码以及联系本身的属性, 码可以从任意一端实体的码中选取。例如,“班级”和“班主任”是1:1联系,若联系本身有“任职时间”属性,转换后的独立关系模式可以是“任职(班级编号, 教师编号, 任职时间)”,其中“班级编号”是“班级”实体的码,“教师编号”是“班主任”实体(假设教师实体的码是教师编号)的码, 码可以选“班级编号”或者“教师编号”。
- 也可以将联系合并到任意一端的实体关系模式中,在该端实体关系模式中加入另一端实体的码以及联系本身的属性。比如将“任职”联系合并到“班级”关系模式中,得到“班级(班级编号, 教师编号, 班级名称, 任职时间)”,“班级编号”依然是码。
- 1:N联系:
- 可以转换为一个独立的关系模式,关系模式的属性包括两端实体的码以及联系本身的属性, 码为N端实体的码。例如,“班级”和“学生”是1:N联系,若联系无其他属性,转换后的独立关系模式可以是“班级学生关系(学号, 班级编号)”,“学号”是“学生”实体的码,也是该关系模式的码。
- 更常用的做法是将联系合并到N端实体的关系模式中,在N端实体关系模式中加入1端实体的码以及联系本身的属性。比如将联系合并到“学生”关系模式中,得到“学生(学号, 姓名, 年龄, 班级编号)”,“学号”是码,“班级编号”是外键(参照“班级”关系模式的码)。
- M:N联系:必须转换为一个独立的关系模式,关系模式的属性包括两端实体的码以及联系本身的属性,码是两端实体码的组合。例如,“学生”和“课程”是M:N联系,“选课”联系有“成绩”属性,转换后的关系模式为“选课(学号, 课程号, 成绩)”,“学号”和“课程号”共同构成码。
- 1:1联系:
- 弱实体转换为关系模式:弱实体必须依赖于强实体存在,转换为关系模式时,其属性除了自身属性外,还需包含强实体的码,并且通常将强实体的码和弱实体自身能区分实例的属性组合作为弱实体关系模式的码。例如,“订单明细”是依赖“订单”的弱实体,“订单明细”有“明细编号、商品名称、数量”等属性,转换后的关系模式为“订单明细(订单编号, 明细编号, 商品名称, 数量)”,“订单编号”是强实体“订单”的码,“订单编号 + 明细编号”构成“订单明细”关系模式的码。
考点
- 实体与联系类型判断:准确识别E-R图中实体以及实体之间的联系类型(1:1、1:N、M:N ),这是进行正确转换的基础。
- 转换规则应用:熟练运用不同联系类型对应的关系模式转换规则,将E-R图完整、准确地转换为关系模式, 确保关系模式的码、属性以及外键设置正确。
- 特殊情况处理:掌握弱实体等特殊元素转换为关系模式的方法。
相关考题
- 选择题
- 某E-R图中有雇员实体、部门实体和所属联系,一个雇员只能属于一个部门,一个部门有多个雇员,那么所属联系是( )联系,将该E-R图转换为关系模式时, 雇员关系模式的外键是( )。
A. 1:1 B. 1:N C. M:N D. 1: *
E. 雇员编号 F. 部门编号 G. 雇员编号和部门编号 H. 雇员姓名 - 答案:B、F
- 解析:一个雇员只能属于一个部门,一个部门有多个雇员,所以是1:N联系。将其转换为关系模式时,把部门实体的码(部门编号)加入雇员关系模式作为外键,所以雇员关系模式的外键是部门编号。
- 某E-R图中有雇员实体、部门实体和所属联系,一个雇员只能属于一个部门,一个部门有多个雇员,那么所属联系是( )联系,将该E-R图转换为关系模式时, 雇员关系模式的外键是( )。
- 设计题
- 题目:某图书馆管理系统的E-R图中有读者、图书、借阅三个实体,读者和图书之间是M:N的借阅联系,借阅联系有借阅时间和归还时间属性;读者实体有读者编号、姓名、联系方式等属性,图书实体有图书编号、书名、作者等属性。请将该E-R图转换为关系模式,并指出每个关系模式的码和外键。
- 答案:
- 读者(读者编号, 姓名, 联系方式),码:读者编号,无外键。
- 图书(图书编号, 书名, 作者),码:图书编号,无外键。
- 借阅(读者编号, 图书编号, 借阅时间, 归还时间),码:读者编号 + 图书编号,外键:读者编号(参照读者关系模式的码),图书编号(参照图书关系模式的码)。
【注】
:数据库其他相关内容涉及较多,总结起来可能不够清晰,建议结合视频教程学习。这里不再添加数据库相关的知识点了。