程序设计基础1章_第1页
程序设计基础1章_第2页
程序设计基础1章_第3页
程序设计基础1章_第4页
程序设计基础1章_第5页
已阅读5页,还剩131页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1第1章数据库基础本章学习目标:掌握数据库、数据模型、数据库管理系统等基本概念;掌握关系模型、关系模式、关系、元组、属性、域、主关键字和外部关键字等概念;会使用投影、选择、联接等关系运算;了解数据库的实体完整性、域完整性、参照完整性;了解VFP系统的特点与工作方式、各种设计器和向导。21.1数据库基础知识信息及数据的处理数据管理技术的发展数据库系统的基本概念数据库系统的特点数据模型关系的术语关系的基本性质关系的运算关系的完整性约束31.信息及数据的处理(1)数据是指能被计算机识别和处理的物理符号,是信息具体化的表示形式,其形式多样化,如:文字、字母、数字、图形、图象、动画、声音等。

数据的概念包括两个方面:描述事物特性的数据内容以及存储在媒体上的数据形式。例如“2007年7月1日”是一个数据,它可以表示为“2007-07-01”、“01/07/2007”等多种形式。1.1数据库基础知识41.信息及数据的处理(2)信息是客观事物的特征在人脑中的反映,是经过加工处理并对人类客观行为产生影响的数据表现形式。1.1数据库基础知识符号化信息数据加工处理信息≠数据5(3)数据处理是对原始数据进行各种加工处理,使之成为可利用的、有价值的信息。数据管理是数据处理的核心,它主要是指对数据进行分类、排序、编码、存储、检索和维护等操作。62.数据管理技术的发展数据管理技术经历了由低级向高级的发展过程。这一过程一般可以分为三个阶段:人工管理阶段、文件系统阶段、数据库系统阶段。71)人工管理:数据不保存,数据不具有独立性,数据面向程序,一组数据对应一组程序,无法被其他程序利用,存在大量的冗余数据。程序1程序2……程序n数据1数据2数据n……数据的人工管理示意图程序数据完全依赖8程序1程序2……程序n数据文件1……数据的文件管理示意图文件系统数据文件2数据文件n2)文件系统:数据可长期保存,由文件系统管理数据,但数据共享性差,冗余度大;程序与数据有了一定的独立性,但独立性差,容易产生不一致性。程序文件数据文件依赖为特定的需要而设计,为某一特定的程序而使用93)数据库系统:数据采用统一的结构存放,具有集成性、高度共享性、低冗余度、高度独立性,并能避免数据之间的不相容性和不一致性。数据库管理示意图程序文件数据库独立多个用户可同时访问数据库中的数据10

数据管理三个阶段的比较11新兴阶段:数据仓库不同点处理技术面向的用户不同数据内容不同数据来源不同数据操作不同数据库系统分析处理日常数据的底层人员存储管理当前数据同种数据来源执行联机事务和查询处理(OLTP)数据仓库系统用数据进行决策支持的中高层人员存储长期积累的历史数据多个异种数据源提供数据分析和决策支持(OLAP)数据库系统和数据仓库系统的区别123、数据库系统的基本概念1)数据库DB(DataBase)

是存储在计算机中结构化的相关数据的集合。它不仅包含描述事物的数据本身,而且包含数据之间的联系。在2)数据管理系统(DBMS)

是建立、维护、使用和管理数据库的软件。常用的中小型数据库管理系统有SQLServer,dBase、FoxBase,FoxPro,VisualFoxPro,Access等。DBMS具有数据库描述(DDL)、操纵(DML)和控制(DCL)的功能。DB=数据本身+数据间的联系133)数据库系统(DBS)

是指计算机系统引入数据库之后组成的系统,是用来组织和存取大量数据的管理系统。它由数据库、硬件系统、数据库管理系统及其相关软件、数据库管理员(DBA,DataBaseAdministrator)和其他用户五部分组成。数据库系统的核心是数据库管理系统。数据库(DB)DBS组成计算机系统数据库管理系统(DBMS)有关人员硬件基本软件数据库管理员应用设计人员最终用户数据库应用系统数据的数据库系统数据库管理系统操作系统硬件数据库基本概念1.数据库数据库(DB)是存放数据的仓库,只不过这些数据存在一定的关联,并按一定的格式存放在计算机上。从广义上讲,数据不仅包含数字,还包括了文本、图像、音频、视频等。例如,把学校的学生、课程、学生成绩等数据有序地组织并存放在计算机内,就可以构成一个数据库。因此,数据库由一些持久的相互关联数据的集合组成,并以一定的组织形式存放在计算机的存储介质中。数据库与数据库管理系统数据库与数据库管理系统数据库管理系统数据库管理系统(DBMS)是管理数据库的系统,它按一定的数据模型组织数据。DBMS应提供如下8个功能:(1)数据定义功能可定义数据库中的数据对象。(2)数据操纵功能可对数据库表进行基本操作,如插入、删除、修改、查询。(3)数据的完整性检查功能保证用户输入的数据应满足相应的约束条件。(4)数据库的安全保护功能保证只有赋予权限的用户才能访问数据库中的数据。数据库与数据库管理系统(5)数据库的并发控制功能使多个应用程序可在同一时刻并发地访问数据库的数据。(6)数据库系统的故障恢复功能使数据库运行出现故障时进行数据库恢复,以保证数据库可靠运行。(7)在网络环境下访问数据库的功能。(8)方便、有效地存取数据库信息的接口和工具。编程人员通过程序开发工具与数据库的接口编写数据库应用程序。数据库管理员(DBA,DataBaseAdminitrator)通过提供的工具对数据库进行管理。数据库与数据库管理系统数据、数据库、数据库管理系统与操作数据库的应用程序,加上支撑它们的硬件平台、软件平台和与数据库有关的人员一起构成了一个完整的数据库系统。图1.1描述了数据库系统的构成。图1.1数据库系统的构成181)数据结构化(即采用特定的数据模型)是数据库系统与文件系统的本质区别。2)数据共享性高、冗余度低、易扩充。3)具有较高的数据独立性。4)数据由DBMS统一管理和控制。4、数据库系统的特点194)数据库应用系统(DBAS)

