中国高校课件下载中心 》 教学资源 》 大学文库

铜陵学院数学与计算机学院:《数据库原理及应用》课程教学资源(教案讲义)第1章 数据库基础知识

文档信息
资源类别:文库
文档格式:DOC
文档页数:8
文件大小:101.5KB
团购合买:点击进入团购
内容简介
铜陵学院数学与计算机学院:《数据库原理及应用》课程教学资源(教案讲义)第1章 数据库基础知识
刷新页面文档预览

第1章数据库基础知识1.1数据库系统概述1.1.1基本概念1、数据(Data)数据就是描述事物的符号记录,它是数据库中存储的基本对象。描述事物的符号可以是数字,也可以是文字、图形、图像、音频、视频等广义的数据,这些数据都可以经过数字化后存入计算机中。2、数据库(DataBase,DB)数据库即存放数据的仓库。数据库就是长期存储在计算机内、有组织、可共享的大量数据的集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的穴余度、较高的数据独立性和易扩展性,并可以为各种用户共享。3、数据库管理系统(DataBaseManagementSystem,DBMS)数据库管理系统是位于用户与操作系统之间的一层管理软件,是数据库与用户之间的接口,是数据库系统的一个重要组成部分。DBMS通常应具备以下主要功能:数据的定义功能;数据组织、存储和管理;数据操纵功能;数据库的建立和维护功能;其他功能。4、数据库系统(DataBaseSystemDBS)数据库系统是指由数据库、数据库管理系统(及其开发工具)、应用系统和数据库管理员(DBA)共同组成的整个系统。一般在不至于引起混淆的情况下,通常将数据库系统简称为数据库。1.1.2数据管理技术的发展数据管理是指对数据进行分类、组织、编码、存储、检索和维护,而数据的处理是指对各种数据进行收集、存储加工和传播的一系列活动的总和。数据管理经历了以下三个阶段:1、人工管理阶段20世纪50年代中期:计算机主要用于科学计算。当时没有磁盘等直接存取设备:只有纸带、卡片、磁带等外存,也没有操作系统和管理数据的专门软件。数据处理的方式是批处理。该阶段管理数据的特点是:(1)数据不保存。(2)应用程序管理数据。(3)数据不共享。(4)数据不具有独立性。2、文件系统阶段20世纪50年代后期到60年代中期,随着计算机硬件和软件的发展,磁盘、磁鼓等直接存取设备开始普及,操作系统中已经有了专门用于数据管理的软件,通常称为文件系统处理上不仅有批处理,还能够联机实时处理。该阶段管理数据的特点是:(1)数据可以长期保存(2)由文件系统管理数据(3)数据共享性差,穴余度大(4)数据独立性差3、数据库系统阶段

第 1 章 数据库基础知识 1.1 数据库系统概述 1.1.1 基本概念 1、数据(Data) 数据就是描述事物的符号记录,它是数据库中存储的基本对象。描述事物的符号可以是 数字,也可以是文字、图形、图像、音频、视频等广义的数据,这些数据都可以经过数字化 后存入计算机中。 2、数据库(DataBase, DB) 数据库即存放数据的仓库。 数据库就是长期存储在计算机内、有组织、可共享的大量数据的集合。数据库中的数据 按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性, 并可以为各种用户共享。 3、数据库管理系统(DataBase Management System, DBMS) 数据库管理系统是位于用户与操作系统之间的一层管理软件,是数据库与用户之间的接 口,是数据库系统的一个重要组成部分。DBMS 通常应具备以下主要功能:数据的定义功 能;数据组织、存储和管理;数据操纵功能;数据库的建立和维护功能;其他功能。 4、数据库系统(DataBase System, DBS) 数据库系统是指由数据库、数据库管理系统(及其开发工具)、应用系统和数据库管理 员(DBA)共同组成的整个系统。 一般在不至于引起混淆的情况下,通常将数据库系统简称为数据库。 1.1.2 数据管理技术的发展 数据管理是指对数据进行分类、组织、编码、存储、检索和维护,而数据的处理是指对 各种数据进行收集、存储加工和传播的一系列活动的总和。 数据管理经历了以下三个阶段: 1、人工管理阶段 20 世纪 50 年代中期,计算机主要用于科学计算。当时没有磁盘等直接存取设备,只有 纸带、卡片、磁带等外存,也没有操作系统和管理数据的专门软件。数据处理的方式是批处 理。该阶段管理数据的特点是: (1)数据不保存。 (2)应用程序管理数据。 (3)数据不共享。 (4)数据不具有独立性。 2、文件系统阶段 20 世纪 50 年代后期到 60 年代中期,随着计算机硬件和软件的发展,磁盘、磁鼓等直 接存取设备开始普及,操作系统中已经有了专门用于数据管理的软件,通常称为文件系统。 处理上不仅有批处理,还能够联机实时处理。该阶段管理数据的特点是: (1)数据可以长期保存 (2)由文件系统管理数据 (3)数据共享性差,冗余度大 (4)数据独立性差 3、数据库系统阶段

