数据库基础ACCESS_第1页
数据库基础ACCESS_第2页
数据库基础ACCESS_第3页
数据库基础ACCESS_第4页
数据库基础ACCESS_第5页
已阅读5页,还剩103页未读 继续免费阅读

下载本文档

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

文档简介

1、数据库基础 数据库概述数据库概述 一一.数据处理技术的发展数据处理技术的发展 手工管理阶段手工管理阶段 特点:特点: (1) 数据不保存数据不保存-不能实现数据共享。不能实现数据共享。 (2) 数据与程序不可分割。数据与程序不可分割。 (3)各程序的数据彼此独立各程序的数据彼此独立-数据冗余。数据冗余。 适应场合适应场合: 数据量较小。数据量较小。 数据库概述数据库概述 文件系统阶段文件系统阶段 (1) 程序和数据分开程序和数据分开, 有一定的独立性。有一定的独立性。 (2) 数据以文件形式保存,由操作系统按名存取。数据以文件形式保存,由操作系统按名存取。 (3) 实现一定程度的数据共享。实现

2、一定程度的数据共享。 (4) 数据文件之间缺乏联系。数据文件之间缺乏联系。 数据库概述数据库概述 数据库阶段数据库阶段 (1) 数据和程序之间彼此独立,实现共享数据和程序之间彼此独立,实现共享 (2) 数据以数据库形式保存,最大限度减少冗余。数据以数据库形式保存,最大限度减少冗余。 (3) 专门的数据库管理软件专门的数据库管理软件-DBMS。 应用程序1 DBMS 应用程序2 数据库 应用程序n 数据库概述数据库概述 分布式数据库系统分布式数据库系统 数据库技术和计算机网络技术相结合产生:数据库技术和计算机网络技术相结合产生: 1)物理上独立,数据分布在网络的不同计算机)物理上独立,数据分布在

3、网络的不同计算机 2)逻辑上属于一个整体。)逻辑上属于一个整体。 面向对象的数据库面向对象的数据库 将程序设计语言中对象的概念引用到数据库中:将程序设计语言中对象的概念引用到数据库中: 1)数据和操作方法作为对象统一管理;)数据和操作方法作为对象统一管理; 2)可以处理更为复杂的对象;)可以处理更为复杂的对象; 6.1 数据库概述数据库概述 我们身边的数据库?我们身边的数据库? 什么是数据库?什么是数据库? 是持久数据的 集合,是存储在 计算机中的数据 的集合 银行的用户信息、 学校的教师和学生 信息、图书馆的图 书信息、网页上不 断更新的新闻、文 献资料 什么是数据库技术?什么是数据库技术?

4、 研究如何科学组组 织织和存储存储数据,如 何高效地获取获取和处处 理理数据,以及如何保 障数据安全安全,实现 数据共享共享。 举例:举例: 图书馆图书馆=数据库数据库 保障图书安全保障图书安全 整理、组织、存储整理、组织、存储 最大限度地最大限度地 实现图书的共享实现图书的共享 高效地查找和高效地查找和 管理图书管理图书 图书馆图书馆 根据书的特征将它们按 学科分类整理,通过建 立索引表确定书籍的存 放方法; 根据索引表按照名称、作者、关键字、出版 社等查找存放位置; 需要不断地对图书进行购进、丢失处理、借 阅、归还等管理工作; 对图书使用状况进行科学地分析和统计,作 为修改购书计划的依据;

5、 图书不能借了不还、阅览室 的书不能外借(或只能短期 借阅)、重要文献借阅有严 格的规章制度、只允许合法 用户借阅、限定借阅册数和 期限 不允许长期滞留在个人手中、不 能被某些院系独占、避免重复购 进造成浪费 数据库与图书馆的不同点数据库与图书馆的不同点: 数据更具普遍性,数据的多样性和复杂性使得数据的组织和管理更具挑战性, 需要一套科学的技术和方法。简而言之,数据库技术就是数据管理的技术。 数据库概述数据库概述 数据库(数据库(DBDB) 指按特定的组织形式将数据保存在存储介质上指按特定的组织形式将数据保存在存储介质上 特点:特点: (1)在数据库中,不仅包含数据本身,也包含数)在数据库中,

6、不仅包含数据本身,也包含数 据之间的联系;据之间的联系; (2)数据通过一定的数据模型进行组织,保证有)数据通过一定的数据模型进行组织,保证有 最小的冗余度最小的冗余度,有层次、网状和关系模型;有层次、网状和关系模型; (3)各个应用程序共享数据;)各个应用程序共享数据; (4)对数据的各种操作,如定义、操纵等都由)对数据的各种操作,如定义、操纵等都由 DBMS统一进行。统一进行。 二二.数据库中的常见概念数据库中的常见概念 数据库管理系统(数据库管理系统(DBMSDBMS) 对数据库进行管理的软件对数据库进行管理的软件. 功能:功能: (1)定义)定义: 定义数据库的结构、数据完整性和其定义

7、数据库的结构、数据完整性和其 它的约束条件;它的约束条件; (2)操纵)操纵: 实现数据插入、修改、删除和查询;实现数据插入、修改、删除和查询; (3)控制)控制: 实现数安全控制、完整性控制以及多实现数安全控制、完整性控制以及多 用户环境下的并发控制;用户环境下的并发控制; (4)维护)维护: 提供对数据的装载、转储和恢复,数提供对数据的装载、转储和恢复,数 据库的性能分析和监测;据库的性能分析和监测; (5)数据字典,存放数据库各级结构的描述。)数据字典,存放数据库各级结构的描述。 数据库概述数据库概述 数据库的基本概念数据库的基本概念 数据库数据库 系统系统 DataBase Syste

