收藏 分享(赏)

第一部分+++基础篇.doc

上传人:dreamzhangning 文档编号:2289121 上传时间:2018-09-09 格式:DOC 页数:18 大小:105.50KB
下载 相关 举报
第一部分+++基础篇.doc_第1页
第1页 / 共18页
第一部分+++基础篇.doc_第2页
第2页 / 共18页
第一部分+++基础篇.doc_第3页
第3页 / 共18页
第一部分+++基础篇.doc_第4页
第4页 / 共18页
第一部分+++基础篇.doc_第5页
第5页 / 共18页
点击查看更多>>
资源描述

1、第一部分 基础篇本部分从 Visual FoxPro 的基本理论入手,介绍数据库的基本概念,Visual FoxPro的基本知识,数据库、表、视图、查询的创建和使用,以及报表设计器和项目管理器的基本操作。第一章 数据库基础本章主要介绍数据、数据库、数据库系统、数据库管理系统的基本概念,数据库的发展历史,数据库的基本模型及相关概念。1.1 数据库相关概念早期的计算机主要用于科学计算,当它应用于生产管理、气象分析、情报检索等领域时,它面对的是数量惊人的各类数据。人们很自然的就会提出疑问:什么是数据呢?我们应该怎样对数据进行处理才能得到对我们有用的信息呢?1.1.1 数据、数据库、数据库管理系统、数

2、据库系统 1、数据(Data)数据是数据库中存储的基本对象。数据在大多数人头脑中的第一个反应就是数字。其实数字只是最简单的一种数据,是数据的一种传统和狭义的理解。广义的理解,数据的种类很多,文本、图形、图像、声音、视频、教师的工资记录、货物的运输情况等,这些都是数据。可以对数据做如下定义:描述事物的符号记录称为数据。描述事物的符号可以是数字,也可以是文本、图形、图像、声音、视频等,数据有多种表现形式,他们都可以经过数字化后存入计算机。为了了解世界,交流信息,人们需要描述这些事物。在日常生活中直接用自然语言(如汉语、英语等)描述。在计算机中,为了存储和处理这些事物,就要抽出对这些事物感兴趣的特征

3、组成一个记录来描述。例如:在毕业生的档案中,用人单位感兴趣的是这个学生的姓名、性别、年龄、出生年月、籍贯、所学专业、入学时间、特长等,那么可以这样描述:(王刚,男,22,1983,甘肃天水,电子商务,2001,写作)这里的毕业生记录就是数据。对于上面的这条记录,了解其含义的人会得到如下的信息:王刚是个大学毕业生,男,1983 年出生,甘肃天水人, 2001 年考入大学,学的是电子商务专业,他的特长是写作。而不了解其语义的人则无法理解其含义。可见,数据的形第一章 数据库基础2式还不能完全表达其内容,需要经过解释。所以数据和关于数据的解释是不可分的,数据的解释是对数据含义的说明,数据的含义称为数据

4、的语义,数据与其语义是不可分的。2、数据库(DataBase, 简称 DB)数据库,顾名思义,是存放数据的仓库。只不过这个仓库是在计算机存储设备上,而且数据是按一定的格式存放的。人们收集并抽取出一个应用所需要的大量数据之后,应将其保存起来以供进一步加工处理,进一步提取有用信息。在科学技术飞速发展的今天,人们的所需的信息量与日俱增。过去人们把数据存放在文件柜里,现在人们借助计算机和数据库技术科学地保存和管理大量的复杂的数据,以便能方便而充分地利用这些宝贵的信息资源。所谓数据库是指长期储存在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较

5、高的数据独立性和易扩展性,并可为各种用户共享。3、数据库管理系统(DataBase Management System,简称 DBMS)了解了数据和数据库的概念,下一个问题就是如何科学地组织和存储数据,如何高效地获取和维护数据。完成这个任务的是一个系统软件-数据库管理系统。数据库管理系统是位于用户与操作系统之间的一层数据管理软件。它的主要功能包括以下几个方面: 数据定义功能DBMS 提供数据定义语言(Data Definition Language,简称 DDL) ,用户通过它可以方便地对数据库中的数据对象进行定义。 数据操纵功能DBMS 还提供数据操纵语言(Data Manipulation

6、 Language,简称 DML) ,供用户对数据库进行数据查询、统计、存储、维护、输出等操作。 数据库的运行管理数据库在建立、运用和维护时由数据库管理系统统一管理、统一控制,以保证数据的安全性、完整性、多用户对数据的并发使用及发生故障后的系统恢复。 数据库的建立和维护功能他包括数据库初始数据的输入、转换功能,数据库的转储、 恢复功能,数据库的重组织功能和性能监视、分析功能等。这些功能通常是由一些实用程序完成的。4、数据库系统(DataBase System,简称 DBS)数据库系统是指一个具体的数据库管理系统软件和用它建立起来的数据库。它是研究、开发、建立、维护和应用数据库系统所涉及的理论、

