第1章 数据库基础知识

上传人:suij****uang 文档编号:180587641 上传时间:2023-01-06 格式:DOCX 页数:9 大小:149.48KB
收藏 版权申诉 举报 下载
第1章 数据库基础知识_第1页
第1页 / 共9页
第1章 数据库基础知识_第2页
第2页 / 共9页
第1章 数据库基础知识_第3页
第3页 / 共9页
资源描述:

《第1章 数据库基础知识》由会员分享,可在线阅读,更多相关《第1章 数据库基础知识(9页珍藏版)》请在装配图网上搜索。

1、第 1 章数据库基础知识数据库是20 世纪 60 年代后期发展起来的一项重要技术,70 年代以来数据库技术得到 迅猛发展,已经成为计算机科学与技术的一个重要分支。经过30 多年的发展,现已经形成 相当规模的理论体系和应用技术,不仅应用于事务处理,并且进一步应用到人工智能、情报 检索、计算机辅助设计等各个领域。本章主要介绍数据库的基本概念和基本理论,并结合 Microsoft Access 讲解与关系数据库相关的基本概念。1.1 数据库系统概述数据库能把大量的数据按照一定的结构存储起来,开辟了数据处理的新纪元。可以直观 地理解数据库为一个存放数据的仓库,只不过这个仓库是在计算机的大容量存储器上。

2、数据 处理的基本问题是数据的组织、存储、检索、维护和加工利用,这些正是数据库系统所要解 决的问题。1.1.1计算机数据管理的发展一、数据与数据处理 数据是指存储在某一种介质上能够被识别的物理符号。数据的种类很多,不仅包括数字、 字母、文字和其他特殊字符组成的文本形式,而且还包括图形、图像、动画、影像、声音等 多媒体形式,但是使用最多、最基本的仍然是文字数据。信息是经过加工处理的有用数据。数据只有经过提炼和抽象变成有用的数据后才能成为 信息。信息仍以数据的形式表示。数据处理是指将数据加工并转换成信息的过程。数据处理的核心是数据管理。计算机对 数据的管理是指如何对数据分类、组织、编码、存储、检索和

3、维护。二、数据管理技术的发展 计算机在数据管理方面经历了由低级到高级的发展过程。计算机数据管理随着计算机软 硬件技术的发展,数据管理技术的发展大致经历了人工管理、文件系统和数据库系统、分布 式数据库系统和面向对象数据库系统5 个阶段。1. 人工管理20 世纪 50 年代以前,计算机主要用于科学计算。当时的硬件状况是,外存储器只有纸 带、卡片、磁带,没有直接存取设备。软件状况是,没有操作系统以及管理数据的软件。人工管理阶段具有的特点是:数据与程序不具有独立性,一组数据对应一组程序。数据 不能长期保存,程序运行结束后就退出计算机系统,一个程序中的数据无法被其他程序使用, 因此程序与程序之间存在大量

4、的重复数据,称为数据冗余。2. 文件系统20 世纪 50 年代后期到60年代中期,计算机的应用范围逐渐扩大,大量地应用于管理 中。这时,在硬件上出现了磁鼓、磁盘等直接存取数据的存储设备;在软件方面,在操作系 统中已经有了专门的数据管理软件,一般称为文件系统;处理方式上不仅有了文件批处理, 而且能够联机实时处理。文件系统阶段具有的特点是:程序和数据有了一定的独立性,程序和数据分开存储,有 了程序文件和数据文件的区别。数据文件可以长期保存在外存储器上被多次存取。但数据共 享性差,数据冗余大。文件系统存在的问题阻碍了数据处理技术的发展,不能满足日益增长的信息需求,这正 是数据库技术产生的原动力,也是

5、数据库系统产生的背景。3. 数据库系统20 世纪 60 年代后期,计算机性能得到提高,更重要的是出现了大容量磁盘,存储容量 大大增加且价格下降。在处理方式上,联机实时处理要求更多,并开始提出和考虑分布处理。 在这种背景下,以文件系统作为数据管理手段已经不能满足应用的需求,于是为解决多用户、 多应用共享数据的需求,使数据为尽可能多的应用提供服务,出现了数据库管理系统。数据库系统阶段基本实现了数据共享,减少了数据冗余,数据库采用特定的数据模型, 数据库具有较高的数据独立性,数据库系统有统一的数据控制和数据管理。4. 分布式数据库系统阶段 分布式数据库系统是在集中式数据库系统的基础上发展起来的,是计

