《《数据库应用技术——Visual Basic及其应用系统开发》电子教案 第1章 数据库基础》由会员分享,可在线阅读,更多相关《《数据库应用技术——Visual Basic及其应用系统开发》电子教案 第1章 数据库基础(124页珍藏版)》请在金锄头文库上搜索。
1、第一章 数据库基础,学习要点 了解数据库的基础知识 掌握关系数据库的相关知识 了解计算机信息系统开发的一般方法,基础知识,在 Visual Basic 中,可用的数据访问接口有三种:ActiveX 数据对象(ADO)、远程数据对象(RDO) 和数据访问对象(DAO)。 数据访问接口是一个对象模型,它代表了访问数据的各个方面。使用 Visual Basic,可以在任何应用程序中通过编程控制连接、语句生成器和供使用的返回数据。,目前发展状态,自计算机诞生以来,数据处理就是它的主要任务之一,而数据库就是数据处理的有力工具。人们经常需要收集、加工、存储、传送和处理数据。 50多年以来,随着计算机软件和
2、硬件技术的提高,数据管理技术也从开始的文件系统阶段发展到现在的数据库阶段。,第一节 数据库概述,1.1.1 数据处理的产生和发展 1.1.2 数据库系统的特点,1.1.1 数据处理的产生和发展,数据的处理是指对各种数据进行收集、存储、加工和传播的一系列活动的总和。数据管理则是指对数据进行分类、组织、编码、存储、检索和维护,它是数据处理的中心问题。,数据处理的产生,人们借助计算机进行数据处理是近三十年的事。研制计算机的初衷是利用它进行复杂的科学计算。随着计算机技术的发展,其应用远远地超出了这个范围。,数据处理的发展,在应用需求的推动下,在计算机硬件、软件发展的基础上,数据管理技术经历了人工管理、
3、文件系统、数据库系统三个阶段。这三个阶段的特点及其比较如下表:,数据管理三个阶段的比较,数据管理三个阶段的比较,数据管理三个阶段的比较,人工管理阶段,20世纪50年代中期以前计算机主要用于科学计算。当时的硬件状况时,外存只有纸带、卡片、磁带,没有磁盘等直接存取的存储设备;软件状况是,没有操作系统,没有管理数据的软件;数据处理方式是批处理。,人工管理数据的特点,数据不保存 应用程序管理数据 数据不共享 数据不具有独立性,文件系统阶段,20世纪50年代后期到60年代中期,这时硬件方面已有了磁盘、磁鼓等直接存取存储设备;软件方面,操作系统中已经有了专门的数据管理软件,一般称为文件系统;处理方式上不仅
4、有了批处理,而且能够联机实时处理。,文件系统管理数据的特点,数据可以长期保存 由文件系统管理数据 数据共享性差,冗余度大 数据独立性差,数据库系统阶段,20世纪60年代后期以来,计算机用于管理的规模越来越大,应用越来越广泛,数据量急剧增长,同时多种应用、多种语言互相覆盖地共享数据集合的要求越来越强烈。,数据库系统阶段,在这种背景下,以文件系统作为数据管理手段已经不能满足应用的需求,于是为解决多用户、多应用共享数据的需求,使数据为尽可能多的应用服务,数据库技术便应运而生,出现了同意管理数据的数据库管理系统。 用数据库系统来管理数据比文件系统具有明显的优点,从文件系统到数据库系统,标志着数据管理技
5、术的飞跃。,1.1.2 数据库系统的特点,数据结构化 数据的共享性高,冗余度低,易扩充 数据独立性高 数据由DBMS统一管理和控制,数据库系统的特点,数据结构化 数据结构化是数据库与文件系统的根本区别。在文件系统中,相互独立的文件的记录内部是有结构的。传统文件的最简单形式是等长同格式的记录集合。,数据库系统的数据结构化,在数据库系统中,不仅要考虑某个应用的数据结构,还要考虑整个组织的数据结构。这种数据组织方式为各部分的管理提供了必要的记录,使数据结构化了。这就要求在描述数据时不仅要描述数据本身,还要描述数据之间的结构。,数据库系统的数据结构化,例如,一个学校涉及的多种应用,形成复杂的整体数据结
6、构。如下页图所示。,数据结构化,数据库系统的特点,数据结构化,在数据库系统中,数据不再针对某一应用,而是面向全组织,具有整体的结构化。不仅数据时结构化的,而且存取数据的方式也很灵活,可以存取数据库中的某个数据项、一组数据项、一个记录或一组记录。,数据库系统的特点,数据的共享性高,冗余度低,易扩充 数据库系统从整体角度看待和描述数据,数据不在面向某个应用而是面向整个系统,因此数据可以被多个用户、多个应用共享使用。数据共享可以大大减少数据冗余,节约存储空间。数据共享还能够避免数据之间的不相容性与不一致性。,数据库系统的特点,由于数据面向整个系统,是有结构的数据,不仅可以被多个应用共享使用,而且容易
7、增加新的应用。这就使得数据库系统弹性大,易于扩充,可以适应各种用户的要求。,数据库系统的特点,数据独立性高 数据独立性是由DBMS的二级映象功能来保证的。数据与程序的独立,把数据的定义从程序中分离出去,加上数据的存取又由DBMS负责,从而简化了应用程序的编制,大大减少了应用程序的维护和修改。,数据库系统的特点,数据由DBMS统一管理和控制 在数据库系统中,对数据进行统一的管理和控制,数据库系统为用户提供了定义、检索和更新数据的手段,同时还提供了数据的安全性、完整性和并发控制等功能。,数据库系统的特点,数据库系统中应用程序与数据之间的对应关系如图所示。,1.1.3 数据库系统结构,从数据库管理系
8、统角度看,数据库系统通常采用三级模式结构;从数据库最终用户角度看,数据库系统的体系结构分为单用户结构、主从式结构、分布式结构和客户服务器结构。,数据库系统的模式结构,模式(schema)是数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及到型的描述,不涉及到具体的值。 模式的一个具体值称为模式的一个实例(instance)。 同一个模式可以有很多实例。模式是相对稳定的,而实例是相对变动的。模式反映的是数据的结构及其关系,而实例反映的是数据库某一时刻的状态。,数据库系统的三级模式结构,数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式三级构成,如下页图:,数据库系统的三级模式结构图,
9、数据库系统的三级模式结构,模式(Schema) 模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。它是数据库系统模式结构的中间层,即不涉及数据的物理存储细节和硬件环境,也与具体的应用程序、应用开发工具及高级程序设计语言无关。,数据库系统的三级模式结构,模式实际上是数据库数据在逻辑级上的视图。一个数据库只有一个模式。数据库模式以某一种数据模型为基础。定义模式时不仅要定义数据的逻辑结构(例如数据记录由哪些数据项构成,数据项的名字、类型、取值范围等),而且要定义与数据有关的安全性、完整性要求,定义这些数据之间的联系。,数据库系统的三级模式结构,外模式(Extern
10、al Schema) 外模式也称子模式或用户模式,它是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。,数据库系统的三级模式结构,外模式通常是模式的子集。一个数据库可以有多个外模式。由于它是各个用户的数据视图,如果不同的用户在应用需求、看待数据的方式、对数据保密的要求等各方面存在差异,则其外模式描述就是不同的。即使对模式中同一数据,在外模式中的结构、类型、长度、保密级别等都可以不同。另一方面,同一外模式也可以为某一用户的多个应用系统所使用,但一个应用程序只能使用一个外模式。,数据库系统的三级模式结构
11、,外模式是保证数据库安全性的一个有力措施。每个用户只能看见和访问所对应的外模式中的数据,数据库中的其余数据是不可见的。,数据库系统的三级模式结构,内模式(Internal Schema) 内模式也称存储模式,一个数据库只有一个内模式。它是数据物理结构和存储结构的描述,是数据在数据库内部的表示方式(例如,记录的存储方式是顺序存储、按照B树结构存储还是按hash方法存储;索引按照什么方式组织;数据是否压缩存储,是否加密;数据的存储记录结构有何规定等)。,数据库系统的三级模式结构的总结,数据库系统的三级模式是对数据的三个抽象级别,它把数据的具体组织留给DBMS管理,使用户能逻辑地抽象地处理数据,而不
12、必关心数据在计算机中的具体表示方式与存储方式。,二级映象,为了能够在内部实现这三个抽象层次的联系和转换,数据库管理系统在这三级模式之间提供了两层映象:外模式/模式映象和模式/内模式映象。正是这两层映象保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。,二级映象功能与数据独立性,对于每一个外模式,数据库系统都有一个外模式模式映象,它定义了该外模式与模式之间的对应关系。这些映象定义通常包含在各自外模式的描述中。 当模式改变时,由数据库管理员对各个外模式模式的映象作相应改变,可以使外模式保持不变,从而应用程序不必修改,保证了数据的逻辑独立性。,二级映象功能与数据独立性,数据库中只有一个模
13、式,也只有一个内模式,所以模式内模式映象是唯一的,它定义了数据 全局逻辑结构与存储结构之间的对应关系。该映象定义通常包含在模式描述中。 当数据库的存储结构改变了(例如采用了更先进的存储结构),由数据库管理员对模式内模式映象作相应改变,可以使模式保持不变,从而保证了数据的物理独立性。,第二节 关系型数据库,关系数据库是以关系模型为基础的数据库,根据表、元组、字段之间的关系进行组织和访问数据的一种数据库,它通过若干个表来存取数据,并且通过关系将这些表联系在一起。关系数据库是目前应用最广泛的数据库。关系数据是支持关系模型的数据库,下面先介绍关系数据模型。,1.2.1 关系数据模型,目前,在实际数据库
14、系统中支持的数据模型主要有三种:层次模型(Hierarchical Model),网状模型(Network Model)和关系模型(Relational Model)。20世纪80年代以来,计算机厂商推出的数据库管理系统几乎都是支持关系模型的数据库系统。关系模型已经占领市场主导地位。,关系数据模型,关系模型建立在严格的数学概念的基础上,它用二维表来描述实体与实体间的联系。下面以学生信息表(如下表1.2所示)为例,介绍关系模型中的一些术语。,表1.2 学生信息表,关系数据模型,关系(Relation):对应通常说的一张表; 元组(Tuple):表中的一行即为一个元组; 属性(Attribute)
15、:表中的一列即为一个属性,给每个属性起一个名称即属性名。,关系数据模型,主码(Key):表中的某个属性组,它可以唯一确定一个元组; 域(Domain):属性的取值范围; 分量:元组中的一个属性值;,关系数据模型,关系模式:对关系的描述,可表示为: 关系名(属性1,属性2,属性n) 例如上面的关系可以描述为: 学生(学号,姓名,年龄,性别,系别)。 一个关系模型是若干个关系模式的集合。在关系模型中,实体以及实体间的联系都是用关系来表示。,关系数据模型,例如学生、课程、学生与课程之间的多对多联系在关系模型中可以如下所示: 学生(学号,姓名,年龄,性别,系别) 课程(课程号,课程名,学分) 选修(学
16、号,课程号,成绩),关系数据模型,由于关系模型概念简单、清晰、易懂、易用,并有严密的数学基础以及在此基础上发展起来的关系数据理论,简化了程序开发及数据库建立的工作量,因而迅速获得了广泛的应用,并在数据库系统中占据了统治地位。,1.2.2 E-R模型,要形成关系数据模型,首先要从现实世界中抽象出实体、属性及实体间的联系,形成概念模型。,E-R模型,概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言。 概念模型的表示方法很多,其中最为著名最常用的是P.P.S.Chen于1976年提出的实体-联系(Entity-Relationship Approach)。该方法用E-R图来描述现实世界的概念模型。,E-R模型,E-R图提供了表示实体型、属性和联系的方法: 实体型-用矩形表示,矩形框内写明实体名。 属性-用椭圆形表示,并用无向边将其与相应的实体连接起来。 联系-用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在