20世纪60年代后期以来,计算机管理的对象规模越来越大,应用越来越广泛,数据量激增,各种复杂的应用要求越来越强烈。此时大容量硬盘的价格普遍下降,软件的价格则上升,开发和维护软件的成本增加。在处理方式上,更多的要求联机实时处理,并开始提出和考虑分布处理。在这样的背景下,统一管理数据的专门软件系统一一数据库管理系统应运而生,数据管理登上了一个新的高度。1.1.3数据库系统的特点与分类1、数据库系统的特点(1)数据结构化。这是数据库最主要的特征之一,是指在数据库中的数据不再仅针对某个应用,而是面向全组织;不仅数据内部是结构化的,而且整体式结构化的,数据之间是有联系的。因此在应用时,不仅要考虑到某个应用的数据结构,还要考虑整个组织的数据结构。(2)数据的共享性高,余度低,易扩充。从整体角度看待和描述数据,数据库系统中的数据不再面向某个应用而是面向整个系统,因此数据可以被多个用户、多个应用共享使用。数据共享可以大大减少数据集允余,节约存储空间,还能够避免数据之间的不相容性与现象。由于数据面向整个系统,是有结构的数据,不仅可以被多个应用共享使用,而且容易增加新的应用,这就使得数据库系统弹性大,易于扩充,可以适应各种用户的要求。(3)数据独立性高。数据独立性包括数据的物理独立性和数据的逻辑独立性。物理独立性是指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的。(4)数据由DBMS统一管理和控制。2、数据库系统的分类数据库系统分为以下四种:(1)面向对象数据库当面向对象技术兴起后,人们就探索用对象模型来组织多媒体数据库,推动并促进了对象式数据库的产生。在面向对象数据库中,数据量庞大,且长短不一;检索方式以基于内容的“非精确匹配和相似查询”为主,而非传统数据库中的以“精确查询”为主。(2)分布式数据库分布式数据库把数据分散地存放在网络上的多个结点上,彼此用通信线路连接。目前在Internet/Intranet上流行的Web数据库,就是分布式数据库的应用实例。(3)演绎数据库演绎数据库是指具有演绎推理能力的数据库。演绎数据库除了存储事实外,还能存储用于逻辑推理的规则。与传统数据库存储的数据都代表已知事实(fact)相比,演绎演绎数据库由“事实+规则”构成,因此也称这类数据库为基于规则(rule-based)的数据库或逻辑数据库。它采用的数据模型称为逻辑模型或基于逻辑的数据模型。(4)关系数据库1970年美国IBM公司SanJose研究室的研究院E.F.Codd首次提出了数据库系统的关系模型,开创了数据库关系方法和关系数据理论的研究,为数据库技术奠定了理论基础。关系模型是目前最重要的一种数据模型,关系数据库系统采用关系模型作为数据的组织方式。1.1.4数据模型1、数据模型数据模型(DataModel)是对现实世界数据特征的抽象。由于计算机不可能直接处理现实世界中的具体事物,所以人们必须事先把具体事物转换成计算机能够处理的数据。也就是

20 世纪 60 年代后期以来,计算机管理的对象规模越来越大,应用越来越广泛,数据量 激增,各种复杂的应用要求越来越强烈。 此时大容量硬盘的价格普遍下降,软件的价格则上升,开发和维护软件的成本增加。在 处理方式上,更多的要求联机实时处理,并开始提出和考虑分布处理。在这样的背景下,统 一管理数据的专门软件系统——数据库管理系统应运而生,数据管理登上了一个新的高度。 1.1.3 数据库系统的特点与分类 1、数据库系统的特点 (1)数据结构化。这是数据库最主要的特征之一,是指在数据库中的数据不再仅针对 某个应用,而是面向全组织;不仅数据内部是结构化的,而且整体式结构化的,数据之间是 有联系的。因此在应用时,不仅要考虑到某个应用的数据结构,还要考虑整个组织的数据结 构。 (2)数据的共享性高,冗余度低,易扩充。从整体角度看待和描述数据,数据库系统 中的数据不再面向某个应用而是面向整个系统,因此数据可以被多个用户、多个应用共享使 用。数据共享可以大大减少数据集冗余,节约存储空间,还能够避免数据之间的不相容性与 现象。由于数据面向整个系统,是有结构的数据,不仅可以被多个应用共享使用,而且容易 增加新的应用,这就使得数据库系统弹性大,易于扩充,可以适应各种用户的要求。 (3)数据独立性高。数据独立性包括数据的物理独立性和数据的逻辑独立性。物理独 立性是指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。逻辑独立性是指用 户的应用程序与数据库的逻辑结构是相互独立的。 (4)数据由 DBMS 统一管理和控制。 2、数据库系统的分类 数据库系统分为以下四种: (1)面向对象数据库 当面向对象技术兴起后,人们就探索用对象模型来组织多媒体数据库,推动并促进了对 象式数据库的产生。在面向对象数据库中,数据量庞大,且长短不一;检索方式以基于内容 的“非精确匹配和相似查询”为主,而非传统数据库中的以“精确查询”为主。 (2)分布式数据库 分布式数据库把数据分散地存放在网络上的多个结点上,彼此用通信线路连接。目前在 Internet/Intranet 上流行的 Web 数据库,就是分布式数据库的应用实例。 (3)演绎数据库 演绎数据库是指具有演绎推理能力的数据库。演绎数据库除了存储事实外,还能存储用 于逻辑推理的规则。与传统数据库存储的数据都代表已知事实(fact)相比,演绎演绎数据 库由“事实+规则”构成,因此也称这类数据库为基于规则(rule-based)的数据库或逻辑数 据库。它采用的数据模型称为逻辑模型或基于逻辑的数据模型。 (4)关系数据库 1970 年美国 IBM 公司 San Jose 研究室的研究院 E.F.Codd 首次提出了数据库系统的关系 模型,开创了数据库关系方法和关系数据理论的研究,为数据库技术奠定了理论基础。关系 模型是目前最重要的一种数据模型,关系数据库系统采用关系模型作为数据的组织方式。 1.1.4 数据模型 1、数据模型 数据模型(Data Model)是对现实世界数据特征的抽象。由于计算机不可能直接处理现 实世界中的具体事物,所以人们必须事先把具体事物转换成计算机能够处理的数据。也就是