8、m(DBS) 是指引入了数据库的计算机系统。 一般由数据库(DB)、数据库管理系 统(DBMS)(及其开发工具)、应用系 统、数据库管理员(DBA)组成。 DBMS是数据库系统的核心 应用程序应用程序 利用利用DBMS开发的应用软件。开发的应用软件。 数据库管理员(数据库管理员(DBA) 负责管理数据库资源;确定用户需求,设计、实负责管理数据库资源;确定用户需求,设计、实 现数据库;并负责维护和管理数据库。现数据库;并负责维护和管理数据库。 数据库系统(数据库系统(DBSDBS) 完整的数据库系统由硬件、数据库、数据库管理完整的数据库系统由硬件、数据库、数据库管理 系统、操作系统、应用程序、数

9、据库管理员等部系统、操作系统、应用程序、数据库管理员等部 分组成。分组成。 数据库概述数据库概述 应用程序应用程序 开发工具软件开发工具软件 数据库管理系统数据库管理系统 操作系统操作系统 硬件硬件 数据库概述数据库概述 数据库系统(数据库系统(DBS) 三三.数据库系统的体系结构数据库系统的体系结构 三级模式三级模式 (1) 模式模式(逻辑模式或概念模式逻辑模式或概念模式) 是对数据库中的全部数据的逻辑结构和特征的描是对数据库中的全部数据的逻辑结构和特征的描 述,不涉及数据的物理存储。述,不涉及数据的物理存储。 (2) 外模式外模式(用户模式或子模式用户模式或子模式) 该模式面向用户,是数据

10、库用户看到的局部数据该模式面向用户,是数据库用户看到的局部数据 结构和特征的描述,是数据的局部逻辑结构。结构和特征的描述,是数据的局部逻辑结构。 (3) 内模式内模式(存储模式存储模式) 描述数据的物理结构、在存储介质上的存储方法描述数据的物理结构、在存储介质上的存储方法 和存取策略。和存取策略。 数据库概述数据库概述 二级映射二级映射 用于三级模式之间的转换。用于三级模式之间的转换。 (1)外模式)外模式/模式映射模式映射 定义外模式和概念模式之间的对应性,这一映射定义外模式和概念模式之间的对应性,这一映射 使得概念模式的改变不影响外模式和应用程序,使得概念模式的改变不影响外模式和应用程序,

11、 从而达到了数据的逻辑独立性。从而达到了数据的逻辑独立性。 (2)模式)模式/内模式映射内模式映射 定义概念模式和内模式之间的对应性,当存储结定义概念模式和内模式之间的对应性,当存储结 构改变即修改内模式时,只要相应改变模式构改变即修改内模式时,只要相应改变模式/内内 模式映象,而模式尽量保存不变,从而达到了数模式映象,而模式尽量保存不变,从而达到了数 据的物理独立性。据的物理独立性。 数据库概述数据库概述 数据库系统的体系结构数据库系统的体系结构 应用应用1应用应用1应用应用1 外模式外模式A 外模式外模式B 模式模式 内模式内模式 数据库数据库 OS DBMS 外模式外模式/模式映像模式映

12、像 模式模式/内模式映像内模式映像 数据模型数据模型 概念数据模型概念数据模型 概念数据模型概念数据模型 从用户的角度 强调对数据对象的 基本表示和概括性描 述 (包括数据及其 联系) 不考虑计算机具体 实现,与具体的 DBMS无关 数据模型数据模型是对现实世界的数据特征的抽象描述是对现实世界的数据特征的抽象描述 逻辑数据模型逻辑数据模型 物理数据模型物理数据模型 逻辑数据模型逻辑数据模型 从计算机(DBMS) 的角度 用于在数据库系统实 现。 概念数据模型要转化 为逻辑数据模型,才 能在DBMS中实现 物理数据模型物理数据模型 从计算机(存储介质 )的角度 每种逻辑数据模型在实现时,都有其对

13、 应的物理数据模型的支持 数据模型数据模型 概念数据模型概念数据模型 概念数据模型用来建立信息世界的数据模型,强调语义概念数据模型用来建立信息世界的数据模型,强调语义 表达,描述信息结构,是对现实世界的第一层抽象。表达,描述信息结构,是对现实世界的第一层抽象。 1) 实体实体:客观存在并且可以相互区别的事物:客观存在并且可以相互区别的事物 可以是具体的事物,如一个学生可以是具体的事物,如一个学生,一本书一本书 也可以是抽象的事物也可以是抽象的事物,如一次考试如一次考试 2) 实体的属性:实体的属性:用于描述实体的特性。用于描述实体的特性。 如学生用学号、姓名、性别、年龄等如学生用学号、姓名、性

14、别、年龄等属性属性描述描述 3) 一个实体是若干个属性值的集合。一个实体是若干个属性值的集合。 如一个特定的学生用学号、姓名、性别等如一个特定的学生用学号、姓名、性别等属性值属性值描述描述 4) 实体集:实体集:具有相同属性的实体的集合。具有相同属性的实体的集合。 如若干个学生实体的集合构成学生实体集如若干个学生实体的集合构成学生实体集 数据库概述数据库概述 实体集之间的联系实体集之间的联系 概念:两个实体集之间实体的对应关系称为联系概念:两个实体集之间实体的对应关系称为联系 (1)一对一联系)一对一联系 如果实体集如果实体集E1中的每一个实体中的每一个实体至多至多和实体集和实体集E2 中的中

