第一章 数据库系统基础知识_第1页
第一章 数据库系统基础知识_第2页
第一章 数据库系统基础知识_第3页
第一章 数据库系统基础知识_第4页
第一章 数据库系统基础知识_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1isualFVoxPro21.1 数据管理技术的发展数据管理技术的发展1.2 数据库系统数据库系统1.3 数据模型数据模型1.4 关系数据库关系数据库1.5 Visual FoxPro系统简介系统简介31.1 1.1 数据管理技术的发展数据管理技术的发展1.1.1 数据与数据处理数据与数据处理1.数据和信息数据和信息数据:数据:数据 (data) 是对客观事物特征所进行的一种抽象化、符号化表示抽象化、符号化表示。它可以用人工或自动化装置进行通信、翻译或处理。如:文字、声音、图象等。数据用来表示实体及其属性。数据不仅指数值,数据用来表示实体及其属性。数据不仅指数值,还可是文字、图形、图像、色彩

2、、声音等多种类还可是文字、图形、图像、色彩、声音等多种类型。在计算机中,存贮、处理、传输的数据必须型。在计算机中,存贮、处理、传输的数据必须数字化数字化4信息信息:信息(information)通常被认为是有一定含义的经过加工处理的经过加工处理的、对决策有价值的数据对决策有价值的数据。信息信息与与数据数据在概念上是有区别的:信息是有用的数在概念上是有区别的:信息是有用的数据,数据是信息的表现形式。信息是通过数据符号据,数据是信息的表现形式。信息是通过数据符号来传播的,数据如不具有知识性和有用性则不能称来传播的,数据如不具有知识性和有用性则不能称其为信息。其为信息。5数据处理与数据管理数据处理与

3、数据管理:数据处理实际上:数据处理实际上就是利用计就是利用计算机对各种类型的数据进行处理,从已知数据出算机对各种类型的数据进行处理,从已知数据出发,参照相关数据进行加工计算。发,参照相关数据进行加工计算。 数据管理是指对数据的数据管理是指对数据的采集,整理,存储,分类,采集,整理,存储,分类,排序,检索,加工,统计和传输排序,检索,加工,统计和传输等一系列操作过等一系列操作过程。程。2. 数据处理数据处理61.1.2 数据管理技术数据管理技术1. 人工管理阶段人工管理阶段主要是指主要是指50年代中期以前的这段时间,此时的计算年代中期以前的这段时间,此时的计算机还很简陋,连完整的操作系统都没有。

4、因此,数机还很简陋,连完整的操作系统都没有。因此,数据只能放在卡片上或其他介质上,由人来手工管理。据只能放在卡片上或其他介质上,由人来手工管理。 7 2. 文件系统阶段文件系统阶段主要是指主要是指50年代后期到年代后期到60年代中期的这段时间,年代中期的这段时间,此时的计算机已经有了操作系统。在操作系统此时的计算机已经有了操作系统。在操作系统基础之上建立的文件系统已经成熟并广泛应用。基础之上建立的文件系统已经成熟并广泛应用。因此,人们自然想到用文件把大量的数据存储因此,人们自然想到用文件把大量的数据存储在磁盘这种介质上,以实现对数据的永久保存在磁盘这种介质上,以实现对数据的永久保存和自动管理以

5、及维护;和自动管理以及维护;8在文件处理系统中存储信息的弊端主要表现在以下七在文件处理系统中存储信息的弊端主要表现在以下七个方面:个方面:1、数据冗余和不一致、数据冗余和不一致 数据冗余是指相同的信息可能在不同的地方(文件)重复存储。如某个客户的地址和电话号码既可能在由储蓄帐户记录组成的文件里出现,也可能在由支票帐户记录组成的文件中出现;数据冗余还可能导致数据不一致,即同一数据的不同副本不一致。如某个客户地址的更改可能只是在储蓄帐户文件里得到反映而在系统的其他文件中没有得到反映。9 2、数据访问困难由于数据使用者的要求不断变化,由于数据使用者的要求不断变化,需要不断地增加和修改程序才能满足新需

