资源描述
1 表 与 表 之 间 的 关 系数 据 库 的 设 计数 据 库 的 创 建 与 打 开使 用 向 导 创 建 表字 段 的 定 义表 的 设 计 视 图表 中 数 据 输 入 与 操 纵4 创 建 数 据 库 4.1 表 与 表 之 间 的 关 系1. 表关 系 数 据 库 : 用 二 维 表 格 来 表 示 和 处 理信 息 世 界 的 实 体 集 和 属 性 关 系 。 表记录:描述实体 字段:实体属性 主 码 外 码主 码 表与表之间的关系通过码来实现关联 2. 表 与 表 之 间 的 关 联 主 码 ( 主 关 键 字 ) : 表 中 一 个 或 多 个 字 段 , 其 值 惟 一 地标 识 一 条 记 录 。 在 两 个 表 的 关 系 中 , 主 码 用 来 在 一 个表 中 引 用 来 自 于 另 一 个 表 中 的 特 定 记 录 。 系 统 不 允 许 任 何 重 复 值 或 Null值 进 行 主 码 字 段 中 。 主 码 的 性 质 :主 码 不 能 为 空 , 否 则 将 失 去 对 某 些 记 录 的 控 制 和 访 问主 码 不 能 重 复 , 否 则 主 码 所 标 识 的 记 录 将 失 去 唯 一 性 主 码 不 能 修 改 。 它 不 仅 标 识 表 中 的 记 录 , 而 且 经 常 要与 其 他 表 中 的 字 段 进 行 关 联 。 如 果 硬 要 修 改 , 很 容 易给 其 所 在 的 表 以 及 其 他 相 关 的 表 造 成 意 想 不 到 的 错 误 外 码 ( 外 部 关 键 字 ) : 也 是 表 中 的 一 个 或 多 个 字 段 , 外码 的 值 与 相 关 表 的 主 码 相 匹 配 。 3. 主 码 与 外 码 关 系 : 利 用 两 个 表 的 共 有 字 段创 建 的 关 联 性 。 通 过 表 间 的关 联 性 , 可 将 数 据 库 中 多 个表 联 络 成 一 个 有 机 的 整 体表 与 表 间 的 关 系 类 型 :一 对 一 关 系 : 基 本 表 每 条 记录 只 对 应 相 关 联 表 中 一 个 匹配 的 记 录 , 反 之 亦 然一 对 多 关 系 : 关 系 中 最 常 用的 类 型 。 基 本 表 一 条 记 录 可与 相 关 联 表 中 多 条 记 录 相 匹配 。 但 相 关 联 表 一 条 记 录 只与 基 本 表 一 条 相 匹 配 4. 关 系 多 对 多 关 系 : 基 本 表 一 条 记 录 可 与 相 关 联 表 多 个 记 录相 匹 配 。 相 关 联 表 中 的 一 条 记 录 也 可 与 基 本 表 的 多 条记 录 相 匹 配 。这 种 类 型 的 关 系 只 能 通 过 定 义 第 三 个 表 ( 联 结 表 ) 来 实现 。 联 结 表 的 主 码 包 含 两 个 字 段 : 来 源 于 两 个 表 的 外码 。 多 对 多 的 关 系 实 际 上 是 通 过 第 三 个 表 来 实 现 的 两个 一 对 多 的 关 系 。 本 讲 首 页 4.2 数 据 库 的 设 计 1. 数 据 库 的 规 划表 是 Access数 据 库 的 基 础 , 记 录 着 数 据 库 中 的 全 部 内 容 ,而 其 他 对 象 只 是 Access提 供 的 工 具 , 用 于 对 数 据 库 进行 维 护 和 管 理 。 因 此 , 设 计 数 据 库 的 关 键 是 设 计 表 确 定 实 体 ( 表 )确 定 实 体 标 识 符 ( 主 码 )确 定 关 系 ( 外 码 )确 定 数 据 元 素 属 性 ( 字 段 )E R模 型 设 计 : 定 义 了 数 据库 结 构 。 识 别 和 创 建 数 据库 中 实 体 及 其 关 系实 体 可 是 具 体 的 , 也 可 是 抽象 的 。 如 Northwind的 订单 明 细 : 是 产 品 实 体 和 订单 实 体 间 的 联 系 规 范 化 的 目 标 : 设 计 一 个 优 化 的 和 符 合 逻 辑 的 数 据 库 方案 , 使 得 开 发 阶 段 对 数 据 库 的 修 改 要 求 降 到 最 低 程 度 ,且 有 助 于 组 织 数 据 和 消 除 数 据 库 中 的 数 据 冗 余规 范 化 的 要 求 :表 中 都 是 不 可 再 分 的 基 本 字 段 ( 1NF) 例 如 , 当 产 品 有 出 厂 , 批 发 , 零 售 等 多 种 价 格 时 , 要分 别 设 置 相 应 字 段 。 若 价 格 结 构 太 复 杂 , 则 可 建 新 表专 门 存 放 价 格 数 据 。 表 中 所 有 字 段 都 必 须 依 赖 于 主 关 键 字 ( 2NF) 一 个 表 只 存 储 一 种 实 体 对 象 。 表 中 所 有 字 段 都 是 惟 一 的 且 不 互 相 依 赖 ( 3NF) 例 如 , 表 中 只 设 一 个 日 期 字 段 。 不 能 再 包 含 日 , 月 和星 期 的 字 段 。 2. 数 据 库 规 范 化 确 保 数 据 的 完 整 性 :参 照 完 整 性 : 输 入 或 删 除 记 录 时 , 为 维 持 表 间 已 定 义 的关 系 而 必 须 遵 循 的 一 个 规 则 系 统 。 若 实 施 了 参 照 完 整 性 , 则 在 将 与 基 本 表 无 关 的 记 录 加入 相 关 表 时 , Access会 警 告 。 若 要 从 基 本 表 中 删 除 记 录 ,相 关 表 中 却 有 对 应 记 录 时 , Access会 防 止 删 除 。设 置 参 照 完 整 性 的 条 件 : 来 自 于 主 表 的 匹 配 字 段 是 主 码 或 具 有 唯 一 的 索 引相 关 字 段 的 数 据 类 型 相 同 。 例 外 : 自 动 编 号 与 长 整 型 ,均 为 同 步 复 制 ID的 自 动 编 号 与 数 字 字 段 可 相 关 。两 个 表 都 属 于 同 一 个 Access数 据 库实 行 参 照 完 整 性 后 必 须 遵 守 的 规 则 : 不 能 将 值 输 入 到 相 关 表 的 外 码 字 段 中 , 若 相 关 表 中 有 匹 配 记 录 , 不 能 从 主 表 中 删 除 它 3. 数 据 库 设 计 步 骤 一 般 步 骤确 定 新 建 数 据 库 的 目 的确 定 该 数 据 库 中 需 要 的 表明 确 有 唯 一 值 的 字 段确 定 表 中 需 要 的 字 段确 定 表 之 间 的 关 系优 化 设 计输 入 数 据 并 新 建 其 他 数 据 库 对 象 使 用 Microsoft Access的 分 析 工 具表 中 信 息 不 重 复 且 不 在 表 间 复 制每 个 表 只 含 一 个 主 题 的 信 息字 段 都 直 接 与 表 的 主 题 相 关不 包 含 推 导 或 计 算 的 数 据包 含 所 需 的 所 有 信 息以 最 小 的 逻 辑 部 分 保 存 信 息Access中 三 种 主 码 : 自 动 编号 , 单 字 段 和 多 字 段 例 : 设 计 “ 教 学 管 理 ” 数 据库S1: 明 确 建 库 目 的 与 功 能 要 求实 现 四 方 面 信 息 的 综 合 管 理 :教 师 , 学 生 , 课 程 , 学 习 成 绩教 师 可 以 查 看 学 生 的 简 况 , 成 绩 , 课 程学 生 可 以 选 择 教 师 , 课 程 和 查 看 成 绩S2: 确 定 数 据 库 中 的 表按 下 列 原 则 对 信 息 进 行 分 类 : 表 中 不 含 重 复 信 息 , 且 信 息 不 应在 表 之 间 复 制 每 条 信 息 只 保 存 在 一 个 表 中每 个 表 只 包 含 一 个 主 题 的 数 据 。 学 生 登 记 表教 师 课 程 表课 程 名 称 表学 生 成 绩 表 S3: 确 定 表 中 的 字 段每 个 字 段 的 内 容 均 与 表 的 主 题 相 关相 关 主 题 的 全 部 数 据 都 要 表 现 出 来 。不 包 含 需 要 推 导 或 计 算 的 数 据 , 要 以 最 小 逻 辑 部 分 作为 字 段 来 保 存 数 据 。S3.1: 教 师 课 程 表 分 析基 本 特 征 : 姓 名 , 性 别 , 职 称 , 专 业 特 长 等 其 它 特 征 : 工 作 时 间 , 政 治 面 貌 , 电 话 , 课 程 号 , 所 属 院 系 等选 取 : 教 工 号 , 姓 名 , 性 别 , 职 称 , 课 程 号 , 电 话S3.2: 学 生 登 记 表 分 析基 本 特 征 : 学 号 , 姓 名 , 性 别 , 班 级 , 出 生 日 期其 它 特 征 : 籍 贯 , 政 治 面 貌 , 宿 舍 , 班 级 , 特 长 等 选 取 : 学 号 , 姓 名 , 性 别 , 班 级 , 出 生 日 期 , 简 历 S3.3: 课 程 名 称 表 分 析基 本 特 征 信 息 : 课 程 号 , 教 工 号 , 课 程 名 称其 它 特 征 信 息 : 学 分 , 课 时 , 先 修 课选 取 : 课 程 号 , 教 工 号 , 课 程 名 称 , 学 分S3.4: 学 生 成 绩 表 分 析基 本 特 征 信 息 : 学 号 , 课 程 号 , 平 时 成 绩 , 考 试 成 绩其 它 特 征 信 息 : 学 分 , 教 工 号 , 课 程 名 称选 取 : 学 号 , 课 程 号 , 平 时 成 绩 , 考 试 成 绩S4: 确 定 主 码学 生 登 记 表 : 学 号教 师 课 程 表 : 教 工 号课 程 名 称 表 : 课 程 号学 生 成 绩 表 : 学 号 课 程 号【 注 】 可 增 加 一 个 值 为 序 列 号 的 字 段 作 为 主 码 S5: 优 化 设 计问 题 : 教 师 课 程 表 , 若 一 人 讲 授 多 门 课 程 , 则 有 重 复数 据 , 如 : 教 工 号 姓 名 性 别 职 称 课 程 编 号 电 话 4382 王 大 中 男 讲 师 00667 3565678 4382 王 大 中 男 讲 师 00789 3565678分 为 两 个 表 :教 师 登 记 表 : 教 工 号 , 姓 名 , 性 别 , 职 称 , 电 话教 师 课 程 表 : ID, 教 工 号 , 课 程 号【 注 】 ID是 给 教 师 课 程 表 添 加 的 主 码 。 则 上 例 中 数 据 放 在 两 个 表 中 :教 工 号 姓 名 性 别 职 称 电 话 ID 教 工 号 课 程 号4382 王 大 中 男 讲 师 3565678 1 4382 00667 2 4382 00789 本 讲 首 页 S6: 确 定 表 间 的 联 系学 生 登 记 表 教 师 登 记 表课 程 名 称 表学 生 成 绩 表 课 程 号学 号 课 程 号 教 师 授 课 表教 工 号 教 工 号 3.3 数 据 库 的 创 建 与 打 开两种创建数据库的方法: 使用数据库向导创建数据库及表,查询等各种对象 先创建空数据库,然后再分别添加对象 1. Microsoft Access对 话 框 Access启动 时 自 动弹 出建 空 库启 动 向 导打 开 库 动2. 创 建 空 白 数 据 库 动 3. 使 用 向 导 创 建 数 据 库 选 择 打 开 方 式可 直 接 打 开 的 库打 开 命 令 4. 打 开 数 据 库 的 命 令 方 式 选 择 : 视 图 |工 具 栏 |Web 收 藏 夹 工 具 条单 击 : 收 藏 夹 按 钮 右 侧 收 藏 夹 内 容 列 表选 择 : 列 表 : 添 至 收 藏 夹 收 藏 夹 内容 列 表当 前 数 据 库 名 称 5. 使 用 收 藏 夹 打 开 数 据 库 ( 对 象 ) 6. 使 用 快 捷 方 式 打 开 数 据 库 本 讲 首 页 4.4 使 用 向 导 创 建 表 1. 创 建 表 的 过 程表 : 关 系 型 数 据 库 的 基 本 结 构 。 在 Access中 , 表 是 一 种关 系 特 定 主 题 的 数 据 集 合 , 如 产 品 , 供 应 商 等 。 每 个主 题 对 应 单 个 表 。 表 的 形 式 : 记 录 , 字 段 组 成 的 二 维 表 格 。创 建 一 个 表 的 过 程 :创 建 表 的 结 构 : 定 义 字 段 名 , 字 段 的 类 型 , 宽 度 等填 充 表 中 的 数 据 : 各 类 不 同 数 据 类 型 的 字 段 的 填 充 方式 不 尽 相 同根 据 表 与 表 间 的 共 有 字 段 建 立 联 系Access 提 供 多 种 创 建 表 的 方 法 2. 表 的 两 种 视 图表 的 两 种 视 图 : 设 计 视 图 : 创 建 及 编 辑 表 的 结 构 , 即 定 义 字 段 名 , 数据 类 型 , 宽 度 , 设 置 字 段 默 认 值 , 格 式 等数 据 表 视 图 : 查 看 , 添 加 , 删 除 , 编 辑 表 中 数 据 。表 视 图设 计 视 图 3. 新 建 表 对 话 框 启 动 表 向 导打 开 设 计 视 图 动 4. 使 用 向 导 创 建 表 的 例 子 一 般 步 骤启 动 向 导选 择 字 段修 改 字 段 名 称确 定 表 名确 定 主 码完 成 本 讲 首 页 4.5 字 段 的 定 义字 段 : 数 据 库 操 纵 最 小单 位 。 设 计 表 实 际 上是 设 计 字 段 。 其 他 对象 的 设 计 重 心 都 是 存取 或 使 用 字 段 的 数 据字 段 基 本 属 性 : 字 段 名 、数 据 类 型 、 字 段 说 明 、及 数 据 存 储 使 用 方 式字 段 查 阅 属 性 : 显 示 格式 、 掩 码 、 默 认 值 、有 效 性 规 则 等 字 段 说 明 在 状态 栏 中 显 示 字 段 名与 标 题 1. 字 段 名 与 字 段 说 明 Access 2000中 字 段 可 用 的 数 据 类 型 有 以 下 几 种 :文 本 (Text): 文 本 、 文 本 与 数 字 、 不 必 计 算 的 数 字 , 最长 255个 字 符 。备 注 (Memo): 较 长 的 文 本 , 最 长 64,000字 符 。数 字 (Number)型 : 用 于 算 术 运 算 的 数 字 。 可 在 “ 字 段大 小 ” 中 分 字 节 、 整 型 、 单 精 度 等 子 类 型日 期 及 时 间 (Date/Time): 从 100到 9999的 日 期 及 时 间 值 。可 进 行 日 期 及 时 间 的 计 算 。 8字 节货 币 (Currency): 货 币 值 。 使 用 货 币 类 型 可 避 免 计 算时 四 舍 五 入 。 8字 节自 动 编 号 (AutoNumber): 添 加 记 录 时 的 自 动 序 号 递 增 : 添 一 条 记 录 , 字 段 值 增 1; 随 机 : 添 一 条 记 录 , 字 段 值 为 另 一 随 机 数 。 2. 字 段 的 数 据 类 型 是 /否 (Yes/No): 取 两 种 值 之 一 , 如 Yes/No、True/False、 On/Off。 大 小 为 1位 。OLE对 象 (Object): 可 链 接 或 嵌 入 其 他 使 用 OLE 协 议 的程 序 所 创 建 的 对 象 , 如 Word文 档 、 图 象 、 声 音 等 。 最多 1G。 对 象 可 链 接 或 嵌 入 到 Access表 中 。 但 只 能 在 窗体 或 报 表 中 使 用 绑 定 对 象 框 来 显 示 。超 链 接 (Hyperlink): 超 文 本 , 用 作 超 链 接 地 址 。 超 链接 最 多 包 含 三 部 分 : 显 示 文 本 : 在 字 段 或 控 件 中 显 示 的 文 本 ; 地 址 : 到 文 件 ( UNC) 或 页 面 ( URL) 的 路 径 ; 子 地 址 : 在 文 件 或 页 面 中 的 地 址 。 查 阅 向 导 (Lookup Wizard): 由 查 阅 向 导 创 建 。 字 段 的值 来 自 另 一 个 表 或 数 据 列 表 中 , 可 在 列 表 框 或 组 合 框中 选 择 一 个 数 据 作 为 其 值 。 3. 字 段 的 “ 常 规 ” 属性字 段 大 小 : 文 本 长 度或 数 值 范 围格 式 : Number、Date/Time、Currency和 Yes/No类 型 有 预 定 义 格 式 ,也 可 设 置 格 式小 数 位 数 : 小 数 型( 数 字 、 货 币 ) 数据 的 小 数 位 输 入 法 模 式 : 可 设 为输 入 时 自 动 切 换 到某 种 输 入 法 输 入 掩 码 : 输 入 数 据 时 的 格 式 , 可 用 “ 输 入 掩 码 向 导 ”来 编 辑 输 入 掩 码 标 题 : 数 据 表 视 图 或 控 件 中 显 示 字 段 时 所 用 的 标 题 。用 于 在 字 段 名 意 义 不 明 确 时 再 设 置 一 个 标 题默 认 值 : 添 加 新 记 录 时 , 自 动 加 入 到 字 段 中 的 值有 效 性 规 则 : 限 制 输 入 数 据 的 表 达 式 , 如 100、Like ?#等 。 可 使 用 表 达 式 生 成 器 来 创 建有 效 性 文 本 : 数 据 不 符 合 有 效 性 规 则 时 显 示 的 信 息 必 填 字 段 : 是 否 必 须 输 入 数 据允 许 空 字 符 串 : 是 否 允 许 输 入 空 字 符 串 ( 长 度 为 0) 索 引 : 是 否 进 行 索 引 及 索 引 方 式 。索 引 : 加 快 查 询 和 排 序 速 度 , 但 更 新 操 作 变 慢索 引 方 法 : 无 : 字 段 不 索 引 。 有 ( 有 重 复 ) : 索 引 、 允 许 重 复 值 。 有 ( 无 重 复 ) : 索 引 、 不 允 许 重 复 值 。 4. 字 段 的 查 阅 属 性显 示 控 件 : 选 择 值 的 控件 : 组 合 框 或 列 表 框行 来 源 类 型 : 从 其 他 表或 查 询 还 是 值 列 表 中 得到 数 据行 来 源 : 得 到 数 据 的 值列 表 或 查 询 语 句 绑 定 列 : 哪 个 列 作 为 控件 的 值 SELECT DISTINCTROW 供 应 商 ID,公 司 名 称 FROM 供 应 商 ORDER BY 公 司 名 称 ; 产 品 : 供 应 商 ID 供 应 商 表 : 供 应 商 ID 公 司 名 称 备 注 型 、 超 链 接 型 和 OLE对 象 型 字 段 不 能 索 引 。若 在 表 中 输 入 数 据 后 更 改 字 段 的 数 据 类 型 , 则 在 保 存 表 时 , 由 于 进 行 大 量 数 据 转 换 , 时 间 较 长 ; 若 新 的 “ 数 据 类 型 ” 属 性 的 设 置 与 段 原 数 据 类 型 冲 突 ,可 能 会 丢 失 某 些 数 据 。Number、 Date/Time、 Currency和 Yes/No类 型 具 有 预定 义 格 式 。 可 设 置 格 式 , 但 OLE对 象 型 除 外 5. 选 择 数 据 类 型 时 应 注 意 的 问 题 本 讲 首 页 3.6 表 的 设 计 视 图 1. 打 开 表 的 设 计 视 图 表 的设 计 视 图 2. 表 设 计 器 字 段 属 性字 段 定 义 网 格 表 达 式生 成 器 3. 创 建 课 程 表打 开 设 计 视 图定 义 主 码定 义 表 中 字 段保 存 表一 般 步 骤编 辑 |主 键 ;快 捷 菜 单 |主 键 ;单 击 : 主 键 钮输 入 字 段 名 ;选 择 数 据 类 型 ;设 置 字 段 各 种 属 性 本 讲 首 页 4. 创 建 值 列 表 字 段字 段 的 查 阅 功 能 : 值 来 自 一 组 固 定 的 数 据 ( 值 列 表 ) ,或 其 他 表 的 某 个 字 段 。 5. 创 建 查 阅 列 表 字 段 本 讲 首 页SELECT 学 生 .学 号 , 学 生 .姓 名 FROM 学 生 ; 4.7 表 中 数 据 输 入 与 操 纵 1. 数 据 表 视 图打 开 “ 学 生 ” 表 的 数 据 表 视 图 :在 数 据 库 窗 口 的 对 象 列 表 中 , 双 击 “ 学 生 ” 表 , 或 选定 “ 学 生 ” 表 , 再 单 击 “ 打 开 ” 按 钮若 当 前 正 处 于 表 设 计 视 图 , 单 击 数 据 库 窗 口 工 具 条 上的 “ 打 开 ” 按 钮 , 切 换 到 数 据 表 视 图 。 2. 各 类 数 据 的 输 入 方 法文 本 型 : 直 接 在 网 络 中 输 入 。数 字 型 : 直 接 在 网 络 中 输 入 。是 否 型 : 标 记 复 选 框 。日 期 时 间 型 : 按 简 洁 方 式 键 入 , 自 动 按 设 计 格 式 显 示 。备 注 型 : 直 接 在 网 络 中 输 入 , 最 好 创 建 窗 体 输 入 。 OLE对 象 型 : 超 链 接 型 : 选 择 :插 入 |对 象 ;快 捷 菜 单 |插 入 对 象选 择 :插 入 |超 级 链 接 ;单 击 : 插 入 超 级 链 接 3. 字 段 的 选 择选 中 一 个 网 格 :方 向 键 移 光 标 ; Tab键 反 方 向 移 动 。双 击 网 格 ;鼠 标 放 在 网 格 左 侧 , 变 为 空 心 十 字 时 单 击 。选 中 一 个 网 格 后 , 再 选 相 邻 的 多 个 网 格 : Shift 方 向 键按 住 Shift, 再 单 击 另 一 网 格 , 选 中 矩 形 区 域选 中 一 个 记 录 :鼠 标 放 在 某 记 录 左 侧 小 方 钮 上 , 变 为 右 箭 头 时 单 击 。选 中 一 个 字 段 :鼠 标 放 在 某 字 段 上 方 的 标 题 方 钮 上 , 变 为 下 箭 头 时选 中 表 中 所 有 内 容 : 单 击 左 上 角 的 小 方 钮 。 4. 创 建 表 与 表 之 间 的 关 系定 义 表 间 关 系 有 以 下 优 点 :表 自 动 链 接 : 查 询 时 打 开 多 个 表 时 , 关 系 表 将 自 动 链接 , 节 省 操 作 步 骤自 动 生 成 索 引 : Access会 自 动 生 成 必 要 的 索 引 , 使 关系 表 工 作 更 快实 施 参 照 完 整 性 : 若 主 表 无 关 联 记 录 , 则 不 能 将 记 录 添 加 到 相 关 表 中或 更 改 主 表 中 的 数 据 , 以 免 形 成 相 关 表 中 的 记 录 在 主表 中 无 对 应 记 录 若 相 关 表 中 有 相 关 记 录 与 主 表 相 匹 配 时 , 不 能 删 除主 表 中 的 记 录在 数 据 表 视 图 中 显 示 子 数 据 表 : 单 击 单 元 格 左 侧 的 符 号 即 可 打 开 子 数 据 表 内 连 接 左 外连 接 右 外连 接 展 开 子 数据 库 表 5. 列 的 隐 藏 与 冻 结隐 藏 字 段 :选 中 要 隐 藏 的 字 段 (可 多 个 );选 择 : 格 式 隐 藏 列 。显 示 被 隐 藏 的 字 段 :选 择 : 格 式 撤 消 隐 藏 列冻 结 列 : 滚 动 字 段 时 , 冻 结 的 列 不 动 。例 : 冻 结 “ 姓 名 ” 和 “ 学 号 ” 列选 中 “ 姓 名 ” 和 “ 学 号 ” 列 ;选 择 : 格 式 冻 结 列取 消 对 列 的 冻 结 :选 择 : 格 式 取 消 对 所 有 列 的 冻 结 6. 记 录 的 排 序例 : “ 学 生 ” 表 按 “ 入 学 总 分 ” 排序取 消 对 记 录 的 排 序 : 选 中 “ 入 学 总 分 ” 字 段 ;单 击 : “ 降 序 ” 或 “ 升 序 ”钮 或 : 快 捷 菜 单 降 序选 : 记 录 取 消 筛 选 /排 序或 : 快 捷 菜 单 取 消 筛 选 /排 序 7. 记 录 的 筛 选按 选 定 内 容 筛 选 : 选 指 定 值 的 记 录内 容 排 除 筛 选 : 选 除 指 定 值 外 的 记 录 取 消筛 选 本 讲 首 页 52 查 询 的 种 类使 用 向 导 创 建 查 询查 询 设 计 器 的 使 用准 则 与 参 数 查 询统 计 计 算 与 计 算 字 段操 作 查 询 设 计SQL查 询 设 计5 查 询 5.1 查 询 的 种 类 1. 查 询 的 概 念查 询 : 具 有 条 件 检 索 和 计 算 功 能 的 数 据 库 对 象 。 查 询 是 以 表 或 查 询 为 数 据 源 的 再 生 表 。 即 每 次 使 用 查询 时 , 都 从 指 定 数 据 源 ( 表 或 查 询 ) 中 创 建 记 录 集 。使 用 查 询 可 以 :以 一 个 或 多 个 表 , 或 其 他 查 询 为 基 础 创 建 新 数 据 集 。按 不 同 的 方 式 来 查 看 、 更 改 和 分 析 数 据 。生 成 表 , 实 现 数 据 源 表 数 据 的 删 除 、 更 新 或 追 加 。作 为 窗 体 、 报 表 或 数 据 访 问 页 的 数 据 源 , 实 现 多 个 表作 为 数 据 源 。 2. 查 询 的 特 点可 以 重 组 表 中 的 数 据 , 也 可 以 通 过 计 算 再 生 新 数 据 。查 询 的 结 果 总 是 与 数 据 源 中 的 数 据 同 步 。 每 次 使 用 查询 , 都 依 据 数 据 源 最 新 的 数 据 组 织 查 询 结 果 。Access允 许 创 建 几 种 不 同 的 查 询 。 最 常 用 的 是 选 择 查 询 。数 据 源 查 询 中的 字 段 3. 查 询 的 种 类Access 2000提 供 了 5种 查 询 : 选 择 查 询 、 参 数 查 询 、 交叉 表 查 询 、 操 作 查 询 和 SQL查 询 。选 择 查 询 : 最 常 见 的 查 询 类 型 , 可 以 : 从 一 个 或 多 个 表 中 检 索 数 据 。 在 一 定 条 件 下 , 更 改 相 关 表 中 的 记 录 。 对 记 录 进 行 分 组 , 并 进 行 总 计 、 计 数 、 平 均 以 及 其他 类 型 的 计 算 。交 叉 表 查 询 : 显 示 来 源 于 表 中 某 个 字 段 的 合 计 值 、 计算 值 、 平 均 值 等 , 并 将 数 据 分 组 , 一 组 列 在 数 据 表 左侧 , 一 组 列 在 数 据 表 上 部 。参 数 查 询 : 通 过 运 行 查 询 时 的 参 数 定 义 创 建 的 动 态 查询 结 果 , 可 以 更 多 、 更 方 便 地 查 找 有 用 信 息 。 适 合 于作 为 窗 体 或 报 表 的 基 础 。 操 作 查 询 : 在 操 作 中 更 改 多 个 记 录 的 查 询 , 可 分 为 四类 : 删 除 查 询 、 更 新 查 询 、 追 加 查 询 和 生 成 表 查 询 。 删 除 查 询 : 从 一 个 或 多 个 表 中 删 除 一 组 记 录 。 更 新 查 询 : 批 量 更 改 一 个 或 多 个 表 中 的 一 组 记 录 。 追 加 查 询 : 将 一 个 或 多 个 表 中 的 一 组 记 录 添 加 到 另一 个 或 多 个 表 的 尾 部 。 生 成 表 查 询 : 根 据 一 个 或 多 个 表 中 的 全 部 或 部 分 数据 新 建 表 。SQL查 询 : 使 用 SQL语 句 创 建 的 查 询 。 包 括 联 合 查 询 、传 递 查 询 、 数 据 定 义 查 询 和 子 查 询 等 。 联 合 查 询 : 将 来 自 一 个 或 多 个 表 或 查 询 的 字 段 组 合为 查 询 结 果 中 的 一 个 字 段 或 列 。 传 递 查 询 : 直 接 将 命 令 发 送 到 ODBC 数 据 库 , 如 Microsoft SQL Server等 。 数 据 定 义 查 询 : 用 于 创 建 或 更 改 数 据 库 中 的 对 象 ,如 Access或 SQL Server表 等 。 子 查 询 : 包 含 另 一 个 选 择 查 询 或 操 作 查 询 中 的 SQL Select语 句 。 可 在 查 询 设 计 网 格 “ 字 段 ” 行 输 入 语句 来 定 义 新 字 段 , 或 在 “ 准 则 ” 行 来 定 义 字 段 的 准 则 。 本 讲 首 页 5.2 使 用 向 导 创 建 查 询 1. 创 建 查 询 的 方 法 查 询 设计 视 图查 询向 导 动 2. 简 单 查 询 向 导 的 使 用简 单 查 询 向 导 的 功 能 : 以 一 个 或 多 个 表 中 的 指 定 字 段 创建 查 询 ; 对 一 组 记 录 或 全 部 记 录 进 行 各 种 统 计 。一 般 步 骤启 动 简 单 查 询 向 导指 定 记 录 源进 行 统 计 计 算指 定 查 询 名 称 3. 创 建 子 查 询子 查 询 : 数 据 源 为 一 个 查 询 而 不 是 表 的 查 询 。 可 使 用 简 单 查 询 向 导 来 创 建 子 查 询 。一 般 步 骤启 动 简 单 查 询 向 导指 定 已 有 查 询 的 一 些字 段 作 本 查 询 字 段进 行 统 计 计 算指 定 查 询 名 称指 定 已 有 查询 作 数 据 源 动交 叉 表 查 询 : 某 些 字 段 名 作 行 标 , 某些 作 列 标 , 行 与 列 交 叉 处 显 示 值 一 般 步 骤启 动 交 叉 表 查 询 向 导指 定 已 有 查 询的 一 些 字 段指 定 行 标指 定 查 询 名 称指 定 列 标指 定 交 叉 点 处 值 4. 交 叉 表 查 询 向 导 的 使 用 本 讲 首 页 5.3 查 询 设 计 器 的 使 用 1. 查 询 设 计 器 的 构 造作 数 据 源的 表 或 查询 列 表 查 询 设计 网 格设 定 查询 条 件字 段 名字 段 来 源 2. 打 开 查 询 设 计 器 显 示 表对 话 框 3. 查 询 设 计 视 图 中 的 工 具 条视 图 按 钮 : 在 查 询 的 三 种 视 图 之 间 切 换查 询 类 型 按 钮 : 可 在 选 择 查 询 、 交 叉 表 查 询 、 生 成 表查 询 、 更 新 查 询 、 追 加 查 询 和 删 除 查 询 之 间 切 换执 行 按 钮 : 执 行 查 询 , 以 工 作 表 形 式 显 示 结 果 集显 示 表 按 钮 : 显 示 “ 显 示 表 ” 对 话 框 , 列 出 当 前 数 据库 中 所 有 的 表 和 查 询 , 以 便 选 择 查 询 的 数 据 源合 计 按 钮 : 在 查 询 设 计 区 增 加 “ 总 计 ” 行 , 用 于 各 种统 计 计 算 , 如 求 和 、 求 平 均 值 等 。视 图 查 询 类 型执 行 显 示 表合 计 上 限 值 生 成 器 新 对 象属 性 数 据 库 窗 口 合 计 按 钮 : 在 查 询 设 计 区 增 加 “ 总 计 ” 行 , 用 于 各 种统 计 计 算 , 如 求 和 、 求 平 均 值 等 。上 限 值 按 钮 : 可 以 对 查 询 结 果 的 显 示 进 行 约 定 , 用 户可 在 文 本 框 内 指 定 所 要 显 示 的 范 围 。属 性 按 钮 : 显 示 光 标 处 的 对 象 属 性 。 若 光 标 在 查 询 设 计 器 上 半 部 , 则 将 显 示 查 询 的 属 性 若 光 标 在 查 询 设 计 网 格 内 , 则 将 显 示 字 段 列 表 属 性 若 光 标 在 字 段 内 , 则 将 显 示 字 段 属 性生 成 器 按 钮 : 弹 出 表 达 式 生 成 器 对 话 框 , 用 于 生 成 准则 表 达 式 。 在 光 标 位 于 查 询 设 计 网 格 的 “ 准 则 ” 栏 时有 效数 据 库 窗 口 按 钮 : 回 到 数 据 库 窗 口 。新 对 象 按 钮 : 打 开 “ 新 建 表 ” 、 “ 新 建 查 询 ” 、 “ 新建 报 表 ” 等 各 种 对 话 框 , 准 备 生 成 相 应 的 对 象 。 选 择 数 据 源 : 表 或 查 询 , 放 在 上 半 部 ;从 表 中 选 择 字 段 , 放 在 下 半 部 设 计 网 格 ;键 入 准 则 , 设 置 排 序 方 法 , 设 置 是 否 显 示 等 。 4. 查 询 设 计 的 过 程 本 讲 首 页 5.4 条 件 与 参 数 查 询 1. 准 则 的 使 用条 件 : 创 建 查 询 时 添 加 的 限 制 条 件 。 可 使 查 询 结 果 集 中包 含 且 仅 包 含 必 要 的 数 据 记 录 。创 建 查 询 时 , 在 查 询 设 计 器 的 准 则 行 中 输 入 准 则 表 达 式 ,使 Access只 显 示 那 些 符 合 准 则 的 记 录 。 如 10 只 显 示 字 段 值 大 于 10的 记 录 Between 1000 And 5000 显 示 值 为 10005000的 记 录输 入 准 则 的 方 法 : 在 设 计 视 图 中 打 开 查 询 , 在 指 定 字 段“ 准 则 ” 行 的 网 格 中 键 入 准 则 表 达 式 , 可 使 用 表 达 式生 成 器 构 造 表 达 式 , 还 可 切 换 到 查 询 的 SQL视 图 , 观察 相 应 的 SQL语 句 。 2. 查 询 中 表 达 式 的 使 用任 务 输 入 表 达 式 的 位 置为 选 择 查 询 、 交 叉 表 查 询 或 操作 查 询 或 高 级 筛 选 指 定 准 则 查 询 或 高 级 筛 选 设 计 网 格 中的 “ 准 则 ” 格创 建 计 算 字 段 查 询 或 高 级 筛 选 设 计 网 格 中的 “ 字 段 ” 格 输 入 表 达 式根 据 表 达 式 的 结 果 更 新 记 录( 仅 更 新 查 询 ) 查 询 或 高 级 筛 选 设 计 网 格 中的 “ 更 新 到 ” 格指 定 所 需 记 录 、 如 何 分 组 、 分组 准 则 或 如 何 排 序 记 录 SQL视 图 中 的 SQL 语 句 中Access中 表 达 式 的 使 用 场 合 : 有 效 性 规 则 、 查 询 或 筛 选准 则 、 属 性 或 参 数 的 设 置 值 、 计 算 控 件 、 宏 的 条 件 等查 询 中 表 达 式 的 使 用 3. 特 殊 运 算 符“与 ” 运 算 符 : And 例 , And , 须 同 时 满 足 两 个 准 则 A和 B。“ 或 ” 运 算 符 : Or例 , Or , 须 满 足 两 个 准 则 A和 B之 一 。指 定 一 个 范 围 : Between And例 , Between And , 数 值 应 在 A、 B之 间 。指 定 系 列 值 的 列 表 : In 例 , In(“西 安 ”, “汉 中 ”,“延 安 ”), 等 价 于 : “ 西 安 ” Or “汉 中 ” Or “延 安 ”使 用 通 配 符 实 现 模 糊 查 询 : Like例 , Like “Smith” , 查 找 包 含 字 符 串 “ Smith”的 记 录 Like Sm*“, 查 找 包 含 以 “ Sm”开 头 的 字 符 串 的 记 录 。 样 式 中 可 以 使 用 的 通 配 符 : ? 单 一 字 符 * 零 个 或 多 个 字 符 # 单 一 数 字 ( 0 - 9) 为 字 符 串 中 该 位 置 的 字 符 设 置 范 围 字 符 表 字 符 表 中 的 一 个 字 符 , 如 a-z 、 0-9 !字 符 表 不 在 字 符 表 中 的 一 个 字 符 , 如 !0-9例 : Like PA-F# 查 找 以 P开 头 、 后 跟 A到 F间 任 何 字 母 及 3个 数 字 的 数 据 Like a?a-f#!0-9* 查 找 的 字 符 串 中 第 一 个 为 a , 第 二 个 任 意 , 第 三 个 为 a到 f 中 任 意 一 个 , 第 四 个 为 数 字 , 第 五 个 为 非 0-9的 字符 , 其 后 为 任 意 字 符 串 。 4. 样 式 中 可 使 用 的 通 配 符 5. 多 个 准 则 的 作 用 同 一 行 的 多个 准 则 相 与不 同 行 的 多个 准 则 相 或查 找 公 司 名 称 以“ 联 ” 开 头 , 且 地区 为 “ 华 北 ” 的 记录 查 找 公 司 名 称 以 “ 联 ” 开 头 且 地 区 为 “ 华 北 ” ,或 地 区 为 “ 西 北 ” 且 城 市 名 以 “ 西 ” 开 头 的 记 录 。 6. 参 数 查 询参 数 也 是 准 则 , 不 同 的 是 , 准 则 是 在 创 建 查 询 时 输 入 的 ,而 参 数 是 在 运 行 即 打 开 查 询 时 输 入 的 。打 开 参 数 查 询 时 , Access系 统 显 示 对 话 框 , 要 求 输 入 数据 , 然 后 将 输 入 的 数 据 插 入 到 指 定 准 则 的 网 格 。参 数 : 字 段 名 和提 示 信 息 要 用 方括 号 括 起 来 。将 条 件 改为 参 数 请 输 入 姓 名 : 参 数 : Left(姓 名 ,1)=请 输 入 姓 氏 : 参 数 : 本 讲 首 页 5.5 统 计 计 算 与 计 算 字 段 1. 查 询 中 的 计 算 功 能查 询 : 查 找 功 能 、 计 算 功 能 。查 询 中 两 种 基 本 计 算 :预 定 义 计 算 : 即 “ 总 计 ” 计 算 , 计 算 查 询 中 全 部 或 部分 记 录 的 字 段 值 , 包 括 总 和 、 平 均 值 、 数 量 、 最 小 值 、最 大 值 、 标 准 偏 差 或 方 差 等 。 使 用 查 询 设 计 网 格 中 的 “ 总 计 ” 行 进 行 总 计 计 算 。自 定 义 计 算 : 用 一 个 或 多 个 字 段 值 进 行 数 值 、 日 期 和文 本 的 计 算 。 要 在 查 询 设 计 网 格 中 添 加 计 算 字 段 , 方法 是 将 表 达 式 输 入 到 查 询 设 计 网 格 中 的 “ 字 段 ” 格 中 。 2. 进 行 统 计 计 算 的 方 法 3. 统 计 计 算 函 数 4. 创 建 计 算 字 段调 用 表 达 式 生 成 器 字 段 名 网 格 快 捷 菜 单 |生 成 器数 据 库 工 具 条 |生 成 器 本 讲 首 页 5.6 操 作 查 询 设 计 1. 操 作 查 询 的 功 能操 作 查 询 : 是 在 选 择 查 询 的 基 础 上 创 建 的 。 具 有 选 择 查询 、 参 数 查 询 的 特 性 , 可 对 数 据 源 中 的 数 据 进 行 追 加 、删 除 、 更 新 , 并 可 在 选 择 查 询 基 础 上 创 建 新 表 。操 作 查 询 的 种 类 :按 查 询 结 果 对 一 个 或 多 个 表 执 行 特 定 的 操 作 。 删 除 查 询 : 从 表 中 删 除 符 合 条 件 的 记 录 。 更 新 查 询 : 更 新 表 中 的 符 合 条 件 的 记 录 。 追 加 查 询 : 将 符 合 条 件 的 记 录 添 加 到 表 尾 。 生 成 表 查 询 : 根 据 查 询 结 果 生 成 新 表 。 创 建 选 择 查 询生 成 表 查 询 命 令命 名 新 表运 行 生 成 表 查 询一 般 步 骤生 成 表 查 询 命 令 主 菜 单 : 查 询 |生 成 表 查 询设 计 器 快 捷 菜 单 : 查 询 类 型 |生 成 表 查 询查 询 设 计 工 具 条 : 查 询 类 型 钮 |生 成 表 查 询2. 创 建 生 成 表 查 询 更 新 查 询 命 令 主 菜 单 : 查 询 |更 新 查 询设 计 器 快 捷 菜 单 : 查 询 类 型 |更 新 查 询查 询 设 计 工 具 条 : 查 询 类 型 钮 |更 新 查 询创 建 选 择 查 询更 新 查 询 命 令输 入 更 新 数 据 、算 法 、 准 则运 行 更 新 查 询一 般 步 骤3. 创 建 更 新 查 询 创 建 追 加 查 询 的 步 骤 :利 用 查 询 设 计 器 打 开 或 创 建 一 个 选 择 查 询发 追 加 查 询 命 令 , 弹 出 “ 追 加 ” 对 话 框 : 主 菜 单 : 查 询 |更 新 查 询 ; 设 计 器 快 捷 菜 单 : 查 询 类 型 |更 新 查 询 ; 查 询 设 计 工 具 条 : 查 询 类 型 钮 |更 新 查 询在 对 话 框 中 输 入 待 追 加 数 据 的 表 名 、 确 定 所 在 数 据 库在 “ 追 加 查 询 ” 设 计 器 “ 追 加 到 ” 网 格 中 , 确 定 对 应的 “ 追 加 ” 字 段 , 并 在 “ 准 则 ” 格 输 入 准 则 表 达 式 ;运 行 追 加 查 询 : 主 菜 单 : 查 询 |运 行 ; 查 询 设 计 工 具 条 : 运 行 钮切 换 到 “ 表 ” 对 象 页 , 查 看 追 加 了 查 询 结 果 集 的 表 。 4. 创 建 追 加 查 询 创 建 删 除 查 询 的 步 骤 :利 用 查 询 设 计 器 打 开 或 创 建 一 个 选 择 查 询发 删 除 查 询 命 令 , 在 设 计 网 格 中 添 加 “ 删 除 ” 行 : 主 菜 单 : 查 询 |删 除 查 询 ; 设 计 器 快 捷 菜 单 : 查 询 类 型 |删 除 查 询 ; 查 询 设 计 工 具 条 : 查 询 类 型 钮 |删 除 查 询在 “ 删 除 查 询 ” 设 计 器 的 “ 准 则 ” 网 格 中 输 入 要 删 除记 录 的 条 件 表 达 式保 存 查 询 , 结 束 删 除 查 询 的 创 建 本 讲 首 页 5. 创 建 删 除 查 询 5.7 SQL查 询 设 计 1. SQL语 言SQL语 言 : 简 单 易 学 的 关 系 数 据 库 语 言 。SQL语 言 的 功 能 : 数 据 定 义 语 言 DDL: 定 义 数 据 库 逻 辑 结 构 , 包 括 定 义表 、 视 图 和 索 引 等 。 数 据 操 纵 语 言 DML: 包 括 数 据 检 索 和 数 据 更 新 两 大 类操 作 , 其 中 数 据 更 新 包 括 插 入 、 删 除 和 修 改 操 作 。 数 据 控 制 语 言 : 包 括 基 本 表 和 视 图 等 的 授 权 、 完 整性 描 述 以 及 事 务 开 始 和 结 束 等 控 制 语 句 等 。 嵌 入 式 SQL语 言 : 规 定 了 SQL语 言 在 宿 主 语 言 程 序 中的 使 用 规 则 。 SQL语 言 应 用 的 几 个 方 面 :在 查 询 “ 设 计 ” 视 图 中 创 建 查 询 时 , Access将 在 后 台构 造 等 效 的 SQL语 句 。某 些 查 询 不 能 在 设 计 网 格 中 创 建 。 对 于 传 递 查 询 、 数据 定 义 查 询 和 联 合 查 询 , 必 须 直 接 在 SQL 视 图 中 创 建 SQL 语 句 。在 Access中 , 也 可 以 在 输 入 表 名 、 查 询 名 或 字 段 名 等许 多 地 方 使 用 SQL语 句 。 在 某 些 情 况 下 , Access会 帮 助用 户 填 入 SQL语 句 。SQL语 句 的 使 用 方 法 :可 以 在 SQL 视 图 中 编 辑 或 查 看 SQL语 句 。 如 果 在 SQL视图 中 更 改 了 查 询 , 则 该 查 询 可 能 与 其 原 先 在 查 询 “ 设计 ” 视 图 中 的 显 示 方 式 有 所 区 别 。2. SQL语 言 在 Access中 的 应 用 SQL查 询 语 句 : 也 称 为 SELECT命 令 。 基 本 形 式 : SELECT-FROM-WHERE查 询 块 。SQL基 本 查 询 模 块 的 结 构 :SELECT FROM WHERE ;SELECT子 句 : 用 逗 号 隔 开 的 表 达 式 作 查 询 目 标 , 常 用的 是 属 性 名 列 表 。 系 统 据 此 对 查 询 结 果 进 行 投 影 运 算 。FROM子 句 : 指 定 查 询 目 标 以 及 下 面 的 Where子 句 中 所涉 及 的 所 有 “ 关 系 ” 的 名 称 。WHERE子 句 : 指 定 查 询 目 标 必 须 满 足 的 条 件 , 系 统 根据 条 件 进 行 选 择 运 算 , 输 出 条 件 为 真 的 元 组 集 合 。 3. SQL查 询 语 句 的 格 式 例 1: 查 找 “ 李 玉 ” 的 学 号 和 所 在 的 班 级SELECT 学 号 ,姓 名 , 班 级FROM 学 生WHERE 姓 名 =“李 玉 ;例 2: 查 找 所 有 学 生 的 全 部 情 况SELECT *FROM 学 生 ;例 3: 查 找 通 信 21班 、 电 子 21班 学 生 的 姓 名 和 入 学 成 绩 ,结 果 按 入 学 分 数 的 降 序 排 列 。SELECT 学 号 ,姓 名 ,入 学 总 分FROM 学 生WHERE 班 级 IN(“通 信 21”,“电 子 21”)ORDER BY 入 学 总 分 DESC;ORDER BY子 句 : 查 询 结 果 排 序 , DESC:降 序 , ASC:升 序 3. SQL查 询 语 句 举 例 例 4: 查 找 选 修 了 “ 面 向 对 象 编 程 ” 课 程 的 学 生 姓 名 、 所在 班 级 及 考 试 成 绩SELECT 学 生 .姓 名 , 学 生 .班 级 , 选 课 .考 试 成 绩FROM 学 生WHERE 学 号 In (SELECT 学 号 FROM 选 课 WHERE 课 程 号 =37002);嵌 套 查 询 : 在 SELECT-FROM-WHERE查 询 块 内 部 再 嵌 入 另一 个 查 询 块 。 允 许 多 层 嵌 套 。例 5: 查 找 每 门 课 程 的 平 均 考 试 成 绩 和 选 修 人 数 SELECT 课 程 号 ,AVG(考 试 成 绩 ),COUNT(考 试 成 绩 ) FROM 选 课 GROUP BY 课 程 号 ;GROUP BY: 按 属 性 值 对 元 组 分 组 。 5. 创 建 SQL查 询打 开 查 询 设 计 视 图切 换 到 SQL视 图 本 讲 首 页
展开阅读全文