数据库应用系统是为特定应用开发的数据库应用软件。(是为了解决某个实际问题,开发人员利用DBMS编写的应用软件,例如教学管理软件、财务管理软件等。)数据库管理系统为数据的定义、存储、查询和修改提供支持,而数据库应用系统是对数据库中的数据进行处理和加工的软件,它面向特定应用。例如,基于数据库的各种管理软件:管理信息系统、决策支持系统和办公自动化等都属于数据库应用系统。20

从客观事物到信息,再到数据,是人们对现实世界的认识和描述过程,需要经历现实世界、信息世界和数据世界(也称为机器世界、计算机世界)这三个世界的转换。5.数据模型21概念模型:

从客观事物到信息,把现实世界中的客观对象抽象为概念模型(也称信息模型),它是按用户的观点来对数据建模。数据模型:

从信息到数据,把信息世界中的概念模型转换为数据世界中某一DBMS支持的数据模型,它是按计算机系统的观点对数据建模。22(1)信息模型1)实体:客观存在并可相互区别的事物,如:工人、王楠、学生、班级等2)实体集:同类型实体的集合称为实体集。例如一个班的全体学生就是一个实体集。3)属性:描述实体的特性。4)实体型:属性的集合表示一种实体的类型,称为实体型。5)联系:实体之间存在的对应关系,反映客观事物的相互关联。23实体-联系模型

最常用的概念模型是实体-联系模型,常采用E-R图(Entity-Relation)建模,所以实体模型有时被简称为E-R模型。E-R模型图用矩形、椭圆和菱形分别表示实体、属性和联系。

实体名属性名属性名实体名属性名属性名联系名24联系的3种类型一对一联系(1:1):

学生与学号之间具有一对一联系。一对多联系(1:n):班级与学生之间具有一对多联系。多对多联系(m:n):课程与学生之间具有多对多联系。班级班级-班长班长111:1联系课程选修学生mnm:n联系班级组成学生1n1:n联系ABABAB25(2)数据模型

数据模型是在计算机世界中建立的模型,该模型由数据结构、数据操作和完整性约束三部分组成。典型的数据模型主要包括层次模型、网状模型、关系模型等。261)层次模型:以属性结构为基础的数据结构,具有明显的上下层的关系,模型简单、直观、处理方便,但不能处理多对多联系的复杂模型。层次模型是用树型结构来表示数据之间的联系。总经理财务处长设备处长人事处处长职员职员职员职员职员职员职员272)网状模型:以网络结构为基础的数据结构,可以表示复杂的数据结构,但实现的算法比较难规范。网络模型是用网络结构来表示数据之间的联系,可以表示多对多的联系。283)关系模型:以二维表格为数据的表示方式,表格中同一行的为一条记录,同一列的为一个数据项或称字段,一个表格对应一个关系,多个关系组成一个关系模型。特点:(1)表格中的每一列都是不可再分的基本属性,即表中不能再包含表;(2)各列被指定一个相异的名字;(3)各行不允许重复;(4)行、列的次序无关。关系模型=数据结构+关系运算+完整性约束。29(1)关系:一张二维表,在VFP中一个关系就称为一个数据表。(2)元组:指表中一行上的所有数据,在VFP中一行称为一个记录。(3)属性:指表中的一列,在VFP中一列称为一个字段。(4)域:指表中属性的取值范围,在VFP中字段的取值称为一个字段的宽度。(5)关系模式:对关系的描述,一个关系模式对应一个关系的结构,其格式为:关系名(属性1,属性2,属性3,…,属性n)6.关系的术语一个关系模型由若干个关系模式组成。30(6)关键字或码(Key):表中用来唯一确定(标识)一个元组的某个属性或多个属性的组合。如学号可作为学生表的码、学号和课程号的组合可作为选课表的码。一个关系中的关键字必须唯一,关键字的值不能为空,即关键字的值为空的元组或重复的元组在关系中是不允许存在的。31关键字的种类①候选关键字(候选码)

如果一个关系中存在多个属性或属性组合都能用来唯一标识该关系的元组,这些属性或属性组合都称为该关系的候选关键字或候选码。②主关键字(主码)

在一个关系的若干个候选关键字中指定作为关键字的属性或属性组合称为该关系的主关键字或主码。③非主属性(非码属性)