6、算机技术和网络技 术结合的产物。分布式数据库系统适合于单位分散的部门,允许各个部门将其常用的数据存 储在本地,实施就地存放本地使用,从而提高响应速度,降低通信费用。分布式数据库系统 与集中式数据库系统相比具有可扩展性,通过增加适当的数据冗余,提高系统的可靠性。在 集中式数据库中,尽量减少冗余度是系统目标之一。目前使用较多的是基于客户机/服务器(Client/Server, C/S)系统结构,C/S结构将 应用程序根据应用情况分布到客户的计算机和服务器上。Access为创建功能强大的客户机/ 服务器应用程序提供了专用工具。客户机/服务器应用程序具有本地(客户)用户界面,但 访问的是远程服务器上的

7、数据。5. 面向对象数据库系统 数据库技术与面向对象程序设计技术结合产生了面向对象的数据库系统。面向对象的数 据库吸收了面向对象程序设计方法学的核心概念和基本思想,采用面向对象的观点来描述现 实世界实体(对象)的逻辑组织、对象之间的限制和联系等。它克服了传统数据库的局限性, 能够自然地存储复杂的数据对象以及这些对象之间的复杂关系,从而大幅度地提高了数据库 管理效率,降低了用户使用的复杂性。从本质上说, Access 仍然是传统的关系型数据库系统,但它在用户界面、程序设计等 方面进行了很好地扩充,提供了面向对象程序设计的强大功能。1.1.2 数据库系统数据库系统(DataBaseSystem,

8、DBS)是指带有数据库并利用数据库技术进行数据管理 的计算机系统。一、有关数据库的概念1. 数据库(DataBase, DB)数据库是数据库系统的数据源,是长期存储在计算机内的、有组织的、可共享的数据的 集合。实际上数据库就是为了实现一定的目的按某种规则组织起来的数据的集合,在我们的 生活中这样的数据库可是随处可见。2. 数据库应用系统(DataBase Application System, DBAS)数据库应用系统是指系统开发人员利用数据库系统资源开发的面向某一类实际应用的 软件系统。例如,学校信息管理系统,财务管理系统、人事管理系统、图书管理系统等,都 是以数据库为基础和核心的计算机应用

9、系统。3. 数据库管理系统(DataBase Management System, DBMS)数据库管理系统是数据库系统的一个重要组成部分。它是位于用户与操作系统之间的一 层数据管理软件。数据库管理系统是为数据库的建立、使用和维护而配置的软件。数据库在 建立、运用和维护时由数据库管理系统统一管理、统一控制。如常见的 Access、SQL Server、 Oracle 等,都是常用的数据库管理系统。4. 数据库系统(DataBase System, DBS)数据库系统是指在计算机系统中引入数据库后的系统,是实现有组织地、动态地存储大 量相关数据,提供数据处理和信息资源共享的便利手段。一般由数据库

10、、数据库管理系统(及 其应用开发工具)、数据库应用系统、数据库管理员、应用程序员和用户组成,如图1.1 所示。图 1.1 数据库系统二、数据库系统的特点数据库系统的层次结构如图1.2 所示,其主要特点如下:1. 数据的结构化数据结构化是数据库与文件系统的根本区别。在数据库系统中,数据是面向整体的,不 但数据内部组织有一定的结构,而且数据之间的联系也按一定的结构描述出来,所以数据整 体结构化。2. 数据的高共享性与低冗余性数据库系统从整体角度看待和描述数据,数据不再面向某个应用而是面向整个系统。同 一组基本记录,就可以被多个应用程序共享使用。这样可以大大减少数据冗余,节约存储空 间,又能够避免数

11、据之间的不相容性和不一致性。3. 数据的独立性数据独立是指数据与应用程序之间彼此独立,不存在相互依赖的关系。数据库系统提供 了两方面的映像功能,使得程序与数据库中的逻辑结构和物理结构有高度的独立性。4. 数据的统一管理与控制数据的统一管理与控制包括数据的完整性检查、安全性检查和并发控制3 个方面。数据库管理系统能统一控制数据库的建立、运用和维护,使用户能方便地定义数据和操作数据 并能够保证数据的安全性、完整性、多用户对数据的并发使用及发生故障后的系统恢复。1.1.3数据模型数据模型是工具,是用来抽象地表示和处理现实世界中的数据和信息的工具。我们知道, 计算机只能处理数据。数据模型就是从现实世界