15、的一个一个实体有联系,反之亦然,则称实体有联系,反之亦然,则称E1和和E2 是一对一的联系,表示为是一对一的联系,表示为1:1。 例如例如: 实体集校长和实体集校长和 实体集学校之间的实体集学校之间的 联系是一对一。联系是一对一。 数据库概述数据库概述 实体集之间的联系实体集之间的联系 2)一对多联系)一对多联系 如果实体集如果实体集E1中的每个实体与实体集中的每个实体与实体集E2中的中的任任 意个意个实体有联系,而实体集实体有联系,而实体集E2中的每一个实体中的每一个实体 至多和实体集至多和实体集E1中的中的一个一个实体有联系,则称实体有联系,则称E1 和和E2之间是一对多的联系,表示为之间

16、是一对多的联系,表示为1:n,E1称为称为 一方,一方,E2为多方。为多方。 例如,实体集学校和实例如,实体集学校和实 体集学生之间是一对多体集学生之间是一对多 的联系,一方是实体集的联系,一方是实体集 学校,多方是实体集学生学校,多方是实体集学生 实体集之间的联系实体集之间的联系 (3)多对多联系)多对多联系 如果实体集如果实体集E1中的每个实体与实体集中的每个实体与实体集E2中中 的的任意个任意个实体有联系,反之,实体集实体有联系,反之,实体集E2中的每中的每 个实体与实体集个实体与实体集E1中的中的任意个任意个实体有联系,则实体有联系,则 称称E1和和E2之间是多对多的联系,表示为之间是

17、多对多的联系,表示为m:n。 例如例如,实体集学生和实,实体集学生和实 体集课程之间是多对多体集课程之间是多对多 的关系的关系 E-RE-R图图 E-R图图: 用图形方式表示实体集之间的联系。用图形方式表示实体集之间的联系。 组成:组成: 1)矩形:表示实体集,实体名称写在框内;)矩形:表示实体集,实体名称写在框内; 2)椭圆:表示实体集或联系的属性,框内标明属性)椭圆:表示实体集或联系的属性,框内标明属性 的名称;的名称; 3)菱形:表示实体间的关系,框内注明联系名称;)菱形:表示实体间的关系,框内注明联系名称; 4)连线:连接实体和各个属性、实体和联系,并注)连线:连接实体和各个属性、实体

18、和联系,并注 明联系种类,即明联系种类,即1:1、1:n或或n:m。 学校学校1 学校学校2 学校学校3 学校学校n 校长校长1 校长校长2 校长校长3 校长校长n 学校学校校长校长 班级班级1 班级班级2 班级班级3 班级班级n 学生学生1 学生学生2 学生学生3 学生学生n 班级班级学生学生 1 : 1 1 : n 课程课程1 课程课程2 课程课程3 课程课程4 课程课程5 课程课程n 学生学生1 学生学生2 学生学生3 学生学生4 学生学生5 学生学生n 课程课程学生学生 m : n E-R模型的表示方法 实体实体用矩形表示用矩形表示 属性属性 用椭圆形表示用椭圆形表示 联系联系 用菱形

19、表示用菱形表示 1 :1 1 :n m :n 举例:网上成绩查询管理系统的举例:网上成绩查询管理系统的 E-R图图 系统功能:学生登陆后,可以查询成绩、给系统功能:学生登陆后,可以查询成绩、给 老师留言、下载资源;教师登陆后可以管理老师留言、下载资源;教师登陆后可以管理 任课班级的学生成绩、上传资源、查看学生任课班级的学生成绩、上传资源、查看学生 留言。留言。 学生实体集和课程实体集之间的关系学生实体集和课程实体集之间的关系 学生学生 学号学号姓名姓名性别性别年龄年龄 选课选课 课程课程 课程编号课程编号课程名称课程名称任课教师任课教师 成绩成绩 m n 逻辑数据模型逻辑数据模型 DBMS所支

20、持的数据模型称为逻辑数据模型,便于所支持的数据模型称为逻辑数据模型,便于 在数据库系统实现。在数据库系统实现。 用概念数据模型表示的数据必须转化为逻辑数据模用概念数据模型表示的数据必须转化为逻辑数据模 型表示的数据,才能在型表示的数据,才能在DBMS中实现。中实现。 根据数据及数据之间联系的表示形式的不同,主要根据数据及数据之间联系的表示形式的不同,主要 有以下几种逻辑数据模型:有以下几种逻辑数据模型: 层次数据模型层次数据模型 网状数据模型网状数据模型 关系数据模型关系数据模型 面向对象的数据模型面向对象的数据模型 用树状结构树状结构表示各类实体以及实体间的联系 以网状结构网状结构表示各类实

21、体以及实体间的联系 用二维表格二维表格来描述实体以及实体之间的联系 用面向对象的观点面向对象的观点来描述现实世界的实体。 逻辑数据模型逻辑数据模型 概念:逻辑数据模型是指在数据库系统中表示实概念:逻辑数据模型是指在数据库系统中表示实 体之间关系的模型。体之间关系的模型。 结点:各个实体在数据模型中被称为结点结点:各个实体在数据模型中被称为结点 1层次模型层次模型 1) 用树形表示数据之间的多级层次结构。用树形表示数据之间的多级层次结构。 2) 结构特点:结构特点: (1) 只有一个最高结点即根结点只有一个最高结点即根结点 (2) 其余结点有而且仅有一个父结点其余结点有而且仅有一个父结点 (3)

22、 上下层结点之间表示一对多的联系上下层结点之间表示一对多的联系 3) 应用应用: 行政组织机构、家族辈份关系等。行政组织机构、家族辈份关系等。 逻辑数据模型逻辑数据模型 逻辑数据模型逻辑数据模型 2网状模型网状模型 1) 用图表示数据之间的关系用图表示数据之间的关系 2) 允许结点有多于一个的父结点允许结点有多于一个的父结点 3) 可以有一个以上的结点没有父结点。可以有一个以上的结点没有父结点。 4) 特点特点: 表示结点之间多对多的联系。表示结点之间多对多的联系。 3关系模型关系模型 1) 用二维表格来表示实体及实体之间的联系用二维表格来表示实体及实体之间的联系 2) 实际应用中,每一个二维