关系中不组成码的属性均为非主属性或非码属性。④外部关键字(外键)

当关系中某个属性或属性组合虽不是该关系的关键字或只是关键字的一部分,但却是另外一个关系的关键字时,称该属性或属性组合为这个关系的外部关键字或外键。主表与从表是指以外键相关联的两个表;以外键作为主键的表称为主表,外键所在的表称为从表。32姓名学号班级课程号成绩王楠210001体1100180李菊210002体2100188严森210011体1200191课程名课程号学时学分英语1001806计算机基础2001705专业基础30011008学生表课程表课程号是学生关系的外关键字,不是关键字,但是课程关系的关键字33术语的比较信息世界术语关系术语表术语实体集关系二维表实体元组记录(行)属性属性字段(列)实体型关系模式表结构341)关系必须规范化,每个属性必须是不可分割的数据单元,即表中不能再包含表。2)同一个关系中不能出现相同的属性名,即不允许有相同的字段3)关系中不允许有完全相同的元组,即不允许有冗余4)关系中各行的次序、各列的次序不要求。即元组与属性的次序无关紧要7.关系的特点358.关系的完整性约束

数据库完整性是指数据库中数据的正确性和相容性。关系的完整性主要有域完整性、实体完整性和参照完整性三种。

数据库完整性由各种各样的完整性约束来保证。数据库完整性约束可以通过DBMS或应用程序来实现,基于DBMS的完整性约束作为模式的一部分存入数据库中。实体完整性规则参照完整性规则用户定义的完整性规则36

在关系模型中,实体以及实体间的联系采用了单一数据结构——关系来表示。对数据的操作就是对关系的运算,即对记录的集合进行操作。关系的运算可分为两类:传统的集合运算(交、差和并)和专门的关系运算(选择、投影和连接)。

9.关系的运算371)并:两个关系的所有元组组成的集合2)交:两个关系共有的元组的集合3)差:设两个关系R和S,R差S的结果是由属于R但不属于S的元组组成的集合

要求进行运算的两个关系必须具有相同的关系模式,即相同的结构。1.传统的集合运算381)选择运算:选择运算是根据给定的条件,从一个关系中选出若干个元组组成一个新的关系,其关系模式不变。选择运算是关系的横向操作,不改变原关系模式,即行数改变(二维表的高度减小),列数不变(二维表的宽度不变)。在VFP中的短语FOR<条件>和WHILE<条件>均相当于选择运算。

2.专门的关系运算选择学号姓名性别出生日期专业200602143李栋男1985-3-12机电一体化200602189刘强男1987-7-5工程管理学号姓名性别出生日期专业200602143李栋男1985-3-12机电一体化200602157冯兰女1986-5-7机械设计自动化200602187秦海燕女1988-10-6工程管理200602189刘强男1987-7-5工程管理200602151张晓红女1986-9-30机械设计自动化σ姓名、出生日期和专业(学生表)392)投影运算是从一个关系中指定若干个属性组成新的关系,并可以重新安排列的顺序。投影运算就是关系的纵向操作,改变了原关系模式,即列数改变。在VFP中短语FIELDS<字段1,字段2,…>相当于投影运算。2.专门的关系运算学号姓名性别出生日期专业200602143李栋男1985-3-12机电一体化200602157冯兰女1986-5-7机械设计自动化200602187秦海燕女1988-10-6工程管理200602189刘强男1987-7-5工程管理200602151张晓红女1986-9-30机械设计自动化姓名出生日期专业李栋1985-3-12机电一体化冯兰1986-5-7机械设计自动化秦海燕1988-10-6工程管理刘强1987-7-5工程管理张晓红1986-9-30机械设计自动化投影Π姓名、出生日期和专业

(学生表)403)联接运算是将两个关系通过公共的属性拼接成一个更宽的关系,生成的新关系中包含满足联接条件的元组。运算过程是通过联接条件实现关系的横向组合。在VFP中,有单独一条短语JOIN就可以实现两个关系的联接运算。等值联接和自然联接是最常用联接运算。①等值联接在联接条件中使用等号(=)运算符比较被联接列的列值,其联接结果中列出被联接表中的所有列,包括两表的重复属性。只要求属性值相等,不要求属性名相同。②自然联接去掉重复属性的等值联接。既要求属性值相等,也要求属性名相同。41关系运算—小结

如果需要两个以上的关系进行联接,应当两两进行。利用关系(表)的这三种专门运算可以方便地构造各种新的关系(表)。双目运算联接选择:限制元组(行)投影:指定属性(列)单目运算42数据结构简单,格式描述统一,概念清除。能反映实体之间的一对一、一对多、多对多三种联系。有严格的数学理论基础。易学习,易理解,符合使用习惯。补充内容1:关系模型的优点43包括结构设计和行为设计。结构设计:主要确定数据库和数据表行为设计:主要确定某种程序设计方法和使用某种语言来编写应用程序。1.3:数据库设计基础1.数据库设计内容44概念单一化:数据表结构要简单、明晰,应避免大而杂。避免重复字段:除外部关键字外,应尽量减少不同表中的重复字段。表中保存原始数据:应避免出现通过计算可得到的字段。合理设计关键字:通过主关键字和外部关键字建立不同表之间的联接.