6、要不断地增加和修改程序才能满足新的要求。如银行的高级行政管理人员今的要求。如银行的高级行政管理人员今天可能需要储蓄帐户中余额不少于天可能需要储蓄帐户中余额不少于1000元的客户清单,明天又可能需要所有居元的客户清单,明天又可能需要所有居住在邮编为住在邮编为100084的地区的客户清单。的地区的客户清单。传统的文件处理环境不能支持以一种方传统的文件处理环境不能支持以一种方便而有效的方式去获得所需数据,这就便而有效的方式去获得所需数据,这就需要开发通用的、能对变化的需求作出需要开发通用的、能对变化的需求作出更快反应的数据检索系统。更快反应的数据检索系统。 103、数据孤立由于数据分散在不同的文件中

7、,这些文件又可能具有不同的格式,而且数据和数据之间的联系很难表达。因而编写新的且检索恰当数据的应用程序是很困难的。114、完整性问题文件中所存储数据的值必须满足某种一致性约束。例如银行帐户的余额永远不会低于某个预定的值-10元。开发者通过在不同的应用程序中加入适当的代码来体现系统中的这些约束。但当新的约束加入系统时,很难通过修改程序来体现这些新的约束。尤其是当约束涉及到不同文件中的多个数据项时,问题就变得更加复杂了。因此,如何表达和实现一致性约束就成为迫在眉睫的问题。125、原子性问题计算机系统也常常会发生故障,一旦故障发生并被检测到,数据就应恢复到故障发生前的状态。例如,假设要从A帐户转50

8、00元到B帐户,可是在程序的执行过程中发生了系统故障,很可能从A帐户减去的5000元钱还没来得及存入B帐户,系统就死机了。这就造成了数据的不一致。显然,为了保证数据状态的一致性,这里的借、贷两个操作要么都发生要么都不发生,也就是说,转帐这个操作必须是原子的-它要么全部发生要么根本不发生(具有不可分割性)。136、并发访问异常许多系统允许多个用户同时访问数据,在这样的环境中由于并发更新操作相互影响,可能就会导致数据的不一致。假设A帐户中有500元,客户B和客户C几乎同时从A帐户中分别取款50元和100元。假设每个取款操作对应的程序都是读取帐户余额,在其上减去取款的金额,然后将结果写回。如果两次取

9、款的程序并发执行,可能它们读到的余额都是500元,并将分别写回450元和400元,到底是450元还是400元要看哪个程序后写回结果而定,而实际上这两个结果都是错误的。由于数据可能被多个不同的应用程序访问,而这些程序间事先又没有协调管理,因而可能会出现并发访问异常问题。147、安全性问题并非系统的所有用户都可以访问所有的数据。例如在银行系统中,银行员工的工资发放人员只需要看到数据文件中有关银行员工的那部分信息,他们绝对不需要访问关于客户帐户的信息。由于应用程序总是即兴加入到系统中来,这样的安全性约束在文件处理系统中难以实现。15 3. 数据库系统阶段数据库系统阶段主要是指主要是指60年代后期以后

10、,由于数据库管理系统的诞生,通过年代后期以后,由于数据库管理系统的诞生,通过数据库管理系统管理大量的数据,不仅解决了数据的永久保数据库管理系统管理大量的数据,不仅解决了数据的永久保存,而且真正实现了数据的方便查询和一致性维护问题,并存,而且真正实现了数据的方便查询和一致性维护问题,并且能严格保证数据的安全。此后,数据库应用在我们国家于且能严格保证数据的安全。此后,数据库应用在我们国家于80年代达到高峰,大量的联机处理系统把工作人员从以前繁年代达到高峰,大量的联机处理系统把工作人员从以前繁杂且容易出错的手工操作中解脱出来,不仅提高了工作效率,杂且容易出错的手工操作中解脱出来,不仅提高了工作效率,