12、到数据世界的一个中间层次。现实世界的事 物反映到人的大脑中来,人们把这些事物抽象为一种既不依赖于具体的计算机系统又不为某 一 DBMS支持的概念模型,然后再把概念模型转换为计算机上某一DBMS支持的数据模型。图 1.3 所示是现实世界客观对象的抽象过程。数据库应用系统数据库營理系统操作系统磋件最终用户专业用户数据库 管理闵图 1.2 数据库系统层次示意图图 1.3 现实世界客观对象的抽象过程一、实体描述在数据模型中,需要用到以下几个术语。1. 实体(Entity)客观存在并相互区别的事物称为实体。实体可以是实际的事物,也可以是抽象的事物。 例如,学生、课程等都是属于实际的事物;学生选课、教师授

13、课等都是抽象的事物。2. 实体的属性(Attribute)描述实体的特性称为属性。例如,学生实体用学号、姓名、性别、年龄、政治面貌、照 片等属性来描述。3. 实体集和实体型(Entity Set and Entity Type)属性值的集合表示一个实体,而属性的集合表示一种实体的类型,称为实体型。同类型 的实体的集合,称为实体集。例如,学生(学号,姓名,性别,年龄,政治面貌,照片)就是一个实体型。对于学生 来说,全体学生就是一个实体集。在 Access 中,用“表”来存放同一类实体,即为实体集。例如,学生表、教师表、成 绩表等。Access的一个“表”包含若干个字段,“表”中的字段就是实体的属

14、性。字段值的 集合组成表中的一条记录,代表一个具体的实体,即每一条记录表示一个实体。二、实体间的联系及分类实体之间的对应关系称为联系,它反映现实世界事物之间的相互关联。两个实体间的联 系可以归结为三种类型。1. 一对一联系(one-to-one relationship)如果对于实体集A中的每一个实体,实体集B中有且只有一个实体与之联系,反之亦然, 则称实体集 A 与实体集 B 具有一对一联系。例如,一所学校只有一个校长,一个校长只有在 一所学校任职,校长与学校之间的联系就是一对一的联系。在Access中,一对一联系表现为主表中的每一条记录只与相关表中的一条记录相关联。2. 一对多联系(one

15、-to-many relationship)如果对于实体集A中的每一个实体,实体集B中有多个实体与之联系,反之,对于实体 集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B 有一对多的联系。例如,一个学院中可以有多名学生,而一个学生只能在一个学院中注册学 习,学院和学生之间存在一对多联系。在 Access 中,一对多联系表现为主表中的每条记录与相关表中的多条记录相关联。即 表A中的一条记录在表B中可以有多条记录与之对应,但表B中的一条记录最多只能与表A 中的一条记录对应。一对多联系是最普遍的联系,也可以将一对一联系看作是一对多联系的特殊情况。3. 多对多联系(man

16、 y-to -many rela tio nship)如果对于实体集A中的每一个实体,实体集B中有多个实体与之联系,而对于实体集B 中的每一个实体,实体集A中也有多个实体与之联系,则称实体集A与实体集B之间有多对 多的联系。例如,一个学生可以选修多门课程,一门课程可以被多名学生选修。因此,学生 和课程间存在多对多的联系。在 Access 中,多对多的联系表现为一个表中的多条记录在相关表中同样可以有多条记 录与之对应。即表A中的一条记录在表B中可以对应多条记录,而表B中的一条记录在表A 中也可对应多条记录。多对多联系是理论上及实际需求时会有这种情况,但在数据库软件中则没有,因此,会 将一个多对多

17、联系分解为多个一对多联系。三、三种数据模型 数据模型是面向数据库全局逻辑结构的描述,主要任务一是指出数据的构造,包括如何表示数据、要研究的是什么实体、包含哪些属性;二是确定数据间的联系,主要是实体间的 联系。在数据库系统中,常用的数据模型有层次数据模型、网状数据模型和关系数据模型3 种。1. 层次数据模型 层次数据模型将现实世界的实体彼此之间抽象成一种自上而下的层次关系,是使用树型 结构表示实体与实体间联系的模型。用图来表示,层次数据模式是一棵倒立的树。图 1.4 给出了一个学校的层次数据模型。图 1.4 层次数据模型示意图2. 网状数据模型使用网状结构表示实体及实体间联系的模型称为网状数据模