2、数据库设计原则45需求分析:信息需求、处理需求、安全性和完整性需求确定需要的表确定所需的字段确定联系:一对一的联系、一对多的联系、多对多的联系设计求精3.数据库设计步骤46需求分析:信息需求;处理需求;安全与完整性需求.结构设计:数据库→表→字段→关键字→表间联系;确定需要的表、确定字段、确定联系、设计求精系统设计实施:建立库、表结构;设计、编写应用系统功能模块;调试应用程序.3.数据库设计过程47例1.1

设人事管理关系模型中有下列关系模式:1.部门(部门编号,部门名称,……)2.职工情况(职工编号,姓名,性别,出生日期,学历,职称,……)3.工资(职工编号,基础工资,职务津贴,奖金,水电费,……)补充内容3:关系模型举例48

由部门、职工情况、工资三个关系模式构成的关系模型如下:部门编号部门名称…103金融系108计算机系109外语系......人事管理关系模型示意图职工编号姓名性别部门编号…

199002

胡嘉男108

199316

刘欣女108

199806

李敏君女109.........职工编号姓名基本工资…199806李敏君2180.00199002胡嘉1800.00199316刘欣2060.00.........部门表职工情况表工资表49例1.2设图书借阅关系模型中有下列关系模式:1.图书(书编号,书名,作者,出版社,单价,分类号,…)2.借阅(书编号,借书证号,借阅日期,…

…)3.学生(学号,姓名,班级,……)50

由图书、借阅登记、学生三个关系模式构成的关系模型如下:图书借阅关系模型示意图

学号

姓名班级

199002胡嘉物流081199316刘欣建工092

.........书编号书名作者…TP2-01数据库概论萨师煊TP3-10BASIC语言谭浩强TP3-20C程序设计谭浩强.........图书表书编号

借书证号

借阅日期TP3-101990022002/03/20TP3-201993162002/10/06TP3-201990022002/10/06TP2-011993162003/05/20

.........