7、方法、技术所构成的学科。在这一含义下,数据库系统是软件研究领域的一个重要分支,常称为数据库领域。数据库研究跨越计算机应用、系统软件和理论三个领域,其中应用促进新系统的研制开发,新系统带来新的理论研究,而理论研究又对前两个领域起着指导作用。 数据库系统的出现是计算机应用的一个里程碑,它使得计算机应用从以科学计算为主转向以数据处理为主,数据库系统的出现使得普通用户能够方便地将日常数据存入计算机并在需要的时候快速访问它们,从而使得计算机走出科研机构进入各行各业、进入家庭。在它之前的文件系统虽然也能处理持久数据,但是并不提供对任意部分数据的快速访问,而这对数据量不断增大的应用来说是至关重要的。为了实现

8、对任意部分数据的快速访问,第一章 数据库基础3就要研究许多优化技术。这些优化技术往往很复杂,是普通用户难以实现的,所以就由系统软件(数据库管理系统)来完成,而提供给用户的只是简单易用的数据库语言。由于对数据库的操作都由数据库管理系统完成,所以数据库就可以独立于具体的应用程序而存在,从而数据库又可以为多个用户所共享。因此,数据的独立性和共享性是数据库系统的重要特征。数据共享节省了大量人力物力,为数据库系统的广泛应用奠定了基础。数据库系统是一个为实际可运行的存储、维护和应用系统提供数据的软件系统,是存储媒体、处理对象和管理系统的集合体。它通常由软件、数据库和数据库管理员组成。其软件主要包括操作系统

9、、各种宿主语言、实用程序以及数据库管理系统。数据库是把数据依照某种数据模型组织起来并存放在存储器中的数据集合,这些数据为许多应用服务,独立于具体的应用程序。数据库由数据库管理系统统一管理,数据的插入、修改和检索均要通过数据库管理系统进行。数据库管理系统是一种系统软件,它的主要功能是维护数据库并有效地访问数据库中任意部分数据。对数据库的维护包括保持数据的完整性、一致性和安全性,数据库管理员负责创建、监控和维护整个数据库,使数据能被任何有权使用的人有效使用。数据库管理员一般是由业务水平较高、资历较深的人员担任。总之,一个数据库系统实际上包括下列组成部分: 数据、储存数据的硬件、数据库管理系统。数据

10、库系统在整个计算机系统中的地位如图 1-1 所示。1.1.2 数据库技术的发展数据库技术是应数据库管理任务的需要而产生的。数据的处理是指对各种数据进行收集、存储、加工和传播的一系列活动的总和。数据管理则是指对数据进行分类、组织、编码、存储、检索和维护,它是数据处理的中心问题。人们借助计算机进行数据处理是近三十几年的事。研制计算机的最初目的是利用它进行复杂的科学计算。但随着计算机技术的发展,其应用范围远远超出了初衷。在应用需求的推动下,在计算机硬件、软件发展的基础上,数据管理技术经历了人工管理、文件系统、数据库系统三个阶段。应 用 系 统应 用 开 发 工 具D B M S操作系统硬件图 1-1

11、 数据库在计算机系统中的地位第一章 数据库基础41、 人工管理阶段20 世纪 50 年代中期以前,计算机主要用于科学计算。当时的硬件状况是,外存只有纸带、卡片、磁带,没有管理数据的软件;数据处理方式是批处理。人工管理数据具有以下特点: 数据不保存由于当时计算机主要用于科学计算,一般不需要将数据长期保存,只是在计算某一课题时才将数据输入,用完就拿走。不仅对用户数据如此处置,对系统软件有时候也是这样。 应用程序管理数据数据需要由应用程序自己管理,没有相应的软件系统负责数据的管理工作。应用程序中不仅要规定数据的逻辑结构,而且要设计物理结构,包括存储结构、存取方法、输入方式等。 数据不共享数据是面向应

12、用的,一组数据只能对应一个程序。当多个应用程序涉及某些相同的数据时,由于必须各自定义,无法互相利用、互相参照,因此程序与程序之间有大量的冗余数据。 数据不具有独立性数据的逻辑结构或物理结构发生变化后,必须对应程序做相应的修改,这就进一步加重了程序员的负担。2、 文件系统阶段20 世纪 50 年代后期到 60 年代中期,这时硬件方面已有了磁盘、磁鼓等直接存取的存储设备;软件方面,操作系统中已经有了专门的数据管理软件,一般称为文件系统;处理方式上不仅有了批处理,而且能够联机实时处理。用文件系统管理数据具有如下特点: 数据可以长期保存由于计算机大量用于数据处理,数据需要长期保留在外存上反复进行查询、