18、型,如图1.5 所示。图 1.5 网状数据模型示意图3. 关系数据模型 用二维表结构来表示实体以及实体之间联系的模型称为关系数据模型。关系数据模型是 以关系数学理论为基础的,在关系数据模型中,操作的对象和结果都是二维表,这种二维表 就是关系。关系数据模型与层次数据模型、网状数据模型的本质区别在于数据描述的一致性,模型 概念单一。在关系型数据库中,每一个关系都是一个二维表,无论实体本身还是实体间的联 系均用称为“关系”的二维表来表示,使得描述实体的数据本身能够自然地反映它们之间的 联系。而传统的层次和网状模型数据库是使用链接指针来存储和体现联系的。1.2 关系数据库用关系数据模型建立的数据库就是

19、关系数据库(Relational Database, RDB)。1.2.1 关系数据模型关系数据模型的用户界面非常简单,一个关系的逻辑结构就是一张二维表。这种用二维表的形式表示实体和实体间联系的数据模型称为关系数据模型。一、关系术语在 Access 中,一个“表”就是一个关系。图1.6 给出了一张学生表,图1.7给出了一张成绩表,这是两个关系。这两个表中都有唯一标识一名学生的属性学号,根据学号通 过一定的关系运算可以将两个关系联系起来。学生:表&戒绩:表学号 删 j年暫i专业j晦醱U生日 礁隣总面貌Z0091001200E10CE2UH91003 ?nngfifki ?00=100E 2003

