VisualFoxPro教程江苏省普通高校计算机等级考试系列教材2020/1/21第1章数据库系统基础知识2前言课程类型:公共基础必修课课时安排:32(理论)+32(实验)考试类型:考试2020/1/21第1章数据库系统基础知识3前言学习方法:勤动脑,多动手注重实践环节成绩考核:平时(40%)+期末(60%)2020/1/21第1章数据库系统基础知识4前言参考书目1.《VisualFoxPro数据库教程》,单启成主编,南京大学出版社2.《VisualFoxPro二级考前强化指导》(第二版),施珺主编,中国铁道出版社,20093.《新编VisualFoxPro学习指导》,苏州大学出版社2020/1/21第1章数据库系统基础知识5前言4.《二级考试试卷汇编VisualFoxPro语言分册》,江苏省高等学校计算机等级考试中心编,苏州大学出版社5.《二级VisualFoxPro高频考题解析与实践》,金版电子出版社6.《VisualFoxPro6开发使用手册》,(美)MenachemBazian著,王建华等译北京,机械工业出版社2020/1/21第1章数据库系统基础知识6参考资源1.VFP帮助系统2.前言2020/1/21第1章数据库系统基础知识7关于江苏省等级考试前言2020/1/21第1章数据库系统基础知识8学习VFP的重要性前言获得二级证书获得学位用于工作中应付考试第一章数据库系统基础知识2020/1/21第1章数据库系统基础知识101.1.1信息、数据与数据处理信息是现实世界中事物的存在方式或运动状态的反映,是认识主体(人)所感知或所表述的事物存在、运动及其变化的形式、内容和效用。信息具有可感知、可存储、可加工、可传输和可再生等自然属性。数据是描述现实世界中事物的符号记录,是指用物理符号记录下来的可以鉴别的信息,数据是数字、文字、图形、图像、声音及其他特殊符号。1.1数据处理与数据管理技术2020/1/21第1章数据库系统基础知识111.1数据处理与数据管理技术数据有多种形式,包括数字、文字、图形、图像、声音和视频等,其处理包括数据的收集、整理、组织、存储、维护、检索、统计、传输等一系列工作。数据处理的5个基本环节:原始数据的收集数据的规范化及其编码数据输入数据处理数据输出2020/1/21第1章数据库系统基础知识121.1.2数据管理技术的发展1.人工管理阶段典型的做法是程序与数据“一体化”,即程序与数据在同一个程序文件中。2.文件系统阶段与人工管理阶段相比,文件系统阶段对数据的管理有了很大的进步,但一些根本性问题仍没有彻底解决,主要表现在以下三方面:(1)数据冗余度大(2)数据独立性低(3)数据一致性差2020/1/21第1章数据库系统基础知识131.1.2数据管理技术的发展3.数据库系统阶段数据库系统的主要特点:1.采用数据模型表示复杂的数据结构,数据冗余度低,数据共享性高。2.数据独立性高3.提供了数据安全性、完整性等管理与控制功能,以对数据操作的并发控制、数据的备份与恢复等功能。4.统一管理和控制数据,为用户提供了方便的用户接口。2020/1/21第1章数据库系统基础知识141.2数据库系统的组成数据库系统(DatabaseSystem,简称DBS)是指具有管理和控制数据库功能的计算机应用系统。一般由数据库、数据库管理系统、计算机支持系统、应用程序和有关人员组成。各种应用程序数据库管理系统(DBMS)数据库管理员(DBA)操作系统数据库(DB)图1-1数据库系统2020/1/21第1章数据库系统基础知识151.2数据库系统的组成数据库(DB)是指按一组一定数据模型组织的、长期存放在辅助存储器上的、可共享的相关数据的集合。数据库的两个内容:按一定的数据模型组织并实际存储的所有应用需要的数据,这类数据是用户直接使用的。有关数据库定义的数据,用于描述数据的结构、类型、格式、关系、完整性约束、使用权限等。这些描述性的数据通常称为“元数据”(Metadata),元数据的集合称为数据字典(DataDictionary,简称DD)2020/1/21第1章数据库系统基础知识16数据库管理系统(DBMS)是用于建立、使用和维护数据库的系统软件。DBMS是位于用户(应用程序)和操作系统之间的数据库管理软件,它具有以下基本功能:数据定义功能(DDL)数据操纵功能(DML)数据的组织和存取管理数据库运行管理功能数据库的维护1.2数据库系统的组成2020/1/21第1章数据库系统基础知识17通常DBMS把数据库从逻辑上分为三级,即外部层(单个用户的视图)、概念层(全体用户的公共视图)和内部层(存储视图),它们分别反映了看待数据库的三个角度。三级模式结构如下图所示。1.3数据库系统的模式结构外部层(单个用户的视图)概念层(全体用户的公共视图)内部层(存储视图)图1-2数据库系统三级结构示意图2020/1/21第1章数据库系统基础知识18数据库系统三级结构间存在着两级映射:概念层与内部层之间的映射定义了概念视图与物理存储之间的对应。外部层与概念层映射定义了单个用户的外部视图与全局的概念视图之间的对应。1.3数据库系统的模式结构2020/1/21第1章数据库系统基础知识19数据模型是模型的一种,是现实世界数据特征的抽象。数据模型一般要描述三个方面的内容:(1)数据的静态特性,包括对数据结构和数据间联系的描述;(2)数据的动态特性,是定义在数据上的操作,包括操作的含义、操作符、运算符、运算规则和语言等;(3)数据的完整性约束,是一组数据库中的数据必须满足的规则。数据模型主要有层次模型、网状模型、关系模型和面象数据模型。1.4数据模型2020/1/21第1章数据库系统基础知识201.4数据模型层次数据库网状数据库关系数据库面向对象数据库2020/1/21第1章数据库系统基础知识211.4数据模型1.三个“世界”现实世界信息世界数据世界事物及联系概念模型数据模型事物数据实体对象性质对象属性记录字段(抽象)(数据表示)图1-3三个“世界”之间的关系2020/1/21第1章数据库系统基础知识221.4数据模型现实世界—独立于人们意识之外的客观事物及其相互联系。信息世界—将现实世界中的客观事物抽象为信息世界中的实体。数据世界—将信息世界中的实体转换为DBMS支持的数据世界中数据。2020/1/21第1章数据库系统基础知识232.E-R模型长期以来广泛使用的概念模型是“实体-联系”模型(Entity-RelationshipModel,简称E-R模型)(1)E-R模型的三个基本概念实体(Entity)—是客观存在的、可以相互区别的事物。属性(Attribute)—是指实体或联系所具有的特征。联系(Relationship)—是实体集之间关系的抽象表示。实体集之间的联系可以分为三种类型:一对一联系、一对多联系、多对多联系。1.4数据模型2020/1/21第1章数据库系统基础知识24实体联系属性(2)E-R图E-R图是E-R模型的图形表示法,它是直接表示概念模型的工具。在E-R图中,用矩形表示实体集,菱形表示联系,椭圆表示属性。1.4数据模型2020/1/21第1章数据库系统基础知识251.4数据模型3.关系模型关系模型用二维表表示实体集,通过外部关键字表示实体间联系。关系模型通过一系列的关系模式来表述数据的结构和属性,它一般有数据结构、数据操作和完整性规则三个部分组成。2020/1/21第1章数据库系统基础知识26数据结构:数据库中所有数据及其相互联系都被组织成关系(即二维表)的形式。数据操作:提供一组完备的关系运算(包括关系代数、关系演算),以支持对数据库的各种操作。完整性规则:包括域完整性规则、实体完整性规则、参照完整性规则和用户定义的完整性规则。1.4数据模型2020/1/21第1章数据库系统基础知识271.4数据模型(1)关系模型与数据结构关系模型中,是以二维表来表示实体及实体间的联系。一个关系就是一个一张二维表(称“表”),关系的首行称为“属性”(称为“字段”),其他各行称为“元组”(称为“记录”),每个元组表示一个实体。2020/1/21第1章数据库系统基础知识281.4数据模型学号姓名性别09712101郭芸女09712102林浩男09712103刘甜甜徐玉女09712104女字段记录表1-1学生表关系的数据结构用以关系模式进行描述,一般表示为:关系名(属性1,属性2,……属性n)如:学生(学号,姓名,性别,出生日期,籍贯,…)2020/1/21第1章数据库系统基础知识291.4数据模型(2)关键字超关键字候选关键字主关键字外部关键字超关键字候选关键字主关键字2020/1/21第1章数据库系统基础知识30例:学生表(XS.DBF)成绩(CJ.DBF)2020/1/21第1章数据库系统基础知识311.4数据模型在关系数据库中,通常可以定义一些操作来通过已知的关系(二维表)创建新的关系(二维表)。最常用的关系操作有:(3)关系运算专门的关系操作传统集合的运算并差交笛卡尔积除选择投影联接2020/1/21第1章数据库系统基础知识324、关系的规范化关系是一种规范化了的二维表,具有如下性质:属性值是原子的,不可分解的。二维表的记录随数据的增删而改变,但它的字段数相对固定。因此字段的个数、名称、类型、长度等要素决定了二维表的结构。二维表中的每一列均有唯一的字段名。二维表中不允许出现完全相同的两行二维表中行的顺序、列的顺序均可任意交换。1.4数据模型2020/1/21第1章数据库系统基础知识331.4数据模型关系的规范化,就是对关系模式应当满足的条件的某种处理,其主要目的是尽可能地减少数据冗余、消除异常现象、增强数据独立性、便于用户使用等。关系的规范化的条件可以分为几级,每级称为一个范式(NormalForm),记作nNF。一般要求满足3NF。2020/1/21第1章数据库系统基础知识341.4数据模型域完整性(也称“用户定义完整性”)规定了属性的取值范围,它由应用环境对数据的需求而决定。实体完整性要求任一元组的主关键字的值不得为空值,且必须在所属关系中唯一。参照完整性(也称为“引用完整性”)要求当一个元组的外部关键字的值不为空值时,以该外部关键字的值作为主关键字的值的元组必须在相应的关系中存在。(5)关系模型的完整性2020/1/21第1章数据库系统基础知识35关系数据库语言SQL特点①是一种“非过程语言”②体现关系模型在结构、完整性和操作方面的特征③有命令和嵌入程序两种使用方式④功能齐全,简洁易学,使用方便⑤为主流DBMS产品所支持1.5关系数据库标志语言SQL2020/1/21第1章数据库系统基础知识361.数据定义语言(DDL)CREATETABLE表名(<列名><数据类型>[完整性约束条件],……)2.数据查询SELECTA1,A2,…,AnFROMR1,R2,…,Rm[WHEREF][GROUPBY列名序列][ORDERBY列名[排序]…]1.5关系数据库标志语言SQL2020/1/21第1章数据库系统基础知识373.数据更新SQL提供了插入数据、修改数据和删除数据的三类语句。(1)插入语句插入语句INSERT可将一个记录插入到指定的表中INSERTINTO表名(列名1,列名2…)VALUES(表达式1,表达式2,…)1.5关系数据库标志语言SQL2020/1/21第1章数据库系统基础知识38例如:将一个新的课程记录插入到课程开设表C中:INSERTINTOS(CNO,CNAME,LHOUR,SEMESTER)VALUES(‘CW101’,‘论文写作’,30,‘春’)插入插入(CW101,论文写作,30,春)CNOCNAMELHOURSEMESTERCC112软件工程60春CS202数据库45秋EE103控制工程60春ME234数学分析