数据库程序设计-微信小程序引入mui库
01 内容概述
讲解数据库设计方法和技术。主要讨论数据库设计的特点,数据库设计的基本步骤,数据库设计过程中数据字典的内容,数据库设计各个阶段的设计目标、、方法等。其中重点是概念结构的设计和逻辑结构的设计,这也是数据库设计过程中最重要的两个环节。
概念结构的设计着重介绍了E-R模型的基本概念和图示方法。应重点掌握实体型、属性和联系的概念,理解实体型之间的一对一、一对多和多对多联系。掌握E-R模型的设计以及把E-R模型转换为关系模型的方法。学习本章要努力掌握书中讨论的基本方法,还要能在实际工作中运用这些思想设计符合应用需求的数据库模式和数据库应用系统。
本章内容的实践性较强,教师可以少讲,让学生多读书并进行实践。
02 本章目标
了解数据库设计的重要性和数据库设计在信息系统开发和建设中的核心地位。掌握数据库设计方法和步骤,使学生具有设计数据库模式以及开发数据库应用系统的基本能力,能在实际工作中运用这些知识、技术和方法,设计符合应用需求的数据库及其应用系统。
03 重点和难点
重点:掌握数据库设计步骤和数据库设计过程中的各级模式设计方法。特别是数据库概念结构的设计和逻辑结构的设计,这是数据库设计过程中最重要的两个环节。牢固掌握用E-R图来表示概念模型的方法,掌握E-R图的设计,E-R图向关系模型的转换。
难点:技术上的难点是E-R图的设计和数据模型的优化,包括对现实世界进行抽象的能力,提取实体、属性、实体型之间的联系,正确划分实体与属性的能力。如何把第6章关系数据理论与本章结合,用关系数据理论指导数据库的逻辑设计。真正的难点是理论与实际的结合。
同学们一般缺乏实际经验,缺乏对实际问题解决的能力。特别是缺乏应用领域的知识。而数据库设计需要设计人员对应用环境、专业业务有具体深入的了解,这样才能设计出符合具体领域要求的数据库及其应用系统。
因此,要在完成本章习题的基础上认真完成大作业。体会这些要点,从而真正掌握本章讲解的知识、方法和技术。
04 客观题
1. 数据库设计的概念设计阶段,表示概念结构的常用方法和描述工具是______。
2. 在关系数据库设计中,设计关系模式是数据库设计中________阶段的任务 。
3. 如何构造出一个合适的数据逻辑结构是________主要解决的问题 。
4. 概念结构设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的________。
5. 数据库设计中,确定数据库存储结构,即确定关系、索引、聚簇、日志、备份等数据的存储安排和存储结构,这是数据库设计的________。
6. 数据库物理设计完成后,进入数据库实施阶段,下述工作中,________一般不属于实施阶段的工作。
7. 数据库设计可划分为六个阶段,每个阶段都有自己的设计内容,“为哪些关系,在哪些属性上建什么样的索引”这一设计内容应该属于________设计阶段。
8. 在关系数据库设计中,设计关系模式是数据库设计中________阶段的任务。
9. 在关系数据库设计中,对关系进行规范化处理,使关系达到一定的范式,例如达到3NF,这是________阶段的任务。
10. 概念模型是现实世界的第一层抽象,这一类最著名的模型是________ 。
11. 对实体和实体之间的联系采用同样的数据结构表达的数据模型为________ 。
12. 在概念模型中的客观存在并可相互区别的事物称________。
13. 区分不同实体的依据是________。
14. 公司有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,从职员到部门的联系类形是________ 。
多对一
15. 关系数据库中,实现实体之间的联系是通过关系与关系之间的________ 。
16. 数据流程图是用于数据库设计中________阶段的工具。
17. 在数据库设计中,将ER图转换成关系数据模型的过程属于________。
18. 子模式DDL是用来描述________。
19. 关系数据库的规范化理论主要解决的问题是________。
20. 数据库设计可划分为六个阶段,每个阶段都有自己的设计内容,“为哪些关系在哪些属性上建什么样的索引”这一设计内容应该属于________设计阶段。
21. 数据库物理设计完成后,进入数据库实施阶段,下述工作中,________一般不属于实施阶段的工作。
22. 从ER图导出关系模型时,如果实体间的联系是M:N的,下列说法中正确的是________。
23. 在ER模型中,如果有3个不同的实体型,3个M:N联系,根据ER模型转换为关系模型的规则,转换为关系的数目是________。
05 主观题
“三分________,七分________,十二分________”是数据库建设的基本规律。
正确答案: 技术 管理 基础数据
十二分基础数据强调了数据的________ 、________、________和________是数据库建设中的重要的环节。
正确答案: 整理 收集 组织 不断更新
简述数据库设计的特点。
正确答案: 数据库设计既是一项涉及多学科的综合性技术又是一项庞大的工程项目。其主要特点有:1)数据库建设是硬件、软件和干件(技术与管理的界面)的结合。2)从软件设计的技术角度看,数据库设计应该和应用系统设计相结合,也就是说,整个设计过程中要把结构(数据)设计和行为(处理)设计密切结合起来。
规范化理论对数据库设计有什么指导意义?
正确答案: 规范化理论为数据库设计人员判断关系模式优劣提供了理论标准,可用以指导关系数据模型的优化,用来预测模式可能出现的问题,为设计人员提供了自动产生各种模式的算法工具,使数据库设计工作有了严格的理论基础。
简述数据库设计过程。
正确答案: 这里只概要列出数据库设计过程的六个阶段:1)需求分析2)概念结构设计3)逻辑结构设计4)数据库物理设计5)数据库实施6)数据库运行和维护这是一个完整的实际数据库及其应用系统的设计过程。不仅包括设计数据库本身,还包括数据库的实施、数据库运行和维护。设计一个完善的数据库应用系统往往是上述六个阶段的不断反复。
规范设计法从本质上看仍然是手工设计方法,其基本思想是________ 和________。
正确答案: 过程迭代 逐步求精
数据库的生命周期可分为两个阶段:一是数据库需求分析和________ ;二是数据库实现和________。
正确答案: 设计阶段 运行阶段
简述数据库设计过程的各个阶段上的设计描述。
正确答案: 各阶段的设计要点如下:
1)需求分析:准确了解与分析用户需求(包括数据与处理)。
2)概念结构设计:通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。
3)逻辑结构设计:将概念结构转换为某个DBMS所支持的数据模型,并对其进行优化。
4)数据库物理设计:为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。
5)数据库实施:设计人员运用DBMS提供的数据语言、工具及宿主语言数据库程序设计,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。
6)数据库运行和维护:在数据库系统运行过程中对其进行评价、调整与修改。
简述数据库设计过程中结构设计部分形成的数据库模式。
正确答案: 数据库结构设计的不同阶段形成数据库的各级模式,即:在概念设计阶段形成独立于机器特点,独立于各个DBMS产品的概念模式,在本篇中就是E-R图;在逻辑设计阶段将E-R图转换成具体的数据库产品支持的数据模型,如关系模型,形成数据库逻辑模式;然后在基本表的基础上再建立必要的视图(View),形成数据的外模式;在物理设计阶段,根据DBMS特点和处理的需要,进行物理存储安排,建立索引,形成数据库内模式。
需求分析阶段的设计目标是什么?调查的内容是什么?
正确答案: 需求分析阶段的设计目标是通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。调查的内容是“数据”和“处理”,即获得用户对数据库的如下要求:(1)信息要求。指用户需要从数据库中获得信息的内容与性质。由信息要求可以导出数据要求,即在数据库中需要存储哪些数据。(2)处理要求。指用户要完成什么处理功能,对处理的响应时间有什么要求,处理方式是批处理还是联机处理。(3)安全性与完整性要求。
数据字典的内容和作用是什么?
正确答案: 数据字典是系统中各类数据描述的集合。数据字典的内容通常包括:数据项、数据结构、数据流、数据存储、处理过程五个部分其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构。数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容。数据字典的作用:数据字典是关于数据库中数据的描述,在需求分析阶段建立,是下一步进行概念设计的基础,并在数据库设计过程中不断修改、充实、完善。
什么是数据库的概念结构?试述其特点和设计策略。
正确答案: 概念结构是信息世界的结构,即概念模型,其主要特点是:(1)能真实、充分地反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求。是对现实世界的一个真实模型。(2)易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库的设计成功的关键。(3)易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充。(4)易于向关系、网状、层次等各种数据模型转换。
概念结构的设计策略通常有四种:
• 自顶向下。即首先定义全局概念结构的框架,然后逐步细化;
• 自底向上。即首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构;
• 逐步扩张。首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他概念结构,直至总体概念结构;
• 混合策略。即将自顶向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它为骨架集成由自底向上策略中设计的各局部概念结构。
什么叫数据抽象?试举例说明。
正确答案: 数据抽象是对实际的人、物、事和概念进行人为处理,抽取所关心的共同特性,忽略非本质的细节,并把这些特性用各种概念精确地加以描述,这些概念组成了某种模型。如分类这种抽象是:定义某一类概念作为现实世界中一组对象的类型。这些对象具有某些共同的特性和行为。它抽象了对象值和型之间的“is member of”的语义。在E-R模型中,实体型就是这种抽象。例如在学校环境中,李英是老师,表示李英是教师类型中的一员,则教师是实体型,李英是教师实体型中的一个实体值,具有教师共同的特性和行为:在某个系某个专业教学,讲授某些课程,从事某个方向的科研。
简述数据库概念结构设计的重要性和设计步骤。
正确答案: 重要性:数据库概念设计是整个数据库设计的关键,将在需求分析阶段所得到的应用需求首先抽象为概念结构,以此作为各种数据模型的共同基础,从而能更好地、更准确地用某一DBMS实现这些需求。设计步骤:概念结构的设计方法有多种,其中最经常采用的策略是自底向上方法,该方法的设计步骤通常分为两步:第1步是抽象数据并设计局部视图,第2步是集成局部视图,得到全局的概念结构。
什么是E-R图?构成E-R图的基本要素是什么?
正确答案: E-R图为实体-联系图,提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。构成E-R图的基本要素是实体型、属性和联系,其表示方法为:
• 实体型:用矩形表示,矩形框内写明实体名;
• 属性:用椭圆形表示,并用无向边将其与相应的实体连接起来;
•联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1 : 1数据库程序设计,1 : n或m : n)。
数据库设计分为以下六个阶段_______、________、________、________、________和________。
正确答案: 需求分析 概念结构设计 逻辑结构设计 物理设计阶段 数据库实施阶段 数据库运行和维护阶段
为什么要视图集成?视图集成的方法是什么?
正确答案: 在对数据库系统进行概念结构设计时一般采用自底向上的设计方法,把繁杂的大系统分解子系统。首先设计各个子系统的局部视图,然后通过视图集成的方式将各子系统有机的融合起来,综合成一个系统的总视图。这样设计清晰,由简到繁。由于数据库系统是从整体角度看待和描述数据的,因此数据不再面向某个应用而是整个系统。因此必须进行视图集成,使得数据库能被全系统的多个用户、多个应用共享使用。一般说来,视图集成可以有两种方式:• 多个分E-R图一次集成;• 逐步集成,用累加的方式一次集成两个分E-R图。无论采用哪种方式,每次集成局部E-R图时都需要分两步走:(1)合并。解决各分E-R图之间的冲突,将各分E-R图合并起来生成初步E-R图。(2)修改和重构。消除不必要的冗余,生成基本E-R图。
什么是数据库的逻辑结构设计?简述其设计步骤。
正确答案: 数据库的逻辑结构设计就是把概念结构设计阶段设计好的基本E-R图转换为与选用的DBMS产品所支持的数据模型相符合的逻辑结构。设计步骤为:(1)将概念结构转换为一般的关系、网状、层次模型;(2)将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换;(3)对数据模型进行优化。
简述把E-R图转换为DBTG模型和关系模型的转换规则。
正确答案: E-R图向DBTG模型的转换规则:1)每个实体型转换为记录型,实体的属性转换为记录的数据项;2)实体型之间1:n(n≥1)的联系转换为一个系,没有任何联系的实体型转换为奇异系;3)K(K≥2)个实体型之间多对多的联系,引入一个连结记录,形成K个实体型和连结记录之间的K个系。连结记录的属性由诸首记录的码及联系属性所组成;4)同一实体型内的1:n,n:m联系,引入连结记录,转换为两个系。
你能给出由E-R图转换为IMS模型的转换规则吗?
正确答案: E-R图向IMS模型的转换规则:1)每个实体型转换为记录型,实体的属性转换为记录的数据项;2)实体型之间1:n(n≥1)的联系转换记录型之间的有向边;3)实体型之间m:n(m>1,n>1)的联系则分解成一对多联系,再根据2)转换;4)K(K≥2)个实体型之间多对多的联系,可先转换成多对两个实体型之间的联系,再根据3)转换。
简述数据库物理设计的内容和步骤。
正确答案: 数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,它依赖于给定的DBMS。为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构,就是数据库的物理设计的主要内容。数据库的物理设计步骤通常分为两步:(1)确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构;(2)对物理结构进行评价,评价的重点是时间和空间效率。
数据输入在实施阶段的重要性是什么?如何保证输入数据的正确性?
正确答案: 数据库是用来对数据进行存储、管理与应用的,因此在实施阶段必须将原有系统中的历史数据输入到数据库。数据量一般都很大,而且数据来源于部门中的各个不同的单位。数据的组织方式、结构和格式都与新设计的数据库系统有相当的差距,组织数据录入就要将各类源数据从各个局部应用中抽取出来,分类转换,最后综合成符合新设计的数据库结构的形式,输入数据库。因此这样的数据转换、组织入库的工作是相当费力费时的工作。特别是原系统是手工数据处理系统时,各类数据分散在各种不同的原始表格、凭证、单据之中。数据输入工作量更大。保证输入数据正确性的方法:为提高数据输入工作的效率和质量,应该针对具体的应用环境设计一个数据录入子系统,由计算机来完成数据入库的任务。在源数据入库之前要采用多种方法对它们进行检验,以防止不正确的数据入库。
什么是数据库的再组织和重构造?为什么要进行数据库的再组织和重构造?
正确答案: 数据库的再组织是指:按原设计要求重新安排存储位置、回收垃圾、减少指针链等,以提高系统性能。数据库的重构造则是指部分修改数据库的模式和内模式,即修改原设计的逻辑和物理结构。数据库的再组织是不修改数据库的模式和内模式的。进行数据库的再组织和重构造的原因:数据库运行一段时间后,由于记录不断增、删、改,会使数据库的物理存储情况变坏,降低了数据的存取效率,数据库性能下降,这时DBA就要对数据库进行重组织。DBMS一般都提供数据重组织用的实用程序。数据库应用环境常常发生变化,如增加新的应用或新的实体,取消了某些应用,有的实体与实体间的联系也发生了变化等,使原有的数据库设计不能满足新的需求,需要调整数据库的模式和内模式。这就要进行数据库重构造。
数据库实施阶段包括两项重要的工作,一项是________ ,另一项是应用程序的________和________。
正确答案: 组织数据入库 编码 调试
根据模型应用的不同目的,可以将这些模型划分为两类,它们分别属于两个不同的层次。第一类是________,第二类是________。
正确答案: 概念模型 数据模型
用________ 方法来设计数据库的概念模型是数据库概念设计阶段广泛采用的方法。
正确答案: 实体—联系方法(E-R)
概念模型有以下特点:________、 ________ 、________ 、________。
正确答案: 真实性 易理解性 易修改性 易转换性
在E-R模型向关系模型转换时,M:N的联系转换为关系模式时,其码包括________ 。
正确答案: M、N端实体的码
关系数据库的规范化理论是数据库________ 的一个有力工具;ER模型是数据库的________设计的一个有力工具。
正确答案: 逻辑设计 概念结构
数据库的物理设计通常分为两步:(1)确定数据库的________ ,(2)对其进行评价,评价的重点是________和________。
正确答案: 物理结构 时间 空间效率
任何DBMS都提供多种存取方法。常用的存取方法有________ 、________ 、________ 等。
正确答案: 索引(index)方法 HASH方法 聚簇(Cluster)方法
确定数据库存储结构主要指确定________ 、________ 、________ 、________ 、________等数据的存储安排和存储结构,确定系统配置参数等。
正确答案: 关系 索引 聚簇 日志 备份
________ 是数据库中存放数据的基本单位。
正确答案: 表
在数据库运行阶段,对数据库经常性的维护工作主要是由________ 完成的。
正确答案: 数据库管理员 (DBA)
客观存在并可相互区别的事物称为________ ,它可以是具体的人、事、物,也可以是抽象的概念或联系。
正确答案: 实体
唯一标识实体的属性集称为________ 。
正确答案: 码
实体之间的联系有________ 、________ 、________三种。
正确答案: 一对一 一对多 多对多
如果两个实体之间具有M:N联系,则将它们转换为关系模型的结果是________ 个关系。
正确答案: 3
ER模型是对现实世界的一种抽象,它的主要成分是________ 、联系和 ________。
正确答案: 实体 属性
需求调查和分析的结果最终形成________ ,提交给应用部门,通过________后作为以后各个设计阶段的依据。
正确答案: 需求分析说明书 评审
_______ 表达了数据和处理的关系, ________则是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果。
正确答案: 数据流图 数据字典
数据字典中应包括对以下几部分数据的描述:________ 、________ 、________ 。
正确答案: 数据项 数据结构 数据流
各分E-R图之间的冲突主要有三类:________ 、________和________ 。
正确答案: 属性冲突 命名冲突 结构冲突
-The End-