11、精简了机构和人员,而且方便了广大人民群众。这样的大型精简了机构和人员,而且方便了广大人民群众。这样的大型系统有系统有全国民航售票系统全国民航售票系统、银行前台业务处理系统银行前台业务处理系统、各种服务行业的客户管理系统各种服务行业的客户管理系统等等。等等。 16随着社会的飞速发展,人们在日常生产和生活中产生的数据越来越多。多则容易生乱。中国的事情不好办,还不是因为人太多了吗。数据多了,对它进行有效的管理就成了一个非常迫切的问题。做重复性的工作是无法体现人类的智慧的,人要做有创新性的工作。计算机所擅长的是机械性的工作。在数据管理中,有大量烦杂的、重复性的工作,这些工作交给计算机来做是非常合适的。

12、数据库管理系统就是帮助人们对数据进行有效的管理,注意是帮助而不是代替人们进行数据管理。在数据管理的某些环节,人的作用是不可替代的。 17数据库管理系统数据库管理系统(Database Management System,英文缩写为,英文缩写为DBMS)是是由一个互相关联的数据的集合和一组用于访问这些数据的程序组成,这由一个互相关联的数据的集合和一组用于访问这些数据的程序组成,这个数据集合通常称作数据库个数据集合通常称作数据库(Database,简称为,简称为DB)。数据库管理系统有。数据库管理系统有时也通俗地称为数据库系统,因此我们通常所说的数据库系统主要是指时也通俗地称为数据库系统,因此我们

13、通常所说的数据库系统主要是指DBMS,而不是指存放数据的具体数据库。,而不是指存放数据的具体数据库。设计数据库管理系统的目的是为了管理大量的数据。对数据的管理设计数据库管理系统的目的是为了管理大量的数据。对数据的管理既涉及到数据存储结构的定义,又涉及到数据操作机制的提供。另外,既涉及到数据存储结构的定义,又涉及到数据操作机制的提供。另外,数据库管理系统还必须保证所存储数据的安全性。如果数据被多用户共数据库管理系统还必须保证所存储数据的安全性。如果数据被多用户共享,那么系统还必须设法避免多用户操作时可能产生的异常结果,这就享,那么系统还必须设法避免多用户操作时可能产生的异常结果,这就是并发控制。

14、是并发控制。18正如旧中国那样,如果没有强有力的控制,势必会造成各省独立、军阀割据的混乱局面。文件管理系统之所以有以上的弊端,归根结底是由于对文件本身以及文件内容的控制不力造成的。而数据库管理系统就是从对文件本身以及文件内容加强了控制。那么到底什么是数据库管理系统呢?你可以把数据库管理系统看成是一个仓库,在仓库里放着数据,还有一个仓库的保管员,这个保管员负责数据的搬进、整理和搬出。这样仓库、数据和保管员就组成了一个数据库管理系统,这里的仓库是文件,保管员是管理软件。仓库数据就是数据库。 19这个保管员要做的事情很多,要检查输入的数据是否合法(数据的定义问题),如何摆放最好(数据的组织问题),如

15、何更快地找到用户所需要的数据并提取出来(数据的存取路径和操作问题),数据如何不被坏人提走(数据的安全性问题)等等。有些时候可能会有多个人来提货,为了提高效率那么就可以一次拿几张单子,顺路把需要的数据都取出来(涉及到并发控制问题)。保管员所做的这些事情就是数据库管理系统需要做的事情。另外一点需要注意的是我们口语中常说的数据库系统在大多数时候都是指DBMS.20数据库系统的分代第一代:非关系型数据库层次型网状型第二代:关系型数据库关系型第三代:对象-关系型数据库关系型支持对象(文本、图象、声音等)21下面介绍一些下面介绍一些新型数据库系统新型数据库系统 。(1)分布式数据库系统。分布式数据库系统)