说首先要数字化,把现实世界种具体的人、物、活动、概念用数据模型这个工具来抽象、表示和处理。根据模型应用的不同目的,数据模型分为两类。第一类是概念模型,它是按照用户的观点来对数据和信息建模,主要用于数据库设计。第二类中的逻辑模型包括层次模型、网状模型、关系模型、面向对象模型和对象关系模型。它是按计算机系统的观点对数据建模,主要用于DBMS的实现。2、概念模型概念模型用于信息世界的建模,一方面应该具有较强的语义表达能力,能够方便直接地表达应用中的各种语义知识,另一方面它还应该简单、清晰、易于用户理解。信息世界涉及的主要概念有:(1)实体(Entity)实体是客观存在并可相互区别的事物。客观存在的、具体的事物都是实体,如一个学生一个办公室、一门课、上级领导的一次检查、采购部门的一次订货、学生和所选课程的关系等都是实体。(2)属性(Attribute)实体所具有的某一特性称为属性。若干个属性组合起来可以刻画某个实体,如学生实体可以由学号、姓名、性别、出生年月、籍贯、是否党员、所在系等属性组成。可以用这些属性的值来表征某一个学生实体,如(050621013,王蕾,女,198909,安徽,是,计算机系)。(3)域(Domain)域是一组具有相同数据类型的值的集合。域是属性的取值范围,如学生姓名的域是字符串集合,性别的域为(男,女)。(4)实体型(EntityType)用实体名及其属性名集合来描述同类实体,称为实体型。例如,学生(学号,姓名,性别,出生年月,籍贯,是否党员,所在系)就是一个实体型。(5)实体集(EntitySet)同一类型实体的集合称为实体集。例如,全体学生即是一个实体集。实体型之间的联系有三种情况:一对一联系(1:1)、一对多联系(1:n)和多对多联系(m.n)。概念模型最常用的表示方法称为实体-联系方法(Entity-RelationshipApproach)。该方法采用E-R图(E-RDiagram)来描述现实世界中的概念模型。E-R图采用三种图形来表示实体及其联系:·矩形:表示实体型,矩形框中写出实体名。·椭圆形:表示属性,椭圆形框中写出属性名,并用无向边将其与相对应的实体型连接起来。·菱形:表示联系,菱形框内写出联系名,并用无向边分别与有关实体型连接起来,同时在无向边的旁边标上联系的类型(一对一、一对多或多对多)。3、数据模型的分类目前在数据库领域最常用的逻辑数据模型有:层次模型(HierarchicalModel)、网状模型(NetworkModel)、关系模型(RelationalModel)、面向对象模型(ObjectOrientedModel)和对象关系模型(ObjectRelationalModel)。其中,关系模型自诞生以后,发展迅速,深受用户的青。它具有以下特点:(1)关系模型建立在严格的数学概念的基础之上。(2)关系模型的概念单一。(3)关系模型的存取路径对用户是透明的,从而具有更高的数据独立性、更好的安全

说首先要数字化,把现实世界种具体的人、物、活动、概念用数据模型这个工具来抽象、表 示和处理。 根据模型应用的不同目的,数据模型分为两类。第一类是概念模型,它是按照用户的观 点来对数据和信息建模,主要用于数据库设计。第二类中的逻辑模型包括层次模型、网状模 型、关系模型、面向对象模型和对象关系模型。它是按计算机系统的观点对数据建模,主要 用于 DBMS 的实现。 2、概念模型 概念模型用于信息世界的建模,一方面应该具有较强的语义表达能力,能够方便直接地 表达应用中的各种语义知识,另一方面它还应该简单、清晰、易于用户理解。 信息世界涉及的主要概念有: (1)实体(Entity) 实体是客观存在并可相互区别的事物。客观存在的、具体的事物都是实体,如一个学生、 一个办公室、一门课、上级领导的一次检查、采购部门的一次订货、学生和所选课程的关系 等都是实体。 (2)属性(Attribute) 实体所具有的某一特性称为属性。若干个属性组合起来可以刻画某个实体,如学生实体 可以由学号、姓名、性别、出生年月、籍贯、是否党员、所在系等属性组成。可以用这些属 性的值来表征某一个学生实体,如(050621013,王蕾,女,198909,安徽,是,计算机系)。 (3)域(Domain) 域是一组具有相同数据类型的值的集合。域是属性的取值范围,如学生姓名的域是字符 串集合,性别的域为(男,女)。 (4)实体型(Entity Type) 用实体名及其属性名集合来描述同类实体,称为实体型。例如,学生(学号,姓名,性 别,出生年月,籍贯,是否党员,所在系)就是一个实体型。 (5)实体集(Entity Set) 同一类型实体的集合称为实体集。例如,全体学生即是一个实体集。 实体型之间的联系有三种情况:一对一联系(1:1)、一对多联系(1:n)和多对多联系 (m:n)。 概念模型最常用的表示方法称为实体-联系方法(Entity-Relationship Approach)。该方法 采用 E-R 图(E-R Diagram)来描述现实世界中的概念模型。 E-R 图采用三种图形来表示实体及其联系: ·矩形:表示实体型,矩形框中写出实体名。 ·椭圆形:表示属性,椭圆形框中写出属性名,并用无向边将其与相对应的实体型连接 起来。 ·菱形:表示联系,菱形框内写出联系名,并用无向边分别与有关实体型连接起来,同 时在无向边的旁边标上联系的类型(一对一、一对多或多对多)。 3、数据模型的分类 目前在数据库领域最常用的逻辑数据模型有:层次模型(Hierarchical Model)、网状模 型(Network Model)、关系模型(Relational Model)、面向对象模型(Object Oriented Model) 和对象关系模型(Object Relational Model)。 其中,关系模型自诞生以后,发展迅速,深受用户的青睐。它具有以下特点: (1)关系模型建立在严格的数学概念的基础之上。 (2)关系模型的概念单一。 (3)关系模型的存取路径对用户是透明的,从而具有更高的数据独立性、更好的安全

