资源描述
数据库基础 数据库概述 一 .数据处理技术的发展 手工管理阶段 特点: (1) 数据不保存 -不能实现数据共享。 (2) 数据与程序不可分割。 (3)各程序的数据彼此独立 -数据冗余。 适应场合 : 数据量较小。 数据库概述 文件系统阶段 (1) 程序和数据分开 , 有一定的独立性 。 (2) 数据以文件形式保存 , 由操作系统按名存取 。 (3) 实现一定程度的数据共享 。 (4) 数据文件之间缺乏联系 。 数据库概述 数据库阶段 (1) 数据和程序之间彼此独立,实现共享 (2) 数据以数据库形式保存,最大限度减少冗余。 (3) 专门的数据库管理软件 -DBMS。 应用程序 1 DBMS 应用程序 2 数据库 应用程序 n 数据库概述 分布式数据库系统 数据库技术和计算机网络技术相结合产生: 1) 物理上独立 , 数据分布在网络的不同计算机 2) 逻辑上属于一个整体 。 面向对象的数据库 将程序设计语言中对象的概念引用到数据库中: 1)数据和操作方法作为对象统一管理; 2)可以处理更为复杂的对象; 6.1 数据库概述 我们身边的数据库? 什么是数据库? 是持久数据的 集合,是存储在 计算机中的数据 的集合 银行的用户信息、 学校的教师和学生 信息、图书馆的图 书信息、网页上不 断更新的新闻、文 献资料 什么是数据库技术? 研究如何科学 组 织 和 存储 数据,如 何高效地 获取 和 处 理 数据,以及如何保 障数据 安全 ,实现 数据 共享 。 I nt e r ne t W W W 服务器 数据库服务器 数据库 我的成绩 学生表 课程 表 选课成绩 表 S Q L 命令 查询结果 举例: 图书馆 =数据库 保障图书安全 整理、组织、存储 最大限度地 实现图书的共享 高效地查找和 管理图书 图书馆 根据书的特征将它们按 学科分类整理,通过建 立索引表确定书籍的存 放方法; 根据索引表按照名称、作者、关键字、出版 社等查找存放位置; 需要不断地对图书进行购进、丢失处理、借 阅、归还等管理工作; 对图书使用状况进行科学地分析和统计,作 为修改购书计划的依据; 图书不能借了不还、阅览室 的书不能外借(或只能短期 借阅)、重要文献借阅有严 格的规章制度、只允许合法 用户借阅、限定借阅册数和 期限 不允许长期滞留在个人手中、不 能被某些院系独占、避免重复购 进造成浪费 数据库与图书馆的不同点 : 数据更具普遍性,数据的多样性和复杂性使得数据的组织和管理更具挑战性, 需要一套科学的技术和方法。简而言之,数据库技术就是数据管理的技术。 数据库概述 数据库 ( DB) 指按特定的组织形式将数据保存在存储介质上 特点: ( 1) 在数据库中 , 不仅包含数据本身 , 也包含数 据之间的联系; ( 2) 数据通过一定的数据模型进行组织 , 保证有 最小的冗余度 ,有层次 、 网状和关系模型; ( 3) 各个应用程序共享数据; ( 4) 对数据的各种操作 , 如定义 、 操纵等都由 DBMS统一进行 。 二 .数据库中的常见概念 数据库管理系统 ( DBMS) 对数据库进行管理的软件 . 功能: ( 1) 定义 : 定义数据库的结构 、 数据完整性和其 它的约束条件; ( 2) 操纵 : 实现数据插入 、 修改 、 删除和查询; ( 3) 控制 : 实现数安全控制 、 完整性控制以及多 用户环境下的并发控制; ( 4) 维护 : 提供对数据的装载 、 转储和恢复 , 数 据库的性能分析和监测; ( 5) 数据字典 , 存放数据库各级结构的描述 。 数据库概述 数据库的基本概念 数据库 系统 DataBase System( DBS) 是指引入了数据库的计算机系统。 一般由数据库 (DB)、数据库管理系 统 (DBMS)(及其开发工具)、应用系 统、数据库管理员 (DBA)组成。 用户 用户 用户 应 用系统 D B M S D B A D B DBMS是数据库系统的核心 应用程序 利用 DBMS开发的应用软件 。 数据库管理员 ( DBA) 负责管理数据库资源;确定用户需求 , 设计 、 实 现数据库;并负责维护和管理数据库 。 数据库系统 ( DBS) 完整的数据库系统由硬件 、 数据库 、 数据库管理 系统 、 操作系统 、 应用程序 、 数据库管理员等部 分组成 。 数据库概述 应用程序 开发工具软件 数据库管理系统 操作系统 硬件 数据库 管理员 用户 数据库概述 数据库系统( DBS) 三 .数据库系统的体系结构 三级模式 (1) 模式 (逻辑模式或概念模式 ) 是对数据库中的全部数据的逻辑结构和特征的描 述 , 不涉及数据的物理存储 。 (2) 外模式 (用户模式或子模式 ) 该模式面向用户 , 是数据库用户看到的局部数据 结构和特征的描述 , 是数据的局部逻辑结构 。 (3) 内模式 (存储模式 ) 描述数据的物理结构、在存储介质上的存储方法 和存取策略。 数据库概述 二级映射 用于三级模式之间的转换。 ( 1) 外模式 /模式映射 定义外模式和概念模式之间的对应性 , 这一映射 使得概念模式的改变不影响外模式和应用程序 , 从而达到了数据的逻辑独立性 。 ( 2)模式 /内模式映射 定义概念模式和内模式之间的对应性,当存储结 构改变即修改内模式时,只要相应改变模式 /内 模式映象,而模式尽量保存不变,从而达到了数 据的物理独立性。 数据库概述 数据库系统的体系结构 应用 1 应用 1 应用 1 外模式 A 外模式 B 模式 内模式 数据库 OS DBMS 外模式 /模式映像 模式 /内模式映像 数据模型 概念数据模型 概念数据模型 从用户的角度 强调对数据对象的 基本表示和概括性描 述 (包括数据及其 联系) 不考虑计算机具体 实现,与具体的 DBMS无关 数据模型 是对现实世界的数据特征的抽象描述 逻辑数据模型 物理数据模型 逻辑数据模型 从计算机( DBMS) 的角度 用于在数据库系统实 现。 概念数据模型要转化 为逻辑数据模型,才 能在 DBMS中实现 物理数据模型 从计算机(存储介质 )的角度 每种逻辑数据模型在实现时,都有其对 应的物理数据模型的支持 数据模型 概念数据模型 概念数据模型用来建立信息世界的数据模型 , 强调语义 表达 , 描述信息结构 , 是对现实世界的第一层抽象 。 1) 实体 :客观存在并且可以相互区别的事物 可以是具体的事物 , 如一个学生 ,一本书 也可以是抽象的事物 ,如一次考试 2) 实体的属性: 用于描述实体的特性 。 如学生用学号 、 姓名 、 性别 、 年龄等 属性 描述 3) 一个实体是若干个属性值的集合 。 如一个特定的学生用学号 、 姓名 、 性别等 属性值 描述 4) 实体集: 具有相同属性的实体的集合 。 如若干个学生实体的集合构成学生实体集 数据库概述 实体集之间的联系 概念:两个实体集之间实体的对应关系称为联系 ( 1) 一对一联系 如果实体集 E1中的每一个实体 至多 和实体集 E2 中的 一个 实体有联系 , 反之亦然 , 则称 E1和 E2 是一对一的联系 , 表示为 1:1。 例如 : 实体集校长和 实体集学校之间的 联系是一对一 。 数据库概述 实体集之间的联系 2) 一对多联系 如果实体集 E1中的每个实体与实体集 E2中的 任 意个 实体有联系 , 而实体集 E2中的每一个实体 至多和实体集 E1中的 一个 实体有联系 , 则称 E1 和 E2之间是一对多的联系 , 表示为 1:n, E1称为 一方 , E2为多方 。 例如 , 实体集学校和实 体集学生之间是一对多 的联系 , 一方是实体集 学校 , 多方是实体集学生 实体集之间的联系 ( 3) 多对多联系 如果实体集 E1中的每个实体与实体集 E2中 的 任意个 实体有联系 , 反之 , 实体集 E2中的每 个实体与实体集 E1中的 任意个 实体有联系 , 则 称 E1和 E2之间是多对多的联系 , 表示为 m:n。 例如 , 实体集学生和实 体集课程之间是多对多 的关系 E-R图 E-R图 : 用图形方式表示实体集之间的联系 。 组成: 1) 矩形:表示实体集 , 实体名称写在框内; 2) 椭圆:表示实体集或联系的属性 , 框内标明属性 的名称; 3) 菱形:表示实体间的关系 , 框内注明联系名称; 4) 连线:连接实体和各个属性 、 实体和联系 , 并注 明联系种类 , 即 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模型的表示方法 实体 用矩形表示 属性 用椭圆形表示 联系 用菱形表示 课程 课程 号 课程 名 学分 学生 课程 选课 成绩 m n 院系 班级 组成 1 n 班主任 班级 负责 1 1 成绩 类型 1 : 1 1 : n m : n 举例:网上成绩查询管理系统的 E-R图 学生 课程 选课 m n 构成 班级 组成 院系 任课 教师 上传 资源 学期 n m m 1 m 1 q p 1 m 系统功能:学生登陆后,可以查询成绩、给 老师留言、下载资源;教师登陆后可以管理 任课班级的学生成绩、上传资源、查看学生 留言。 学生实体集和课程实体集之间的关系 学生 学号 姓名 性别 年龄 选课 课程 课程编号 课程名称 任课教师 成绩 m n 逻辑数据模型 DBMS所支持的数据模型称为逻辑数据模型,便于 在数据库系统实现。 用概念数据模型表示的数据必须转化为逻辑数据模 型表示的数据,才能在 DBMS中实现。 根据数据及数据之间联系的表示形式的不同,主要 有以下几种逻辑数据模型: 层次数据模型 网状数据模型 关系数据模型 面向对象的数据模型 用 树状结构 表示各类实体以及实体间的联系 以 网状结构 表示各类实体以及实体间的联系 用 二维表格 来描述实体以及实体之间的联系 用 面向对象的观点 来描述现实世界的实体。 逻辑数据模型 概念:逻辑数据模型是指在数据库系统中表示实 体之间关系的模型 。 结点:各个实体在数据模型中被称为结点 1层次模型 1) 用树形表示数据之间的多级层次结构。 2) 结构特点: (1) 只有一个最高结点即根结点 (2) 其余结点有而且仅有一个父结点 (3) 上下层结点之间表示一对多的联系 3) 应用 : 行政组织机构、家族辈份关系等。 逻辑数据模型 逻辑数据模型 2 网状模型 1) 用图表示数据之间的关系 2) 允许结点有多于一个的父结点 3) 可以有一个以上的结点没有父结点 。 4) 特点 : 表示结点之间多对多的联系 。 3关系模型 1) 用二维表格来表示实体及实体之间的联系 2) 实际应用中,每一个二维表代表了一个关系。 3) 特点:结构简单 ,容易实现 物理数据模型 物理数据模型反映了数据在存储介质上的存 储结构 物理数据模型不仅与具体的 DBMS有关 , 也 和操作系统及硬件有关 。 物理数据模型 在计算机系统的底层对数据进行抽象,它 描述数据在 存储介质 上的 存储方式 和 存取 方法 ,是面向计算机系统的。 在设计一个数据库时,首先需要将现实世 界抽象得到概念数据模型,然后将 概念数 据模型 转换为 逻辑数据模型 ,最后将逻辑 数据模型转换为 物理数据模型 。 最后一步一般由选定的 DBMS自动实现。 关系数据库 采用的 DBMS是支持关系数据模型的,据此 构建的数据库称为关系数据库 相应的 DBMS为关系数据库管理系统 ( Relational DataBase Management System, RDBMS) 关系数据模型 根据概念数据模型设计逻辑数据模型 关系数据库 数据结构 数据 结构 规范化的二维表格: 任意两行内容不能完全相同 不能有名称相同的列 每一列都是不可分的,即不允许表中还有表 同一列的值取自同一个定义 关系模式 : 学生( 学号,姓名,性别,状态,入学时间,最后登陆时间,登陆次数) 元组 关键字 (包括候选键和主键 ) 关系数据库 关系模型的组成 -二维表格 关系模型中的常用术语 1 元组 在二维表中 , 从第二行起的每一行称为一个元组 , 在文件中对应一条具体记录 。 2 属性 二维表中 , 每一列称为一个属性 , 在文件中对应 一个字段 。 3 属性名 二维表第一行显示的每一列的名称 , 在文件中对 应字段名 , 例如 “ 姓名 ” , “ 性别 ” 等 。 关系模型中的常用术语 4 属性值 行和列的交叉位置表示某个属性的值 。 5 域 表示各个属性的取值范围 。 关系模型中的常用术语 6 表结构 表中的第一行 , 表示组成该表的各个字段名称 , 各字段取值的类型 、 宽度等 。 7 关系模式 是对关系结构的描述 , 表示格式: 关系名 (属性 1,属性 2,属性 3, , 属性 n) 例: student(学号 ,姓名 ,性别 ,年龄 ) 关系模型中的常用术语 6 表结构 表中的第一行 , 表示组成该表的各个字段名称 , 各字段取值的类型 、 宽度等 。 7 关系模式 是对关系结构的描述 , 表示格式: 关系名 (属性 1,属性 2,属性 3, , 属性 n) 例: student(学号 ,姓名 ,性别 ,年龄 ) 关系模型中的常用术语 9 主键 从候选键中指定一个用来标识元组 。 10 外部关键字 表中的一个字段不是本表的主关键字或候选关键 字 , 而是另外一个表的主关键字或候选关键字 , 该字段称为外部关键字 , 简称外键 。 例题 : 在关系 score中 , “ 学号 ” 不是 score的 主键 , 而是关系 student的主键 , 因此 , “ 学号 ” 称为外键 。 关系模型中的常用术语 11 主表和从表 主表 : 以外键作为主键的表 从表 : 外键所在的表 主表和从表通过外键相关联 关系模型的特点 1)每一列不可再分; 2)同一关系中属性 (字段 )不允许重名 3)关系中不允许有完全相同的元组 4)关系中交换任意两行的位置不影响数据 的实际含义; 5)关系中交换任意两列的位置不影响数据 的实际含义。 关系的基本运算 1 选择 从指定的关系中选择满足给定条件的元组组成新 的关系 。 例题: 从关系 score1中选择数学大于 90的元组组 成关系 S1。 S1=数学 90( Score1) 关系的基本运算 2 投影 从指定关系的属性集合中选取若干个属性组成新 的关系 。 例题: 从关系 score1中选择 “ 学号 ” 、 “ 姓名 ” 、 “ 数学 ” 组成新的关系 S2。 S2=学号 , 姓名 , 数学 ( Score1) 关系的基本运算 联接 两个关系中的元组按指定条件组合新的关系 例题 :将 score1和 score2按相同学号合并 专门的关系运算 选择、投影、连接 学号 姓名 性别 状态 入学时间 最后登陆时间 登陆次数 39001 杨雨潇 男 在读 2007-9-1 2008-7-2 18 39002 崔敏 女 在读 2007-9-1 2008-7-4 25 39003 张进 女 在读 2007-9-1 2008-7-1 20 39004 何晴 女 在读 2007-9-1 2008-6-30 16 39005 李哲 男 在读 2007-9-1 2008-7-2 19 39006 刘晓 女 在读 2007-9-1 2008-7-2 22 关系 S1 学号 姓名 性别 状态 入学时间 最后登陆时间 登陆次数 39001 杨雨潇 男 在读 2007-9-1 2008-7-2 18 39005 李哲 男 在读 2007-9-1 2008-7-2 19 关系 S2 从指定的关系中选择 满足给定条件的 元组 组成新的关系 选择运算 投影运算 从关系的属性集合中选取 指定的若干个 属性 组成新的 关系 S2=性别 =”男” ( S1) S3=学号,姓名,性别 ( S1) 关系 S3 连接运算 在两个关系的所有元组 组合 中 选择 符合指定条件的 元组 ,生成 一个新的关系 关系 S3 学号 课程号 成绩 成绩类型 39001 8 85 0 39002 7 77 0 39001 6 76 1 39001 6 90 0 39006 7 82 0 39001 8 80 0 39006 6 92 0 关系 S4 S6=学号,课程号,成绩 ( 成绩类型 =0( S4) 关系 S6 S7=S3 S6 关系 S7 数据完整性控制 最大限度地保证数据的 正确性 、 合法性 和 一致性 实体完整性规则 关系中各个元组的 主键不允许取空值 、不允许重复。 数据完整性 用户定义的完整性 允 许用户自行定义对数 据的约束条件,从语 义上保证数据的合法 性 。 参照完整性规则 在关系模型中,实体集之间 的联系也用关系来表示 存在关系与关系间的引用 修改一个关系时,为保持数 据的一致性,必须对另一个关 系进行检查和修改。 取值参照 或取空值 在选课表中插入一个记录 ( 39078, 6, 90, 0 ) 删除学生表中记录 (39001,杨雨潇 , 男 ,在读 ,2007-9-1,2008-7-2,18) 如何保证数据的一致性? 由 E-R图设计关系模型 1) 两个实体集 学生 (学号 ,姓名 ,性别 ,年龄 ) 课程 (课程代码 , 课程名称 , 任 课教师 ) 2) 联系 选修 (学号 ,课程代码 ,成绩 ) 两个实体集的主键 自身属性 根据概念数据模型设计关系数据模型 网上成绩查询管理系统的 E-R图 学生 课程 选课 m n 构成 班级 组成 院系 任课 教师 上传 资源 学期 n m m 1 m 1 q p 1 m 一个实体集转换为一个关系模式,实体 集的属性就是关系的属性 院系 (院系编号,院系名称) 班级 (班号,班级名,学生数,班主任) 学生 (学号,登陆密码,姓名,性别,状态,入校时间,毕业时间,退 学时间,注册时间,最后登陆时间,登陆次数) 这里“状态”有 3种取值:在读、退学、毕业 教师 (教师号,登陆密码,姓名,电话,邮箱, QQ号,找回密码问 题,找回密码答案,注册时间,最后登陆时间,登陆次数) 课程 (课程号,课程名称,学分) 课程资源 (资源号,资源名,链接地址,更新时间,资源类型,说明) 学期 (学期号,学期名称,是否当前学期,学期起始时间,学期结束时 间) Access 简介 Access的特点 1. 具有 Office系列的共同功能 ; 2. 桌面型的数据库管理系统 ; 3. 与其它数据库系统共享数据 ; 4. 提供程序设计语言 VBA,用于开发应用程序。 Access启动 ACCESS数据库管理系统 Access 2003是 Microsoft Office 2003的组件之 一,是用户和数据库间的软件接口 使用非常简单 可视化工具 提供了大量的向导 快速创建对象及应用程序 面向对象的、采用事件驱动 ,可以与其他数据库相连 , 使用 VBA语言作为其应用程序开发工具 可处理多种数据信息 Office组件数据、其他 DBMS 数据 创建数据库和数据表 数据完整性控制 数据查询 Access的启动 1.“开始 ” -“程序 ” -Microsoft Access 2.在对话框中选 “ 空 Access数据库 ” 。 3.单击 “ 确定 ” 4.输入数据库名 5.单击 “ 创建 ” 数据库组成 6.4.1 创建数据库和数据表 创建 数据库 数据库文件( .mdb) 其中包括所有相关数据和管理 这些数据的所有对象。 方法: 单击 【 开始 】 |【 所有程序 】 |【 Microsoft Office】 |【 Microsoft Office Access 2003】 启动 Access2003 单击 【 文件 】 |【 新建 】 建立空数据库 使用模板向导建立各类数据库 建空数据库 利用向导建数据库 创建 数据表 每个 关系 对应建立一个 数据表 两方面的工作:设计 表结构 和 输入数据记录 。 (1) 打开表结构“设计器” 图 6.20 设计视图窗口 (2) 依次输入各个字段的 名称 ,指定字段 类型 ,并对 每个字段的含义、取值进行注释说明 字段选择栏 字段属性 字段类型 说明 文本 用来存放不需要计算的数据,可以为数字、文字,例如学号、电话 备注 也称长文本,存放说明性文字 数字 需要运算的数值数据,如成绩、次数、年龄 日期 /时间 存放日期和时间数据 货币 存放货币数值 自动编号 在增加记录时,其值能依次自动加 1 是 /否 存放逻辑型数据,如婚否、 Yes/No、 On/Off OLE对象 将对象(如电子表格、文件、图形、声音等)链接或嵌入表中 超链接 存放超链接数据 查阅向导 这是与使用向导有关的字段 字段选择栏 字段属性 字段属性 说明 字段大小 可以指定字段中文本或数字的范围,文本缺省长度为 50,最多 255个字符,备注型最多 65536个,数值为长整型。应该尽可 能设置最小的字段大小,因为其需要的内存更少,数据处理 速度更快。 格式 可以选择或输入格式串来定义字段中数据的格式 小数位数 指定数字或货币数值的小数点位数 输入掩码 用于设置字段数据的输入模式,例如可以为 “ 电话号码 ” 字段设 置一个输入掩码 (0000)-(00000000),则在用户输入该字段内 容时,会显示 (_)-(_),提示用户正确输入。 标题 可以定义字段的别名,作为创建窗体和报表时数据单中使用的标 签。如字段名为 sname,可将标题设置为 “ 姓名 ” 默认值 该值在新建记录时会自动输入到字段中,也可以更改。例如,将 states(状态 )字段的默认值设为 “ 在读 ” 。 必填字段 用于设置这个字段是否必须填写,设置成 “ 是 ” 时,这个字段不 能空着 允许空字符串 如果为 “ 是 ” ,则该字段可以接受空字符串为有效输入项 索引 可以选择是否为这个字段建立索引或者是否允许建立索引,建立 索引的好处是,按此字段进行查询时会提高查询和排序速度, 但同时也加大了系统维护的开销。 (1) 打开表结构“设计器” (2) 依次输入各个字段的 名称 ,指定字段 类型 , 并对每个字段的含义、取值进行注释说明 (3) 定义表的主键 选中字段后单击工具栏 “主键”按钮 (4) 保存并命名数据表 (1) 双击数据表,打开数据表视图窗口 (2) 依次输入各字段值,完成所有记录的录入 (3) 关闭窗口结束 数据完整性控制 用户定义的完整性 实体完整性 通过设置主键 ,使其取值既不 能为空也不能重 复,以此保证记 录(即实体)的 正确性。 通过定义指定字 段的“有效性规则” 属性, 对字段的取 值设置约束条件, 保证记录的合法性。 参照完整性 是指对存在引用关 系的两个关系(数据 表)的约束,通过建 立引用关系保证数据 的一致性。 参照完整性示例 取值参照 只要建立了二者之间的引用关系,就能保证数据 的一致性: 在选课表中插入一个记录 ( 39078, 6, 90, 0 )拒绝 修改学生表中的学生学号 同步修改选课表 中相应学号 删除学生表中记录 (39001,杨雨潇 , 男 ,在读 ,2007-9-1,2008-7-2,18)提示同步删 除选课表中相应记录 关联关系 关联字段 主表 子表 建立 student表和 sel_course表间的关联关系 (1) 打开“关系”窗口 (2) 选择建立关联的表添加到窗口中 (3) 将主表的主键拖到子表的外键,建立关联关系 (4) 设置参照完整性规则 主键 外键 当主表关联字段被更改时, 子表 关 联字段也自动 随之更改 。 子表关联字段欲更改的新值若在主表中 不存在 ,则 拒绝 子表的修改 子表增加一条记录时,若该记录关联字 段的取值在主表中 不存在 ,则 拒绝 子表的 操作。 当主表删除某个记录时,子表中与之关 联的全部记录 一并 自动 删除 。 子表删除记录时,不会影响到主表记录 。 (1) 利用关联查看多组数据 (2) 在子表中输入(插入、修改)数据时保证完整性 (3) 据此进行多表查询 school数据库中各表的关联关系 数据查询 查找 筛选 查询 按选定内容筛选 按窗体筛选 高级筛选 /排序 应用筛选 /取消筛选 【 例 6.11】 创建一个查询,从 sel_course(选课)表中查询选修 课程成绩不及格的学生的学号、课程号及成绩,查询结果按学号升 序排序。查询命名为“查询不及格学生 1” 。 打开查询设计窗口 选择欲查询的数据表 选择查询字段 输入查询条件。 选择哪些字段显示在查询结果中 查询结果可以指定排序字段 运行查询,查看结果 保存并命名查询 多种查询视图 多种查询类型 从表中检索数据,并对结果排序。 还可以对记录分组进行总计、计数、平均 值以及其他类型的计算。 对查询结果按不同的字段逐级分组显示 统计结果 结果显示方式为交叉表方式,即分行标 题、列标题以及统计数据区。 操作查询 指可以重复使用,每次改变查询条件的查询。 【 例 6.12】 查询不及格学生姓名、课程名、成绩,结果按学号升序 排序。查询命名为“查询不及格学生 2” 。 依据关联关系建立连接,然后 选择需要的字段、记录 【 例 6.13】 查询选修课程中最高分是多少, 查询命名为“查询最高分”。 单击工具栏上的 【 例 6.14】 查询选修课程中每位学生各自 的最高分、最低分、平均分,查询结果包 含学生姓名和最高分数、最低分、平均分。 查询命名为“查询每位学生最高分”。 【 例 6.15】 统计查询各班不同性别的学生选择各门课程的人数情况。 查询命名为“查询选课人数”。显示统计结果时,班级名、性别均 作为行标题,课程名称作为列标题。 需要选择查询类型为“交叉表 查询” 【 例 6.16】 查询各班学生在某一范围内的 成绩,查询命名为“参数查询学生成绩”。 单击“查询” | 参数 , 设置查询参数 数据表与查询 查询结果也为二维表形式,但它与数据表对象不同; 数据表中存储数据信息,而查询存储查询的规则,即 相应的 SQL命令; 执行查询即执行 SQL命令; 可以基于数据表建立查询,也可以基于查询创建其他 查询。 数据库组成 Access数据库: 1) Access的文档文件,扩展名为 MDB 2)由数据表、查询、窗体、报表、宏和模块等 对象组成。 3)所有对象都保存在的同一个数据库文件中。 数据库组成 1 表 1)以二维表格保存基本信息 ,数据库的核心 2)为其它对象提供数据 3)对具有复杂结构的数据 , 分别使用多张数据表 , 这些表之间可以通过相关字段建立关联 。 数据库组成 数据库组成 2 查询 1) 从一个或多个表中查找某些特定的记录 2) 查询的运行结果以二维表的形式显示 3) 在数据库中只记录了查询的方式即规则 4) 可作为窗体 、 报表等其它组件的数据源 数据库组成 数据库组成 3 窗体 1) 向用户提供交互界面 , 更方便地进行数据的 输入 、 输出 2) 窗体的数据源 , 可以是一个或多个数据表 , 也可以是查询 。 数据库组成 数据库组成 4报表 1)将数据按指定的格式进行显示或打印 2)数据源可以是一张或多张数据表、查询 3)建立报表时还可以进行计算 ,如求和、平 均等 5页 通过 Web页将数据存储到指定的文件夹 , 或将其复制到 Web服务器上 ,以便在网上 发布信息。 数据库组成 数据库组成 6. 宏 宏是由具有宏名的一系列命令组成 , 用来 简化一些需要重复的操作 。 建好的宏 , 可以单独使用 , 或与窗体配合 使用 。 7 模块 用 Access提供的 VBA语言编写的程序 , 模 块通常与窗体 、 报表结合起来完成完整的 应用功能 。 数据表结构 数据表的建立和使用 数据表由表结构和记录两部分组成。 数据表结构 1字段名 2数据类型 如文本型、数字型等 3字段属性 ( 1)字段大小 ( 2)格式 ( 3)小数位数 ( 4)标题 ( 5)有效性规则 4主关键字 建立数据表 建立数据表 1在 数据表视图 下建立数据表 例题 :在数据表视图下建立 “ 成绩 ” 表 (p248) 2用 设计视图 建立数据表 (p249) 例题 :在设计视图视图下建立 “ 学生 ” 表 1) 设计表结构 2)定义主关键字段 3)命名表及保存 4) 输入记录 建立数据表 编辑数据表 1 修改表结构 在 设计视图或数据表视图 下进行 ( 1) 改字段名 、 类型 、 属性 ( 2) 插入字段 ( 3) 删除字段 2 编辑记录 在数据表视图下进行 (1) 输入新记录 (2) 修改原有记录 (3) 删除记录 。 编辑数据表 建立表间关系 目的 :实现数据库的 参照完整性 。 例题 :在 “ 学生 ” 和 “ 成绩 ” 表间建立关系, “ 学生 ” 表为主表, “ 成绩 ” 表为从表: 1 “ 工具 ” -“关系 ” 2 选择表或查询 3 设置完整性 4. 建立联系后 , 再打开 “ 学生 ” 表 , 观察显示 的结果 编辑关系对话框 建立表间关系 使用数据表 数据表的使用 在 数据表视图 下进行 1记录排序 按某个字段值的升序或降序重新排列记录 ( 1)排序 选择排序关键字。 单击工具栏上的 “ 升序 ” 或 “ 降序 ” 按钮 ( 2)恢复排序前的记录顺序 “ 记录 ” -“取消筛选排序 ” 筛选 数据表的使用 2. 筛选记录 筛选记录是指在屏幕上仅仅显示满足条件的记录 常用的有按选定内容筛选或内容排除筛选。 查询 查询 查询的类型 1设计视图查询 在一个或多个基本表中,按照指定的条件进行查 找,并指定显示的字段。 2简单查询向导 按系统的提示设计查询的结果。 3交叉表查询 用交叉方式的数据表格显示信息。 查询类型 查询的类型 4重复项查询 在数据表中查找具有相同字段值的重复记录。 5不匹配查询 在数据表中查找与指定条件不匹配的记录。 建立查询 : 在设计视图或 SQL窗口下 显示查询结果 : 单击工具栏上的 “ 执行 ” 按钮! 设计视图窗口 设计视图窗口的组成 1)字段:查询结果中使用的字段。 2)表:该字段所在的表或查询。 3)排序:指定是否按此字 段排序 4)显示:确定该字段是否 在结果中显示。 5)准则:指定对该字段的 查询条件 6)或:指定其它查询条件 SQL窗口 课堂训练 实体完整性 例题 :“学生 ” 表已将 “ 学号 ” 定义为主键 观察以下操作是否允许 : 1) 输入学号为空的记录; 2) 输入新记录 ,学号与表中已有记录学号相同 结论 : 实体完整性对表中主键的要求 : 1)不允许有空值 2)不允许出现两条记录的主键值相同 用户定义的完整性 课堂训练 用户定义的完整性 用户定义的完整性是针对具体数据设置约束 条件 例题 : 对 “ 学生 ” 表设置约束条件 1) “年龄 ” 字段的值设置在 16至 23之间 2)“性别 ” 字段的有效性规则设置为: 男 or 女 。 参照完整性 课堂训练 参照完整性 参照完整性是两个相关联表之间的操作约束 例题 :对已建立关联的 “ 学生 ” 表和 “ 成绩 ” 表进行完整性操作 ,已知 : 1) 主表 : 学生 主键 :学号 2) 从表 : 成绩 外键 :学号 3) 已进行的设置 : 级联更新相关字段 级联删除相关记录 参照完整性 课堂训练 参照完整性 观察以下操作的结果: ( 1)向 “ 成绩 ” 表输入一条新的记录,其中学号在 “ 学 生 ” 表中是不存在的,该操作能否进行? ( 2)将 “ 学生 ” 表的第三条记录的 “ 学号 ” 字段值改为 “ 990007”,观察 “ 成绩 ” 表的变化 ; ( 3)将 “ 学生 ” 表中 “ 学号 ” 字段值为 “ 990004”的 记录删除,观察 “ 成绩 ” 表的变化 由两个表建立查询 课堂训练 参照完整性 结论 : 1) 从表中不能引用主表中不存在的实体 2) 主表学号改变时 ,从表中的学号自动改变 - -“级联更新相关字段 ” 。 3) 主表中删除记录时 ,从表中与主表学号相同的 记录同步删除 -“级联删除相关字段 ” 课堂训练 用两个表的数据建立查询 例题 : 建立查询,要求 : 1) 数据源来自 “ 学生 ” 表和 “ 成绩 ” 表 2) 结果中包含四个字段,分别是 “ 学号 ” , “ 姓名 ” , “ 课程 ” 和 “ 成绩 ” 3) 只显示成绩不低于 90的记录。 分类汇总 课堂训练 用查询对数据进行分类汇总 例题 :用学生表创建查询,分别计算男生和女 生的平均年龄 在设计视图窗口设置如下的准则: 1)单击工具栏上的 “ 汇总 ” 按钮; 2)在 “ 性别 ” 对应的总计行中,选择 “ Group By” ,表示按 “ 性别 ” 分组; 3)在 “ 年龄 ” 对应的总计行中选择 “ Avg” 表 示计算平均值 准则和结果 动手练习:建立一个学生数据库,并向该数据 库中添加 6个数据表,分别为:课程表、开课 计划表、选课成绩表、学生表、教师表、系部 表等。这几个表的字段分别如下所示: 课程表(课程编号、课程名称、课程类别) 说明: 主键字段是课程编号,数字类型,整型,必添字段, 课程名称,文本性,长度为 50,必添字段,不允许空 白字符串 课程类别:文本性,长度为 10 开课计划表(选课代码、课程班级、课程编号、教师编号、 时间) 说明: 主键字段是选课代码,数字类型,整型,不允许空白字符 串 课程班级,文本型,长度为 20,必添字段,不允许空白字 符串 课程编号,数字类型,长度为 4,必添字段,不允许空白字 符串 教师编号,数字类型,长度为 5,必添字段,不允许空白字 符串 时间,日期 /时间型,设置输入掩码使输出格式为 08年 3月 2 日星期 5 选课成绩表(选课代码、学号、平时成绩、 考试成绩、总评成绩、成绩等级) 说明: 选课代码,数字类型,整型,必填字段 学号,数字类型,整型,必填字段 平时成绩,数字类型,单精度,小数位数 2 考试成绩,数字类型,单精度,小数位数 2 总评成绩,数字类型,单精度,小数位数 2 成绩等级,文本,长度为 2 学生表(学号、姓名、性别、电话) 说明: 学号,主键,数字类型,长度为 5,必填字 段 姓名,文本类型,长度为 20,必填字段,不 允许为空 性别,文本类型,长度为 2,进行有效性规 则的设定及有效性文本的设定,默认为男 电话,文本型,长度为 13,输入掩码属性定 义为 9000-90000000; 0; # 教师表(教师编号、系部编号、姓名、性别、职称) 说明: 教师编号,数字类型,长度为 4,主键,必填字段 系部编号,数字类型,整型,不允许为空 姓名,文本类型,长度 20,不允许为空 性别,文本类型,长度 2,默认为男,不允许为空 职称,文本类型,长度 8 系部表(系部编号、系部名称、负责人、联 系电话) 说明: 系部编号,数字类型,整型 系部名称,文本类型, 50,不允许为空 负责人,文本类型, 50 联系电话,文本类型,长度 11 操作要求: 立表结构后,立即输入 6个记录的数据。 分别查看该表的结构和记录。 修改开课计划表的时间为,日月均以 2位数字显示 建立相关表的关连关系 建立各种查询 查询 1:点击工具栏 ,选择计数 查询 2:右击 “ 条件 ” ,选 “ 生成器 ” , “ 操作符 ” , “ 比 较 ” , “ between” 查询 3: 查询总结 在对象下选择查询 新建 设计视图或简单 查询向导(这两种都是选择查询) 新建 交叉表查询向导 新建 查找重复项查询向导(打开一个有重 复项的表,例如表 2,学号有重复,选择学 号,则会给出学号重复的个数) 新建 查找不匹配项查询向导(对两个表而 言,例如都有学号,第一个表学号多于第二 个表,则查询出第二个表中没有的学号) 窗体的使用 对象 窗体 新建 设计窗体(选择表,直 接把相关字段托到窗体中 关闭保存即可) 新建 窗体向导 新建 自动创建窗体:纵栏式 新建 自动创建窗体:表格式 新建 自动创建窗体:数据表 新建 自动窗体:数据透视表 练习:在 “ 教学管理 ” 数据库中有 “ 教师 表 ” ,字段为:教师号、姓名、性别、学历、 工作时间、政治面貌、职称、系别、联系电 话。 另外还有一个 “ 课程 ” 表,字段为课程 号、教师号、课程名称、学分、选课类型。 创建两个表,建立关联,建立各种窗体
展开阅读全文