23、表代表了一个关系。实际应用中,每一个二维表代表了一个关系。 3) 特点:结构简单特点:结构简单,容易实现容易实现 物理数据模型 物理数据模型反映了数据在存储介质上的存物理数据模型反映了数据在存储介质上的存 储结构储结构 物理数据模型不仅与具体的物理数据模型不仅与具体的DBMS有关,也有关,也 和操作系统及硬件有关。和操作系统及硬件有关。 物理数据模型物理数据模型 在计算机系统的底层对数据进行抽象,它在计算机系统的底层对数据进行抽象,它 描述数据在描述数据在存储介质上的上的存储方式和和存取 方法,是面向计算机系统的。,是面向计算机系统的。 在设计一个数据库时,首先需要将现实世在设计一个数据库时,

24、首先需要将现实世 界抽象得到概念数据模型,然后将界抽象得到概念数据模型,然后将概念数 据模型转换为转换为逻辑数据模型,最后将逻辑,最后将逻辑 数据模型转换为数据模型转换为物理数据模型。 最后一步一般由选定的最后一步一般由选定的DBMS自动实现。自动实现。 关系数据库关系数据库 采用的采用的DBMS是支持关系数据模型的,据此是支持关系数据模型的,据此 构建的数据库称为关系数据库构建的数据库称为关系数据库 相应的相应的DBMS为关系数据库管理系统为关系数据库管理系统 (Relational DataBase Management System,RDBMS) 关系数据模型 根据概念数据模型设计逻辑数

25、据模型 关系数据库 主要内容主要内容 数据结构数据结构 规范化的二维表格:规范化的二维表格: 任意两行内容不能完全相同 不能有名称相同的列 每一列都是不可分的,即不允许表中还有表 同一列的值取自同一个定义 关系模式关系模式:学生(学生( 学号,姓名,性别,状态,入学时间,最后登陆时间,登陆次数)学号,姓名,性别,状态,入学时间,最后登陆时间,登陆次数) 关系 关系模式 属性 域 元组 关键字(包括候选键和主键) 关系数据库关系数据库 关系模型的组成关系模型的组成-二维表格二维表格 关系模型中的常用术语关系模型中的常用术语 1元组元组 在二维表中,从第二行起的每一行称为一个元组,在二维表中,从第

26、二行起的每一行称为一个元组, 在文件中对应一条具体记录。在文件中对应一条具体记录。 2属性属性 二维表中,每一列称为一个属性,在文件中对应二维表中,每一列称为一个属性,在文件中对应 一个字段。一个字段。 3属性名属性名 二维表第一行显示的每一列的名称,在文件中对二维表第一行显示的每一列的名称,在文件中对 应字段名,例如应字段名,例如“姓名姓名”,“性别性别”等。等。 关系模型中的常用术语关系模型中的常用术语 4属性值属性值 行和列的交叉位置表示某个属性的值。行和列的交叉位置表示某个属性的值。 5域域 表示各个属性的取值范围。表示各个属性的取值范围。 关系模型中的常用术语关系模型中的常用术语 6

27、表结构表结构 表中的第一行,表示组成该表的各个字段名称,表中的第一行,表示组成该表的各个字段名称, 各字段取值的类型、宽度等。各字段取值的类型、宽度等。 7关系模式关系模式 是对关系结构的描述,表示格式:是对关系结构的描述,表示格式: 关系名关系名(属性属性1,属性属性2,属性属性3,,属性,属性n) 例:例: student(学号学号,姓名姓名,性别性别,年龄年龄) 关系模型中的常用术语关系模型中的常用术语 6表结构表结构 表中的第一行,表示组成该表的各个字段名称,表中的第一行,表示组成该表的各个字段名称, 各字段取值的类型、宽度等。各字段取值的类型、宽度等。 7关系模式关系模式 是对关系结

28、构的描述,表示格式:是对关系结构的描述,表示格式: 关系名关系名(属性属性1,属性属性2,属性属性3,,属性,属性n) 例:例: student(学号学号,姓名姓名,性别性别,年龄年龄) 关系模型中的常用术语关系模型中的常用术语 9主键主键 从候选键中指定一个用来标识元组。从候选键中指定一个用来标识元组。 10外部关键字外部关键字 表中的一个字段不是本表的主关键字或候选关键表中的一个字段不是本表的主关键字或候选关键 字,而是另外一个表的主关键字或候选关键字,字,而是另外一个表的主关键字或候选关键字, 该字段称为外部关键字,简称外键。该字段称为外部关键字,简称外键。 例题例题: 在关系在关系sc

29、ore中,中, “学号学号”不是不是score的的 主键,而是关系主键,而是关系student的主键,因此,的主键,因此,“学号学号” 称为外键。称为外键。 关系模型中的常用术语关系模型中的常用术语 11主表和从表主表和从表 主表主表: 以外键作为主键的表以外键作为主键的表 从表从表: 外键所在的表外键所在的表 主表和从表通过外键相关联主表和从表通过外键相关联 关系模型的特点关系模型的特点 1)每一列不可再分; 2)同一关系中属性(字段)不允许重名 3)关系中不允许有完全相同的元组 4)关系中交换任意两行的位置不影响数据 的实际含义; 5)关系中交换任意两列的位置不影响数据 的实际含义。 关系