保密性,也大大简化了程序员的工作和数据库开发建立的工作。1.2关系数据库1.2.1关系1、重要术语域(Domain):一组具有相同数据类型的值的集合。如自然数,0,1),都可以是域。笛卡尔积(CartesianProduct):域上的一种集合运算。关系(Relation):一组域上笛卡尔积的有限子集,关系就是一张二维表。表的每一行称为一个元组。表的每一列对应一个域,每一列有一个唯一的名字,称为属性。表1-1就是一个关系:表1-1一个关系学号姓名性别籍贯出生日期是否团员男否山东00001李平1978/12/11女是00002王佳佳1980/04/17江苏否00003陈瑶女1979/09/02上海是00004张山洲男1982/11/18安徽候选码(Candidatekey)指的是某个属性组,该属性组能唯一标识一个元组。候选码也称为主关键字、主键。若一个关系有多个候选码,则选定一个为主码(Primarykey)。候选码的诸属性称为主属性(Primeattribute)。若F是关系R的一个或一组属性,但F不是R的码。K是关系S的主码。如果F和K相对应,则称F是R的外码(Foreignkey)或外键,或外部关键字。关系通常具备如下性质:(1)每一列中的数据项属于同一种数据类型,来自同一个域,即同质的。(2)不同的列可出自同一个域,其中的每一列为一个属性,不同的属性的名称互不相同。(3)行和列的次序可以任意交换。(4)不充许有重复的行,至少两个元组的候选码不能完全相同。(5)表中的数据项均是不可再分的,即每一个具体的数据都必须取原子值。2、关系模式关系模式(RelationalSchema)就是对关系的描述,它是“型”,而关系是“值”。可以把关系模式形式化地表示为一个五元组:R(U,D,DOM,F)其中R为关系名,U为组成该关系的属性名集合,D为属性组U中属性所来自的域,DOM为属性向域的映像集合,F为属性间数据的依赖关系集合。1.2.2关系的运算关系的运算用来表达查询。关系运算的对象是关系,其运算结果也是关系。关系的运算分为传统的集合运算和专门的关系运算。1、传统的集合运算(1)并(Union)关系R与关系S的并由属于R或属于S的元组组成。(2)交(Intersection)关系R与关系S的交由既属于R又属于S的元组组成

保密性,也大大简化了程序员的工作和数据库开发建立的工作。 1.2 关系数据库 1.2.1 关系 1、重要术语 域(Domain):一组具有相同数据类型的值的集合。如自然数,{0,1},都可以是域。 笛卡尔积(Cartesian Product):域上的一种集合运算。 关系(Relation):一组域上笛卡尔积的有限子集,关系就是一张二维表。表的每一行称 为一个元组。表的每一列对应一个域,每一列有一个唯一的名字,称为属性。表 1-1 就是一 个关系: 表 1-1 一个关系 学号 姓名 性别 出生日期 是否团员 籍贯 00001 李平 男 1978/12/11 否 山东 00002 王佳佳 女 1980/04/17 是 江苏 00003 陈瑶 女 1979/09/02 否 上海 00004 张山洲 男 1982/11/18 是 安徽 候选码(Candidate key)指的是某个属性组,该属性组能唯一标识一个元组。候选码也 称为主关键字、主键。 若一个关系有多个候选码,则选定一个为主码(Primary key)。候选码的诸属性称为 主属性(Prime attribute)。 若 F 是关系 R 的一个或一组属性,但 F 不是 R 的码。K 是关系 S 的主码。如果 F 和 K 相对应,则称 F 是 R 的外码(Foreign key)或外键,或外部关键字。 关系通常具备如下性质: (1)每一列中的数据项属于同一种数据类型,来自同一个域,即同质的。 (2)不同的列可出自同一个域,其中的每一列为一个属性,不同的属性的名称互不相 同。 (3)行和列的次序可以任意交换。 (4)不允许有重复的行,至少两个元组的候选码不能完全相同。 (5)表中的数据项均是不可再分的,即每一个具体的数据都必须取原子值。 2、关系模式 关系模式(Relational Schema)就是对关系的描述,它是“型”,而关系是“值”。 可以把关系模式形式化地表示为一个五元组: R(U,D,DOM,F) 其中 R 为关系名,U 为组成该关系的属性名集合,D 为属性组 U 中属性所来自的域, DOM 为属性向域的映像集合,F 为属性间数据的依赖关系集合。 1.2.2 关系的运算 关系的运算用来表达查询。关系运算的对象是关系,其运算结果也是关系。 关系的运算分为传统的集合运算和专门的关系运算。 1、传统的集合运算 (1)并(Union) 关系 R 与关系 S 的并由属于 R 或属于 S 的元组组成。 (2)交(Intersection) 关系 R 与关系 S 的交由既属于 R 又属于 S 的元组组成