13、更新等操作。 由文件系统管理数据由专门的软件即文件系统进行数据管理,文件系统把数据组织成相互独立的数据文件,利用“按文件名访问,按记录进行存取”的管理技术,可以对文件进行修改、插入和删除的操作。文件系统实现了记录内的结构性,但整体无结构。程序和数据之间由文件系统提供存取方法进行转换,使应用程序与数据之间有了一定的独立性,程序员可以不必过多地考虑物理细节,将精力集中于算法。而且数据在存储上的改变不一定反映在程序上,大大节省了维护程序的工作量。 数据共享性差,冗余度大在文件系统中,一个文件基本上对应于一个应用程序,即文件仍然是面向应用的。当不同的应用程序具有部分相同的数据时,也必须建立各自的文件,

14、而不能共享相同的数据,因此数据的冗余度大,浪费存储空间。同时由于相同数据的重复存储、各自管理,容易造成数据的不一致性,给数据的修改和维护带来了困难。第一章 数据库基础5 数据独立性差文件系统中的文件是为某一特定应用服务的,文件的逻辑结构对该应用程序来说是优化的,因此要想对现有的数据再增加一些新的应用会很困难,系统不容易扩充。一旦数据的逻辑结构改变,必须修改应用程序,修改文件结构的定义。因此数据与程序之间仍缺乏独立性。可见,文件系统仍然是一个不具有弹性的无结构的数据集合,即文件之间是独立的,不能反映现实世界事物之间的内在联系。3、 数据库系统阶段20 世纪 60 年代后期以来,计算机用于管理的规

15、模越来越大,应用越来越广泛,数据量急剧增长,同时多种应用、多种语言互相覆盖地共享数据集合的要求越来越强烈。用数据库系统管理数据比文件系统具有明显的优点,从文件系统到数据库系统,标志着数据管理技术的飞跃。 1.1.3 数据库系统的特点与人工管理和文件系统相比,数据库系统的特点主要有以下几个方面。1、 数据结构化数据结构化是数据库与文件系统的根本区别。在文件系统中,相互独立的文件的记录内部是有结构的。传统文件的最简单形式是等长同格式的记录集合。在文件系统中,尽管其记录内部已有了某些结构,但记录之间没有联系。数据库系统实现整体数据的结构化,是数据库的主要特征之一,也是数据库系统与文件系统的本质区别。

16、2、 数据的共享性高,冗余度低,易扩充数据库系统从整体看待和描述数据,数据不再面向某个应用而是面向整个系统,因此数据可以被多个用户、多个应用共享使用。数据共享可以大大减少数据冗余,节省存储空间。数据共享还能够避免数据之间的不相容性与不一致性。所谓数据的不一致性是指同一数据不同拷贝的值不一样。采用人工管理或文件系统管理时,由于数据被重复存储,当不同的应用使用和修改不同的拷贝时就很容易造成数据的不一致。在数据库中数据共享,减少了由于数据冗余造成的不一致现象。由于数据面向整个系统,是有结构的数据,不仅可以被多个应用共享使用而且容易增加新的应用,这就使得数据库系统弹性大,易于扩充,可以适应各种用户的要

17、求。可以取整体数据的各种子集用于不同的应用系统,当应用需求改变或增加时,只要重新选取不同的子集或加上一部分数据便可以满足新的需求。3、 数据独立性高数据独立性是数据库领域中一个常用术语,包括数据的物理独立性和数据的逻辑独性。物理独立性是指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。也就是说,数据在磁盘上的数据库中怎样存储是由 DBMS 管理的,用户程序不需要了解,应用程序要处理的只是数据的逻辑结构,这样当数据的物理存储改变了,用户程序不用改变。第一章 数据库基础6逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的,也就是说,数据的逻辑结构改变了,用户程序也可以不变。数据独立

18、性是由 DBMS 的二级映象功能来保证的。数据与程序的独立,把数据的定义从程序中分离出去,加上数据的存取又由 DBMS 负责,从而简化了应用程序的编制,大大减少了应用程序的维护和修改。1.2 数据模型模型,特别是具体模型,人们并不陌生。飞机模型、轮船模型、楼房模型都是具体的模型。模型是现实世界特征的模拟和抽象。数据模型也是现实世界数据特征的抽象。数据库是某个企业、组织或部门所涉及的数据的综合,它不仅要反映数据本身的内容,而且要反映数据之间的联系。由于计算机不可能直接处理现实世界中的具体事物,所以人们必须事先把具体事物转换成计算机能够处理的数据。在数据库中用数据模型这个工具来抽象、表示和处理现实