16、分布式数据库系统。分布式数据库系统(Distributed Database System)是在集中式)是在集中式数据库基础上发展起来的,是数据库技术与计数据库基础上发展起来的,是数据库技术与计算机网络技术、分布处理技术相结合的产物。算机网络技术、分布处理技术相结合的产物。分布式数据库系统是地理上分布在计算机网络分布式数据库系统是地理上分布在计算机网络不同结点,逻辑上属于同一系统的数据库系统,不同结点,逻辑上属于同一系统的数据库系统,能支持全局应用,同时存取两个或两个以上结能支持全局应用,同时存取两个或两个以上结点的数据。点的数据。22(2)面向对象数据库系统。面向对象数据库系统)面向对象数据

17、库系统。面向对象数据库系统(Object-Oriented Database System)是将面向对)是将面向对象的模型、方法和机制,与先进的数据库技术有象的模型、方法和机制,与先进的数据库技术有机地结合而形成的新型数据库系统。机地结合而形成的新型数据库系统。23(3)多媒体数据库系统。多媒体数据库系统()多媒体数据库系统。多媒体数据库系统(Multi-media Database System)是数据库技术与多媒体技)是数据库技术与多媒体技术相结合的产物。在许多数据库应用领域中,都涉术相结合的产物。在许多数据库应用领域中,都涉及到大量的多媒体数据,这些与传统的数字、字符及到大量的多媒体数据

18、,这些与传统的数字、字符等格式化数据有很大的不同,都是一些结构复杂的等格式化数据有很大的不同,都是一些结构复杂的对象。对象。24(4)数据仓库。信息技术的高速发展,数据库应用)数据仓库。信息技术的高速发展,数据库应用的规模、范围和深度不断扩大,一般的事务处理已的规模、范围和深度不断扩大,一般的事务处理已不能满足应用的需要,企业界需要在大量信息数据不能满足应用的需要,企业界需要在大量信息数据基础上的决策支持,数据仓库(基础上的决策支持,数据仓库(Data Warehouse)技术的兴起满足了这一需求。数据仓库作为决策支技术的兴起满足了这一需求。数据仓库作为决策支持系统(持系统(Decision

19、Support System)的有效解决方)的有效解决方案,涉及案,涉及3方面的技术内容:数据仓库技术、联机方面的技术内容:数据仓库技术、联机分析处理(分析处理(On-Line Analysis Processing,OLAP)技术和数据挖掘(技术和数据挖掘(Data Mining)技术。)技术。 251.2.1 数据库系统的组成数据库系统的组成 数据库系统(Database System-DBS)是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员(Database Administrator-DBA)和用户构成。即:DBS = DB +

20、 DBMS + APPLICATION + DBA + USER应当指出的是,数据库的建立、使用和维护等工作只靠一个DBMS远远不够,还要有专门的人员来完成,这些人就是数据库管理员。 1.2 1.2 数据库系统数据库系统26 1.2.2 数据库的三级模式结构数据库的三级模式结构 数据库领域公认的标准结构是三级模式数据库领域公认的标准结构是三级模式结构,它包括外模式、模式和内模式。结构,它包括外模式、模式和内模式。 用户级对应外模式,概念级对应模式,用户级对应外模式,概念级对应模式,物理级对应内模式物理级对应内模式271.2.3 数据库系统的特点数据库系统的特点1数据共享数据共享2减少数据冗余减

21、少数据冗余3具有较高的数据独立性具有较高的数据独立性4增强了数据安全性和完整性保护增强了数据安全性和完整性保护281.3.1 实体及其联系实体及其联系1实体实体 现实世界中的客观事物称为实体,它可现实世界中的客观事物称为实体,它可以指人以指人,也可以指物,还可以指抽象的事也可以指物,还可以指抽象的事件。件。2.2.属性属性 实体所具有的特性称为属性实体所具有的特性称为属性.1.3 1.3 数据模型数据模型292实体间的联系实体间的联系 (1)一对一联系()一对一联系(1:1) 若两个不同型实体集中,任一方的一个实体只与另一方的一个实体相对应,称这种联系为一对一联系。如班长与班级的联系,一个班级

22、只有一个班长,一个班长对应一个班级。 (2)一对多联系()一对多联系(1:n) 若两个不同型实体集中,一方的一个实体对应另一方若干个实体,而另一方的一个实只对应本方一个实体,称这种联系为一对多联系。如班长与学生的联系,一个班长对应多个学生,而本班每个学生只对应一个班长。 (3)多对多联系()多对多联系(m:n) 若两个不同型实体集中,两实体集中任一实体均与另一实体集中若干个实体对应,称这种联系为多对多联系。如教师与学生的联系,一位教师为多个学生授课,每个学生也有多位任课教师。301.3.2 数据模型数据模型计算机领域的数据模型有计算机领域的数据模型有层次模型层次模型、网状模网状模型、关系模型型

23、、关系模型。31 科技学院组织人事部学生处财务处教务处教务科设备科就业指导中心学生管理科32 (2)网络模型33(3 3) 关系模型关系模型数据之间的每种关系相当于一张二维表。学号学号姓名姓名性别性别年龄年龄总分总分001李芳李芳女女18634002赵红赵红女女19649003刘华刘华女女18686004王民王民男男17668005钱国钱国男男18659341.4.1 关系模型关系模型1关系模型的基本概念关系模型的基本概念(1)关系)关系 一个关系就是一张二维表,通常将一个没有重一个关系就是一张二维表,通常将一个没有重复行、重复列的二维表看成一个关系,每个关系都复行、重复列的二维表看成一个关系

24、,每个关系都有一个关系名。在有一个关系名。在Visual FoxPro中,一个关系对应中,一个关系对应于一个表文件,其扩展名为于一个表文件,其扩展名为.dbf。(2)元组)元组 二维表的每一行在关系中称为元组。在二维表的每一行在关系中称为元组。在Visual FoxPro中,一个元组对应表中一个记录。中,一个元组对应表中一个记录。1.4 关系数据库35(3)属性)属性 二维表的每一列在关系中称为属性,每个二维表的每一列在关系中称为属性,每个属性都有一个属性名,属性值则是各个元组属性都有一个属性名,属性值则是各个元组属性的取值。在属性的取值。在Visual FoxPro中,一个属性中,一个属性对

