|
|
第四章 数据库设计基础 4.1 数据库系统的基本概念(学吧学吧独家稿件) 1、数据、数据库、数据管理系统 (1)数据:实际上就是描述事物的符号记录。 数据的特点:有一定的结构,有型与值之分。数据的型给出了数据表示的类型,如整型、实型、字符型等。而数据的值给出了符合给定型的值,如整型(INT)值15。 (2)数据库(DB):是数据的集合,具有统一的结构形式并存放于统一的存储介质内,是多种应用数据的集成,并可被各个应用程序所共享。 数据库存放数据是按数据所提供的数据模式存放的,具有集成与共享的特点,亦即是数据库集中了各种应用的数据,进行统一的构造和存储,而使它们可被不同应用程序所使用。 (3)数据库管理系统(DBMS):一种系统软件,负责数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务等,是数据库的核心。 数据库管理系统功能: 1)数据模式定义。数据库管理系统负责为数据库构建模式,也就是为数据库构建其数据框架。 2)数据存取的物理构建。数据库管理系统负责为数据模式的物理存取与构建提供有效的存取方法与手段。 3)数据操纵。数据库管理系统为用户使用数据库中的数据提供方便,它一般提供如查询、插入、修改以及删除数据的功能。此外,它自身还具有做简单的算术运算及统计的能力,而且还可以与某些过程性语言结合,使其具有强大的过程性操作能力。 4)数据的完整性、安生性定义与检查。数据库中的数据具有内在语义上的关联性与一致性,它们构成了数据的完整性,数据的完整性是保证数据库中数据正确的必要条件,因此必须经常检查以维护数据正确。数据库中的数据具有共享性,而数据共享可能会引发数据的非法使用,因此必须要对数据正确使用做出必要的规定,并在使用时做检查,这就是数据的安全性。数据完整性与安全性的维护是数据库系统的基本功能。 5)数据库的并发控制与故障恢复。数据库是一个集成、共享的数据集合体,它能为多个应用程序服务,所以就存在着多个应用程序对数据库的并发操作。在并发操作中如果不加控制和管理,多个应用程序间就会相互干扰,从而对数据库中的数据造成破坏。因此,数据库管理系统必须对多个应用程序的并发操作做必要的控制以保证数据不受破坏,这就是数据库的并发控制。数据库中的数据一旦遭到破坏,数据库管理系统必须有能力及时进行恢复,这就是数据库的故障恢复。 6)数据的服务。数据库管理系统提供对数据库中数据的多种服务功能,如数据拷贝、转存、重组、性能监测、分析等。 (4)数据库管理员(DBA):对数据库进行规划、设计、维护、监视等的专业管理人员。 (5)数据库系统(DBS):由数据库(数据)、数据库管理系统(软件)、数据库管理员(人员)、硬件平台(硬件)、软件平台(软件)五个部分构成的运行实体。 (6)数据库应用系统:由数据库系统、应用软件及应用界面三者组成。 *:数据库技术的根本目标是解决数据的共享问题。 2、数据库系统的发展 数据库管理发展至今已经历了三个阶段:人工管理阶段、文件系统阶段和数据库系统阶段。 下表是数据管理三个阶段的比较:(学吧学吧独家稿件)
人工管理阶段 文件系统阶段 数据库系统阶段 背 景 应用背景 科学计算 科学计算、管理 大规模管理
硬件背景 无直接存取存储设备 磁盘、磁鼓 大容量磁备盘
软件背景 没有操作系统 有文件系统 有数据库管理系统
处理方式 批处理 联机实时处理、批处理 联机实时处理、分布处理、批处理 特 点 数据的管理者 用户(程序员) 文件系统 数据库管理系统
数据面向的对象 某一应用程序 某一应用 现实世界
数据的共享程度 无共享,冗余度极大 共享性差,冗余度大 共享性高,冗余度小
数据的独立性 不独立,完全依赖于程序 独立性差 具有高度的物理独立性和一定的逻辑独立性
数据的结构化 无结构 记录内有结构,整体无结构 整体结构化,用数据模型描述
数据控制能力 应用程序自己控制 应用程序自己控制 由数据库管理系统提供数据安全性、完整性、并发控制和恢复能力 3、数据库系统的基本特点 (1)数据的高集成性。 (2)数据的高共享性与低冗余性。 *:数据库系统可以减少数据冗余[wx18],但无法避免一切冗余。 (3)数据独立性:数据独立性是数据与程序间的互不依赖性,即数据库中数据独立于应用程序而不依赖于应用程序。也就是说,数据的逻辑结构、存储结构与存取方式的改变不会影响应用程序。 数据独立性一般分为物理独立性与逻辑独立性两级。 1)物理独立性:物理独立性即是数据的物理结构(包括存储结构,存取方式等)的改变,如存储设备的更换、物理存储的更换、存取方式改变等都不影响数据库的逻辑结构,从而不致引起应用程序的变化。 2)逻辑独立性:数据库总体逻辑结构的改变,如修改数据模式、增加新的数据类型、改变数据间联系等,不需要相应修改应用程序,这就是数据的逻辑独立性。 (4)数据统一管理与控制。 数据统一管理与控制主要包含以下三个方面: 1)数据的完整性检查:检查数据库中数据的正确性以保证数据的正确。 2)数据的安全性保护:检查数据库访问者以防止非法访问。 3)并发控制:控制多个应用的并发访问所产生的相互干扰以保证其正确性。 4、数据库系统的内部结构体系 (1)数据库系统的三级模式:(学吧学吧独家稿件) 1)概念模式:数据库系统中全局数据逻辑结构的描述,是全体用户(应用)公共数据视图[wx19]。 2)外模式:也称子模式或用户模式,它是用户的数据视图,也就是用户所见到的数据模式,它由概念模式推导而出。 3)内模式:又称物理模式,它给出了数据库物理存储结构与物理存取方法。内模式的物理性主要体现在操作系统及文件级上,它还未深入到设备级上(如磁盘及磁盘操作)。内模式对一般用户是透明的,但它的设计直接影响数据库的性能。 (2)数据库系统的两级映射: 1)概念模式/内模式的映射:实现了概念模式到内模式之间的相互转换。当数据库的存储结构发生变化时,通过修改相应的概念模式/内模式的映射,使得数据库的逻辑模式不变,其外模式不变,应用程序不用修改,从而保证数据具有很高的物理独立性。 2)外模式/概念模式的映射:实现了外模式到概念模式之间的相互转换。当逻辑模式发生变化时,通过修改相应的外模式/逻辑模式映射,使得用户所使用的那部分外模式不变,从而应用程序不必修改,保证数据具有较高的逻辑独立性。 4.2 数据模型 1、数据模型(学吧学吧独家稿件) (1)数据模型的概念:是数据特征的抽象,它从抽象层次上描述了系统的静态特征、动态行为和约束条件,为数据库系统的信息表示与操作提供一个抽象的框架。 (2)数据模型所描述的内容有三个部分,它们是数据结构、数据操作与数据约束。 1)数据结构:数据结构是所研究的对象类型的集合,包括与数据类型、内容、性质有关的对象,以及与数据之间联系有关的对象。它用于描述系统的静态特性。 2)数据操作:数据操作是对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作的含义、符号、操作规则及实现操作的语句等。它用于描述系统的动态特性。 3)数据的约束条件:数据的约束条件是一组完整性规则的集合。完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符号数据模型的数据库状态及状态的变化,以保证数据的正确、有效和相容。 (3)数据模型分为概念模型、逻辑数据模型和物理模型三类: 1)概念数据模型:简称概念模型,是对客观世界复杂事物的结构描述及它们之间的内在联系的刻画。概念模型主要有:E-R模型(实体联系模型)、扩充的E-R模型、面向对象模型及谓词模型等。 2)逻辑数据模型:又称数据模型,是一种面向数据库系统的模型,该模型着重于在数据库系统一级的实现。逻辑数据模型主要有:层次模型、网状模型、关系模型、面向对象模型等。 3)物理数据模型:又称物理模型,它是一种面向计算机物理表示的模型,此模型给出了数据模型在计算机上物理结构的表示。 2、实体联系模型及E-R图 (1)E-R模型的基本概念: 1)实体:现实世界中的事物。 2)属性:事物的特性。 3)联系:现实世界中事物间的关系。实体集的关系有一对一、一对多、多对多的联系。 E-R模型三个基本概念之间的联接关系:1)实体集(联系)与属性间的联接关系;2)实体(集)与联系。 *:E-R模型的基本成分是实体和联系。 (2)E-R模型的图示法: 1)实体集:用矩形表示。 2)属性:用椭圆形表示。 3)联系:用菱形表示。 4)实体集与属性间的联接关系:用无向线段表示。 5)实体集与联系间的联接关系:用无向线段表示。(学吧学吧独家稿件)
(3)数据库管理系统常见的数据模型有层次模型[wx20]、网状模型和关系模型三种。 1)层次模型的基本结构是树形结构,具有以下特点:A、每棵树有且仅有一个无双亲结点,称为根;B、树中除根外所有结点有且仅有一个双亲。
2)网状模型是层次模型的一个特例,从图论上看,网状模型是一个不加任何条件限制的无向图。
3)关系模型采用二维表来表示,简称表,由表框架及表的元组组成。一个二维表就是一个关系。(学吧学吧独家稿件) 二维表的表框架由n个命名的属性组成,n称为属性元数。每个属性有一个取值范围称为值域。表框架对应了关系的模式,即类型的概念。在表框架中按行可以存放数据,每行数据称为元组,实际上,一个元组是由n个元组分量所组成,每个元组分量是表框架中每个属性的 投影值。
学号 姓名 性别 出生年月 班级 籍贯 2007102 张洁然 男 07-07-88 07动画1班 天津 2007203 李一明 男 05-01-87 07播音5班 广西南宁 2007305 王 丽 女 04-09-88 07管理4班 辽宁沈阳 2007406 刘 宏 男 10-11-88 07新闻3班 江苏南京 *:同一个关系模型的任两个元组值不能完全相同。 主码:或称为关键字、主键,简称码、键,表中的一个属性或几个属性的组合、其值能唯一地标识表中一个元组的,称为关系的主码或关键字。例如,学生的学号。主码属性不能取空值。 外部关键字:或称为外键,在一个关系中含有与另一个关系的关键字相对应的属性组称为该关系的外部关键字。外部关键字取空值或为外部表中对应的关键字值。例如,在学生表中含有的所属班级名字,是班级表中的关键字属性,它是学生表中的外部关键字。 (4)关系中的数据约束: 1)实体完整性约束:要求关系的主键中属性值不能为空值,因为主键是唯一决定元组的,如为空值则其唯一性就成为不可能的了。(学吧学吧独家稿件) 2)参照完整性约束:关系之间相互关联的基本约束,不允许关系引用不存在的元组,即在关系中的外键要么是所关联关系中实际存在的元组,要么为空值。 3)用户定义的完整性约束:反映某一具体应用所涉及的数据必须满足的语义要求。例如某个属性的取值范围在0—100之间等。 3、从E-R图导出关系数据模型 数据库的逻辑设计的主要工作是将E-R图转换成指定RDBMS(关系数据库管理系统)中的关系模式。首先,从E-R图到关系模式的转换是比较直接的,实体与联系都可以表示成关系,E-R图中属性也可以转换成关系的属性。实体集也可以转换成关系。 4.3 关系代数 1、关系的数据结构 关系是由若干个不同的元组所组成,因此关系可视为元组的集合。n元关系是一个n元有序组的集合。 关系模型的基本运算:1)插入;2)删除;3)修改;4)查询(包括投影、选择、笛卡尔积运算)。 2、关系操纵 关系模型的数据操纵即是建立在关系上的数据操纵,一般有查询、增加、删除和修改四种操作。 3、集合运算及选择、投影、连接运算 (1)并(∪):关系R和S具有相同的关系模式,R和S的并是由属于R或属于S的元组构成的集合。 (2)差(-):关系R和S具有相同的关系模式,R和S的差是由属于R但不属于S的元组构成的集合。 (3)交(∩):关系R和S具有相同的关系模式,R和S的交是由属于R且属于S的元组构成的集合。 (4)广义笛卡尔积(×):设关系R和S的属性个数分别为n、m,则R和S的广义笛卡尔 积是一个有(n+m)列的元组的集合。每个元组的前n列来自R的一个元组,后m列来自S 的一个元组,记为R×S。 *:根据笛卡尔积的定义:有n元关系R及m元关系S,它们分别有p、q个元组,则关系R与S经笛卡尔积记为R×S,该关系是一个n+m元关系,元组个数是p×q,由R与S的有序组组合而成。(学吧学吧独家稿件) 例:有两个关系R和S,分别进行并、差、交和广义笛卡尔积运算。
(5)在关系型数据库管理系统[wx21]中,基本的关系运算有选择、投影与联接三种操作: 1)选择:选择指的是从二维关系表的全部记录中,把那些符合指定条件的记录挑出来。 2)投影:投影是从所有字段中选取一部分字段及其值进行操作,它是一种纵向操作。 3)联接:联接将两个关系模式拼接成一个更宽的关系模式,生成的新关系中包含满足联接条件的元组。 4.4 数据库设计方法和步骤 (1)数据库设计阶段包括:需求分析、概念分析、逻辑设计、物理设计。 (2)数据库设计的每个阶段都有各自的任务: 1)需求分析阶段:这是数据库设计的第一个阶段,任务主要是收集和分析数据,这一阶段收集到的基础数据和数据流图是下一步设计概念结构的基础。 2)概念设计阶段:分析数据间内在语义关联,在此基础上建立一个数据的抽象模型,即形成E-R图。 *:数据库概念设计的过程包括选择局部应用、视图设计和视图集成。 3)逻辑设计阶段:将E-R图转换成指定RDBMS中的关系模式。 4)物理设计阶段:对数据库内部物理结构作调整并选择合理的存取路径,以提高数据库访问速度及有效利用存储空间。 本章应考点拨:本章在考试中一般出现2-4个小题。本章内容概括性强,比较抽象,难于理解,因此建议考生在复习的时候,首先熟读讲义,其次对数据库系统的基本概念及原理等知识要注意理解、加强记忆。
声明:本文为学吧学吧专稿,不论转载还是传播,必须注明学吧学吧来源,并注明网址www.xue8xue8.com。 学吧学吧(www.xue8xue8.com),一个全新互联网视频教育平台。秉承孔子“三人行必有我师”的观点,将传统填鸭式的独立学习改变成人与人间的互助学习。以视频教程为切入点,引入全新自主开发的网页聊天软件,在线的网友互相帮助,营造出一个真正的学习环境。
在学吧你能: 1. 学习海量免费视频教程 2. 与在线网友互相帮助互相学习 3. 直接咨询在线教授,完全免费 4. 参与网友活动。同城互动学习!
[wx1]这是因为:在编写程序时要受到计算机系统运行环境的限制,程序通常还要考虑很多与方法和分析无关的细节问题。 [wx2]前后件关系:一般情况下,在具有相同特征的数据元素集合中,各个数据元素之间存在某种关系(即联系),这种关系反映了该集合中的数据元素所固有的一种结构。在数据处理领域中,通常把数据元素之间这种固有的关系简单地用前后件关系(即直接前驱与直接后继关系)来描述。 [wx3]在数据结构中,没有前件的结点称为根结点。 [wx4]当为一个线性表分配顺序存储结构后,如果出现线性表的存储空间已满,但还需要插入新的元素时,就会发生“上溢”现象。 [wx5]在链表中,即使知道被访问结点的序号i,也不能像顺序表中那样直接按序号i访问结点,而只能从链表的头指针出发,顺着链域逐个结点往下搜索,直至搜索到第i个结点为止。因此,链表不是随机存储结构。 [wx6]这样,不仅节省了存储空间,又能方便地确定每一个结点的父结点与左右子结点的位置,但顺序存储结构对于一般的二叉树不适用。 [wx7]允许相邻元素值相等。 [wx8]“清晰第一,效率第二”[wx8]是当今主导的程序设计风格。 [wx9]信息隐蔽是指采用封装技术,将程序模块的实施细节隐藏起来,使模块接口尽量简单。即指在设计和确定模块时,使得一个模块内包含的信息(过程或数据),对于不需要这些信息的其它模块来说,是不能访问的。 [wx10]软件的重用是指在不同的软件开发过程中重复使用相同或相似软件的过程。 [wx11]软件的这个特点使它与其它工程对象有着明显的差异。人们可以把它记录在存储介质上,但却无法看到软件本身的形态,必须通过观察、分析、思考、判断,才能了解它的功能、性能等特性。转贴请注明 : www.pghome.net [wx12]许多软件的开发和运行涉及软件用户的机构设置,体制问题以及管理方式等,甚至涉及到人们的观念和心理,软件知识产权及法律等问题。(学吧学吧独家稿件) [wx13]单元是程序中最小的部分,由可以隐含的三部分组成:数据输入、加工和数据输出。 [wx14]PDL(伪码)[wx14]:过程设计语言,它是用正文形式表示数据和处理过程的设计工具。 [wx15]测试用例是指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。 [wx16]注意与软件测试区分。 [wx17]这是因为修改程序可能带来新的错误,重复进行暴露这个错误的原始测试或某些有关测试,以确认该错误是否被排除、是否引进了新的错误。 [wx18]在一个集合中的重复数据称为数据冗余。 [wx19]视图是从一个或几个基本表(或视图)导出的表,它与基本表不同,是一个虚表。数据库中只存放视图的定义,而不存放视图对应的数据,这些数据仍然存放在原来的基本表中。 [wx20]层次模型是最早发展起来的数据库模型。 [wx21]关系型数据库管理系统(RDBMS)是引入基于关系型模型的一个数据库管理系统(DBMS)。这个系统必须满足以下最小标准:(1)对用户以关系显示数据(以表格形式显示);(2)提供关系运算以表格形式维护这些数据。 *:VFP是一种关系型数据库管理系统。
--------------------------------------------------------------------------------
 相关文章
 全国计算机等级考试——二级公共基础知识辅导讲义12008-12-1 14:14:42
 2007年计算机等级考试二级C语言模拟试题及答案2008-9-19 11:00:22
 2007年计算机等级考试二级C语言模拟试题及答案(2)2008-9-19 10:59:18
 2007年计算机等级考试二级C语言模拟试题及答案(3)2008-9-19 10:57:39
 2008年计算机等级考试三级网络模拟试题(3)2008-9-18 16:53:49
 全国计算机等级考试四级通关攻略2008-9-3 8:53:51
 计算机等级考试四级考试笔试模拟试题二2008-9-3 8:51:04
 网友版:2008年4月计算机等级考试三级网络技术真题答案2008-9-3 8:49:41
 2008年4月计算机等级考试三级网络真题试题答案解析2008-9-3 8:46:06
 08年4月计算机等级考试二级VF真题及答案点评解析2008-9-3 8:44:50
|
|
|
|