19、世界中的数据和信息。通俗地讲数据模型就是现实世界的模拟。现有的数据库系统均是基于某种数据模型的。因此,了解数据模型的基本概念是学习数据库的基础。数据模型应满足三方面要求:一是能比较真实地模拟现实世界;二是容易为人所理解;三是便于在计算机上实现。一种数据模型要很好地满足这三方面的要求在目前尚很困难。在数据库系统中针对不同的使用对象和应用目的,采用不同的层次。第一类模型是概念模型,也称信息模型,它是按用户的观点来对数据和信息建模,主要用于数据库设计。另一类模型是数据模型,主要包括网状模型、层次模型、关系模型等,它是按计算机系统的观点对数据建模,主要用于 DBMS 的实现。数据模型是数据库系统的核心

20、和基础。各种机器上实现的 DBMS 软件都是基于某种数据模型的。为了把现实世界的具体事物抽象、组织为某一 DBMS 支持的数据模型,人们常常首先将现实世界抽象为信息世界,然后将信息世界转换为机器世界。也就是说,首先把现实世界中的客观对象抽象为某一种信息结构,这种信息结构并不依赖于具体的计算机系统,不是某一个 DBMS 支持的数据模型,而是概念模型;然后再把概念模型转换为计算机上某一DBMS 支持的数据模型。1.2.1 数据模型的组成要素一般地讲,数据模型是严格定义的一组概念的集合。这些概念精确地描述了系统的静态特性、动态特性和完整性约束条件。因此数据模型通常由数据结构、数据操作和完整性约束三部

21、分组成。1、数据结构数据结构是所研究的对象类型的集合。这些对象是数据库的组成成分,它们包括两类,一类是与数据类型、内容、性质有关的对象,一类是与数据之间联系有关的对象。数据结构是刻画一个数据模型性质最重要的方面。因此在数据库系统中,人们通常按第一章 数据库基础7照其数据结构的类型来命名数据模型。数据结构是对系统静态特性的描述。2、数据操作数据操作是指对数据库中各种对象的实例允许执行的操作的集合,包括操作及有关的操作规则。数据库主要有检索和更新(包括插入、删除、修改)两大类操作。数据模型必须定义这些操作的确切含义、操作符号、操作规则(如优先级)以及实现操作的语言。数据操作是对系统动态特性的描述。

22、3、数据的约束条件数据的约束条件是一组完整性规则的集合。完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。数据模型应该反映和规定本数据模型必须遵守的基本的通用的完整性约束条件。此外,数据模型还应该提供定义完整性约束条件的机制,以反映具体应用所涉及的数据必须遵守的特定的语义约束条件 。1.2.2 概念模型概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言,因此概念模型一方面应该具有较强的语义表达能力,能够方便、

23、直接地表达应用中的各种语义知识,另一方面它应该简单、清晰、易于用户理解。1、 信息世界中的基本概念 实体(Entity)客观存在并可相互区别的事物称为实体。实体可以是具体的人、事、物,也可以是抽象的概念或联系,例如,一个老师、一个学生、一门课、部门的一次定货、老师与系的工作关系等都是实体。 属性(Attribute)实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。例如学生实体可以由学号、姓名、性别、出生年份、系、入学时间等属性组成。 (20030336,李勇,男,1982,信息系,2003)这些属性组合起来表征了一个学生实体。 码(Key)唯一标识实体的属性集称为码集。例如学号是

24、学生实体的码。 域(Domain)属性的取值范围称为该属性的域。例如,学号的域为 8 位整数,姓名的域为字符串的集合,年龄的域为小于 40 的整数,性别的域为(男,女) 。 实体型(Entity Type)具有相同属性的实体必然具有共同的特征和性质。用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。例如,学生(学号,姓名,性别,出生年份,系,入学时间)就是一个实体型。 实体集(Entity Set)第一章 数据库基础8同型实体的集合称为实体集。例如,全体学生就是一个实体集。 联系(Relationship)在现实世界中,事物内部以及事物之间是有联系的,这些联系在信息世界中反映为实体(型)

25、内部的联系和实体型之间的联系。实体之间的联系通常是指组成实体的各属性之间的联系。实体之间的联系通常是指不同实体集之间的联系。两个实体型之间的联系可以分为三类: 一对一关系如果对于实体集 A 中的每一个实体,实体集 B 中至多有一个(也可以没有)实体与之联系,反之亦然,则称实体集 A 与实体集 B 具有一对一联系,记为 1:1。 一对多联系如果对于实体集 A 中的每一个实体,实体集 B 中有 n(n0)个实体与之联系,反之,对于实体集 B 中的每一个实体,实体集 A 中至多只有一个实体与之联系,则称实体集 A 与实体集 B 有一对多联系,记为 1:n。 多对多联系如果对于实体集 A 中的每一个实