25、应表中一个字段,属性名对应字段名,属对应表中一个字段,属性名对应字段名,属性值对应于各个记录的字段值。性值对应于各个记录的字段值。(4)域)域 属性的取值范围称为域。域作为属性值属性的取值范围称为域。域作为属性值的集合,其类型与范围具体由属性的性质及的集合,其类型与范围具体由属性的性质及其所表示的意义确定。同一属性只能在相同其所表示的意义确定。同一属性只能在相同域中取值。域中取值。36(5)关键字)关键字 关系中能惟一区分、确定不同元组的属性或属关系中能惟一区分、确定不同元组的属性或属性组合,称为该关系的一个关键字。单个属性组成性组合,称为该关系的一个关键字。单个属性组成的关键字称为单关键字,

26、多个属性组合的关键字称的关键字称为单关键字,多个属性组合的关键字称为组合关键字。需要强调的是,关键字的属性值不为组合关键字。需要强调的是,关键字的属性值不能取能取“空值空值”,所谓空值就是,所谓空值就是“不知道不知道”或或“不确不确定定”的值,因而无法惟一地区分、确定元组。的值,因而无法惟一地区分、确定元组。(6)候选关键字)候选关键字 关系中能够成为关键字的属性或属性组合可能不关系中能够成为关键字的属性或属性组合可能不是惟一的。凡在关系中能够惟一区分、确定不同元是惟一的。凡在关系中能够惟一区分、确定不同元组的属性或属性组合,称为候选关键字。组的属性或属性组合,称为候选关键字。37(7)主关键

