《VF数据库第1-3章 数据库系统概述》由会员分享,可在线阅读,更多相关《VF数据库第1-3章 数据库系统概述(34页珍藏版)》请在金锄头文库上搜索。
1、第1章 数据库系统概述,教学目的: 1.掌握数据库、数据库系统、数据库管理系统的概念 2.掌握数据模型的概念、数据模型的分类 3.了解数据库管理技术的发展过程 教学重点: 数据模型的特点,数据库系统的组成、关系数据库的特点及相关运算。 教学难点: 关系数据库的运算。,引言,Visual FoxPro是微机上流行的数据库管理系统,是一种支持面向对象程序设计的可视化高级程序设计语言,所以通过学习Visual FoxPro 6.0程序设计可以作为学生掌握数据库管理和面向对象的程序设计方法的必修课。 本课程的任务是使学生通过学习,掌握数据库管理和程序设计的基本知识,学会管理和运用数据库,掌握使用 Vi
2、sual FoxPro开发Windows应用程序的思想和方法,能够设计简单的数据库应用系统。,数据库技术涉及到许多基本概念,主要包括:信息、数据、数据处理、数据库、数据库管理系统以及数据库系统等。 信息、数据 现实世界存在的客观事物在人们大脑中的反映形成原始数据,原始数据经过认识、理解、整理和去伪存真才转换成信息。 信息是经过加工处理的有用数据。,1.1 信息、数据与数据处理,1.1.1 信息与数据,数据是信息的载体,是信息具体的、格式化的表现形式,是反映客观实体属性的可识别的物理符号序列。 这些符号就是数据形式。数据形式可以是多种多样的,例如某人的出生日期是“1964年2月17日”,当然也可
3、以将该形式改写为“02/17/64”,但其含义并没有改变。 数据的概念在数据处理领域已经大大地拓宽了。数据不仅仅指数字、字母、文字和其他特殊字符组成的文本形式的数据,而且还包括图形、图像、动画、影像、声音(包括语音、音乐)等多媒体数据。,2.数据处理 数据处理是指利用计算机对各种形式的数据进行采集、加工、存储、计算、分类、检索和传输等一系列活动的总和。 数据处理的目的之一是从大量的、原始的数据中抽取、推导出对人们有价值的信息以作为行动和决策的依据;目的之二是为了借助计算机科学地保存和管理复杂的、大量的数据,以便人们能够方便而充分地利用这些宝贵的信息资源。,3.数据库 数据库可以直观地理解为存放
4、数据的仓库。只不过这个仓库是在计算机的大容量存储器上。数据库本身不是数据,是一个数据容器。,计算机对数据的管理是指对数据的组织、分类、编码、存储、检索和维护提供操作手段。 与其他技术的发展一样,计算机数据管理也经历了由低级到高级的发展过程。计算机数据管理随着计算机硬件、软件技术和计算机应用范围的发展而不断发展,多年来大致经历了如下三个阶段: l 人工管理阶段 l 文件系统管理阶段 l 数据库系统管理阶段,1.1.2 数据管理技术的发展过程,1.人工管理阶段 20世纪50年代以前,计算机主要用于数值计算。从当时的硬件看,外存只有纸带、卡片、磁带,没有直接存取设备;从软件看(实际上,当时还未形成软
5、件的整体概念),没有操作系统及管理数据的软件;从数据看,数据量小,数据无结构,由用户直接管理,且数据间缺乏逻辑组织,数据依赖于特定的应用程序,一组数据对应于一个程序,数据的独立性差。,这个时期数据管理的特点如下: 1、没有文件的概念,数据不保存 2、应用程序与数据之间缺少独立性。 3、数据不能共享,数据冗余性大,2.文件系统阶段 20世纪50年代后期到20世纪60年代中期,出现了磁鼓、磁盘等直接存取数据的存储设备(硬件),以及专门用于数据管理的软件即文件系统(软件)。 计算机不仅用于科学计算,也开始大量用于信息管理。,图1-2 文件管理系统阶段,应用程序1,应用程序2,应用程序n,文件1,文件
6、2,文件n,文件 系统,这个时期数据管理的特点如下: 1、数据以文件的形式长期保存 2、应用程序与数据之间有了一定的独立性 3、数据有一定的共享性 4、数据文件不再只从属于一个应用程序。 5、仍有一定的数据冗余。 6、数据的不一致性。,3.数据库系统阶段 20世纪60年代后期,计算机性能得到提高,更重要的是出现了大容量磁盘,存储容量大大增加且价格下降。 数据库的特点是具有整体的结构性,共享性高,因此冗余度小,具有一定的程序与数据间的独立性,并且实现了对数据进行统一的控制。,图1-3 数据的数据库系统,例:人才档案管理系统,人才管理,成果管理,招聘管理,求职管理,人才档案管理系统数据库,这个时期
7、数据管理的特点如下: 1、数据的整体结构化 2、具有很高的数据独立性 3、数据的共享性高 4、最小的数据冗余度 5、完备的数据控制功能,人们经常以模型来刻画现实世界中的实际事物。地图,航模都是具体的实物模型,它们会使人们联想到真实生活中的事物,人们也可以用抽象的模型来描述事物及事物运动的规律。这里讨论的数据模型就是这一类模型。数据模型是数据库管理系统用来表示实体以及实体之间联系的方法。 数据库中最常见的数据模型有三种,它们是:,1.2 数据模型,非关系型模型,关系型模型,若用图来表示,层次模型是一棵倒立的树。在数据库中,满足以下两个条件的数据模型称为层次模型: (1)有且仅有一个结点无父结点,
8、这个结点称为根结点; (2)其他结点有且仅有一个父结点。,1.2.1 层次模型,图1-5 层次模型,若用图来表示,网状模型是一个网络。在数据库中,满足以下两个条件的数据模型称为网状模型。 (1)允许一个以上的结点无父结点; (2)一个结点可以有多于一个的父结点。,1.2.2 网状模型,图1-6 网状模型,1.2.3 关系模型,在关系模型中,数据的逻辑结构是一张二维表。在数据库中,满足下列条件的二维表称为关系模型: (1)关系中每一数据项(字段)不可再分,是最基本的单位。 (2)每一列数据项是同属性的,各列的顺序是任意的;关系中不允许有相同的列名。 (3)每一行记录由一个事物的诸多属性项构成一个
9、实体,不允许有相同的记录;记录的顺序可以是任意的。 表1-1给出的人才档案表.dbf表便是一个关系模型。,表1-1 Student表,1.2.4面向对象型,面向对象型最基本的概念是对象和类。,什么叫数据库,数据库管理系统、数据库系统? 数据库,是存储在外存中有结构的相关数据的集合,是一种有结构的数据文件,是数据库管理系统管理的对象。数据库系统,是一个引入数据库以后的计算机系统,他由计算机硬件及相关软件、数据库、数据库管理系统及用户组成。数据库管理系统,是在操作系统支持下管理数据的软件,实现数据库的建立、使用和维护,是数据库系统的核心。,1.3 数据库系统,1.3.1 数据库的相关概念,1、实体
10、 在信息世界中任何可以相互区别的客观事物与事物之间的关系,一律称为实体。 如:一个人、一本书、一次活动 2、属性 表示实体所具有的各种特征。 一个实体由它的若干个属性来表示的。 如:学号、姓名、性别、入学成绩等都是表示学生这个实体所具有的属性。,1.3.2 实体-联系模型(E-R模型),3、实体型 用实体名和属性名称集来描述同类实体 如:人才档案(人才编号,姓名,性别,出生日期,政治面貌,民族,学历,工资现状,工作简历,照片) 4、字段 也称为数据项,它是描述实体的最基本的元素 二维列表中的列就是字段,列名就是字段名,对应该列的那些具体数据就是字段值。,5、元组或记录: 在关系模型的二维表中,
11、一行称为一个元组,也可称为一个记录。 从表格的第二行开始,每一行称为一个记录。 6、关键字 在实体属性中,关键字可以用于区分(惟一标识)实体集中不同实体的那个属性或几个属性的组合,称为实体的关键字。 如:学号(或学号与课程代码的组合),7、主关键字 当有多个关键字而选择其中一个时,则称它为该实体的主关键字。 8、外部关键字 若在实体诸属性中,某属性虽非该实体主关键字,却是另一个实体的主关键字,则称它为外部关键字。 9、域 实体中的每个属性,都有一取值范围,这个取值范围称为属性的域。,在数据模型表示客观世界的过程中,一般用多个实体集来描述。在多个实体集(数据表)间存在着相互的联系,这种联系有三种
12、:一对一关系、一对多关系、多对多关系。 1、一对一关系 两个实体集间存在一一对应的关系,即对于A实体集中的每个实体在B实体集中最多只能找到一个可以和它相联系的实体,反过来同样。 记为1:1 。例如一个学生和自己的学号 见书p9 图1-7,1.3.3 实体之间的关系,2、一对多关系 两个实体集间存在一对多的联系,即对于A实体集的每个实体在B实体集中可以找到对应的多个实体;反过来说,对于B实体集中的每个实体,却只能在A实体集中找到一个能够相联系的实体。 记为1:N。例如,一个学生可以有多门成绩对应。 见书p10 图1-8 3、多对多关系 两个实体集间存在多对多的联系,即A实体集中的单个实体与B实体
13、集中的多个实体相对应;反过来同样。 记为M:N。例如,一个学生可选多门课程,一门课可被多个学生选修。 如:学生与课程的联系,关系运算是在关系上对记录或字段进行运算的操作。 关系运算有两种: 1、传统的集合运算(并、差、交、等); 2、专门的关系运算(选择、投影、连接) 关系运算的操作对象是关系,运算的结果仍为关系。,1.3.4 关系运算,1、集合运算 并:由属于R或S或同时属于R和S的元组组成的集合。 记为RS 交:由同时属于R和S的元组组成的集合。 记为RS 差:由属于R而不属于S的所有元组组成的集合。 记为R-S,例如:假定有两个同类关系R和S如下: R关系 S关系 关系并运算(RUS)的
14、结果是_ 关系差运算(RS)的结果是_ 关系交运算(RS)的结果是_。,(1)选择 选择运算是在二维表中选择满足某些条件的元组,产生一个 新的关系。也就是说,选择运算是在二维表中选择满足指定条件 的行。 例如,在Student(学生基本情况)表中,若要找出所有女学 生的元组,就可以使用选择运算来实现,条件是:性别=“女”。,1.3.2 关系运算,(2)投影 投影运算是在关系中选择某些属性列。 例如:在Student(学生基本情况)表中,若要仅显示所有 学生的学号、姓名和性别,那么可以使用投影运算来实现。,(3)连接 连接运算是从两个二维表按某个条件提取部分或全部的元组或属性构成一组新的二维表,也就是在两个数据表文件中按指定条件选择元组和属性组成一个新的数据表文件。 连接运算:等值连接和自然连接。 自然连接要求两个关系中进行比较的分量必须是相同的属性,并且在结果中把重复的属性列去掉。,表1-2 关系R,表1-3 关系S,表1-4 关系T,