26、体,实体集 B 中有 n(n0)个实体与之联系,反之,对于实体集 B 中的每一个实体,实体集 A 中也有 m(m0)个实体与之联系,则称实体集A 与实体集 B 具有多对多联系,记为 m:n。2、 概念模型的表示方法概念模型是对信息世界建模,所以概念模型应该能够方便、准确地表示出上述信息世界中的常用概念。概念模型的表示方法很多,其中最为著名的是 P.P.S.Chen 于 1976 年提出的实体-联系方法(Entity-Relationship Approach) 。该方法用 E-R 图来描述现实世界的概念模型,E-R 方法也称为 E-R 模型。E-R 图提供了表示实体型、属性和联系的方法: 实体

27、型:用矩形表示,矩形框内写明实体名。 属性:用椭圆形表示,并用无向边将其与相应的实体连接起来。 联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型。实体-联系方法是抽象和描述现实世界的有力工具。用 E-R 图表示的概念模型独立于具体的 DBMS 所支持的数据模型,它是各种数据模型的共同基础,因而比数据模型更一般、更抽象、更接近现实世界。1.2.3 最常用的数据模型目前,数据库领域中最常用的数据模型有四种: 层次模型 网状模型 关系模型 面向对象模型我们把层次模型和网状模型又称为非关系模型。第一章 数据库基础91.2.4 层次模型 层次模型是数据

28、库系统中最早出现的数据模型,层次模型用树型结构来表示各类实体以及实体间的联系。1、 层次数据模型的数据结构在数据库中定义满足下面两个条件的基本层次联系的集合为层次模型。 有且只有一个结点没有双亲结点,这个结点称为根结点。 根以外的其他结点有且只有一个双亲结点。在层次模型中,每个结点表示一个记录类型,记录(类型)之间的联系用结点之间的连线(有向边)表示,这种联系是父子之间的一对多联系。这就使得层次数据库系统只能处理一对多的实体联系。每个记录类型可包含若干个字段,这里,记录类型描述的是实体,字段描述的是实体的属性。各个记录类型及其字段都必须命名。各个记录类型、同一记录类型中各个字段不能同名。每个记

29、录类型可以定义一个排序字段,也称为码字段,如果定义该排序字段的值是唯一的,则它能唯一地标识一个记录值。一个层次模型在理论上可以包含任意有限个记录和字段,但任何实际的系统都会因为存储容量或实现复杂度而限制层次模型中包含的记录个数和字段的个数。在层次模型中,同一双亲的子女结点称为兄弟结点,没有子女结点的结点称为叶结点。2、 层次模型的数据操纵与完整性约束层次模型的数据操纵主要有查询、插入、删除和修改。进行插入、删除、修改操作时要满足层次模型的完整性约束条件。进行插入操作时,如果没有相应的双亲结点值就不能插入子女结点值。进行删除操作时,如果删除双亲结点值,则相应的子女结点值也被同时删除。进行修改操作

30、时,应修改所有相应记录,以保证数据的一致性。3、 层次数据模型的存储结构层次数据库中不仅要存储数据本身,还要存储数据之间的层次联系。层次模型数据的存储常常是和数据之间联系的存储结合在一起的。常用的实现方法有两种: 邻接法按照层次树前序遍历的顺序把所有记录值依次邻接存放,即通过物理空间的位置相邻来体现层次顺序。 链接法用指引元来反映数据之间的层次联系,其中每个记录设两类指引元,分别指向最左边的子女(每个记录型对应一个)和最近的兄弟,这种链接方法称为子女-兄弟链接法。4、 层次模型的优缺点层次模型的优点主要有:层次数据模型本身比较简单。对于实体间联系是固定的,且预先定义好的应用系统,采用层次模型来

31、实现,其性能优于关系模型,不低于网状模型。第一章 数据库基础10层次数据模型提供了良好的完整性支持。层次模型的缺点主要有:现实世界中很多联系是非层次性的,如多对多联系、一个结点具有多个双亲等,层次模型表示这类联系的方法很笨拙,只能通过引入冗余数据或创建非自然的数据组织来解决。对插入和删除操作的限制比较多。查询子女结点必须通过双亲结点。由于结构严密,层次命令趋于程序化。用层次模型对具有一对多的层次关系的部门描述非常自然、容易理解。这是层次数据库的突出优点。1.2.5 网状模型网状型结构比层次型结构更有弹性,允许子结点有多个父结点,并且子结点之间的关系较接近、联系很容易。但其缺点是路径太多,当加入