(3)差(Exception)关系R与关系S的差由属于R但不属于S的元组组成。2、专门的关系运算(1)选择(Selection)选择运算是从关系R中选择满足给定条件的诸元组,是从行的角度进行的运算。例如:要在学生档案中查找男生的信息,就可以查询满足条件“性别=“男”的元组。(2)投影(Projection)投影运算是从关系R中挑选出若干属性列组成的新的关系,是从列的角度进行的运算。例如:要查找所有学生的籍贯,就可以在属性“籍贯”上对该关系进行投影操作。注意:投影操作不仅取消了原关系中的某些列,而且可能会取消某些元组。因为在投影操作后,可能会出现重复的行,那么应该取消这些完全重复的行。(3)联接(Join)连接运算是从两个关系的笛卡尔积中选取属性间满足一定条件的元组。其中有两种非常重要也很常用的连接:等值连接和自然连接。自然连接是一种特殊的等值连接,它们都是做属性间为“=”的连接运算,不同的是自然连接会去掉等值连接的结果中可能重复的属性列。1.3数据库设计基础1.3.1概述广义地讲,数据库设计是指数据库及其应用系统的设计,即设计整个数据库应用系统。狭义地讲,是指设计数据库本身,即设计数据库的各级模式并建立数据库,这是数据库应用系统设计的一部分。1.3.2数据库设计的特点数据库设计的特点主要有:1、数据库建设的基本规律重视数据,注重技术,强化管理。2、结构(数据)设计和行为(处理)设计相结合在整个设计过程中把数据库结构设计和对数据的处理设计密切结合起来。1.3.3数据库设计方法数据库设计方法主要有:·新奥尔良(NewOrleans)方法·基于E-R模型的数据库设计方法·3NF(第三范式)的设计方法·ODL(ObjectDefinitionLanguage)方法1.3.4数据库设计的基本步骤数据库设计分为6个步骤:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行和维护。其中,需求分析和概念设计可以独立于任何数据库管理系统进行。逻辑设计和物理设计与选用的DBMS密切相关。1、需求分析阶段进行数据库设计首先必须准确了解与分析用户需求(包括数据与处理)。需求分析是整个设计过程的基础,是最困难、最耗时的一个步骤。2、概念结构设计阶段

(3)差(Exception) 关系 R 与关系 S 的差由属于 R 但不属于 S 的元组组成。 2、专门的关系运算 (1)选择(Selection) 选择运算是从关系 R 中选择满足给定条件的诸元组,是从行的角度进行的运算。 例如:要在学生档案中查找男生的信息,就可以查询满足条件“性别=‘男’”的元组。 (2)投影(Projection) 投影运算是从关系 R 中挑选出若干属性列组成的新的关系,是从列的角度进行的运算。 例如:要查找所有学生的籍贯,就可以在属性“籍贯”上对该关系进行投影操作。 注意:投影操作不仅取消了原关系中的某些列,而且可能会取消某些元组。因为在投影 操作后,可能会出现重复的行,那么应该取消这些完全重复的行。 (3)联接(Join) 连接运算是从两个关系的笛卡尔积中选取属性间满足一定条件的元组。其中有两种非常 重要也很常用的连接:等值连接和自然连接。自然连接是一种特殊的等值连接,它们都是做 属性间为“=”的连接运算,不同的是自然连接会去掉等值连接的结果中可能重复的属性列。 1.3 数据库设计基础 1.3.1 概述 广义地讲,数据库设计是指数据库及其应用系统的设计,即设计整个数据库应用系统。 狭义地讲,是指设计数据库本身,即设计数据库的各级模式并建立数据库,这是数据库应用 系统设计的一部分。 1.3.2 数据库设计的特点 数据库设计的特点主要有: 1、数据库建设的基本规律 重视数据,注重技术,强化管理。 2、结构(数据)设计和行为(处理)设计相结合 在整个设计过程中把数据库结构设计和对数据的处理设计密切结合起来。 1.3.3 数据库设计方法 数据库设计方法主要有: ·新奥尔良(New Orleans)方法 ·基于 E-R 模型的数据库设计方法 ·3NF(第三范式)的设计方法 ·ODL(Object Definition Language)方法 1.3.4 数据库设计的基本步骤 数据库设计分为 6 个步骤:需求分析、概念结构设计、逻辑结构设计、物理结构设计、 数据库实施、数据库运行和维护。其中,需求分析和概念设计可以独立于任何数据库管理系 统进行。逻辑设计和物理设计与选用的 DBMS 密切相关。 1、需求分析阶段 进行数据库设计首先必须准确了解与分析用户需求(包括数据与处理)。需求分析是整 个设计过程的基础,是最困难、最耗时的一个步骤。 2、概念结构设计阶段