27、字)主关键字 在候选关键字中选定一个作为关键字,称为该在候选关键字中选定一个作为关键字,称为该关系的主关键字。关系中主关键字是惟一的。关系的主关键字。关系中主关键字是惟一的。(8)外部关键字)外部关键字 关系中某个属性或属性组合并非关键字,但却关系中某个属性或属性组合并非关键字,但却是另一个关系的主关键字,称此属性或属性组合为是另一个关系的主关键字,称此属性或属性组合为本关系的外部关键字。关系之间的联系是通过外部本关系的外部关键字。关系之间的联系是通过外部关键字实现的。关键字实现的。(9)关系模式)关系模式 对关系的描述称为关系模式,其格式为:对关系的描述称为关系模式,其格式为:关系名(属性名

28、关系名(属性名1,属性名,属性名2,属性名,属性名n) 关系既可以用二维表格描述,也可以用数学形式关系既可以用二维表格描述,也可以用数学形式的关系模式来描述。一个关系模式对应一个关系的的关系模式来描述。一个关系模式对应一个关系的结构。在结构。在Visual FoxPro中,也就是表的结构。中,也就是表的结构。382关系的基本特点关系的基本特点 在关系模型中,关系具有以下基本特点:在关系模型中,关系具有以下基本特点:(1)关系必须规范化,属性不可再分割。)关系必须规范化,属性不可再分割。 (2)在同一关系中不允许出现相同的属性)在同一关系中不允许出现相同的属性(3)关系中不允许有完全相同的元组,

29、即冗余。)关系中不允许有完全相同的元组,即冗余。(4)在同一关系中元组的次序无关紧要。)在同一关系中元组的次序无关紧要。(5)在同一关系中属性的次序无关紧要。)在同一关系中属性的次序无关紧要。393关系模型的优点关系模型的优点(1)数据结构单一。)数据结构单一。(2)关系规范化,并建立在严格的理论基础)关系规范化,并建立在严格的理论基础上。上。(3)概念简单,操作方便。)概念简单,操作方便。 401.4.2 关系数据库关系数据库 以关系模型建立的数据库就是关系数据以关系模型建立的数据库就是关系数据库(库(RDB:Relational Database)。)。 一一个关系就是一张二维表格,表格由

30、表格结构与个关系就是一张二维表格,表格由表格结构与数据构成。数据构成。 41 在在Visual FoxPro中,与关系数据库对应的中,与关系数据库对应的是数据库文件(是数据库文件(.dbc文件),一个数据库文件文件),一个数据库文件包含若干个表(包含若干个表(.dbf文件),表由表结构与若文件),表由表结构与若干个数据记录组成,表结构对应关系模式。干个数据记录组成,表结构对应关系模式。42学生管理数据库中的表学生管理数据库中的表43表之间的关系表之间的关系441.4.3 关系运算关系运算1选择选择 选择运算是从关系中查找符合指定条件选择运算是从关系中查找符合指定条件元组的操作。元组的操作。2投

31、影投影 投影运算是从关系中选取若干个属性的投影运算是从关系中选取若干个属性的操作。操作。3联接联接 联接运算是将两个关系模式的若干属联接运算是将两个关系模式的若干属性拼接成一个新的关系模式的操作。性拼接成一个新的关系模式的操作。451.4.4 关系的完整性约束关系的完整性约束 关系完整性是为保证数据库中数据的正确性和关系完整性是为保证数据库中数据的正确性和相容性,对关系模型提出的某种约束条件或规则。相容性,对关系模型提出的某种约束条件或规则。完整性通常包括实体完整性、参照完整性和用户定完整性通常包括实体完整性、参照完整性和用户定义完整性(又称域完整性),其中实体完整性和参义完整性(又称域完整性),其中实体完整性和参照完整性,是关系模型必须满足的完整性约束条件。照完整性,是关系模型必须满足的完整性约束条件。461实体完整性实体完整性 实体完整性是指关系的主关键字不能取实体完整性是指关系的主关键字不能取“空空值值”。2参照完整性参照完整性 参照完整性是定义建立关系之间联系的主关键字参照完整性是定义建立关系之间联系的主关键字与外部关键字引用的约束条件。与外部关键字引用的约束条件。3用户定义完整性用户定义完整性 用户定义完整性则是根据应用环境的

温馨提示

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

评论

0/150

提交评论