32、或删除数据时,牵动的相关数据很多,不易维护与重建。因此,此结构适用于稳定的数据库,但并不适合于动态性数据库,因为数据常常变更,会造成更新的困难。1、 网状数据模型的数据结构在数据库中,把满足以下两个条件的基本层次联系集合称为网状模型: 允许一个以上的结点无双亲。 一个结点可以有多于一个的双亲。网状模型是一种比层次模型更具普遍性的结构,它去掉了层次模型的两个限制,允许多个结点没有双亲结点,允许结点有多个双亲结点,此外它还允许两个结点之间有多种联系。因此网状模型可以更直接地去描述现实世界。而层次模型实际上是网状模型的一个特例。与层次模型一样,网状模型中每个结点表示一个记录类型,每个记录类型可包括若

33、干个字段(实体的属性) ,结点间的连线表示记录类型(实体)之间一对多的父子联系。2、 网状数据模型的操纵与完整性约束网状数据模型一般来说没有层次模型那样严格的完整性约束条件,但具体的网状数据库系统(如 DBTG)对数据操纵都加了一些限制,提供了一定的完整性约束。DBTG 在模式 DDL 中提供了定义 DBTG 数据库完整性的若干概念和语句,主要有: 支持记录码的概念,码既唯一标识记录的数据项的集合。 保证一个联系中双亲记录和子女记录之间是一对多的联系。 可以支持双亲记录和子女记录之间某些约束条件。3、 网状数据模型的存储结构网状数据模型的存储结构中关键是如何实现记录之间的联系。常用的方法是链接

34、法,包括单向链接、双向链接、环状链接、向首链接等,此外还有其他实现方法,如指引元阵列法、二进制阵列法、索引法等依据具体系统不同而不同。4、 网状数据模型的优缺点第一章 数据库基础11网状数据模型的优点主要有: 能够更为直接地描述现实世界,如一个结点可以有多个双亲。具有良好的性能,存取效率高。网状数据模型的缺点主要有:结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握。其 DDL,DML 语言复杂,用户不容易使用。由于记录之间联系是通过存取路径实现的,应用程序在访问数据时必须选择适当的存取路径,因此,用户必须了解系统结构的细节,加重了编写应用程序的负担。1.2

35、.6 关系模型关系模型是目前最重要的一种数据模型。关系数据库系统采用关系模型作为数据的组织方式。1970 年美国 IBM 公司 San Jose 研究室的研究员 E.F.Codd 首次提出了数据库系统的关系模型,开创了数据库关系方法和关系数据理论的研究,为数据库技术奠定了理论基础。由于 E.F.Codd 的杰出工作,他于 1981 年获得 ACM 图灵奖。1、 关系数据模型的数据结构关系模型与以往的模型不同,它是建立在严格的数学概念的基础上的。在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。2、 关系数据模型的操纵与完整性约束关系数据模型的操作主要包括查询、插入、删除和修改

36、数据。这些操作必须满足关系的完整性约束条件。关系的完整性约束条件包括三大类:实体完整性、参照完整性和用户定义的完整性。关系模型中的数据操作是集合操作,操作对象和操作结果都是关系,即若干元组的集合,而不像非关系模型中那样是单记录的操作方式。另一方面,关系模型把存取路径向用户隐藏起来,用户只要指出“干什么”或“找什么”不必详细说明 “怎么干”或“怎么找”,从而大大提高了数据的独立性,提高了用户生产率。3、 关系数据模型的存储结构在关系数据模型中,实体及实体间的联系都用表来表示。在数据库的组织中,表以文件形式存储,有的系统一个表对应一个操作系统文件,有的系统自己设计文件结构。1.3 数据库系统的组成

37、数据库系统一般由数据库、数据库管理系统(及其开发工具) 、应用系统、数据库管理员和用户构成。1、 硬件平台及数据库由于数据库系统数据量都很大,加之 DBMS 丰富的功能使得自身的规模也很大,因此整个数据库系统对硬件资源提出了较高的要求,这些要求是:第一章 数据库基础12 要有足够的内存,存放操作系统、DBMS 的核心模块、数据缓冲区和应用程序。 有足够大的磁盘等直接存取设备存放数据库,有足够的移动存储作数据备份。 要求系统有较高的通道能力,以提高数据传送率。2、 软件数据库系统的软件主要包括: DBMS。DBMS 是为数据库的建立、使用和维护配置的软件。 支持 DBMS 运行的操作系统。 具有

