1、河河 南南理工大学理工大学大学计算机基础编写组 第八章第八章 数据库技术基础数据库技术基础大学计算机基础编写组 章节章节 目录目录数据库系统概述 1数据模型2Access数据库管理系统简介3Access数据表的建立和使用4创建Access的查询和窗体5大学计算机基础编写组 数据库系统概述 计算机对数据的管理是指对数据的组织、分类、计算机对数据的管理是指对数据的组织、分类、编码、存储、检索和维护提供操作手段。数据编码、存储、检索和维护提供操作手段。数据管理随着计算机硬件、软件技术和计算机应用管理随着计算机硬件、软件技术和计算机应用范围的发展而不断发展,多年来大致经历了如范围的发展而不断发展,多年
2、来大致经历了如下三个阶段。下三个阶段。 1.手工处理阶段 2. 文件系统阶段 3.数据库阶段大学计算机基础编写组 手工处理阶段手工处理阶段 这一阶段主要指20世纪50年代中期以前,计算机主要用于科学计算。 硬件方面,外存只有磁带、卡片、纸带,没有磁盘等直接存取设备; 在软件方面,没有操作系统及管理数据的软件,用户使用汇编语言编写程序,数据由程序自行携带。 大学计算机基础编写组 特点:数据不具有独立性,数据不保存,数据不能共享,没有数据管理软件。 数据数据1应用程序应用程序1数据数据2应用程序应用程序2数据数据n应用程序应用程序n大学计算机基础编写组 文件系统阶段文件系统阶段 这一阶段从20世纪
3、50年代后期到60年代中期,计算机开始大量地用于管理。 在硬件方面,出现了磁盘、磁鼓等直接存取设备。 在软件方面,出现了高级语言和操作系统,操作系统中有了专门的数据管理软件,即为文件系统。大学计算机基础编写组 程序和数据分开存储,有了程序文件和数据文件的区别,程序和数据有了一定的独立性。数据文件可以长期保存被多次存取。程序通过文件名可以对数据文件进行修改、插入和删除等访问,程序员可以将精力集中在数据处理的算法上,不必考虑数据存储的细节。大学计算机基础编写组 特点:数据共享性、独立性差,且冗余度大,管理和维护的代价也很大。文件系统仍然是一种较为广泛使用的数据管理方法。文件系统应用程序应用程序应用
4、程序1应用程序2应用程序3应用程序4应用程序5数据数据数据 1数据 2数据 3数据 4数据 5大学计算机基础编写组 数据库阶段数据库阶段 60年代后期,计算机硬件和软件技术有了进一步的发展,尤其是硬件方面已经有了大容量的磁盘。 计算机用于管理的规模加大、需处理的数据量急剧增大、且数据共享的要求也更为强烈。 这种背景促进了数据管理技术的发展,出现了对数据进行统一管理和控制的数据库管理系统。 大学计算机基础编写组 特点:数据和程序彼此独立,数据不再面向特定的应用程序,从而实现了数据的共享,避免了数据的不一致性;数据以数据库的形式保存,在数据库中,数据按一定的模型进行组织,可以最大限度地减少数据的冗
5、余;对数据库进行建立、管理有了专 门 的 软 件 , 即 数 据 库 管 理 系 统(Database Management System,DBMS), Access就是一个典型的数据库管理系统。大学计算机基础编写组 数据库管理系统数据库管理系统DBMS数据库阶段示意图应用程序1应用程序2应用程序3数据库大学计算机基础编写组 分布式数据库系统分布式数据库系统 网络技术的快速发展为数据库提供了分布式运行的环境,数据库体系结构也从原来的客户端/服务器体系(C/S)结构发展到了浏览器端/服务器体系(B/S)结构。数据库技术与网络技术结合起来,能够方便地跨结点存取和处理网络中的多个数据库中的数据,成为
6、当代数据库技术发展的主要特征。 分布式数据库系统是由分布在网络中不同结点上的多个逻辑上相关的数据库组成,这些数据库物理上分布在网络中的多台计算机上,但逻辑上是一个整体。分布式数据库具有数据独立性、集中与自治相结合的控制机构、适当增加数据冗余度、全局一致,可串行性和可恢复性等特点。银行异地存取款系统就是一个分布式 大学计算机基础编写组 面向对象数据库系统面向对象数据库系统 数据库技术与面向对象程序设计技术相结合,产生了面向对象数据库系统。面向对象数据库吸收了面向对象程序设计方法的核心概念和基本思想。因此,面向对象数据库技术有望成为继数据库技术之后的新一代数据管理技术。 Access在用户界面、程
7、序设计等方面进行了很好地扩充,提供了面向对象程度的设计功能,但在本质上讲,它只是传统的关系型数据库系统。 大学计算机基础编写组 多媒体数据库系统多媒体数据库系统 传统数据库以数字和字符数据为管理对象,一般不涉及多媒体数据。当数据库管理对象扩充到多媒体数据时,其存储结构和数据模型都发生了变化,由此产生的用于管理多媒体数据的数据库系统就是多媒体数据库系统。 主要用于存储和处理包含文字、图像、声音、视频等大字节多媒体数据,多媒体数据库应用的主要领域有电视点播系统、数字图书馆等。大学计算机基础编写组 数据仓库数据仓库 在传统的数据库系统中,数据库中存放的是当前的应用系统信息,数据具有独立性,最终用户对
8、数据的查询或修改等操作主要是为特定的应用服务,而能够为最终用户提供有效的决策信息则需要经过提取、过滤、与其他数据整合和分析,并且按主题存放在特定数据库中。数据仓库就是为了构建这种新的分析决策型应用环境而出现的一种数据存储和组织技术。 大学计算机基础编写组 数据库系统的组成数据库系统的组成 数据库系统是指采用数据库技术的计算机系统,用来实现数据的组织、存储、处理和数据共享,并向应用系统提供数据支持的系统。 在计算机系统本身应有的硬件、操作系统的基础之上,再加上数据库、数据库管理系统、用户和应用程序就构成了一个完整的数据库系统 。大学计算机基础编写组 硬件硬件操作系统操作系统数据库管理系统数据库管
9、理系统开发工具软件开发工具软件应用程序应用程序数据库以文件形式按特定的组织方式将数据保存在存储介质中,具有一定结构、可共享的数据集合。应用程序开发人员利用开发工具软件对数据库进行开发的、应用于某一个实际问题的软件,如教务管理系统。DBMS数据库系统的核心,是建立、使用和维护数据库的软件系统。数据定义功能;数据操纵功能;数据控制功能;数据库的建立和维护功能用户指参与分析、设计、管理、维护和使用数据库的人员,主要分为最终用户、应用程序员和数据库管理员三类 用户用户大学计算机基础编写组 数据库系统的应用模式数据库系统的应用模式 从用户角度看待数据库,数据库系统有单用户、主从式、分布式和客户/服务器等
10、应用模式。 单用户应用: 主从式应用: 分布式应用: 客户/服务器应用:大学计算机基础编写组 8.2 数据模型数据模型 数据库中的数据是有结构的,这些结构反映了事物及事物之间的联系。而数据模型就是表示实体类型以及实体之间联系的模型,由数据结构、数据操作和完整性约束三要素组成。 实体是客观存在并可以区分开的事物,比如一个学生、一个班级。实体之间的联系反映了事物之间的互相关联,有三种联系:一对一、一对多、多对多。 目前,数据库管理系统所支持的数据模型主要有三种,即层次模型、网状模型和关系模型。一个班级只有一个班长,他们之间是一对一的联系一个班有多个学生,班与学生是一对多的联系选课时学生和课程则是多
11、对多的联系大学计算机基础编写组 层次模型层次模型 用树形结构表示实体之间的联系。各个实体用结点来表示,只有一个最高结点,其余结点有且仅有一个上级结点,上级结点和下级结点之间表示了一对多的联系。行政组织机构和家族关系等通常用层次模型来表示。校长办公室校长办公室计算机学院计算机学院现代教育中心现代教育中心工会工会通信系信管系网络系计算机系最高结点上级结点下级结点大学计算机基础编写组 网状模型网状模型 在网状模型里,实体之间的联系就像是一张网,网上的连接点称为结点。各结点之间的关系是平等的,而不像层次模型的结点之间那样具有上下级的关系。城市的交通图就是网状模型的典型代表。站牌1站牌6站牌2站牌3站牌
12、5站牌4站牌7大学计算机基础编写组 关系模型关系模型 关系模型是用二维表格的形式来表示实体和实体之间的联系。在实际的关系模型中,操作的对象和结果都用二维表表示。关系模型是目前用的最多的数据模型,20世纪80年代以来推出的数据库管理系统大都基于关系模型,即关系数据库。本书主要介绍关系数据库。大学计算机基础编写组 关系模型关系模型属性属性学号学号姓名姓名性别性别出生日期出生日期班级班级元组105010101张三男12/12/1978计算机05-1班元组205010102李四女11/11/1978计算机05-1班主键主键域域 关系模式关系模式关系模式是对关系的描述,实际上对应关系的表头。关系模式是对
13、关系的描述,实际上对应关系的表头。如学生信息、选课以及课程之间的联系在关系模型中可以表示如学生信息、选课以及课程之间的联系在关系模型中可以表示如下。如下。学生(学号,姓名,性别,出生日期,班级,籍贯)学生(学号,姓名,性别,出生日期,班级,籍贯)大学计算机基础编写组 关系的基本运算关系的基本运算 关系代数是在关系上定义的一些运算,这些运算的结果仍然是关系。传统的关系运算包括并、交、差和广义笛卡儿积;专门关系运算包括选择、投影、连接等。大学计算机基础编写组 选择运算选择运算 选择运算是指从指定的关系中选择满足给定条件的元组并组成新的关系的操作。 学号姓名性别出生日期班级籍贯05010101张三男
14、12/12/1978计算机05-1班江苏05010102李四女11/11/1978计算机05-1班河南学号姓名性别出生日期班级籍贯05010101张三男12/12/1978计算机05-1班江苏大学计算机基础编写组 投影运算投影运算 投影运算是指从指定关系的属性集合中选取若干个属性组成新的关系。学号姓名性别出生日期班级籍贯05010101张三男12/12/1978计算机05-1班江苏05010102李四女11/11/1978计算机05-1班河南学号姓名籍贯05010101张三江苏05010102李四河南大学计算机基础编写组 联接运算联接运算 联接运算是指将两个关系中的元组按指定条件进行组合,生成
15、一个新的关系。学号姓名性别出生日期班级籍贯05010101张三男12/12/1978计算机05-1班江苏05010102李四女11/11/1978计算机05-1班河南学号课程名称成绩05010101高等数学9705010102大学物理85学号姓名性别出生日期班级籍贯课程名称课程名称成绩05010101 张三男12/12/1978计算机05-1班江苏高等数学9705010102 李四女11/11/1978计算机05-1班河南大学物理85大学计算机基础编写组 Access数据库管理系统简介数据库管理系统简介 Access提供程序设计开发语言VBA,可以开发用户的应用程序。 Access是一个小型的
16、数据库管理系统,对数据库的管理,提供了许多功能强大的工具,例如使用查询方法、设计制作不同风格的报表、设计使用窗体等。 Access提供了与其他数据库系统的接口,可以直接识别由FoxBase、FoxPro等数据库管理系统所建立的数据库文件。Access和Office其他组件高度集成,能够与Word、Excel等进行数据交换和共享。 Access数据库存储方式单一,在一个数据库文件包含了该数据库中的所有数据表,也包含了数据表所产生和建立的查询、窗体和报表等,便于用户进行操作和管理。 Access本身具有Office系列的共同特点,如友好的用户界面、方便的操作向导、提供帮助和有提示作用的Office
17、助手等。大学计算机基础编写组 建立建立Access数据库文件数据库文件 建立Access数据库时,首先要创建数据库文件,然后再创建其对象。 创建Access数据库文件的方法与Word、Excel等类似,也有新建文件任务窗格。启动Access后,在新建文件任务窗格里单击空数据库,然后选择数据库文件保存的位置,输入数据库名称“学生成绩管理”,扩展名为.mdb。 创建或打开数据库文件后的界面包含标题栏、工具栏、对象栏、对象操作方法、已存在的对象列表等。 大学计算机基础编写组 Access数据库窗口数据库窗口 标题栏对象栏工具栏对象操作已存在对象列表大学计算机基础编写组 Access数据库的组成对象数
18、据库的组成对象 表(Table) Access中的表就是前面介绍的关系,是与特定主题(如学生或课程)有关的数据的集合。一个数据库有一个或多个这样的表。表的存储方式如同Excel的工作表一样有行与列,同样有字段、记录等概念。表是Access中最基本的对象,其他对象如查询、窗体、报表等所需要的数据大都来自表。 查询(Query) 是在指定的一个或多个表中根据给定的条件从中选取所需要的信息,供使用者查看、更改和分析使用。查询可以作为窗体、报表和数据访问页的记录源。大学计算机基础编写组 Access数据库的组成对象数据库的组成对象 窗体(Form) 用来向用户提供交互界面,从而使用户更方便地进行数据的
19、输入和输出显示,窗体中所显示的内容,可以来自一个或多个数据表,也可以来自查询结果。 报表(Report)用来将选定的数据按指定的格式进行显示或打印。与窗体类似,报表的数据来源同样可以是一张或多张数据表、一个或多个查询结果,除此之外,报表还可以进行一些计算,如求和、计算平均值等。大学计算机基础编写组 Access数据库的组成对象数据库的组成对象 页(Page)(或称数据访问页)是Access2000之后增加的对象,是一种特殊的网页。制作完成表或查询后,可以另存为网页(扩展名为.htm或.html)。Access可直接新增“页”对象,按要求创建网页。 宏(Macro)与模块(Module) 属于A
20、ccess的高级功能,主要目的是自动处理高重复性的工作。宏是一系列命令组合而成的集合;模块则类似编写程序,以VBA为默认语言。大学计算机基础编写组 Access数据表的建立和使用数据表的建立和使用 数据表结构 Access数据表结构由字段和属性组成,在设计表结构时,需要输入字段的名称、类型和属性等信息。 字段名称 字段名称可以使用数字、字母或汉字,但长度不能超过64个字符。大学计算机基础编写组 数据类型数据类型 Access 2003提供了10种字段数据类型,分别是: (1)文本:是数据表中的默认类型。 (2)备注:用来存放说明性文字,它比文本的容量更大,最多可达65536个字符。 (3)数字
21、:用于进行数值计算。 (4)日期/时间:用来表示日期以及日期计算,最大长度为8个字符。 (5)货币:用于货币值的计算。最大长度为8个字符。大学计算机基础编写组 数据类型数据类型 (6)自动编号:表中添加一条新记录时,自动累加的连续数字。最大长度为4个字符。 (7)是/否:用来记录逻辑型数据,有 “真/假”、“是/否”和“开/关”三种格式。 (8)OLE对象:用来嵌入图像、声音、Word文档等类型数据。字符长度可达1GB。 (9)超链接:用来保存链接地址、因特网地址或者其他数据库应用程序地址,字符长度最大可达60,000字节。 (10)查阅向导:是与使用向导有关的值,一般为4个字符。大学计算机基
22、础编写组 字段属性字段属性 字段的属性用来指定字段在表中的存储形式,不同类型的字段具有不同的属性。常用属性如下。 (1)字段大小:对于文本型数据,指定文字的长度,大小范围在0255之间,默认值为50;对于数字型数据,指定数据的类型,不同类型数据的范围不同,如0255之间的整数占用1个字节。 (2)格式:用来指定数据输入或显示的形式,如日期/时间型数据有常规日期、长日期、中日期等。 (3)小数位:对数字型或货币型数据指定小数位。 (4)标题:用来指定字段在窗体或报表中所显示的名称。大学计算机基础编写组 建立数据表建立数据表 使用设计器创建表 添加新记录 数据表的编辑 建立数据表之间的关系 数据排序与筛选 大学计算机基础编写组 创建创建Access的查询和窗体的查询和窗体 利用设计视图创建查询 利用查询对数据进行分类汇总 在SQL窗口中建立SQL查询 创建窗体 河河 南南理工大学理工大学大学计算机基础编写组