概念结构设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。3、逻辑结构设计阶段逻辑结构设计是将概念结构转换为某个DBMS所支持的数据模型,并对其进行优化。4、物理设计阶段物理设计是为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。5、数据库实施阶段在数据库实施阶段,设计人员运用DBMS提供的数据库语言(如SQL)及其宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。6、数据库运行和维护阶段数据库应用系统经过试运行后即投入正式运行。在数据库系统运行过程中必须不断地对其进行评价、调整与修改。1.4VisualFoxPro6.0系统初识1.4.1VisualFoxPro6.0的产生与发展上世纪70年代末,由美国Ashton-Tate公司研制的dBaseII已开始应用于8位微机,随后该公司推出的dBaseIII和dBaseIII+风靡于16位微机市场。1987年,美国FOX软件公司发布了与dBase兼容的FoxBASE+,不仅功能强大,其运行速度也明显提高。它们都运行在DOS平台上,提供给用户两种工作方式:命令执行和程序执行,尤以后者更为厂泛。1989年,FOX公司继续推出了FoxBASE+的后继产品一一FoxPro,其1.0版和2.0版仍然是运行在DOS平台上的。1992年,美国Microsoft公司收购了FOX公司,并于次年推出了FoxProforWindows(2.5版),使它从字符界面演变到图形用户界面。该版本和它的后续版本2.6版为后来的可视化程序设计打下了良好的基础。1995年,Microsoft公司首次将可视化程序引入了FoxPro,并将其新版本取名为VisualFoxPro3.0,简称VFP3.0。新版本在用户界面的直观易用、面向对象的程序设计及数据的处理能力等方面都有全新的突破。1998年,Microsoft推出了VisualFoxPro6.0(中文版)。优越的性能使VFP6.0在同类的微机数据库管理系统中脱颖而出,初步形成为兼有SQL与本身“自含型”语言、包括结构化和可视化两类程序设计、支持C/S应用模式与网络应用的交互式数据库开发环境。此后,Microsoft公司又相继发布了VisualFoxPro7.0(2001年)、VisualFoxPro8.0(2003年)和VisualFoxPro9.0(2004年)等后续版本,这些新版本都没有配置中文版。尽管VFP正面临着.NET等热门语言的冲击和挑战,但对于初学者入门、课堂教学以及开发中小型数据库应用系统,VisualFoxPro6.0仍不失为一款优秀的程序设计语言和系统开发工具。1.4.2VisualFoxPro6.0的工作界面VisualFoxPro6.0与其他的Windows应用程序一样,采用图形用户界面,在其界面上含有大量Windows风格的元素,如窗口(windows)、图标(icons)和菜单(menus)等技术。1、VisualFoxPro6.0的启动界面启动VisualFoxPro6.0后,屏幕上就会出现一个窗口,该窗口由以下几个部分组成:(1)标题栏。显示应用程序窗口的名称MicrosoftVisualFoxPro。(2)控制按钮。在标题栏最右边,有三个控制按钮,分别是“最小化”按钮、“最大化(还原)”按钮和“关闭”“按钮

概念结构设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形 成一个独立于具体 DBMS 的概念模型。 3、逻辑结构设计阶段 逻辑结构设计是将概念结构转换为某个 DBMS 所支持的数据模型,并对其进行优化。 4、物理设计阶段 物理设计是为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取 方法)。 5、数据库实施阶段 在数据库实施阶段,设计人员运用 DBMS 提供的数据库语言(如 SQL)及其宿主语言, 根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行 试运行。 6、数据库运行和维护阶段 数据库应用系统经过试运行后即投入正式运行。在数据库系统运行过程中必须不断地对 其进行评价、调整与修改。 1.4 Visual FoxPro 6.0 系统初识 1.4.1 Visual FoxPro 6.0 的产生与发展 上世纪 70 年代末,由美国 Ashton-Tate 公司研制的 dBase II 已开始应用于 8 位微机,随 后该公司推出的 dBase III 和 dBase III+风靡于 16 位微机市场。1987 年,美国 FOX 软件公司 发布了与 dBase 兼容的 FoxBASE+,不仅功能强大,其运行速度也明显提高。它们都运行在 DOS 平台上,提供给用户两种工作方式:命令执行和程序执行,尤以后者更为广泛。 1989 年,FOX 公司继续推出了 FoxBASE+的后继产品——FoxPro,其 1.0 版和 2.0 版仍 然是运行在 DOS 平台上的。1992 年,美国 Microsoft 公司收购了 FOX 公司,并于次年推出 了 FoxPro for Windows(2.5 版),使它从字符界面演变到图形用户界面。该版本和它的后续 版本 2.6 版为后来的可视化程序设计打下了良好的基础。 1995 年,Microsoft 公司首次将可视化程序引入了 FoxPro,并将其新版本取名为 Visual FoxPro 3.0,简称 VFP 3.0。新版本在用户界面的直观易用、面向对象的程序设计及数据的处 理能力等方面都有全新的突破。 1998 年,Microsoft 推出了 Visual FoxPro 6.0(中文版)。优越的性能使 VFP 6.0 在同类 的微机数据库管理系统中脱颖而出,初步形成为兼有 SQL 与本身“自含型”语言、包括结 构化和可视化两类程序设计、支持 C/S 应用模式与网络应用的交互式数据库开发环境。 此后,Microsoft 公司又相继发布了 Visual FoxPro 7.0(2001 年)、Visual FoxPro 8.0(2003 年)和 Visual FoxPro 9.0(2004 年)等后续版本,这些新版本都没有配置中文版。尽管 VFP 正面临着.NET 等热门语言的冲击和挑战,但对于初学者入门、课堂教学以及开发中小型数 据库应用系统,Visual FoxPro 6.0 仍不失为一款优秀的程序设计语言和系统开发工具。 1.4.2 Visual FoxPro 6.0 的工作界面 Visual FoxPro 6.0 与其他的 Windows 应用程序一样,采用图形用户界面,在其界面上含 有大量 Windows 风格的元素,如窗口(windows)、图标(icons)和菜单(menus)等技术。 1、Visual FoxPro 6.0 的启动界面 启动 Visual FoxPro 6.0 后,屏幕上就会出现一个窗口,该窗口由以下几个部分组成: (1)标题栏。显示应用程序窗口的名称 Microsoft Visual FoxPro。 (2)控制按钮。在标题栏最右边,有三个控制按钮,分别是“最小化”按钮、“最大化 (还原)”按钮和“关闭”“按钮