30、的基本运算 1选择选择 从指定的关系中选择满足给定条件的元组组成新从指定的关系中选择满足给定条件的元组组成新 的关系。的关系。 例题:例题:从关系从关系score1score1中选择数学大于中选择数学大于9090的元组组的元组组 成关系成关系S1S1。S1=数学 数学90( (Score1) 关系的基本运算 2投影投影 从指定关系的属性集合中选取若干个属性组成新从指定关系的属性集合中选取若干个属性组成新 的关系。的关系。 例题:例题:从关系从关系score1score1中选择中选择“学号学号”、 “姓名姓名”、“数学数学”组成新的关系组成新的关系S2S2。 S2=学号,姓名,数学(学号,姓名,

31、数学(Score1) 关系的基本运算 联接联接 两个关系中的元组按指定条件组合新的关系两个关系中的元组按指定条件组合新的关系 例题例题:将将score1和和score2按相同学号合并按相同学号合并 专门的关系运算专门的关系运算选择、投影、连接选择、投影、连接 学号姓名性别状态入学时间最后登陆时间登陆次数 39001杨雨潇男在读2007-9-12008-7-218 39002崔敏女在读2007-9-12008-7-425 39003张进女在读2007-9-12008-7-120 39004何晴女在读2007-9-12008-6-3016 39005李哲男在读2007-9-12008-7-219

32、39006刘晓女在读2007-9-12008-7-222 关系关系 S1 学号姓名性别状态入学时间最后登陆时间登陆次数 39001杨雨潇男在读2007-9-12008-7-218 39005李哲男在读2007-9-12008-7-219 关系关系 S2 从指定的关系中选择 满足给定条件的元组元组 组成新的关系 选择运算选择运算 投影运算投影运算 从关系的属性集合中选取 指定的若干个属性属性组成新的 关系 S2=性别 性别=”男男”( (S1) S3=学号,姓名,性别 学号,姓名,性别( (S1) 关系关系 S3 连接运算连接运算 在两个关系的所有元组组合组合中 选择选择符合指定条件的元组元组,

33、生成 一个新的关系 关系关系 S3 学号课程号成绩成绩类型 390018850 390027770 390016761 390016900 390067820 390018800 390066920 关系关系S4 S6=学号,课程号,成绩 学号,课程号,成绩( (成绩类型 成绩类型=0( (S4) 关系关系S6 S7=S3 S6 关系关系S7 数据完整性控制数据完整性控制 最大限度地保证数据的最大限度地保证数据的正确性正确性、合法性合法性和和一致性一致性 实体完整性规则实体完整性规则 关系中各个元组的 主键不允许取空值 、不允许重复。 数据完整性数据完整性 用户定义的完整性用户定义的完整性 允

34、 许用户自行定义对数 据的约束条件,从语 义上保证数据的合法 性 。 参照完整性规则参照完整性规则 在关系模型中,实体集之间 的联系也用关系来表示 存在关系与关系间的引用 修改一个关系时,为保持数 据的一致性,必须对另一个关 系进行检查和修改。 取值参照取值参照 或取空值或取空值 在选课表中插入一个记录 ( 39078, 6, 90, 0 ) 删除学生表中记录(39001,杨雨潇, 男,在读,2007-9-1,2008-7-2,18) 如何保证数据的一致性? 由由E-R图设计关系模型图设计关系模型 1) 两个实体集 学生(学号,姓名,性别,年龄) 课程(课程代码, 课程名称, 任 课教师) 2

35、) 联系 选修(学号,课程代码,成绩) 两个实体集的主键 自身属性 根据概念数据模型设计关系数据模型根据概念数据模型设计关系数据模型 网上成绩查询管理系统的网上成绩查询管理系统的 E-RE-R图图 一个实体集转换为一个关系模式,实体 集的属性就是关系的属性 院系院系(院系编号,院系名称) 班级班级(班号,班级名,学生数,班主任) 学生学生(学号,登陆密码,姓名,性别,状态,入校时间,毕业时间,退 学时间,注册时间,最后登陆时间,登陆次数) 这里“状态”有3种取值:在读、退学、毕业 教师教师(教师号,登陆密码,姓名,电话,邮箱,QQ号,找回密码问 题,找回密码答案,注册时间,最后登陆时间,登陆次

36、数) 课程课程(课程号,课程名称,学分) 课程资源课程资源(资源号,资源名,链接地址,更新时间,资源类型,说明) 学期学期(学期号,学期名称,是否当前学期,学期起始时间,学期结束时 间) Access 简介简介 Access的特点的特点 1. 具有具有Office系列的共同功能系列的共同功能; 2. 桌面型的数据库管理系统桌面型的数据库管理系统; 3. 与其它数据库系统共享数据与其它数据库系统共享数据; 4. 提供程序设计语言提供程序设计语言VBA,用于开发应用程序。,用于开发应用程序。 Access启动 ACCESS数据库管理系统数据库管理系统 Access 2003是是Microsoft

37、Office 2003的组件之的组件之 一,是用户和数据库间的软件接口一,是用户和数据库间的软件接口 使用非常简单使用非常简单 可视化工具可视化工具 提供了大量的向导提供了大量的向导 快速创建对象及应用程序快速创建对象及应用程序 面向对象的、采用事件驱动面向对象的、采用事件驱动 ,可以与其他数据库相连,可以与其他数据库相连 , 使用使用VBA语言作为其应用程序开发工具语言作为其应用程序开发工具 可处理多种数据信息可处理多种数据信息Office组件数据、其他组件数据、其他DBMS 数据数据 创建数据库和数据表 数据完整性控制 数据查询 主要内容主要内容 Access的启动的启动 1.“开始开始”

38、-“程序程序”-Microsoft Access 2.在对话框中选在对话框中选“空空Access数据库数据库”。 3.单击单击“确定确定” 4.输入数据库名输入数据库名 5.单击单击“创建创建” 数据库组成 6.4.1 创建数据库和数据表创建数据库和数据表 数据库文件(数据库文件(.mdb)其中包括所有相关数据和管理 这些数据的所有对象。 方法:方法: 单击【开始】|【所有程序】|【Microsoft Office】 |【Microsoft Office Access 2003】启动Access2003 单击【文件】|【新建】 建立空数据库 使用模板向导建立各类数据库 建空数据库建空数据库 利

39、用向导建数据库利用向导建数据库 创建创建 数据表数据表 每个关系关系对应建立一个数据表数据表 两方面的工作:设计表结构表结构和输入数据记录输入数据记录。 (1) 打开表结构“设计器” 使用设计视图使用设计视图 建立数据表的表结构建立数据表的表结构 图6.20 设计视图窗口 (2) 依次输入各个字段的名称名称,指定字段类型类型,并对 每个字段的含义、取值进行注释说明 字段选择栏字段选择栏 字段属性字段属性 字段类型说明 文本用来存放不需要计算的数据,可以为数字、文字,例如学号、电话 备注也称长文本,存放说明性文字 数字需要运算的数值数据,如成绩、次数、年龄 日期/时间存放日期和时间数据 货币存放

40、货币数值 自动编号在增加记录时,其值能依次自动加1 是/否存放逻辑型数据,如婚否、Yes/No、On/Off OLE对象将对象(如电子表格、文件、图形、声音等)链接或嵌入表中 超链接存放超链接数据 字段选择栏字段选择栏 字段属性字段属性 字段属性说明 字段大小可以指定字段中文本或数字的范围,文本缺省长度为50,最多 255个字符,备注型最多65536个,数值为长整型。应该尽可 能设置最小的字段大小,因为其需要的内存更少,数据处理 速度更快。 格式可以选择或输入格式串来定义字段中数据的格式 小数位数指定数字或货币数值的小数点位数 输入掩码用于设置字段数据的输入模式,例如可以为“电话号码”字段设

41、置一个输入掩码(0000)-(00000000),则在用户输入该字段内 容时,会显示 (_)-(_),提示用户正确输入。 标题可以定义字段的别名,作为创建窗体和报表时数据单中使用的标 签。如字段名为sname,可将标题设置为“姓名” 默认值该值在新建记录时会自动输入到字段中,也可以更改。例如,将 states(状态)字段的默认值设为“在读”。 必填字段用于设置这个字段是否必须填写,设置成“是”时,这个字段不 能空着 允许空字符串如果为“是”,则该字段可以接受空字符串为有效输入项 索引可以选择是否为这个字段建立索引或者是否允许建立索引,建立 索引的好处是,按此字段进行查询时会提高查询和排序速度,

42、 但同时也加大了系统维护的开销。 (1) 打开表结构“设计器” 使用设计视图使用设计视图 建立数据表的表结构建立数据表的表结构 (2) 依次输入各个字段的名称名称,指定字段类型类型, 并对每个字段的含义、取值进行注释说明 (3) 定义表的主键 选中字段后单击工具栏 “主键”按钮 (4) 保存并命名数据表 (1) 双击数据表,打开数据表视图窗口 在数据表视图窗口在数据表视图窗口 输入数据记录输入数据记录 (2) 依次输入各字段值,完成所有记录的录入 (3) 关闭窗口结束 数据完整性控制数据完整性控制 用户定义的完整性用户定义的完整性 实体完整性实体完整性 通过设置主键 ,使其取值既不 能为空也不

43、能重 复,以此保证记 录(即实体)的 正确性。 通过定义指定字 段的“有效性规则” 属性,对字段的取 值设置约束条件, 保证记录的合法性。 参照完整性参照完整性 是指对存在引用关 系的两个关系(数据 表)的约束,通过建 立引用关系保证数据 的一致性。 参照完整性示例参照完整性示例 取值参照取值参照 只要建立了二者之间的引用关系,就能保证数据 的一致性: 在选课表中插入一个记录 ( 39078, 6, 90, 0 )拒绝拒绝 修改学生表中的学生学号同步修改选课表同步修改选课表 中相应学号中相应学号 删除学生表中记录(39001,杨雨潇, 男,在读,2007-9-1,2008-7-2,18)提示同

44、步删提示同步删 除选课表中相应记录除选课表中相应记录 关联关系 关联字段 主表 子表 建立建立student表和表和sel_course表间的关联关系表间的关联关系 (1) 打开“关系”窗口 方法方法? (2) 选择建立关联的表添加到窗口中 (3) 将主表的主键拖到子表的外键,建立关联关系 (4) 设置参照完整性规则 一对多关系 主键 外键 当主表关联字段被更改时,子表关 联字段也自动随之更改。 子表关联字段欲更改的新值若在主表中 不存在,则拒绝子表的修改 子表增加一条记录时,若该记录关联字 段的取值在主表中不存在,则拒绝子表的 操作。 当主表删除某个记录时,子表中与之关 联的全部记录一并自动

45、删除。 子表删除记录时,不会影响到主表记录 。 还有还有 什么用什么用? (1) 利用关联查看多组数据 (2) 在子表中输入(插入、修改)数据时保证完整性 (3) 据此进行多表查询 school数据库中各表的关联关系数据库中各表的关联关系 数据查询数据查询 查找查找 筛选筛选查询查询 按选定内容筛选 按窗体筛选 高级筛选/排序 应用筛选/取消筛选 【例6.11】 创建一个查询,从sel_course(选课)表中查询选修 课程成绩不及格的学生的学号、课程号及成绩,查询结果按学号升 序排序。查询命名为“查询不及格学生1”。 创建查询创建查询? 打开查询设计窗口打开查询设计窗口 选择欲查询的数据表

46、选择查询字段选择查询字段 输入查询条件。 选择哪些字段显示在查询结果中 查询结果可以指定排序字段查询结果可以指定排序字段 运行查询,查看结果 保存并命名查询保存并命名查询 多种查询视图多种查询视图 多种查询类型多种查询类型 从表中检索数据,并对结果排序。 还可以对记录分组进行总计、计数、平均 值以及其他类型的计算。 对查询结果按不同的字段逐级分组显示 统计结果 结果显示方式为交叉表方式,即分行标 题、列标题以及统计数据区。 操作查询 指可以重复使用,每次改变查询条件的查询。 【例6.12】查询不及格学生姓名、课程名、成绩,结果按学号升序 排序。查询命名为“查询不及格学生2”。 选择查询选择查询

47、 依据关联关系建立连接,然后 选择需要的字段、记录 【例6.13】查询选修课程中最高分是多少, 查询命名为“查询最高分”。 单击工具栏上的 选择查询选择查询 (汇总)(汇总) 【例6.14】查询选修课程中每位学生各自 的最高分、最低分、平均分,查询结果包 含学生姓名和最高分数、最低分、平均分。 查询命名为“查询每位学生最高分”。 选择查询选择查询 (分组汇总)(分组汇总) 【例6.15】统计查询各班不同性别的学生选择各门课程的人数情况。 查询命名为“查询选课人数”。显示统计结果时,班级名、性别均 作为行标题,课程名称作为列标题。 交叉表查询交叉表查询 需要选择查询类型为“交叉表 查询” 【例6

48、.16】查询各班学生在某一范围内的 成绩,查询命名为“参数查询学生成绩”。 单击“查询” | “参数”, 设置查询参数 参数查询参数查询 说明 数据表与查询数据表与查询 查询结果也为二维表形式,但它与数据表对象不同; 数据表中存储数据信息,而查询存储查询的规则,即 相应的SQL命令; 执行查询即执行SQL命令; 可以基于数据表建立查询,也可以基于查询创建其他 查询。 数据库组成数据库组成 Access数据库:数据库: 1)Access的文档文件,扩展名为的文档文件,扩展名为MDB 2)由数据表、查询、窗体、报表、宏和模块等)由数据表、查询、窗体、报表、宏和模块等 对象组成。对象组成。 3)所有

49、对象都保存在的同一个数据库文件中。)所有对象都保存在的同一个数据库文件中。 数据库组成 1 1表表 1)1)以二维表格保存基本信息以二维表格保存基本信息, ,数据库的核心数据库的核心 2)2)为其它对象提供数据为其它对象提供数据 3)3)对具有复杂结构的数据,分别使用多张数据表,对具有复杂结构的数据,分别使用多张数据表, 这些表之间可以通过相关字段建立关联。这些表之间可以通过相关字段建立关联。 数据库组成 数据库组成 2 2查询查询 1 1)从一个或多个表中查找某些特定的记录)从一个或多个表中查找某些特定的记录 2 2)查询的运行结果以二维表的形式显示)查询的运行结果以二维表的形式显示 3 3