38、与数据库接口的高级语言及其编译系统,便于开发应用程序。 以 DBMS 为核心的应用开发工具 。 为特定应用环境开发的数据库应用系统。3、 人员开发、管理和使用数据库系统的人员主要是:数据库管理员、系统分析员和数据库设计人员、应用程序员和用户。他们各自的职责分别是: 数据库管理员(DataBase Administrator,简称 DBA)决定数据库中的信息内容和结构数据库中要存放哪些信息,DBA 要参与决策。DBA 必须参加数据库设计的全过程,并与用户、应用程序员、系统分析员密切合作共同协商,完成数据库设计。决定数据库的存储结构和存取策略DBA 要综合各用户的应用要求,和数据库设计人员共同决定

39、数据的存储结构和存取策略以求获得较高的存取效率和存储空间利用率。定义数据的安全性要求和完整性约束条件监控数据库的使用和运行监控数据库系统的运行情况是 DBA 的一个重要职责。数据库的改进和重组重构DBA 还负责在系统运行期间监视系统的空间利用率、处理效率等性能指标,对运行情况进行记录、统计分析,依靠工作实践并根据实际应用环境,不断改进数据库设计。不少数据库产品都提供了对数据库运行状况进行监视和分析的使用程序,DBA 可以使用这些实用程序完成这项工作。另外,在数据运行过程中,大量数据不断插入、删除、修改,时间一长,会影响系统的性能。因此,DBA 要定期对数据库进行重组织,以提高系统的性能。当用户

40、的需求增加和改变时,DBA 还要对数据库进行较大的改造,包括修改部分设计,即数据库的重构造。 统分析员和数据库设计人员系统分析员负责应用系统的需求分析和说明,要和用户及 DBA 相结合,确定系统的硬件软件配置,并参与数据库系统的概要设计。数据库设计人员负责数据库中数据的确定、数据库各级模式的设计。数据库设计人员必须参加用户需求调查和系统分析,然后进行数据库设计。 应用程序员应用程序员负责设计和编写应用系统的程序模块,并进行调试和安装。第一章 数据库基础13 用户这里用户是指最终用户。最终用户通过应用系统的用户接口使用数据库。常用的接口方式有浏览器、菜单驱动、表格操作、图形显示、报表书写等,给用

41、户提供简明直观的数据表示。1.4 关系数据库自 20 世纪 80 年代以来,新推出的数据库管理系统几乎都支持关系模型,Visual FoxPro 就是一种关系数据库管理系统。本节将结合 Visual FoxPro 来集中介绍关系数据库系统的基本概念。1.4.1 关系模型关系模型的用户界面非常简单,一个关系的逻辑结构就是一张二维表。这种用二维表的形式表示实体和实体间联系的数据模型称为关系数据模型。1、关系术语在 Visual FoxPro 中,一个“表”就是一个关系。 关系:一个关系就是一张二维表,每个关系有一个关系名。在 Visual FoxPro 中,一个关系存储为一个文件,文件扩展名 .d

42、bf,称为“表” 。对关系的描述称为关系模式,一个关系模式对应一个关系的结构。其格式为:关系名:(属性名 1,属性名 2,属性名 n)在 Visual FoxPro 中表示为表结构:表名(字段名 1,字段名,字段名 n) 元组:在一个二维表(一个具体关系)中,水平方向的行称为元组,每一行是一个元组。元组对应存储文件中的一个具体记录。 属性:二维表中垂直方向的列称为属性,每一列有一个属性名,与前面讲的实体属性相同,在 Visual FoxPro 中表示为字段名。每个字段的数据类型、宽度等在创建表的结构时规定。 域:属性的取值范围,即不同元组对同一个属性的取值所限定的范围。 关键字:属性或属性的组

43、合,其值能够惟一地标识一个元组。在 Visual FoxPro中表示为字段或字段的组合;主关键字和候选关键字就起惟一标识一个元组的作用。 外部关键字:如果表中的一个字段不是本表的主关键字或候选关键字,而是另外一个表的主关键字或候选关键字,这个字段(属性)就称为外部关键字。从集合论的观点来定义关系,可以将关系定义为元组的集合。关系模式是命名的属性集合。元组是属性值的集合。一个具体的关系模型是若干个有联系的关系模式的集合。在 Visual FoxPro 中,把相互之间存在联系的表放到一个数据库中统一管理。数据库文件的类型为.dbc。例如,在教学管理数据库中可以加入学籍表、成绩表。在图书管理数据库中