(3)菜单栏。用于显示系统菜单(主菜单)所包含的选项,供用户选择。(4)工具栏。由若干工具按钮组成,每个按钮对应一项特定功能。(5)窗口工作区。主要用于:显示命令或程序的执行(运行)结果:显示VFP提供的工具栏。(6)窗口边框。窗口的外边线,在窗口非最大化时,可拖动外边线改变窗口的大小。2、命令窗口命令窗口是VFP中的一个重要窗口之一,它是VFP主窗口中的一个小窗口。命令窗口是用户采用命令方式操作的“接口”。它的主要作用是显示命令,而命令的来源有两种情况:(1)当用户采用命令操作方式时,从键盘键入命令,敲击Enter键即可执行该命令。(2)当用户采用界面操作方式时,每操作一步,系统会自动将相应的命令显示在命令窗口中。3、向导、设计器与项目管理器为了使用户高效、便捷地开发数据库应用系统,VisualFoxPro6.0提供了一系列可视化的辅助开发工具,包括向导、设计器、生成器和项目管理器。(1)向导(wizard)向导是一种快捷的设计工具,它通过一系列对话框依次与用户对话,引导用户完成某项任务。向导最大的特点就是“快”,不仅设计过程简单、迅速,执行速度也很快。向导可以胜任通用、简单的任务。VisualFoxPro6.0提供的向导有20多种,包括数据文件(表、视图、查询等)、文档(报表、标签、表单等)、应用程序和服务器数据库,这些都可以用相应的向导去建立。(2)设计器(designer)设计器比向导的功能更强,可以用来创建或修改复杂的对象,使用方法非常灵活。通常的做法是用向导快速建立一个简单的框架,再使用设计器进行详细、必要的修改。(3)生成器(builder)生成器又称为构造器,其主要功能是在VFP应用程序的组件中加入某类控件(如组合框),或为之设置属性等。(4)项目管理器(programmanager)项目管理器主要功能是对被开发系统的数据、文档、源代码和类库等资源进行集中、高效的管理。1.4.3VisualFoxPro6.0的主要文件类型VisualFoxPro6.0包括丰富的文件类型,表1-2列出了主要的文件类型及其文件的扩展名。表1-2VisualFoxPro6.0中的主要文件类型及其扩展名扩展名扩展名文件类型扩展名文件类型文件类型生成的应用程序.frx报表ActiveX控件.ocx.app复合索引.fxp编译后的程序项目备注.cdxpjt.dbc数据库.h头文件项目-pjx.dbf表程序.hlp帮助文件prg..dbg调试器配置.htmHTML生成的查询程序.qpr.dct数据库备注.idx索引,压缩索引编译后查询程序.qpx.dex.Ibt表单备注数据库索引标签备注.sctdll.Ibx标签表单Win动态链接库.SCX.tbkerr编译错误.log代码范围日志备注备份

(3)菜单栏。用于显示系统菜单(主菜单)所包含的选项,供用户选择。 (4)工具栏。由若干工具按钮组成,每个按钮对应一项特定功能。 (5)窗口工作区。主要用于:显示命令或程序的执行(运行)结果;显示 VFP 提供的 工具栏。 (6)窗口边框。窗口的外边线,在窗口非最大化时,可拖动外边线改变窗口的大小。 2、命令窗口 命令窗口是 VFP 中的一个重要窗口之一,它是 VFP 主窗口中的一个小窗口。命令窗口 是用户采用命令方式操作的“接口”。它的主要作用是显示命令,而命令的来源有两种情况: (1)当用户采用命令操作方式时,从键盘键入命令,敲击 Enter 键即可执行该命令。 (2)当用户采用界面操作方式时,每操作一步,系统会自动将相应的命令显示在命令 窗口中。 3、向导、设计器与项目管理器 为了使用户高效、便捷地开发数据库应用系统,Visual FoxPro 6.0 提供了一系列可视化 的辅助开发工具,包括向导、设计器、生成器和项目管理器。 (1)向导(wizard) 向导是一种快捷的设计工具,它通过一系列对话框依次与用户对话,引导用户完成某项 任务。向导最大的特点就是“快”,不仅设计过程简单、迅速,执行速度也很快。向导可以 胜任通用、简单的任务。 Visual FoxPro 6.0 提供的向导有 20 多种,包括数据文件(表、视图、查询等)、文档(报 表、标签、表单等)、应用程序和服务器数据库,这些都可以用相应的向导去建立。 (2)设计器(designer) 设计器比向导的功能更强,可以用来创建或修改复杂的对象,使用方法非常灵活。通常 的做法是用向导快速建立一个简单的框架,再使用设计器进行详细、必要的修改。 (3)生成器(builder) 生成器又称为构造器,其主要功能是在 VFP 应用程序的组件中加入某类控件(如组合 框),或为之设置属性等。 (4)项目管理器(program manager) 项目管理器主要功能是对被开发系统的数据、文档、源代码和类库等资源进行集中、高 效的管理。 1.4.3 Visual FoxPro 6.0 的主要文件类型 Visual FoxPro 6.0 包括丰富的文件类型,表 1-2 列出了主要的文件类型及其文件的扩展 名。 表 1-2 Visual FoxPro 6.0 中的主要文件类型及其扩展名 扩展名 文件类型 扩展名 文件类型 扩展名 文件类型 .app 生成的应用程序 .frx 报表 .ocx ActiveX 控件 .cdx 复合索引 .fxp 编译后的程序 .pjt 项目备注 .dbc 数据库 .h 头文件 .pjx 项目 .dbf 表 .hlp 帮助文件 .prg 程序 .dbg 调试器配置 .htm HTML .qpr 生成的查询程序 .dct 数据库备注 .idx 索引,压缩索引 .qpx 编译后查询程序 .dcx 数据库索引 .lbt 标签备注 .sct 表单备注 .dll Win 动态链接库 .lbx 标签 .scx 表单 .err 编译错误 .log 代码范围日志 .tbk 备注备份