50、)在数据库中只记录了查询的方式即规则)在数据库中只记录了查询的方式即规则 4 4)可作为窗体、报表等其它组件的数据源)可作为窗体、报表等其它组件的数据源 数据库组成 数据库组成 3 3窗体窗体 1) 1) 向用户提供交互界面,更方便地进行数据的向用户提供交互界面,更方便地进行数据的 输入、输出输入、输出 2) 2) 窗体的数据源,可以是一个或多个数据表,窗体的数据源,可以是一个或多个数据表, 也可以是查询。也可以是查询。 数据库组成 数据库组成数据库组成 4报表报表 1)将数据按指定的格式进行显示或打印将数据按指定的格式进行显示或打印 2)数据源可以是一张或多张数据表、查询数据源可以是一张或多

51、张数据表、查询 3)建立报表时还可以进行计算建立报表时还可以进行计算,如求和、平如求和、平 均等均等 5页页 通过通过Web页将数据存储到指定的文件夹页将数据存储到指定的文件夹, 或将其复制到或将其复制到Web服务器上服务器上,以便在网上以便在网上 发布信息。发布信息。 数据库组成 数据库组成 6. 6. 宏宏 宏是由具有宏名的一系列命令组成,用来宏是由具有宏名的一系列命令组成,用来 简化一些需要重复的操作。简化一些需要重复的操作。 建好的宏,可以单独使用,或与窗体配合建好的宏,可以单独使用,或与窗体配合 使用。使用。 7 7模块模块 用用AccessAccess提供的提供的VBAVBA语言编

