《Visual FoxPro程序设计基础》 教学参考课件 课件提供: 四川省高校计算机基础教材编委会 四川省高校计算机考试中心 2009.1
Visual Foxpro程序设计 第1章 数据库基础知识 第1章 数据库基础知识 计算机 科学学院 教师: 2009年2月10 日
提 要 1.1数据库、数据库管理系统与数据库系统 1.2 数据模型 1.3 关系数据库
1.1 数据库、数据库管理系统与数据库系统 1.1.1数据管理技术的发展 人工管理阶段 文件系统阶段 数据库系统阶段 数据库技术的研究领域 数据库管理系统软件的研制 数据库设计 数据库理论
数据库系统的主要特点 数据库系统的分类(按数据存放地点) 实现了数据的结构化 实现了数据的共享 实现了数据的独立 实现了数据的统一控制 集中式数据库系统 分布式数据库系统
1.1.2数据库 数据库(Data Base,简称DB),定义为结构化的相关数据的集合,是按一定的组织形式存储在一起的相互关联的数据集合,也就是说应用程序所需处理的各种数据就集中存放在数据库中。 实际上,数据库就是一个存放大量业务数据的场所,其中的数据具有特定的组织结构。所谓“组织结构”,是指数据库中的数据不是分散的、孤立的,而是按照某种数据模型组织起来的,不仅数据记录内的数据之间是彼此相关的,数据记录之间在结构上也是有机地联系在一起的,正是这种组织结构才有效地实现了数据共享和集中管理。 数据库具有数据的结构化、独立性、共享性、冗余量小、安全性、完整性和并发控制等基本特点。
1.1.3 数据库管理系统 数据库管理系统(Data Base Management System,简称DBMS)是一种负责数据库的定义、建立、操纵、管理、维护的软件系统,是数据库系统的核心部分。 数据库管理系统是在操作系统的支持下进行工作的,它实现了对数据库资源进行统一管理和控制,使数据结构和数据存储具有一定的规范性,提高数据库应用的简明性和方便性。DBMS为用户管理数据提供了一整套命令。 利用这些命令可以实现对数据库的各种操作,如数据结构的定义,数据的输入、输出、编辑、删除、更新、统计、浏览等。 通常由四个部分组成:(1)提供了数据定义语言DDL(Data Definition Language)及其编译和解释程序2) 数据操纵语言DML(Data Manipulation Language)或查询语言(3) 数据库运行管理和控制例行程序,是数据库管理系统的核心部分(4)数据字典DD(Data Dictionary)
1.1.4 数据库系统 数据库系统(Data Base System,简称DBS)是指计算机系统引入数据库后的系统构成,是一个具有管理数据库功能的计算机软硬件综合系统。 具体地说,它主要包括计算机硬件、操作系统、数据库(DB)、数据库管理系统(DBMS)和建立在该数据库之上的相关软件、数据库管理员和用户等组成部分。 数据库系统具有数据的结构化、共享性、独立性、可控冗余度以及数据的安全性、完整性和并发控制等特点
1.2 数据模型 模型是现实世界特征的模拟和抽象。根据模型应用的不同目的,可以将模型划分为两大类: 第一类是概念模型,也称信息模型,是指从数据语义视角来抽取模型并按用户的观点来对数据和信息进行建模,这类模型主要用在数据库的设计阶段; 另一类模型是数据模型,是指从数据的组织层次来描述数据,是从计算机系统的观点对数据进行建模。
1.2.1 实体模型 实体模型是指按用户观点对现实世界中的事务建立的一种模型。在数据模型中,数据抽象与实体建模,即数据建模的建立过程如图1-1 信 息 抽 象象 数 据 抽 象 现实世界 信息世界的 实体模型 数据模型
基本概念 1、实体:客观存在并且可以相互区别的事物称为实体。 2、属性:实体通过一组属性来表示,属性是实体集中每个成员具有的描述性性质。 3、码:唯一标识实体的一个属性或属性集。 4、域:属性的取值范围。 5、实体型:用实体名及其属性名集合来抽象和刻画同类实体称为实体型。 6、实体集:同类型的实体的结合称为实体集。
1.2.2实体间的联系及其联系种类 两实体间的联系可分为:一对一联系、一对多联系和多对多联系三类。 1.一对一联系:如果对于实体集A中的每一个实体,实体集B中至多有一个实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系 。 2.一对多的联系:如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体B有一对多联系 。 3.多对多的联系:如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m≥0)与之联系,则称实体集A与实体B具有多对多联系
1.2.3数据模型 数据模型的重要任务之一就是指出实体间的联系。按照实体间的不同联系方式,数据库分为三种数据模型,即层次模型、网状模型和关系模型。 1、层次模型 用树形结构表示实体及其之间联系的模型称为层次模型。层次模型是数据库系统最早使用的一种模型。层次模型像一棵倒挂的树,根结点在上,是最高层,子结点在下,逐层排列。
层次模型的主要特征是: 学 院 计算机系 艺术系 数学系 外语系 基础教研室 共外教研室 专业教研室 (1)层次模型仅有一个无双亲的根节点; (2)除根节点外的其他子结点,向上仅有一个父节点,向下拥有若 干子结点。 层次数据模型只能直接表示一对一或一对多的联系,不能表示多对多的联系。支持层次模型的数据库管理系统称为层次数据库管理系统 学 院 计算机系 艺术系 数学系 外语系 基础教研室 数据库教研室 共外教研室 专业教研室
2、网状模型 计算机系 教研室 课程 学生 教员 任课 选课 网状模型是一种比较复杂的数据模型,它是以网状结构表示实体与实体之间的联系。网状模型可以表示多个从属关系的联系,也可以表示数据间的交叉关系,即数据间的横向关系与纵向关系,它是层次模型的扩展 。 网状模型的主要特征是:(1)有一个以上节点无双亲,即有多个根节点;(2)至少有一个节点有多个双亲。 计算机系 教研室 课程 学生 教员 任课 选课
3、关系模型 学号 姓名 性别 出生日期 入校成绩 是否团员 071001 文川 男 1988-6-20 590 TRUE 071002 用二维表的形式表示实体和实体之间联系的数据模型称为关系数据模型。关系模型不像层次模型和网状模型那样使用大量的链接指针把有关数据集合到一起,而是用一张二维表来描述一个关系。关系模型是将数据组织看成一张二维关系表。用关系模型设计的数据库就是关系型数据库。关系数据库中的每一个关系都是一个二维表。在二维表中,每一行称为一个记录,用于表示一组数据项,表中的每一列称为一个字段或属性,用于表示每列中的数据项。表中的第一行称为字段名,用于表示每个字段的名称。表1-1所示是一个学生表 学号 姓名 性别 出生日期 入校成绩 是否团员 071001 文川 男 1988-6-20 590 TRUE 071002 王晓萌 女 1986-3-12 595 071003 陈志国 1987-9-10 600 FALSE …
1.3 关系数据库 关系数据库是由若干依照关系模型设计的二维数据表文件的集合。在Visual FoxPro中,一个关系数据库是由若干个数据表组成,每个数据表又是由若干个记录组成,每个记录由若干个数据项组成。一个关系的逻辑结构就是一张二维表。这种用二维表的形式表示实体和实体之间联系的数据模型称为关系数据模型 。
1.3.1关系术语 关系:一个关系就是一张二维表。每个关系有一个关系名。在Visual FoxPro中,一个关系就称为一个数据表 。 主码(关键字):表中的某个属性或属性组合,其值可以唯一确定一个元组。 在Visual FoxPro中,唯一性取值的字段称为关键字段。 外部关键字:如果表中的一个字段不是本表的主关键字或候选关键字,而是另外一个表的主关键字或候选关键字,这个字段(属性)就称为外部关键字。 关系模式:对关系的描述。一个关系模式对应一个关系的结构。其格式为:关系名(属性名1,属性名2,属性名3,…,属性名n)
1.3.2关系运算 传统的集合运算: 并:两个相同结构的关系R和S的“并”记为R∪S,其结果是由R和S的所有元组组成的集合 。 差:两个相同结构的关系R和S的“差”记为R-S,其结果是由属于R但不属于S的元组组成的集合。差运算的结果是从R中去掉S中也有的元组。 交:两个相同结构的关系R和S的“交”记为R∩S,它们的交是由既属于R又属于S的元组组成的集合。交运算的结果是R和S的共同元组 。 广义笛卡尔积:关系R为n目,关系S为m目,则关系R和S的广义笛卡尔积为(n+m)元组的集合,元组的前n个分量是关系R的一个元组,后m个分量是关系S的一个元组,其广义笛卡尔积记为R×S。
专门的关系运算 1、选择:选择运算是从关系中找出满足条件的记录。选择运算是一种横向操作 。 2、投影:投影运算是从关系中选取若干属性(字段)组成新的关系。投影运算是一种列向的操作。 3、连接:连接运算是将两个关系通过共同的属性名(字段名)连接成一个新的关系。连接运算可以实现两个关系的横向合并 。
1.3.3数据的一致性和完整性 数据的完整性是指关系中的数据及具有关联关系的数据间必须遵循的制约和依存关系,以保证数据的正确性、有效性和相容性。 关系的完整性主要包括: 实体完整性 域完整性 参照完整性
1.3.4关系模型的规范化 所谓规范化是指关系数据库中的每一个关系都必须满足一定的规范要求。 根据满足规范的条件不同,可以划分为六个等级: 第一范式(1NF),第二范式(2NF),第三范式 (3NF),修正的第三范式(BCNF),第四范式 (4NF)和第五范式(5NF)。 通常在解决一般性问题时,只要把数据表规范到第三个范式标准就可以满足需要。
要求标的结构中不能含有任何重复的数据字段 。 是指表满足第一范式,且表中的每一列均函数性地依赖于主关键字。 是指表中记录满足第二范式且不存在传递函数依赖。 第一范式 第二范式 第三范式 本章结束
欢迎提问!