可执行程序.Ist向导列表文档.txt文本exe宏.fky内存变量保存.vct可视类库备注.memf1lFoxPro动态链接库.mnt菜单备注可视类库.Vcx.fmt菜单格式文件.mnx.win窗口文件.fpt表备注生成菜单程序mprfrt报表备注编译后菜单程序mpx1.4.4VisualFoxPro6.0的工作方式VisualFoxPro6.0支持两种工作方式:交互操作方式和程序执行方式1、交互操作方式交互操作方式又称为命令执行方式。使用命令执行方式时要遵守以下规则:每条命令以命令动词开头,动词后的选项先后顺序可以任意,但必须符合命令格式的规定。②用空格来分隔每条命令中的各个选择项。③分号作为续行符(:)用来表示下一行仍是同一命令的一部分,这样就可以把一条长命令分成多行来写,但命令的最后一行不能以分号结尾。④命令动词、各短语中的关键字、函数名都可以简写为4个字符,不区分大小写。VisualFoxPro6.0同时支持命令执行与界面操作两种方式。但由于更加完善了界面操作,使交互操作方式的内涵逐渐从以命令方式为主转变为以界面操作为主、命令方式为辅。VFP提供了功能丰富、强大的各种辅助设计工具(如向导、设计器等),这些工具直观的可视化界面正越来越多的为用户所熟悉。当然,习惯使用命令的用户仍然可以很方便地通过在命令窗口中键入命令进行操作。需要说明的是,在对数据库和数据表进行操作时,若用户选择了一个菜单项,在命令窗口中就会出现一条相应的命令,实际上选择菜单项操作相当于发出VisualFoxPro6.0命令来进行操作。2、程序执行方式程序是命令的有序的、特定的集合。用户需要时,只需通过DO命令执行某个程序文件,系统即自动执行该程序所包含的命令序列,最大程度地提高了用户的工作效率,避免了交互方式因其固有特点而效率低下的问题。程序执行方式运行效率高,且可重复执行

.exe 可执行程序 .lst 向导列表文档 .txt 文本 .fky 宏 .mem 内存变量保存 .vct 可视类库备注 .fll FoxPro 动态链接库 .mnt 菜单备注 .vcx 可视类库 .fmt 格式文件 .mnx 菜单 .win 窗口文件 .fpt 表备注 .mpr 生成菜单程序 .frt 报表备注 .mpx 编译后菜单程序 1.4.4 Visual FoxPro 6.0 的工作方式 Visual FoxPro 6.0 支持两种工作方式:交互操作方式和程序执行方式。 1、交互操作方式 交互操作方式又称为命令执行方式。 使用命令执行方式时要遵守以下规则: ①每条命令以命令动词开头,动词后的选项先后顺序可以任意,但必须符合命令格式的 规定。 ②用空格来分隔每条命令中的各个选择项。 ③分号作为续行符(;)用来表示下一行仍是同一命令的一部分,这样就可以把一条长 命令分成多行来写,但命令的最后一行不能以分号结尾。 ④命令动词、各短语中的关键字、函数名都可以简写为 4 个字符,不区分大小写。 Visual FoxPro 6.0 同时支持命令执行与界面操作两种方式。但由于更加完善了界面操作, 使交互操作方式的内涵逐渐从以命令方式为主转变为以界面操作为主、命令方式为辅。VFP 提供了功能丰富、强大的各种辅助设计工具(如向导、设计器等),这些工具直观的可视化 界面正越来越多的为用户所熟悉。当然,习惯使用命令的用户仍然可以很方便地通过在命令 窗口中键入命令进行操作。 需要说明的是,在对数据库和数据表进行操作时,若用户选择了一个菜单项,在命令窗 口中就会出现一条相应的命令,实际上选择菜单项操作相当于发出 Visual FoxPro 6.0 命令 来进行操作。 2、程序执行方式 程序是命令的有序的、特定的集合。用户需要时,只需通过 DO 命令执行某个程序文件, 系统即自动执行该程序所包含的命令序列,最大程度地提高了用户的工作效率,避免了交互 方式因其固有特点而效率低下的问题。 程序执行方式运行效率高,且可重复执行

已到末页,全文结束
刷新页面下载完整文档
VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
相关文档