52、写的程序,模语言编写的程序,模 块通常与窗体、报表结合起来完成完整的块通常与窗体、报表结合起来完成完整的 应用功能。应用功能。 数据表结构 数据表的建立和使用数据表的建立和使用 数据表由表结构和记录两部分组成。数据表由表结构和记录两部分组成。 数据表结构数据表结构 1字段名字段名 2数据类型数据类型 如文本型、数字型等如文本型、数字型等 3字段属性字段属性 (1)字段大小)字段大小 (2)格式)格式 (3)小数位数)小数位数 (4)标题)标题 (5)有效性规则)有效性规则 4主关键字主关键字 建立数据表 建立数据表建立数据表 1在在数据表视图数据表视图下建立数据表下建立数据表 例题例题:在数据

53、表视图下建立在数据表视图下建立“成绩成绩”表表(p248) 2用用设计视图设计视图建立数据表建立数据表(p249) 例题例题:在设计视图视图下建立在设计视图视图下建立“学生学生”表表 1) 设计表结构设计表结构 2)定义主关键字段)定义主关键字段 3)命名表及保存)命名表及保存 4) 输入记录输入记录 建立数据表 编辑数据表 1 1修改表结构修改表结构 在在设计视图或数据表视图设计视图或数据表视图下进行下进行 (1 1)改字段名、类型、属性)改字段名、类型、属性 (2 2)插入字段)插入字段 (3 3)删除字段)删除字段 2 2编辑记录编辑记录 在数据表视图下进行在数据表视图下进行 (1) (

54、1) 输入新记录输入新记录 (2) (2) 修改原有记录修改原有记录 (3) (3) 删除记录。删除记录。 编辑数据表 建立表间关系建立表间关系 目的目的: :实现数据库的实现数据库的参照完整性参照完整性。 例题例题: :在在“学生学生”和和“成绩成绩”表间建立关系,表间建立关系, “学生学生”表为主表,表为主表,“成绩成绩”表为从表:表为从表: 1 1“工具工具”-“-“关系关系” 2 2选择表或查询选择表或查询 3 3设置完整性设置完整性 4. 4. 建立联系后,再打开建立联系后,再打开“学生学生”表,观察显示表,观察显示 的结果的结果 编辑关系对话框 建立表间关系 使用数据表 数据表的使