借阅表学生表1.2关系数据库设计通常,把每一类数据对象的个体称为“实体”,而每一类对象个体的集合称为“实体集”,因此在学生成绩管理系统中主要涉及“学生”和“课程”两个实体集。其他非主要的实体可以很多,如班级、班长、任课教师、辅导员等实体。每个实体集涉及的信息项称为属性。就“学生”实体集而言,它的属性有学号、姓名、专业名、性别、出生日期、总学分、备注。“课程”实体集属性有课程号、课程名、类别、开课学期、学时和学分。1.2.1概念结构设计1.2关系数据库设计实体集中的实体彼此是可区别的,如果实体集中的属性或最小属性组合的值能唯一标志其对应实体,则将该属性或属性组合称为码。对于每一个实体集,可指定一个码为主码。如果用矩形框表示实体集,用带半圆的矩形框表示属性,用线段连接实体集与属性,当一个属性或属性组合指定为主码时,在实体集与属性的连接线上标记一斜线,则可以用图1.4描述学生成绩管理系统中的实体集及每个实体集涉及的属性。1.2关系数据库设计图1.4学生和课程实体集属性的描述1.2.1概念结构设计实体集A和实体集B之间存在各种关系,通常把这些关系称为“联系”。通常将实体集及实体集联系的图表示为实体(Entity)-联系(Relationship)模型;从分析用户项目涉及的数据对象及数据对象之间的联系出发,到获取E-R图的这一过程称为概念结构设计。联系用菱形表示,通过直线与实体相连。这样构成的图就是E-R图,E-R图就是E-R模型的描述方法。两个实体集A和B之间的联系可能是以下三种情况之一。1.2.1概念结构设计1.一对一的联系(1:1)A中的一个实体最多与B中的一个实体相联系,B中的一个实体也最多与A中的一个实体相联系。例如,“班级”与“正班长”这两个实体集之间的联系是一对一的联系,因为一个班只有一个班长,反过来,一个正班长只属于一个班。“班级”与“正班长”两个实体集的E-R模型如图1.5所示。图1.5“班级”与“正班长”实体集E-R模型1.2.1概念结构设计2.一对多的联系(1:n)A中的一个实体可以与B中的多个实体相联系,而B中的一个实体至多与A中的一个实体相联系。例如,“班级”与“学生”这两个实体集之间的联系是一对多的联系,因为,一个班可有若干学生,反过来,一个学生只能属于一个班。“班级”与“学生”两个实体集的E-R模型如图1.6所示。图1.6“学生”与“班级”两个实体集的E-R模型1.2.1概念结构设计3.多对多的联系(m:n)A中的一个实体可以与B中的多个实体相联系,而B中的一个实体也可与A中的多个实体相联系。例如,“学生”与“课程”这两个实体集之间的联系是多对多的联系,因为,一个学生可选多门课程,反过来,一门课程可被多个学生选修。“学生”与“课程”两个实体集的E-R模型如图1.7所示。图1.7“学生”与“课程”实体集间的E-R模型1.2.2逻辑结构设计1.(1:1)联系的E-R图到关系模式的转换对于(1∶1)的联系既可单独对应一个关系模式,也可以不单独对应一个关系模式。(1)联系单独对应一个关系模式,则由联系属性、参与联系的各实体集的主码属性构成关系模式,其主码可选参与联系的实体集的任一方的主码。例如,考虑图1.5描述的“班级(BJ)”与“正班长(BZ)”实体集通过属于(SY)联系E-R模型可设计如下关系模式(下横线表示该字段为主码):BJ(班级编号,院系,专业名,人数)BZ(学号,姓名)SY(学号,班级编号)1.2.2逻辑结构设计(2)联系不单独对应一个关系模式,联系的属性及一方的主码加入另一方实体集对应的关系模式中。例如,考虑图1.5描述的“班级(BJ)”与“正班长(BZ)”实体集通过属于(SY)联系E-R模型可设计如下关系模式:BJ(班级编号,院系,专业名,人数)BZ(学号,姓名,班级编号)或者BJ(班级编号,院系,专业名,人数,学号)BZ(学号,姓名)1.2.2逻辑结构设计2.(1:n)联系的E-R图到关系模式的转换对于(1∶n)的联系既可单独对应一个关系模式,也可以不单独对应一个关系模式。(1)联系单独对应一个关系模式,则由联系的属性、参与联系的各实体集的主码属性构成关系模式,n端的主码作为该关系模式的主码。例如,考虑图1.6描述的“班级(BJ)”与“学生(XS)”实体集E-R模型可设计如下关系模式:BJ(班级编号,院系,专业名,人数)XS(学号,姓名,专业名,性别,出生日期,总学分,备注)SY(学号,班级编号)1.2.2逻辑结构设计(2)联系不单独对应一个关系模式,则将联系的属性及1端的主码加入n端实体集对应的关系模式中,主码仍为n端的主码。例如,图1.6“班级(BJ)”与“学生(XS)”实体集E-R模型可设计如下关系模式:BJ(班级编号,院系,专业名,人数)XS(学号,姓名,专业名,性别,出生日期,总学分,备注,班级编号

1.2.2逻辑结构设计3.(m:n)联系的E-R图到关系模式的转换对于(m∶n)的联系,单独对应一个关系模式,该关系模式包括联系的属性、参与联系的各实体集的主码属性,该关系模式的主码由各实体集的主码属性共同组成。例如,图1.7描述的“学生(XS)”与“课程(KC)”实体集之间的联系可设计如下关系模式:XS(学号,姓名,专业名,性别,出生日期,总学分,备注)KC(课程号,课程名称,类别,开课学期,学时,学分)XS_KC(学号,课程号,成绩)关系模式XS_KC的主码是由“学号”和“课程号”两个属性组合起来构成的一个主码,一个关系模式只能有一个主码。1.2.2逻辑结构设计至此,已介绍了根据E-R图设计关系模式的方法,通常这一设计过程称为逻辑结构设计。在设计好一个项目的关系模式后,就可以在数据库管理系统环境下创建数据库、关系表及其他数据库对象,输入相应数据,并根据需要对数据中的数据进行各种操作。1.2.3数据库物理设计

数据的物理模型即指数据的存储结构,如对数据库物理文件和索引文件的组织方式、文件的存取路径、内存的管理等。物理模型不仅与数据库管理系统有关,还和操作系统甚至硬件有关,物理模型对用户是不可见的。重点1.3数据库应用系统1.ODBC数据库接口ODBC即开放式数据库互连(OpenDataBaseConnectivity),是微软公司推出的一种实现应用程序和关系数据库之间通信的接口标准。符合标准的数据库就可以通过SQL语言编写的命令对数据库进行操作,但只针对关系数据库。目前所有的关系数据库都符合该标准,如Oracle、SQLServer、MySQL、DB2、Sybase、Access等。ODBC本质上是一组数据库访问API(应用程序编程接口),由一组函数调用组成,核心是SQL语句。在具体操作时,首先必须用ODBC管理器注册一个数据源,管理器根据数据源提供的数据库位置、数据库类型及ODBC驱动程序等信息,建立起ODBC与具体数据库的联系。这样,只要应用程序将数据源名提供给ODBC,ODBC就能建立起与相应数据库的连接。MySQL是通过MySQLConnector/ODBC(MyODBC驱动程序系列)为ODBC提供支持的,图1.8说明了MySQL使用ODBC连接方式的结构。1.3.1数据库的连接方式1.3.1数据库的连接方式图1.8MyODBC数据库接口1.3.1数据库的连接方式2.ADO数据库接口ADO(ActiveXDataObject)是微软公司开发的基于COM的数据库应用程序接口,通过ADO连接数据库,可以灵活地操作数据库中的数据。使用ADO访问关系数据库有两种途径:一种是通过ODBC驱动程序,另一种是通过数据库专用的OLEDBProvider,后者有更高的访问效率。1.3.1数据库的连接方式3.ADO.NET数据库接口ADO.NET数据模型从ADO发展而来,但它不只是对ADO的改进,而是采用了一种全新的技术。主要表现在以下几个方面:●ADO.NET不是采用ActiveX技术,而是与.NET框架紧密结合的产物。●ADO.NET包含对XML标准的完全支持,这对于跨平台交换数据具有重要的意义。●ADO.NET既能在与数据源连接的环境下工作,又能在断开与数据源连接的条件下工作。特别是后者,非常适合于网络应用的需要。因为在网络环境下,保持与数据源连接,不符合网站的要求,不仅效率低,付出的代价高,而且常常会引发由于多个用户同时访问时带来的冲突。因此ADO.NET系统集中主要精力用于解决在断开与数据源连接的条件下数据处理的问题。图1.9显示了ADO.NET架构总览。1.3.1数据库的连接方式图1.9通过ADO.NET访问数据库的接口模型数据层是实现ADO.NET断开式连接的核心,从数据源读取的数据先缓存到数据集中,然后被程序或控件调用。数据源可以是数据库或XML数据。数据提供器用于建立数据源与数据集之间的联系,它能连接各种类型的数据,并能按要求将数据源中的数据提供给数据集,或者从数据集向数据源返回编辑后的数据。MySQL使用MySQLConnector/NET实施了所需的ADO.NET接口,并将其集成到了ADO.NETaware工具中。从而使开发人员能够方便地创建需要安全和高性能数据连接(与MySQL)的.NET应用程序。MySQLConnector/NET是用纯C#语言编写的可完全管理的ADO.NET驱动程序。1.3.1数据库的连接方式4.JDBC数据库接口在JDBCAPI中有两层接口:应用程序层和驱动程序层,前者使开发人员可以通过SQL调用数据库和取得结果,后者处理与具体数据库驱动程序的所有通信。使用JDBC接口对数据库操作有如下优点:(1)JDBCAPI与ODBC十分相似,有利于用户理解;(2)使编程人员从复杂的驱动器调用命令和函数中解脱出来,而致力于应用程序功能的实现;(3)JDBC支持不同的关系数据库,增强了程序的可移植性。使用JDBC的主要缺点:访问数据记录的速度会受到一定影响,此外,由于JDBC结构中包含了不同厂家的产品,这给数据源的更改带来了较大麻烦。MySQL通过MySQLConnector/J驱动实现JDBC接口,它提供了与使用Java编程语言开发的客户端应用程序的连通性。MySQLConnector/J是一种纯Java程序,实施了3.0版JDBC规范,并能使用MySQL协议与MySQL服务器直接通信。1.3.1数据库的连接方式5.数据库连接池技术对于网络环境下的数据库应用,由于用户众多,使用传统的JDBC方式进行数据库连接,系统资源开销过大成为制约大型企业级应用效率的瓶颈,采用数据库连接池技术对数据库连接进行管理,可以大大提高系统的效率和稳定性。1.3.2客户/服务器(C/S)模式应用系统对于一般的数据库应用系统,除了数据库管理系统外,需要设计适合普通人员操作数据库的界面。目前,流行的开发数据库界面的工具主要包括VisualBASIC/NET、VisualC++/NET、VisualC#、Delphi、PowerBuilder等。数据库应用程序与数据库、数据库管理系统之间的关系如图1.10所示。图1.10数据库应用程序与数据库、数据库管理系统之间的关系1.3.2客户/服务器(C/S)模式应用系统从图中可看出,当应用程序需要处理数据库中的数据时,首先向数据库管理系统发送一个数据处理请求,数据库管理系统接收到这一请求后,对其进行分析,然后执行数据操作,并把操作结果返回给应用程序。由于应用程序直接与用户打交道,而数据库管理系统不直接与用户打交道,所以应用程序被称为“前台”,而数据库管理系统被称为“后台”。由于应用程序是向数据库管理系统提出服务请求,通常称为客户程序(Client),而数据库管理系统是为其他应用程序提供服务,通常称为服务器程序(Server),所以又将这种操作数据库模式称为客户/服务器(C/S)模式。应用程序和数据库管理系统可以运行在同一台计算机上(单机方式),也可以运行在网络方式。在网络方式下,数据库管理系统在网络上的一台主机上运行,应用程序可以在网络上的多台主机上运行,即一对多的方式。对于MySQL,除了服务器安装数据库管理系统外,还需要在客户端安装数据库客户程序。1.3.2客户/服务器(C/S)模式应用系统图1.11C/S模式的学生成绩管理系统界面

例如,用VisualBasic开发的客户/服务器(C/S)模式的学生成绩管理系统学生信息输入界面如图1.11所示。1.3.3三层客户/服务器(B/S)模式应用系统基于Web的数据库应用采用三层客户/服务器模式,也称B/S结构。第一层为浏览器,第二层为Web服务器,第三层为数据库服务器。浏览器是用户输入数据和显示结果的交互界面,用户在浏览器表单中输入数据,然后将表单中的数据提交并发送到Web服务器,Web服务器应用程序接收并处理用户的数据,通过数据库服务器,从数据库中查询需要的数据(或把数据录入数据库)送到Web服务器,Web服务器把返回的结果插入HTML页面,传送到客户端,在浏览器中显示出来,如图1.12所示。图1.12三层客户/服务器结构1.3.3三层客户/服务器(B/S)模式应用系统例如,用ASP.NET开发的三层客户/服务器(B/S)模式的学生成绩管理系统学生信息更新页面如图1.13所示。图1.13B/S模式的学生成绩管理系统页面C/S与B/S示例对比C/S示例B/S示例1.3.4关系数据库语言

关系数据库的标准语言是SQL(StructuredQueryLanguage,结构化查询语言)。SQL语言是用于关系数据库查询的结构化语言,最早由Boyce和Chambedin在1974年提出,称为SEQUEL语言。1976年,IBM公司的SanJose研究所在研制关系数据库管理系统SystemR时修改为SEQUEL2,即目前的SQL语言。

SQL语言的功能包括数据查询、数据操纵、数据定义和数据控制4个部分。SQL语言简洁、方便实用,为完成其核心功能只用了6个命令:SELECT、CREATE、INSERT、UPDATE、DELETE、GRANT(REVOKE)。目前已成为应用最广的关系数据库语言。SQL语言简洁,易学易用。1.4MySQL概述MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。与其他的大型数据库相比,MySQL还有一些不足之处,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。目前Internet上流行的网站构架方式是LAMP(Linux+Apache+MySQL+PHP),即使用Linux作为操作系统,Apache作为Web服务器,MySQL作为数据库,PHP作为服务器端脚本解释器。由于这4个软件都是遵循GPL的开放源码软件,因此使用这种方式不用花一分钱就可以建立起一个稳定、免费的网站系统。1.4MySQL概述MySQL数据库的特点主要有以下几个方面:●使用核心线程的完全多线程服务,这意味着可以采用多CPU体系结构。●可运行在不同平台。●使用C和C++编写,并使用多种编译器进行测试,保证了源代码的可移植性。●支持OS/2Wrap、Solaris、Windows等多种操作系统。●为多种编程语言提供了API。●支持多线程,充分利用CPU资源。●优化的SQL查询算法,可有效地提高查询速度。●既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB2312、BIG5,日文的Shift_JIS等都可以用做数据表名和数据列名。●提供TCP/IP、ODBC和JDBC等多种数据库连接途径。●提供可用于管理、检查、优化数据库操作的管理工具。●可以处理拥有上千万条记录的大型数据库。1.4.1MySQL的安装和配置1.MySQL服务器的安装(1)下载Windows版的MySQL5.1.28,解压后双击进入安装向导。有3种安装方式可供选择:Typical(典型安装)、Complete(完全安装)和Custom(定制安装),对于大多数用户,选择Typical就可以了。单击“next”按钮进入下一步。(2)进入如图1.14所示的安装界面。在MySQL5.1中,数据库主目录和文件目录是分开的。其中,“DestinationFolder”为MySQL所在的目录,默认目录为C:\ProgramFiles\MySQL\MySQLServer5.1。“DataFolder”为MySQL数据库文件和表文件所在的目录,默认目录为C:\DocumentsandSettings\AllUsers\ApplicationData\MySQL\MySQLServer5.1\data,其中ApplicationData是隐藏文件夹。确认后单击“Install”按钮开始安装。1.4.1MySQL的安装和配置MySQL安装过程:1.4.1MySQL的安装和配置图1.14MySQL安装界面1.4.1MySQL的安装和配置2.MySQL服务器的配置(1)安装完毕后选择“ConfiguretheMySQLservernow”复选框进入配置向导。第一步选择配置类型,有两种:DetailedConfiguration(详细配置)和StandardConfiguration(标准配置)。标准配置选项适合想要快速启动MySQL而不必考虑服务器配置的新用户。详细配置选项适合想要更加细粒度控制服务器配置的高级用户。这里选择DetailedConfiguration。(2)单击“next”按钮进行服务器类型选择,分为3种:DeveloperMachine(开发机器)、ServerMachine(服务器)和DedicatedMySQLServerMachine(专用MySQL服务器)。鉴于只是初学MySQL,所以这里选择DeveloperMachine。1.4.1MySQL的安装和配置(3)单击“next”按钮进入数据库使用情况对话框,有3个选项:MultifunctionalDatabase(多功能数据库)、TransactionalDatabaseOnly(只是事务处理数据库)和Non-TransactionalDatabaseOnly(只是非事务处理数据库)。其中多功能数据库对InnoDB和MyISAM表都适用,所以这里选择“MultifunctionalDatabase”。(4)下一步进入InnoDB表空间对话框,这里可以修改InnoDB表空间文件的位置,如图1.15所示。默认位置是MySQL服务器数据目录,这里不做修改,直接下一步。1.4.1MySQL的安装和配置图1.15表空间对话框1.4.1MySQL的安装和配置(5)接下来进入并发连接选择对话框,DecisionSupport(决策支持)(DSS)/OLAP:如果服务器不需要大量的并行连接可以选择该选项;OnlineTransactionProcessing(联机事务处理)(OLTP):如果服务器需要大量的并行连接则选择该选项;ManualSetting(人工设置):选择该选项可以手动设置服务器并行连接的最大数目。这里选择“DecisionSupport(DSS)/OLAP”。(6)进入联网选项对话框,如图1.16所示。默认情况是启用TCP/IP网络,默认端口为3306。这里不做修改,直接下一步。1.4.1MySQL的安装和配置图1.16联网选项对话框1.4.1MySQL的安装和配置(7)进入字符集选择对话框,前面的选项一直是按默认设置进行的,这里要做一些修改。选中“ManualSelectedDefaultCharacterSet/Collation”选项,在“CharacterSet”选框中将latin1修改为gb2312,如图1.17所示。图1.17设置字符集1.4.1MySQL的安装和配置(8)下一步进入服务选项对话框,服务名为MySQL,这里不做修改。(9)下一步是安全选项对话框,如图1.18所示,在密码输入框中输入root用户的密码。要想防止通过网络以root登录,选中Rootmayonlyconnectfromlocalhost(只允许从本机登录连接root)选项旁边的框。要想创建一个匿名用户账户,选中CreateAnAnonymousAccount(创建匿名账户)选项旁边的框。由于安全原因,这里不建议选择这项。1.4.1MySQL的安装和配置图1.18安全选项对话框1.4.1MySQL的安装和配置(10)设置完毕后,随后一步是提交配置,单击“execute”按钮即可完成。注意:对不同的操作系统和不同版本的MySQL,安装过程可能有所不同,这里只举MySQL5.1的安装例子。以上步骤完成后,MySQL服务器就已经可以使用了。由于MySQL自身不带界面工具,为了进行可视化的管理,可以另外安装界面工具来处理SQL语句。MySQL官方网站上提供了MySQLAdministrator管理工具和MySQLQueryBrowser查询工具,可以一起下载。下载地址是/downloads/gui-tools/5.0.html。界面工具的安装非常简单,这里不详细说明。我们也可以选择其他的界面管理工具来操作MySQL,常用的有NavicatLiteforMySQL、phpMyAdmin、MySQLFront等。然而这些不是数据库服务器,它们只是在Windows或Linux下允许用户能够进行可视化管理的工具。1.4.2MySQL的环境1.MySQL命令行客户端MySQL安装和配置完后,打开“开始”→“程序”→“MySQL”→“MySQLServer5.1”→“MySQLCommandLineClient”,进入到MySQL客户端,在客户端窗口输入密码,就以root用户身份登录到MySQL服务器,在窗口中出现如图1.19所示命令行,在命令行中输入SQL语句就可以操作MySQL数据库。以root用户身份登录可以对数据库进行所有的操作。MySQL还可以使用其他用户登录,这在以后会讲到。1.4.2MySQL的环境图1.19MySQL命令行1.4.2MySQL的环境2.重新配置服务器如果要对服务器重新配置,可以打开“开始”→“程序”→“MySQL”→“MySQLServer5.1”→“MySQLServerInstanceConfigWizard”,在出现的配置向导中重新配置服务器。(1)选项文件在C:\ProgramFiles\MySQL\MySQLServer5.1的MySQL主目录下有一个my.ini文件,这是MySQL的选项文件,在MySQL启动时会自动加载文件中的一些选项。可以通过修改选项文件来修改MySQL的一些默认设置,具体会在以后的内容中了解到。1.4.2MySQL的环境(2)数据目录MySQL有一个data目录,用于存放数据库文件。MySQL5.1的默认的路径为C:\DocumentsandSettings\AllUsers\ApplicationData\MySQL\MySQLServer5.1\data。在data目录中MySQL为每一个数据库建立一个文件夹,所有的表文件存放在相应的数据库文件夹中。

Access用户界面一、Access系统组成

Access的功能数据库引擎(databaseengine)存储、排序和获取数据的软件,是不可见的2.数据库对象(databaseobject)有表、查询、窗体、报表等多种对象3.设计工具多种设计器,如报表、查询设计器等4.程序设计工具提供VBA编程语言Oracle、Sybase适用于大型数据库,Access、Foxpro适用于中小型数据库应用。二、Access数据库特点

1.存储文件单一

一个数据库文件包含了该数据库的所有表、查询、 窗体、报表等各种对象。

2.支持长文件名及名称自动更正

3.兼容多种数据库格式

能识别Foxpro、dBASE、Paradox等多种数据 库 格式,可以导入Excel、Word等格式的数据。

4.具有Web网页发布功能

5.可应用于客户机-服务器方式

6.操作使用方便三、Access数据库格式

1、mdbAccess数据库文件的格式2、mdemdb文件编译后的格式,看不到VBA程序的源代码。3、adpAccess项目文件的格式4、adeadp文件编译后的格式,看不到VBA程序的源代码。3.2Access数据库内部结构在数据库文件中包含了除数据访问页之外的表、查询、窗体、报表、宏、模块等对象。各对象之间的关系如上图。一、表-----信息存储器

a、所有的数据信息存在表中。

b、在表中,列称为字段,行为记录。

c、可以有多个表,表之间有联系。

d、字段有文本、数字、日期、货币、OLE对象等类型2、查询-----数据检索的有效途径

a、从一个或多个表中检索记录,形成动态集。

b、利用查询可以插入、删除和修改数据

c、查询可作为窗体和报表的数据源。3、窗体------人机交互界面有数据输入窗体、开关面板窗体、自定义对话框窗体、子窗体等。 4、报表-----信息处理的最终产物

将最终结果以报表的形式输出。5、宏

-----效率的保证宏是一个或多个操作的集合。宏通过宏设计窗口设 计实现。6、模块-----充分发挥Access2000功能的主要工具

VBA(VisualBasicApplication)编程。在编写复杂条件及功能时使用。7、数据访问页一、Access201

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论