20、10K200B100TICOEJ 00:2UII9100920091010?0020C-.SC-200:200S200Z-Z00E20K2lniffiOCf5;onsc:o(E2OO2OO7SCCOOZ20052003隆朋朋S2202207一烦9 9 g300300邸g21:0机机M机FI机机机机机 n n n 口口 H H H H 口KM苴 计计计算苴苴S苴计计计计音音百H19TD/10/31 合湾 19T3/09/11 吕進H孔丸1时19 1972? /!S 内參占至 1971203/21990/06/ f?g 19&7/:2.-02 舌淹 1國一辺j看港 师肋疋俪-束1931/09/16

21、 :.|干1促1允3阳T艇197D/10y21 厲19&/OENe tij末130/uZAlZ 讎19SD/DS+ 杏渡1QT琢03阳香g1904/10/11 KJlf园园.0.0 竟- hTzLaLsLS园ISlfiLa员 z.z.-z.-mr二z”-学号 逅 OOC.O2D1Q10LODOCG9735.002.0ZO1040030043964. 011- ii2D1Q33060028Q4n2D092001DOSS日42d? OOC.O20093005003593V 40, OK. 02D0Q4DL0D050Q3 35, OOC.O2D1Q100GD0O393 OOC.OzoiaiooaD0

22、D4933noc n2002005D02332.5蚩 3& ooc nED093307D03692.5V 2E; 000: 0ZD1Q4003D04292 25; 000: 02010330DOSSQ2 爲 OOC.O2D0910LODO 1092Z=. OOC.OZD1Q1005DOM92 兀 DOC n20090003002491. 5蚩 i: ooc n2D094DL0D0479LV 27; 000: 0ZD031003DOHBL 曲;000: 02009200002191 23, OOC. 02D0Q3303D037QL图 1.6 学生表 图 1.7 成绩表1. 关系(Relation

23、)一个关系就是一张二维表,每个关系有一个关系名。在Access中,一个关系存储为一 个表,具有一个表名。对关系的描述称为关系模式,一个关系模式对应一个关系的结构。其格式为:关系名(属性名1,属性名2,,属性名n)在 Access 中,表示为表结构:表名(字段名1,字段名2,,字段名n)2. 元组(Tuple) 二维表(关系)中的每一行,对应于表中的记录。例如,学生表和成绩表两个关系各包括多条记录(或多个元组)。3. 属性(Attribute) 二维表中的每一列,对应于表中的字段。例如,学生表中的学号、姓名、专业等字段名及其相应的数据类型组成表的结构。4. 域( Domain) 属性的取值范围称

24、为域,也称为值域。例如,性别只能取“男”或“女”。5. 关键字(Primary Key) 关键字是属性或属性的集合,关键字的值能够唯一地标识一个元组。例如,学生表中的学号。在 Access 中,主关键字和候选关键字就起唯一标识一个元组的作用。6. 外部关键字(Foreign Key) 如果表中的一个字段不是本表的主关键字,而是另外一个表的主关键字和候选关键字,这个字段(属性)就称为外关键字。在 Access 中,将相互之间存在联系的表放在一个数据库中统一管理。例如,在“教学 信息管理”数据库中可以加入教师表、学生表、课程表和成绩表等。二、关系的特点 在关系模型中对关系有一定的要求,关系必须具有

25、以下特点:1. 关系必须规范化。关系模型中的每一个关系模式都必须满足一定的要求。最基本的 要求是每个属性必须是不可分割的数据单元,即表中不能再包含表。2. 属性名必须唯一,即一个关系中不能出现相同的属性名。3. 关系中不允许有完全相同的元组(即冗余)。4. 在一个关系中元组和属性的顺序都是无关紧要的1.2.2 关系运算对于关系数据库进行查询时,需要找到用户感兴趣的数据,这就需要对关系进行一定的 关系运算。关系的基本运算有两类:一类是传统的集合运算(并、差、交等),另一类是专 门的关系运算(选择、投影、联接),有些查询需要几个基本运算的组合。一、传统的集合运算 进行并、差、交集合运算的两个关系必

26、须具有相同的关系模式,即元组具有相同结构。1. 并(Union) 两个相同结构关系的并是由属于这两个关系的元组组成的集合。例如,有两个结构相同的学生关系R1和R2,分别存放两个班的学生,将第二个班的学 生记录追加到第一个班的学生记录后面就是两个关系的并集。2. 差(Difference)设有两个相同的结构R和S,R差S的结构是由属于R但不属于S的元组组成的集合, 即差运算的结果是从R中去掉S中也有的元组。例如,设有选修计算机基础的学生关系R,选修C语言程序设计的学生关系S。求选修 了计算机基础,但没有选修 C 语言程序设计的学生,就应当进行差运算。3. 交(Intersection)两个具有相

27、同结构的关系R和S,他们的交是由既属于R又属于S的元组组成的集合。 交运算的结果是R和S中的共同元组。例如,有选修计算机基础的学生关系R,选修C语言程序设计的学生关系S。求既选修 了计算机基础又选修了 C语言程序设计的学生,就应当进行交运算。二、专门的关系运算关系数据库管理系统能完成选择、投影和联接 3 种关系操作。1. 选择( Select)从关系中找出满足给定条件的元组的操作称为选择。选择的条件以逻辑表达式给出,使 得逻辑表达式的值为真的元组将被选取。例如,要从教师表中找出职称为“教授”的教师, 所进行的查询操作就属于选择运算。2. 投影(Projection)从关系模式中指定若干属性组成

28、新的关系称为投影。 投影是从列的角度进行的运算,相当于对关系进行垂直分解。经过投影运算可以得到一 个新的关系,其关系模式所包含的属性个数往往比原关系少,或者属性的排列顺序不同。投 影运算提供了垂直调整关系的手段,体现出关系中列的次序无关紧要这一特点。例如,要从 学生关系中查询学生的“姓名”和“年级”,所进行的查询操作就属于投影运算。3. 联接(Join) 联接是关系的横向结合。联接运算将两个关系模式拼接成一个更宽的关系模式,生成的新关系中包含满足联接条件的元组。联接过程是通过联接条件来控制的,联接条件中将出现两个表中的公共属性名,或者具 有相同的语义、可比的属性。联接结果是满足条件的所有记录。

29、选择和投影运算的操作对象只是一个表,相当与对一个二维表进行切割。联接运算需要 两个表作为操作对象。如果需要联接两个以上的表,应当两两进行联接。总之,在对关系数据库的查询中,利用关系的投影、选择和联接运算可以方便地分解或构成新的关系。三、关系的完整性1. 实体完整性(Entity Integrity)实体完整性规则要求关系中记录的关键字字段不能为空,不同记录的关键字,字段值也 不能相同,否则,关键字就失去了唯一标识记录的作用。如学生表将学号字段作为主关键字,那么,该列不得有空值,否则无法对应某个具体的 学生,这样的表格不完整,对应关系不符合实体完整性规则的约束条件。2. 参照完整性(Refere

30、n tial Int egri ty)参照完整性规则要求关系中“不引用不存在的实体”,定义了外键与主键之间的引用规 则。如学生表中的“学号”字段是该表的主键,但在成绩表中是外键,则在成绩表中该字段 的值只能取“空”或取学生表中学号的其中值之一。3. 用户定义完整性(Definition Integrity)实体完整性和参照完整性适用于任何关系型数据库系统,它主要是针对关系的主关键字 和外部关键字取值必须有效而做出的约束。用户定义完整性则是根据应用环境的要求和实际 的需要,对某一具体应用所涉及的数据提出约束性条件。这一约束机制一般不应由应用程序 提供,而应由关系模型提供定义并检验。用户定义完整性主要包括字段有效性约束和记录有 效性约束。如对成绩表中的“成绩”字段的取值范围规定,只能取0100之间的值。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!