55、用数据表的使用 在在数据表视图数据表视图下进行下进行 1记录排序记录排序 按某个字段值的升序或降序重新排列记录按某个字段值的升序或降序重新排列记录 (1)排序)排序 选择排序关键字。选择排序关键字。 单击工具栏上的单击工具栏上的“升序升序”或或“降序降序”按钮按钮 (2)恢复排序前的记录顺序)恢复排序前的记录顺序 “记录记录”-“取消筛选排序取消筛选排序” 筛选 数据表的使用数据表的使用 2. 筛选记录筛选记录 筛选记录是指在屏幕上仅仅显示满足条件的记录筛选记录是指在屏幕上仅仅显示满足条件的记录 常用的有按选定内容筛选或内容排除筛选。常用的有按选定内容筛选或内容排除筛选。 查询 查询查询 查询

56、的类型查询的类型 1设计视图查询设计视图查询 在一个或多个基本表中,按照指定的条件进行查在一个或多个基本表中,按照指定的条件进行查 找,并指定显示的字段。找,并指定显示的字段。 2简单查询向导简单查询向导 按系统的提示设计查询的结果。按系统的提示设计查询的结果。 3交叉表查询交叉表查询 用交叉方式的数据表格显示信息。用交叉方式的数据表格显示信息。 查询类型 查询的类型查询的类型 4重复项查询重复项查询 在数据表中查找具有相同字段值的重复记录。在数据表中查找具有相同字段值的重复记录。 5不匹配查询不匹配查询 在数据表中查找与指定条件不匹配的记录。在数据表中查找与指定条件不匹配的记录。 建立查询建

57、立查询: 在设计视图或在设计视图或SQL窗口下窗口下 显示查询结果显示查询结果: 单击工具栏上的单击工具栏上的“执行执行”按钮!按钮! 设计视图窗口 设计视图窗口的组成设计视图窗口的组成 1)字段:查询结果中使用的字段。)字段:查询结果中使用的字段。 2)表:该字段所在的表或查询。)表:该字段所在的表或查询。 3)排序:指定是否按此字)排序:指定是否按此字 段排序段排序 4)显示:确定该字段是否)显示:确定该字段是否 在结果中显示。在结果中显示。 5)准则:指定对该字段的)准则:指定对该字段的 查询条件查询条件 6)或:指定其它查询条件)或:指定其它查询条件 SQL窗口 课堂训练 实体完整性

58、例题例题:“:“学生学生”表已将表已将“学号学号”定义为主键定义为主键 观察以下操作是否允许观察以下操作是否允许: : 1) 输入学号为空的记录;输入学号为空的记录; 2) 输入新记录输入新记录,学号与表中已有记录学号相同学号与表中已有记录学号相同 结论结论: : 实体完整性对表中主键的要求实体完整性对表中主键的要求: 1)不允许有空值)不允许有空值 2)不允许出现两条记录的主键值相同)不允许出现两条记录的主键值相同 用户定义的完整性 课堂训练课堂训练 用户定义的完整性用户定义的完整性 用户定义的完整性是针对具体数据设置约束用户定义的完整性是针对具体数据设置约束 条件条件 例题例题: 对对“学

59、生学生”表设置约束条件表设置约束条件 1) “年龄年龄”字段的值设置在字段的值设置在16至至23之间之间 2)“性别性别”字段的有效性规则设置为:字段的有效性规则设置为: 男男 or 女女。 参照完整性 课堂训练课堂训练 参照完整性参照完整性 参照完整性是两个相关联表之间的操作约束参照完整性是两个相关联表之间的操作约束 例题例题:对已建立关联的对已建立关联的“学生学生”表和表和“成绩成绩” 表进行完整性操作表进行完整性操作,已知已知: 1) 主表主表: 学生学生 主键主键:学号学号 2) 从表从表: 成绩成绩 外键外键:学号学号 3) 已进行的设置已进行的设置: 级联更新相关字段级联更新相关字

60、段 级联删除相关记录级联删除相关记录 参照完整性 课堂训练课堂训练 参照完整性参照完整性 观察以下操作的结果:观察以下操作的结果: (1)向)向“成绩成绩”表输入一条新的记录,其中学号在表输入一条新的记录,其中学号在“学学 生生”表中是不存在的,该操作能否进行?表中是不存在的,该操作能否进行? (2)将)将“学生学生”表的第三条记录的表的第三条记录的“学号学号”字段值改为字段值改为 “990007”,观察,观察“成绩成绩”表的变化表的变化; (3)将)将“学生学生”表中表中“学号学号”字段值为字段值为“990004”的记的记 录删除,观察录删除,观察“成绩成绩”表的变化表的变化 由两个表建立查

温馨提示

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

评论

0/150

提交评论