《1VF数据库基础》由会员分享,可在线阅读,更多相关《1VF数据库基础(77页珍藏版)》请在金锄头文库上搜索。
1、 本课程是根据教育部提出的非计算机专本课程是根据教育部提出的非计算机专业计算机基础教学三个层次要求,并配合全业计算机基础教学三个层次要求,并配合全国计算机等级考试国计算机等级考试“Visual FoxPro Visual FoxPro 二级二级”考试大纲的知识要点,以考试大纲的知识要点,以Visual FoxPro Visual FoxPro 6.0 6.0 为主要内容,介绍关系数据库管理系统为主要内容,介绍关系数据库管理系统基础理论及应用系统开发知识。不仅介绍数基础理论及应用系统开发知识。不仅介绍数据库基础理论与据库基础理论与Visual FoxPro 6.0 Visual FoxPro 6
2、.0 的基本的基本操作;而且介绍面向对象可视化编程、应用操作;而且介绍面向对象可视化编程、应用系统开发的方法、步骤。系统开发的方法、步骤。前言前言教材与参考书教材与参考书n 教材教材nVisual FoxPro 程序设计教程程序设计教程(第二版第二版) 刘卫国刘卫国 北京邮电大学出版社北京邮电大学出版社n nVisual FoxPro 程序设计上机指导与习题选解程序设计上机指导与习题选解 刘卫国刘卫国 北京邮电大学出版社北京邮电大学出版社n n全国计算机等级考试二级教程全国计算机等级考试二级教程 Visual FoxPro 程序设计程序设计 教育部考试中心教育部考试中心学习方式学习方式 听课
3、读书 ( 预习、复习 ) 作业 实验报告 考试成绩考试成绩n平时成绩 (书面作业、上机练习、综合练习)n期末考试目录目录第一章数据库基础知识第一章数据库基础知识 第二章第二章VFVF系统初步系统初步第三章第三章VFVF数据与数据运算数据与数据运算 第四章表的基本操作第四章表的基本操作第五章数据库的基本操作第五章数据库的基本操作第六章第六章SQLSQL查询语言查询语言 第七章视图与查询第七章视图与查询 第八章项目管理器第八章项目管理器第九章第九章结构化结构化程序设计程序设计第十章面向对象编程基础第十章面向对象编程基础第十一章表单设计及运行第十一章表单设计及运行 第十二章菜单设计第十二章菜单设计
4、第十四章报表与标签第十四章报表与标签 第十五章小型系统开发实例第十五章小型系统开发实例 第一章第一章数据库基础知识数据库基础知识数据库的地位数据库的地位n数据库技术产生于六十年代末,是数据管理的数据库技术产生于六十年代末,是数据管理的最新技术,是计算机科学的重要分支最新技术,是计算机科学的重要分支n数据库技术是信息系统的核心和基础,它的出数据库技术是信息系统的核心和基础,它的出现极大地促进了计算机应用向各行各业的渗透现极大地促进了计算机应用向各行各业的渗透n数据库的建设规模、数据库信息量的大小和使数据库的建设规模、数据库信息量的大小和使用频度已成为衡量一个国家信息化程度的重要用频度已成为衡量一
5、个国家信息化程度的重要标志标志第一章第一章 数据库基础知识数据库基础知识 1.1 数据管理技术的发展数据管理技术的发展1.2 数据库系统数据库系统1.3 数据模型数据模型1.4 关系数据库关系数据库1.5 数据库系统的体系结构与开发工具数据库系统的体系结构与开发工具 信息与数据信息与数据 数数据据Data是是存存储储在在某某一一种种媒媒体体上上的的能能够够识识别别的的物物理理符符号号。数数据据不不仅仅包包括括数数字字、字字母母、文文字字和和其其他他特特殊殊字字符符组组成成的的文文本本形形式式的的数数据据,而而且且还还包包括括图图形形、图图像像、动动画画、影影像像和和声声音音等等多多媒媒体体数数
6、据据。包包括括两两个个方方面面:描描述述事事物物特特性性的的数数据据内内容容;存存储储在在某某一一种种媒媒体体上上的的数数据据形式。形式。 信信息息Information是是被被加加工工成成特特定定形形式式的的数数据据,具具有有知知识识性性并并对对人人类类活活动动产产生生决决策策作作用。用。信息是以某种数据形式表现的。信息是以某种数据形式表现的。 1.1 数据管理技术的发展数据管理技术的发展 数据处理数据处理也称为信息处理。所谓数据也称为信息处理。所谓数据处理,实际上就是处理,实际上就是利用计算机利用计算机对各种类型的对各种类型的数据进行处理。它包括对数据的采集、整理、数据进行处理。它包括对数
7、据的采集、整理、存储、分类、排序、检索、维护、加工、统存储、分类、排序、检索、维护、加工、统计和传输等一系列操作过程。计和传输等一系列操作过程。 数数据据处处理理的的目目的的是是从从大大量量的的、原原始始的的数数据据中中获获得得人人们们所所需需要要的的资资料料并并提提取取有有用用的的数据成份,作为行为和决策的依据。数据成份,作为行为和决策的依据。 数据处理数据处理数据管理技术的发展过程数据管理技术的发展过程n什么是什么是数据管理数据管理n对对数数据据进进行行分分类类、组组织织、编编码码、存存储储、检检索索和和维护,是数据处理的中心问题。维护,是数据处理的中心问题。n数据管理技术的发展过程数据管
8、理技术的发展过程n人工管理阶段人工管理阶段(40年代中年代中-50年代中年代中)n文件系统阶段文件系统阶段(50年代末年代末-60年代中年代中)n数据库系统阶段数据库系统阶段(60年代末年代末-现在现在)一、人工管理阶段一、人工管理阶段n时期时期n40年代中年代中-50年代中年代中n产生的背景产生的背景n应用需求应用需求科学计算科学计算n硬件水平硬件水平无直接存取存储设备无直接存取存储设备n软件水平软件水平没有操作系统没有操作系统n处理方式处理方式批处理批处理人工管理阶段人工管理阶段(续续)n特点特点n数据的管理者:应用程序,数据不保存。数据的管理者:应用程序,数据不保存。n数据面向的对象:某
9、一应用程序数据面向的对象:某一应用程序 n数据的共享程度:无共享、冗余度极大数据的共享程度:无共享、冗余度极大n数据的独立性:不独立,完全依赖于程序数据的独立性:不独立,完全依赖于程序n数据的结构化:无结构数据的结构化:无结构n数据控制能力:应用程序自己控制数据控制能力:应用程序自己控制应用程序与数据的对应关系应用程序与数据的对应关系(人工管理人工管理) 应用程序应用程序数据集数据集应用程序应用程序数据集数据集应用程序应用程序数据集数据集n.人工管理阶段人工管理阶段程序例程序例求求6个数据之和和最大值个数据之和和最大值 /* 程序程序1:求:求6个数之和个数之和 */ #include mai
10、n() int i,s=0; int a6=66,55,75,42,86,77; for(i=0;i6;i+) s=s+ai; printf(“%d”,s); /* 程程序序2:求求6个个数数中中的的最最大大值值 */#include main() int i,s; int a6=66,55,75,42,86,77; s=a0; for(i=1;i6;i+) if (sai) s=ai; printf(“%d”,s); 程序和数据放在一起,虽然是处理同一批数据,程序和数据放在一起,虽然是处理同一批数据,但是程序之间没有数据共享但是程序之间没有数据共享 人人工工管管理理阶阶段段出出现现在在计计算
11、算机机应应用用于于数数据据管管理理的的初初期期。由由于于没没有有必必要要的的软软件件、硬硬件件环环境境的的支支持持,用用户户只只能能直直接接在在裸裸机机上上操操作作。应应用用程程序序中中不不仅仅要要设设计计数数据据的的逻逻辑辑结结构构,还还要要阐阐明明数数据据在存储器上的存储地址。在存储器上的存储地址。 在在这这一一管管理理方方式式下下,应应用用程程序序与与数数据据之之间间相相互互结结合合不不可可分分割割,当当数数据据有有所所变变动动时时程程序序则则随随之之改改变变,独独立立性性差差;另另外外,各各程程序序之之间间的的数数据据不不能能相相互互传传递递,缺缺少少共共享享性性,因因而而这这种种管管
12、理理方式既不灵活,也不安全,编程效率较差。方式既不灵活,也不安全,编程效率较差。二、文件系统阶段二、文件系统阶段n时期时期n50年代末年代末-60年代中年代中n产生的背景产生的背景n应用需求应用需求科学计算、管理科学计算、管理n硬件水平硬件水平磁盘、磁鼓磁盘、磁鼓n软件水平软件水平有文件系统有文件系统n处理方式处理方式联机实时处理、批处理联机实时处理、批处理文件系统阶段文件系统阶段(续续)n特点特点n数据的管理者:文件系统,数据可长期保存数据的管理者:文件系统,数据可长期保存n数据面向的对象:某一应用程序数据面向的对象:某一应用程序 n数据的共享程度:共享性差、冗余度大数据的共享程度:共享性差
13、、冗余度大n数据的结构化:记录内有结构数据的结构化:记录内有结构,整体无结构整体无结构n数据的独立性:独立性差,数据的逻辑结构数据的独立性:独立性差,数据的逻辑结构改变必须修改应用程序改变必须修改应用程序n数据控制能力:应用程序自己控制数据控制能力:应用程序自己控制应用程序与数据的对应关系应用程序与数据的对应关系(文件系统文件系统)应用程序应用程序文件文件应用程序应用程序文件文件2应用程序应用程序文件文件n存取存取方法方法./* 程序程序1:求:求6个数之和个数之和 */ #include main() int i,s=0,a6; FILE * fp; fp=fopen(c:data.dat,
14、rb); fread(a,2,6,fp); /*读读 数数 据据 */ for(i=0;i6;i+) s=s+ai; printf( %d,s); fclose(fp); /* 关闭文件关闭文件 */ /* 程程序序2:求求6个个数数中中最最大大值值 */#include main() int a6 , i,s= a0 ; FILE * fp; fp=fopen(c:data.dat,rb); fread(a,2,6,fp); s=a0; for(i=0;i6;i+) if (sai) s=ai; printf(%d,s); fclose(fp); 文件管理阶段文件管理阶段程序例程序例求求6个
15、数据之和和最大值个数据之和和最大值 数据来自同一个文件数据来自同一个文件C: data.dat 文文件件管管理理阶阶段段把把有有关关的的数数据据组组织织成成一一种种文文件件,这这种种数数据据文文件件可可以以脱脱离离程程序序而而独独立立存存在在,由由一一个个专专门门的的文文件件管管理理系系统统实实施施统统一一管管理。理。 应应用用程程序序通通过过文文件件管管理理系系统统对对数数据据文文件件中中的的数数据据进进行行加加工工处处理理。应应用用程程序序与与数数据据文文件件之之间间具具有有一一定定的的独独立立性性,比比手手工工管管理理方方式式前前进进了了一一步步。但但数数据据文文件件仍仍高高度度依依赖赖
16、于于其其对对应应的的程程序序,不不能能被被多多个个程程序序所所共共享享。由由于于数数据据文文件件之之间间不不能能建建立立任任何何联联系系,因因而而数数据据的的通用性仍然较差,冗余量大。通用性仍然较差,冗余量大。三、数据库系统阶段三、数据库系统阶段n时期时期n60年代末以来年代末以来n产生的背景产生的背景n应用背景应用背景大规模管理大规模管理n硬件背景硬件背景大容量磁盘大容量磁盘n软件背景软件背景有数据库管理系统有数据库管理系统n处理方式处理方式联机实时处理联机实时处理,分布处理分布处理,批处理批处理数据库系统阶段数据库系统阶段(续续)n特点特点n数据的管理者:数据的管理者:DBMSn数据面向的
17、对象:现实世界数据面向的对象:现实世界n数据的共享程度:共享性高数据的共享程度:共享性高n数据的独立性:高度的物理独立性和一定的数据的独立性:高度的物理独立性和一定的 逻辑独立性逻辑独立性n数据的结构化:整体结构化数据的结构化:整体结构化n数据控制能力:由数据控制能力:由DBMS统一管理和控制统一管理和控制应用程序与数据的对应关系应用程序与数据的对应关系(数据库系统数据库系统)DBMS应用程序应用程序1应用程序应用程序2数据库数据库数据库系统程序例数据库系统程序例上例实现上例实现SELECT sum(SELECT sum(数据数据) AS ) AS 数据和数据和 FROM FROM 数据表数据
18、表SELECT max(SELECT max(数据数据) AS ) AS 最大值最大值 FROM FROM 数据表数据表 数数据据库库系系统统管管理理阶阶段段对对所所有有的的数数据据实实行行统统一一规规划划管管理理,形形成成一一个个数数据据中中心心,构构成成一一个个数数据据“仓仓库库”。应应用用程程序序不不再再只只与与一一个个孤孤立立的的数数据据文文件件相相对对应应,可可以以取取整整体体数数据据集集的的某某个个子子集集作作为为逻逻辑辑文文件件与与其其对对应应,通通过过数数据据库库管管理理系系统统实实现现逻逻辑辑文文件件与与物物理理数据之间的映射。数据之间的映射。 在在数数据据库库系系统统管管理
19、理的的系系统统环环境境下下,应应用用程程序序对对数数据据的的管管理理和和访访问问灵灵活活方方便便,数数据据与与应应用用程程序序之之间间完完全全独独立立,程程序序的的编编制制质质量量和和效效率率都都有有所所提提高高;由由于于数数据据文文件件间间可可以以建建立立关关联联关关系系,数数据据的的冗冗余余大大大大减少,数据共享性显著增强。减少,数据共享性显著增强。 1.2 数据库系统数据库系统 1.2.1 数据库(数据库(DataBaseDataBase) 数据库是数据库系统的核心和管理对象。数据库是数据库系统的核心和管理对象。 数数据据库库,就就是是以以一一定定的的组组织织方方式式将将相相关关的的数数
20、据据组组织织在在一一起起,存存放放在在计计算算机机外外存存储储器器上上形形成成的的,能能为为多多个个用用户户共共享享的的,与与应应用用程程序彼此独立的一组相关数据的集合。序彼此独立的一组相关数据的集合。 数数据据库库不不仅仅包包括括描描述述事事物物的的数数据据本本身身,而且还包括相关事物之间的联系。而且还包括相关事物之间的联系。 用户用户A1用户用户A2用户用户B1用户用户B2外视图外视图A外模式外模式A外视图外视图B外外模式模式B概念概念模式模式概念视图概念视图存储结构定义存储结构定义(内模式内模式)存储数据库存储数据库(内视图)内视图)DBMS由由数据数据库管理库管理员建立员建立和维护和维
21、护的模式的模式1.2.2 数据库的体系结构数据库的体系结构模式(模式(Schema)n模式(也称逻辑模式)模式(也称逻辑模式)n数据库中全体数据的逻辑结构和特征的描述数据库中全体数据的逻辑结构和特征的描述n所所有有用用户户的的公公共共数数据据视视图图,综综合合了了所所有有用用户户的需求的需求n一个数据库只有一个模式一个数据库只有一个模式n模式的地位:数据库系统模式结构的中间层模式的地位:数据库系统模式结构的中间层n与数据的物理存储细节和硬件环境无关与数据的物理存储细节和硬件环境无关n与与具具体体的的应应用用程程序序、开开发发工工具具及及高高级级程程序序设设计语言无关计语言无关外模式(外模式(E
22、xternal Schema)n外模式(也称子模式或用户模式)外模式(也称子模式或用户模式)n数数据据库库用用户户(包包括括应应用用程程序序员员和和最最终终用用户户)使用的使用的局部局部数据的逻辑结构和特征的描述数据的逻辑结构和特征的描述n数数据据库库用用户户的的数数据据视视图图,是是与与某某一一应应用用有有关关的数据的逻辑表示的数据的逻辑表示外模式(续外模式(续)外模式的地位:介于模式与应用之间外模式的地位:介于模式与应用之间n模式与外模式的关系:一对多模式与外模式的关系:一对多n外模式通常是模式的子集外模式通常是模式的子集n一个数据库可以有多个外模式一个数据库可以有多个外模式n反反映映了了
23、不不同同的的用用户户的的应应用用需需求求、看看待待数数据据的的方方式式、对数据保密的要求对数据保密的要求n外模式与应用的关系:一对多外模式与应用的关系:一对多n同一外模式可以为某一用户的多个应用系统所使用同一外模式可以为某一用户的多个应用系统所使用n但一个应用程序只能使用一个外模式但一个应用程序只能使用一个外模式外模式(续)外模式(续)n外模式的用途外模式的用途n保证数据库安全性的一个有力措施。保证数据库安全性的一个有力措施。n每每个个用用户户只只能能看看见见和和访访问问所所对对应应的的外外模模式式中的数据中的数据内模式(内模式(Internal Schema)n内模式(也称存储模式内模式(也
24、称存储模式)n是数据物理结构和存储方式的描述是数据物理结构和存储方式的描述n是数据在数据库内部的表示方式是数据在数据库内部的表示方式n一个数据库只有一个内模式一个数据库只有一个内模式外模式模式映象外模式模式映象保证数据的逻辑独立性保证数据的逻辑独立性n当当模模式式改改变变时时,数数据据库库管管理理员员修修改改有有关关的的外外模式模式映象,使外模式保持不变模式模式映象,使外模式保持不变n应应用用程程序序是是依依据据数数据据的的外外模模式式编编写写的的,从从而而应应用用程程序序不不必必修修改改,保保证证了了数数据据与与程程序序的的逻逻辑独立性,简称数据的逻辑独立性辑独立性,简称数据的逻辑独立性。模
25、式内模式映象模式内模式映象保证数据的物理独立性保证数据的物理独立性n当当数数据据库库的的存存储储结结构构改改变变了了(例例如如选选用用了了另另一一种种存存储储结结构构),数数据据库库管管理理员员修修改改模模式式内模式映象,使模式保持不变内模式映象,使模式保持不变n应应用用程程序序不不受受影影响响。保保证证了了数数据据与与程程序序的的物物理独立性,简称数据的物理独立性。理独立性,简称数据的物理独立性。 Database Management System 数数据据库库管管理理系系统统:对对数数据据库库中中的的数数据据进进行行统统一一管管理理、控控制制和和维维护护的的数数据据库库管管理理软软件件。
26、用用户户通通过过它它可可以以使使用用数数据据库库中中的的数数据据,实实现现对对数数据的存储和检索工作。据的存储和检索工作。 数据库管理系统通常由三个部分组成:数据库管理系统通常由三个部分组成: 数数据据描描述述语语言言(DDLDDL)及及其其编编译译程程序序,数数据据操操纵纵语语言言(DMLDML)或或查查询询语语言言及及其其编编译译、解解释程序,数据库管理例行程序。释程序,数据库管理例行程序。1.2.3 数据库管理系统数据库管理系统1.2.4 数据库应用系统数据库应用系统n数据库应用系统数据库应用系统根据用户任务需要用根据用户任务需要用高级语言编写的可以实现对数据库中高级语言编写的可以实现对
27、数据库中的数据进行存取和检索操作的程序。的数据进行存取和检索操作的程序。1.2.5 数据库系统的构成数据库系统的构成硬件硬件硬件硬件操作系统操作系统操作系统操作系统数据库管理系统数据库管理系统数据库管理系统数据库管理系统数据库应用系统数据库应用系统数据库应用系统数据库应用系统 n数数据据库库系系统统它它是是由由有有关关的的硬硬件件、软软件件、数数据据和和人人员员四四个个部部分分组组合合而形成的。而形成的。n硬件环境是数据库系统的物理支撑。硬件环境是数据库系统的物理支撑。n软软件件系系统统包包括括系系统统软软件件和和应应用用软软件件两两类类。系系统统软软件件主主要要包包括括数数据据库库管管理理系
28、系统统软软件件、开开发发应应用用系系统统的的高高级级语语言言及及其其编编译译系系统统、应应用用系系统统开开发发的的工工具具软软件件等等。应应用用软软件件是是指指在在数数据据库库管管理理系系统统的的基基础础上上由由用用户户根根据据自自己己的的实实际际需需要要自自行行开开发的应用程序。发的应用程序。n数数据据库库系系统统的的人人员员是是指指管管理理、开开发发和和使使用用数数据据库库系系统统的的全全部部人人员员,主主要要包包括括数数据据库库管管理理员员、系统分析员、应用程序员和用户。系统分析员、应用程序员和用户。1.3 数据模型数据模型 数数据据库库需需要要根根据据应应用用系系统统中中数数据据的的性
29、性质质、内内在在联联系系,按按照照管管理理的的要要求求来来设设计计和和组组织织。人人们们把把客客观观存存在在的的事事物物以以数数据据的的形形式式存存储储到到计计算算机机中中,经经历历了了对对现现实实生生活活中中事事物物特特性性的的认认识识、概概念念化化到到计计算算机机数数据据库库里的具体表示里的具体表示的逐级抽象过程。的逐级抽象过程。 n客观对象的抽象过程客观对象的抽象过程-两步抽象两步抽象n现实世界中的客观对象抽象为信息模型;现实世界中的客观对象抽象为信息模型;n把把信信息息模模型型转转换换为为某某一一DBMS支支持持的的数数据据模型。模型。n信信息息模模型型是是现现实实世世界界到到机机器器
30、世世界界的的一一个中间层次。个中间层次。 1.3.1 现实世界的数据描述现实世界的数据描述n n实体实体:在现实世界中客观存在并可以相在现实世界中客观存在并可以相互区分的事物。互区分的事物。n n属性属性:实体的每一种特性都称为属性。:实体的每一种特性都称为属性。n n键键:唯一标识每个实体的属性,又称为唯一标识每个实体的属性,又称为实体标识符。实体标识符。n n实体集实体集:同类型实体的集合。同类型实体的集合。n现现实实世世界界中中事事物物之之间间的的联联系系在在信信息息世世界界中反映为实体之间的联系。中反映为实体之间的联系。n实体间的联系实体间的联系n一对一联系(一对一联系(1:1) n一
31、对多联系(一对多联系(1:n) n多对多联系(多对多联系(m:n)实体间的联系实体间的联系 一对一联系一对一联系n对对于于实实体体集集A中中的的每每一一个个实实体体,实实体体集集B中中至至多多有有一一个个实实体体与与之之联联系系,反反之之亦亦然然,则则称称实实体集体集A A与实体集与实体集B B具有一对一联系具有一对一联系。记为。记为1:1n 实例实例班级与班长之间的联系:班级与班长之间的联系:n一个班级只有一个正班长一个班级只有一个正班长n一个班长只在一个班中任职一个班长只在一个班中任职一对多联系一对多联系n对于实体集对于实体集A中的每一个实体,实体集中的每一个实体,实体集B中有中有n个实体
32、(个实体(n0)与之联系,反之,对于实体与之联系,反之,对于实体集集B中的每一个实体,实体集中的每一个实体,实体集A中至多只有一中至多只有一个实体与之联系,个实体与之联系,则称实体集则称实体集A A与实体集与实体集B B有有一对多联系一对多联系。记为记为1:nn实例实例班级与学生之间的联系:班级与学生之间的联系:n一个班级中有若干名学生,一个班级中有若干名学生,n每个学生只在一个班级中学习每个学生只在一个班级中学习多对多联系多对多联系n对于实体集对于实体集A中的每一个实体,实体集中的每一个实体,实体集B中中有有n个实体(个实体(n0)与之联系,反之,对于与之联系,反之,对于实体集实体集B中的每
33、一个实体,实体集中的每一个实体,实体集A中也有中也有m个实体(个实体(m0)与之联系,与之联系,则称实体集则称实体集A A与实体与实体B B具有多对多联系具有多对多联系。记为。记为m:nn实例实例课程与学生之间的联系:课程与学生之间的联系:n一门课程同时有若干个学生选修一门课程同时有若干个学生选修n一个学生可以同时选修多门课程一个学生可以同时选修多门课程1.3.2 数据模型数据模型n数据模型是数据库管理系统用来表示实体数据模型是数据库管理系统用来表示实体及实体间联系的方法。及实体间联系的方法。n数据模型应正确反映数据之间的整体逻辑数据模型应正确反映数据之间的整体逻辑关系。关系。n数据库管理系统
34、支持的数据模型有:网状数据库管理系统支持的数据模型有:网状模型、层次模型、关系模型。模型、层次模型、关系模型。n用树形结构描述实体及其之间联系的数用树形结构描述实体及其之间联系的数据模型。据模型。n主要特征如下:主要特征如下: 仅有一个无双亲的根结点。仅有一个无双亲的根结点。 根根结结点点以以外外的的子子结结点点,向向上上仅仅有有一个父结点,向下有若干子结点一个父结点,向下有若干子结点。n层次数据库管理系统层次数据库管理系统层次模型层次模型R1R1R2R2R3R3R4R4R5R5 R6 R6n层次模型是由若干个代表实体之间一对多联系层次模型是由若干个代表实体之间一对多联系的基本层次联系组成的一
35、棵树,树中的每一个的基本层次联系组成的一棵树,树中的每一个结点代表一个实体类型。结点代表一个实体类型。n网网状状模模型型是是层层次次模模型型的的扩扩展展,它它表表示示多多个个从从属属关关系系的的层层次次结结构构,呈呈现现一一种种交交叉叉关关系系的的网网络络结结构构。可可以以方方便便的的表表示示各各种种类型的联系。类型的联系。n主要特征如下:主要特征如下: 有一个以上的结点无双亲。有一个以上的结点无双亲。 至少有一个结点有多个双亲。至少有一个结点有多个双亲。n网状数据库管理系统网状数据库管理系统 网状模型网状模型R1R4R3R2R5L1L2L3L4L5n用二维表结构表示实体及实体之间联系用二维表
36、结构表示实体及实体之间联系n关系模型的主要特点关系模型的主要特点n关系中每一分量不可再分,是最基本的数据单位关系中每一分量不可再分,是最基本的数据单位n每每一一竖竖列列的的分分量量是是同同属属性性的的,列列数数根根据据需需要要而而设设,且各列的顺序是任意的;且各列的顺序是任意的;n每每一一横横行行由由一一个个个个体体事事物物的的诸诸多多属属性性构构成成,且且各各行的顺序可以是任意的;行的顺序可以是任意的;n一一个个关关系系是是一一张张二二维维表表,不不允允许许有有相相同同的的属属性性名名,也不允许有相同的元组。也不允许有相同的元组。关系模型关系模型学号学号姓名姓名性性别别出生日期出生日期是否是
37、否团员团员爱爱好或好或专长专长简历简历99010128孙孙三青三青男男06/05/80是是书法书法99190125杨杨璇璇女女01/06/82是是音音乐乐99221012陈华陈华宏宏男男05/24/80是是篮篮球球00010001李林李林男男12/29/80否否足球足球学生关系表学生关系表表中每一行表示一个实体,称为一条表中每一行表示一个实体,称为一条记录记录表中每一列是记录中的一个数据项,表示实体的一个表中每一列是记录中的一个数据项,表示实体的一个属性,称为一个属性,称为一个字段字段关系模型举例关系模型举例 描述的一致性描述的一致性描述的一致性描述的一致性 利用公共属性连接利用公共属性连接利
38、用公共属性连接利用公共属性连接 结构简单直观结构简单直观结构简单直观结构简单直观 由严格的理论基础由严格的理论基础由严格的理论基础由严格的理论基础 语言表达简练语言表达简练语言表达简练语言表达简练 学号学号姓名姓名性别性别班级班级出生日期出生日期 入学日期入学日期学号学号课程号课程号成绩成绩教师号教师号教师名教师名职称职称课程号课程号课程名课程名性质性质课程号课程号教师号教师号学生学生选课选课教师教师课程课程任课任课教学管理数据库的关系数据模型教学管理数据库的关系数据模型1.4关系数据库关系数据库关系术语关系术语n关系关系:一个关系就是一张二维表,每个关系都有一一个关系就是一张二维表,每个关系
39、都有一个关系名。个关系名。 在在VF中,一个关系存为一个文件,其扩展名为中,一个关系存为一个文件,其扩展名为.dbf称为表。称为表。n对关系的描述称为对关系的描述称为关系模式关系模式,一个关系模实对应一,一个关系模实对应一个关系的结构。个关系的结构。 关系名(属性名关系名(属性名1,属性名,属性名2,属性名,属性名n) 在在VF中,表示为表结构:中,表示为表结构: 表名(字段名表名(字段名1,字段名,字段名2,字段名,字段名n)n元组元组:一个:一个二维表(一个具体关系)的每一行称为二维表(一个具体关系)的每一行称为元组。元组。 在在VF中,一个元组对应表中一个记录。中,一个元组对应表中一个记
40、录。n属性属性: 二维表的每一列在关系中称为属性,每个属二维表的每一列在关系中称为属性,每个属性都有一个属性名,属性值则是各个元组属性的取性都有一个属性名,属性值则是各个元组属性的取值。值。 在在VF中,一个属性对应表中一个字段,属性名对应中,一个属性对应表中一个字段,属性名对应字段名,属性值对应于各个记录的字段值。字段名,属性值对应于各个记录的字段值。n域域:属性的取值范围。域是属性值的集合,其类型属性的取值范围。域是属性值的集合,其类型与范围具体由属性的性质及其所表示的意义确定。与范围具体由属性的性质及其所表示的意义确定。关系术语关系术语n关键字关键字:属性或属性组合,其值能够唯一的标识一
41、:属性或属性组合,其值能够唯一的标识一个元组。关键字的属性值不能取个元组。关键字的属性值不能取“空值空值”。n关系中能够成为关键字的属性或属性组合可能不是关系中能够成为关键字的属性或属性组合可能不是惟一的惟一的,凡在关系中能够惟一区分、确定不同元组凡在关系中能够惟一区分、确定不同元组的属性或属性组合,称为的属性或属性组合,称为候选关键字候选关键字。n外部关键字外部关键字:关系中某个属性或属性组合并非关键关系中某个属性或属性组合并非关键字,但却是另一个关系的主关键字,称此属性或属字,但却是另一个关系的主关键字,称此属性或属性组合为本关系的外部关键字。性组合为本关系的外部关键字。 关系之间的联系是
42、通过外部关键字实现的。关系之间的联系是通过外部关键字实现的。关系术语关系术语关系的基本特点关系的基本特点n关系必须规范化关系必须规范化n在同一关系中不允许出现相同的属性名。在同一关系中不允许出现相同的属性名。n关系中不允许有完全相同的元组,即冗余。关系中不允许有完全相同的元组,即冗余。n在同一关系中元组的次序无关紧要。在同一关系中元组的次序无关紧要。n在同一关系中属性的次序无关紧要。在同一关系中属性的次序无关紧要。关系数据库关系数据库n以关系模型建立的数据库就是关系数据库以关系模型建立的数据库就是关系数据库(RDB:Relational Database)。)。n关系数据库中包含若干个关系,每
43、个关系都关系数据库中包含若干个关系,每个关系都由关系模式确定,每个关系模式包含若干个由关系模式确定,每个关系模式包含若干个属性和属性对应的域,所以,定义关系数据属性和属性对应的域,所以,定义关系数据库就是逐一定义关系模式,对每一关系模式库就是逐一定义关系模式,对每一关系模式逐一定义属性及其对应的域。逐一定义属性及其对应的域。Visual FoxPro中,与关系数据库对应的中,与关系数据库对应的是数据库文件(是数据库文件(.dbc文件),一个数据库文件),一个数据库文件包含若干个表(文件包含若干个表(.dbf文件),表由表文件),表由表结构与若干个数据记录组成,表结构对应结构与若干个数据记录组成
44、,表结构对应关系模式。每个记录由若干个字段构成,关系模式。每个记录由若干个字段构成,字段对应关系模式的属性,字段的数据类字段对应关系模式的属性,字段的数据类型和取值范围对应属性的域。型和取值范围对应属性的域。学生管理数据库中的表学生管理数据库中的表表之间的关系表之间的关系并并 两个相同结构关系的并是由属于这两个关系的元组组成两个相同结构关系的并是由属于这两个关系的元组组成的集合。的集合。 差差 设有两个相同结构的关系设有两个相同结构的关系R R和和S S,R R差差S S的结果是由属于的结果是由属于R R但但不属于不属于S S的元组组成的集合,即差运算的结果是从的元组组成的集合,即差运算的结果
45、是从R R中去中去掉掉S S中也有的元组。中也有的元组。交交 两个具有相同结构的关系两个具有相同结构的关系R R和和S S,它们的交是由既属于它们的交是由既属于R R又又属于属于S S的元组组成的集合。交运算的结果是的元组组成的集合。交运算的结果是R R和和S S的共同元的共同元组。组。 关系运算(关系运算(传统的集合运算)传统的集合运算)并并ABCa1b1c1a1b2c2a2b2c1ABCa1b1c1a1b2c2a1b3c2a2b2c1ABCa1b2c2a1b3c2a2b2c1RSRS差差ABCa1b1c1a1b2c2a2b2c1ABCa1b1c1ABCa1b2c2a1b3c2a2b2c1R
46、SR-S交交 ABCa1b1c1a1b2c2a2b2c1ABCa1b2c2a2b2c1ABCa1b2c2a1b3c2a2b2c1RSR S专门的关系运算:专门的关系运算: 选择选择 从二维表中挑选出若干行从二维表中挑选出若干行 投影投影 从二维表中指定若干列从二维表中指定若干列 连接连接 将具有某种共性的两个二维表,根据某种将具有某种共性的两个二维表,根据某种要求绘制出一个新的二维表要求绘制出一个新的二维表 学学 号号Sno姓姓 名名Sname性性 别别Ssex年年 龄龄Sage所所 在系在系Sdept95001李勇李勇男男20CS95002刘晨刘晨女女19IS95003王敏王敏女女18MA9
47、5004张立张立男男19IS(a)Student选择选择例1 查询信息系(IS系)全体学生 SnoSnameSsexSageSdept95002刘晨刘晨女女19IS95004张立张立男男19IS选择选择例2 查询年龄小于20岁的学生 SnoSnameSsexSageSdept95002刘晨刘晨女女19IS95003王敏王敏女女18MA95004张立张立男男19IS投影投影例3 查询学生的姓名和所在系SnameSdept李勇李勇CS刘晨刘晨IS王敏王敏MA张立张立ISn关关系系的的完完整整性性,即即关关系系中中的的数数据据及及具具有有关关联联关关系系的的数数据据间间必必须须遵遵循循的的制制约约和
48、和依依存存关关系系,以以保保证证数数据据的的正正确确性性、有有效效性性和相容性。和相容性。n关关系系的的完完整整性性主主要要包包括括域域完完整整性性、实实体体完整性和参照完整性三种。完整性和参照完整性三种。 关系的完整性关系的完整性n域完整性域完整性n域域完完整整性性是是对对数数据据表表中中字字段段属属性性的的约约束束,它它包包括括字字段段的的值值域域、字字段段的的类类型型及及字字段段的的有有效效规规则则等等约约束束,它它是是由由确确定定关关系系结结构构时时所所定定义义的的字字段段的属性决定的的属性决定的。 n实体完整性实体完整性n实实体体完完整整性性是是对对关关系系中中的的记记录录唯唯一一性
49、性,也也就就是是主主键键的的约约束束。准准确确地地说说,实实体体完完整整性性是是指指关关系系中中的的主主属属性性值值不不能能为为NullNull且不能有相同值。且不能有相同值。 n参照完整性参照完整性n参参照照完完整整性性是是对对关关系系数数据据库库中中建建立立关关联联关关系系的的数数据据表表间间数数据据参参照照引引用用的的约约束束,也也就就是是对对外外键键的的约约束束。准准确确地地说说,参参照照完完整整性性是是指指关关系系中中的的外外键键必必须须是是另另一一个个关关系系的的主主键有效值,或者键有效值,或者是是NULLNULL。 1.5 体系结构与开发工具体系结构与开发工具n数据库系统的体系结构数据库系统的体系结构n单用户数据库系统单用户数据库系统n主从式多用户数据库系统主从式多用户数据库系统nC/S数据库系统数据库系统nB/S数据库系统数据库系统n常见的数据库管理系统常见的数据库管理系统nAcessnVisual FoxPronSQLServernOraclen常见的数据库开发工具常见的数据库开发工具