44、可以加入读者表、图书表、借阅表。2、关系的特点第一章 数据库基础14关系模型看起来简单,但是并不能把日常手工管理所用的各种表格,按照一张表一个关系直接存放到数据库系统中。在关系模型中对关系有一定的要求,关系必须具有以下特点: 关系必须规范化。所谓规范化是指关系模型中的每一个关系模式都必须满足一定的要求。最基本的要求是每个属性必须是不可分割的数据单元,即表中不能再包含表。手工制表中经常出现复合表。这种表格不是二维表,不能直接作为关系来存放,如果有必要,在数据输出时可以对打印格式另行设计,从而满足用户的要求。 在同一个关系中不能出现相同的属性名,Visual FoxPro 不允许同一个表中有相同的

45、字段名。 关系中不允许有完全相同的元组,即冗余。 在一个关系中元组的次序无关紧要。也就是说,任意交换两行的位置并不影响数据的实际含义,日常生活中经常见到的“排名不分先后”正反映这种意义 在一个关系中列的次序无关紧要。任意交换两列的位置也不影响数据的实际含义。例如,工资单里奖金和基本工资哪一项在前面都不重要,重要的是实际数额。3、实际关系模型一个具体的关系模型由若干个关系模式组成。在 Visual FoxPro 中,一个数据库中包含相互之间存在联系的多个表。一个数据库文件就代表一个实际的关系模型。为了反映出各个表所表示的实体之间的联系,公共字段名往往起着“桥梁”的作用。这仅仅是从形式上看,实际分

46、析是应当从语义上来确定联系。【例 1.1】部门职工工资关系模式和公共字段名的作用。设职工管理数据库中有以下三个表:部门(部门编码,部门名称,负责人,地址,电话,邮政编码)职工(职工号,姓名,性别,出生日期,婚否,职称,基本工资,部门编码) 工资(出生年月,职工号,姓名,基本工资,奖金,津贴,房租,水电费,实发工资)在关系数据库中,基本的数据结构是二维表,表之间的联系常通过不同表中的公共字段来体现。例如,要查询某职工所在部门的负责人,首先可以在职工表中根据姓名或职工号找到部门编码,再到部门关系中,按照部门编码查找到该部门的负责人。要想了解某个职称的所有职工在某月份的津贴。可以先在职工表中根据职称

47、查找具有该职称的所有职工号,然后再到相应月份的工资关系中根据职工号查找他们的津贴。在上述查询过程中,同名字段“职工号” 、 “部门编码”起到了表之间的连接桥梁作用,这正是外部关键字的作用。【例 1.2】图书读者借阅关系模型。设有图书管理数据库,其中有图书、读者、借阅三个表,借阅表示出读者和图书这两个实体之间的联系,即把多对多的关系分解成两个一对多关系,在 Visual FoxPro 中称作“纽带组” 。由图书、读者、借阅三个关系模式组成的图书读者借阅关系模型由以上事例可见,关系模型中的各个关系模式不是孤立的,它们不是随意堆砌在一起的一堆二维表,要使得关系模型正确地反应事物及事物之间的联系,需要

48、进行关系数据库第一章 数据库基础15的设计。在 Visual FoxPro 中,一个数据库(.dbc 文件)就是一个实际关系模型,它是一个或多个表(.dbf 文件) 或视图信息的容器。1.4.2 关系运算对关系数据库进行查询时,需要找到用户感兴趣的数据,这就需要对关系进行一定的关系运算。关系的基本运算有两种:一类是传统的集合运算(并、差、交等) ,另一类是专门的关系运算(选择、投影、连接) ,有些查询需要几个基本运算的组合。1、 传统的集合运算进行并、差、交集合运算的两个关系必须具有相同的关系模式,即相同结构。并两个相同结构关系的并是由属于这两个关系的元组组成的集合。【例 1.3】有两个结构相

49、同的学生关系 R1、R2,分别存放两个班的学生,把第二个班的学生记录追加到第一个班的学生记录后面就是这两个关系的并集。差设有两个相同结构的关系 R 和 S,R 差 S 的结果是由属于 R 但不属于 S 的元组组成的集合,即差运算的结果是从 R 中去掉 S 中也有的元组。【例 1.4】设有参加计算机小组的学生关系 R,参加桥牌小组的学生关系 S。求参加了计算机小组,但没有参加桥牌小组的学生,就应当进行差运算。 交两个具有相同结构的关系 R 和 S,它们的交是由既属于 R 又属于 S 的元组组成的集合。交运算的结果是 R 和 S 的共同元组。【例 1.5】有参加计算机小组的学生关系 R,参加桥牌小组的学生关系 S。求既参加计算机小组又参加桥牌小组的学生,就应当进行交运算。 在 Visual FoxPro 中没有直接提供传统的集合运算,可以通过其他操作或编写程序来实现。2、专门的关系运算在 Visual FoxPro 中,查询是高度非过程化的,用户只须

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报