数据库习题解答

上传人:gbs****77 文档编号:10128400 上传时间:2020-04-10 格式:DOC 页数:29 大小:272.07KB
返回 下载 相关 举报
数据库习题解答_第1页
第1页 / 共29页
数据库习题解答_第2页
第2页 / 共29页
数据库习题解答_第3页
第3页 / 共29页
点击查看更多>>
资源描述
1 数据库原理与应用教程 SQL Server 习题解答 第 1 章 习题 1 数据库的发展历史分哪几个阶段 各有什么特点 答 数据库技术经历了人工管理阶段 文件系统阶段和数据库系统三个阶段 1 人工管理阶段 这个时期数据管理的特点是 数据由计算或处理它的程序自行携带 数据和应用程序一一对应 应用程序依赖 于数据的物理组织 因此数据的独立性差 数据不能被长期保存 数据的冗余度大等 给数据的维护带来许多问题 2 文件系统阶段 在此阶段 数据以文件的形式进行组织 并能长期保留在外存储器上 用户能对 数据文件进行查询 修改 插入和删除等操作 程序与数据有了一定的独立性 程序 和数据分开存储 然而依旧存在数据的冗余度大及数据的不一致性等缺点 3 数据库系统阶段 数据库系统的特点如下 1 数据结构化 2 较高的数据共享性 3 较高的数据独立性 4 数据由 DBMS 统一管理和控制 2 简述数据 数据库 数据库管理系统 数据库应用系统的概念 答 数据是描述事物的符号记录 是信息的载体 是信息的具体表现形式 数据库就是存放数据的仓库 是将数据按一定的数据模型组织 描述和存储 能够自 动进行查询和修改的数据集合 数据库管理系统是数据库系统的核心 是为数据库的建立 使用和维护而配置的软件 它建立在操作系统的基础上 位于用户与操作系统之间的一层数据管理软件 它为用 户或应用程序提供访问数据库的方法 包括数据库的创建 查询 更新及各种数据控 制等 数据库应用系统 凡使用数据库技术管理其数据的系统都称为数据库应用系统 3 简述数据库管理系统的功能 答 数据库管理系统是数据库系统的核心软件 一般说来 其功能主要包括以下 5 个方面 1 数据定义和操纵功能 2 数据库运行控制功能 3 数据库的组织 存储和管理 2 4 建立和维护数据库 5 数据通信接口 4 简述数据库的三级模式和两级映像 答 为了保障数据与程序之间的独立性 使用户能以简单的逻辑结构操作数据而 无需考虑数据的物理结构 简化了应用程序的编制和程序员的负担 增强系统的可靠 性 通常 DBMS 将数据库的体系结构分为三级模式 外模式 模式和内模式 模式也称概念模式或逻辑模式 是对数据库中全部数据的逻辑结构和特征的描述 是所有用户的公共数据视图 外模式也称子模式或用户模式 它是对数据库用户能够看见和使用的局部数据的 逻辑结构和特征的描述 内模式也称存储模式或物理模式 是对数据物理结构和存储方式的描述 是数据 在数据库内部的表示方式 一个数据库只有一个内模式 三级模式结构之间差别往往很大 为了实现这 3 个抽象级别的联系和转换 DBMS 在三级模式结构之间提供了两级映像 外模式 模式映像 模式 内模式映像 5 简述数据库的逻辑独立性和物理独立性 答 当模式改变时 如增加新的关系 新的属性 改变属性的数据类型等 由数 据库管理员对各个外模式 模式映像作相应改变 可以使外模式保持不变 应用程序是 依据数据的外模式编写的 因而应用程序不必修改 保证了数据与程序的逻辑独立性 简称逻辑数据独立性 当数据库的存储结构改变了 如选用了另一种存储结构 由数据库管理员对模式 内模式映像作相应改变 可以保证模式保持小变 因而应用程序也不必改变 保证了 数据与程序的物理独立性 简称物理数据独立性 6 信息有哪三种世界 它们各有什么特点 它们之间有什么联系 答 现实世界 信息世界和机器世界 现实世界就是存在于人脑之外的客观世界 客观事物及其相互联系就处于现实世 界中 信息世界就是现实世界在人们头脑中的反映 又称概念世界 客观事物在信息世 界中称为实体 反映事物间联系的是实体模型或概念模型 数据世界就是信息世界中的信息数据化后对应的产物 现实世界中的客观事物及 其联系 在数据世界中以数据模型描述 计算机信息处理的对象是现实生活中的客观事物 在对客观事物实施处理的过程 中 首先要经历了解 熟悉的过程 从观测中抽象出大量描述客观事物的信息 再 对这些信息进行整理 分类和规范 进而将规范化的信息数据化 最终由数据库系 统存储 处理 7 什么是概念模型 什么是数据模型 答 概念模型是现实世界的抽象反映 它表示实体类型及实体间的联系 是独立 于计算机系统的模型 是现实世界到机器世界的一个中间层次 数据模型是对客观事物及联系的数据描述 是概念模型的数据化 即数据模型提 3 供表示和组织数据的方法 8 什么是实体 属性 码 联系 实体的联系有哪三种 答 客观存在并可以相互区分的事物叫实体 属性是实体所具有的某些特性 通过属性对实体进行描述 一个实体往往有多个属性 这些属性之间是有关系的 它们构成该实体的属性集 合 如果其中有一个属性或属性集能够唯一标识整个属性集合 则称该属性或属性集 为该实体的码 现实世界的事物之间是有联系的 即各实体型之间是有联系的 就两个实体型的 联系来说 主要有以下 3 种情况 一对一联系 1 1 一对多联系 1 M 和多对多联系 M N 9 分析层次模型 网状模型和关系模型的特点 答 层次模型用树形结构来表示各类实体以及实体间的联系 每个结点表示一个 记录类型 结点之间的连线表示记录类型间的联系 这种联系只能是父子联系 层次模型存在如下特点 1 只有一个结点没有双亲结点 称为根结点 2 根结点以外的其他结点有且只有一个双亲结点 网状数据模型是一种比层次模型更具普遍性的结构 它去掉了层次模型的两个限 制 允许多个结点没有双亲结点 也允许一个结点有多个双亲结点 因此 网状模型 可以方便地表示各种类型的联系 网状模型是一种较为通用的模型 从图论的观点看 它是一个不加任何条件的无向图 用二维表格结构表示实体以及实体之间的联系的数据模型称为关系模型 关系模 型在用户看来是一个二维表格 10 解释关系模型的基本概念 关系 元组 属性 域 关系模式 候选关键字 主 键 外键 主属性 答 关系 一个关系就是一张二维表 元组 二维表中的行称为元组 每一行是一个元组 属性 二维表的列称为属性 每一列有一个属性名 属性值是属性的具体值 域 是属性的取值范围 关系模式 对关系的信息结构及语义限制的描述称为关系模式 用关系名和包含 的属性名的集合表示 候选关键字 如果在一个关系中 存在多个属性 或属性组合 都能用来唯一标识 该关系中的元组 这些属性 或属性组合 都称为该关系的候选关键字或候选码 候选 码可以有多个 主键 在一个关系的若干候选关键字中 被指定作为关键字的候选关键字称为该 关的主键或主码 主属性 在一个关系中 包含在任何候选关键字中的各个属性称为主属性 外键 一个关系的某个属性 或属性组合 不是该关系的主键或只是主键的一部分 却是另一个关系的主码 则称这样的属性为该关系的外键或外码 4 11 设某工厂数据库中有四个实体集 一是 仓库 实体集 属性有仓库号 仓库面 积等 二是 零件 实体集 属性有零件号 零件名 规格 单价等 三是 供应 商 实体集 属性有供应商号 供应商名 地址等 四是 保管员 实体集 属性 有职工号 姓名等 设仓库与零件之间有 存放 联系 每个仓库可存放多种零件 每种零件可存 放于若干仓库中 每个仓库存放每种零件要记录库存量 供应商与零件之间有 供 应 联系 一个供应商可供应多种零件 每种零件也可由多个供应商提供 每个供 应商每提供一种零件要记录供应量 仓库与保管员之间有 工作 联系 一个仓库 可以有多名保管员 但一名保管员只能在一个仓库工作 试为该工厂的数据库设计一个 ER 模型 要求标注联系类型 可省略实体属性 答 ER 模型 12 某网上订书系统 涉及如下信息 1 客户 客户号 姓名 地址 联系电话 2 图书 书号 书名 出版社 单价 3 订单 订单号 日期 付款方式 总金额 其中 一份订单可订购多种图书 每种图书可订购多本 一位客户可有多份订单 一 份订单仅对应一位客户 根据以上叙述 建立 E R 模型 要求标注联系类型 答 第 2 章 习题 1 关系数据模型由哪三个要素组成 答 关系数据模型由关系数据结构 关系操作集合和关系完整性约束三部分组成 M 1 M NN M保管员 仓库工作 零件存放 供应商供应 仓库面积仓库号 供应商号 地址 供应商名 零件号 零件名 规格 职工号 姓名 库存量 供应量 单价 出版社 1 NM M客户 订单拥有 图书订购 联系电话地址 书号 书名 订单号 日期 付款方式 客户号 姓名 数量总金额 单价 5 2 简述关系的性质 答 1 列是同质的 即每一列中的分量是同一类型的数据 来自同一个域 2 在同一个关系中 不同的列的数据可以是同一种数据类型 但各属性的名称 都必须是互不相同 3 同一个关系中 任意两个元组都不能完全相同 4 在一个关系中 列的次序无关紧要 即列的排列顺序是不分先后的 5 在一个关系中 元组的位置无关紧要 即排行不分先后 可以任意交换两行 的位置 6 关系中的每个属性必须是单值 即不可再分 这就要求关系的结构不能嵌套 这是关系应满足的最基本的条件 3 简述关系的完整性 答 关系模型允许定义三类完整性约束 实体完整性 参照完整性和用户自定义 的完整性约束 实体完整性规则要求关系中元组在组成主码的属性上不能有空值 参照完整性规则 若属性 或属性组 F 是基本关系 R 的外码 它与基本关系 S 的主码 Ks 相对应 基本关系 R 和 S 可能是相同的关系 则对于 R 中每个元组在 F 上的值必须为 或者取空值 F 的每个属性值均为空值 或者等于 S 中某个元组的主 码值 用户定义的完整性规则由用户根据实际情况对数据库中数据的内容进行的规定 也称为域完整性规则 4 传统的集合运算和专门的关系运算都有哪些 答 1 传统的集合操作 并 差 交 笛卡儿积 2 专门的关系操作 投影 对关系进行垂直分割 选择 水平分割 连接 关系的结合 除法 笛卡儿积的逆运算 等 5 解释下列术语的含义 函数依赖 平凡函数依赖 非平凡函数依赖 部分函数依赖 完全函数依赖 传递函数依赖 范式 答 函数依赖 指在关系 R 中 X Y 为 R 的两个属性或属性组 如果对于 R 的所 有关系 r 都存在 对于 X 的每一个具体值 Y 都只有一个具体值与之对应 则称属性 Y 函数依赖于属性 X 记作 X Y 当 Y 不函数依赖于 X 时 记作 X Y 当 X Y 且 Y X 时 则记作 X Y 平凡函数依赖 设关系模式 R U U 是 R 上的属性集 X Y U 如果 X Y 且 Y X 则称 X Y 为平凡的函数依赖 非平凡函数依赖 如果 X Y 且 Y 不是 X 的子集 则称 X Y 为非平凡的函数 依赖 完全函数依赖 设关系模式 R U U 是 R 上的属性集 X Y U 如果 X Y 并且对于 X 的任何一个真子集 Z Z Y 都不成立 则称 Y 完全函数依赖于 X 部分函数依赖 如果 X Y 但对于 X 的某一个真子集 Z 有 Z Y 成立 则称 6 Y 部分函数依赖于 X 传递函数依赖 设关系模式 R U X U Y U Z U 如果 X Y Y Z 成 立 但 Y X 不成立 且 Z X Z Y 和 Y X 均不空 则称 X Z 为传递函数依赖 范式 范式 Normal Form 是符合某一种级别的关系模式的集合 是衡量关系模 式规范化程度的标准 达到的关系才是规范化的 6 简述非规范化的关系中存在哪些问题 答 数据冗余 更新异常 插入异常 删除异常 7 简述关系模式规范化的目的 答 关系模式规范化的目的是解决关系模式中存在的数据冗余 插入和删除异常以及 更新异常等问题 其基本思想是消除数据依赖中的不合适部分 使各关系模式达到某 种程度的分离 使一个关系描述一个概念 一个实体或实体间的一种联系 因此 规 范化的实质是概念的单一化 8 根据给定的关系模式进行查询 设有学生 课程关系数据库 它由三个关系组成 它们的模式是 学生 S 学号 S 姓名 SN 所在系 SD 年龄 SA 课程 C 课程号 C 课程名 CN 先修课号 PC SC 学号 S 课 程号 C 成绩 G 请用关系代数分别写出下列查询 1 检索学生年龄大于等于 20 岁的学生姓名 SN SA 20 S 2 检索先修课号为 C2 的课程号 C PC C2 C 3 检索课程号 C1 的成绩为 90 分以上的所有学生姓名 SN C C1 G 90 S SC 4 检索 001 号学生修读的所有课程名及先修课号 CN PC S 001 C SC 5 检索年龄为 19 岁的学生所选修的课程名 CN SA 19 C SC S 9 要建立关于系 学生 班级 研究会等信息的一个关系数据库 规定 一个系有若 干专业 每个专业每年只招一个班 每个班有若干学生 一个系的学生住在同一个宿 舍区 每个学生可参加若干研究会 每个研究会有若干学生 学生参加某研究会 有 一个入会年份 描述学生的属性有 学号 姓名 出生年月 系名 班号 宿舍区 描述班级的属性有 班号 专业名 系名 人数 入校年份 描述系的属性有 系号 系名 系办公室地点 人数 描述研究会的属性有 研究会名 成立年份 地点 人数 试给出上述数据库的关系模式 写出每个关系的基本的函数依赖集 指出是否存 在传递函数依赖 指出各关系的主码和外码 答 关系模式 学生 学号 姓名 出生年月 系号 班号 宿舍区 7 班级 班号 专业名 系号 人数 入校年份 系 系号 系名 系办公室地点 人数 研究会 研究会名 成立年份 地点 人数 参加研究会 学号 研究会名 入会年份 学生关系的基本函数依赖集 学号 姓名 出生年月 系号 班号 系号 宿舍区 班级关系的基本函数依赖集 班号 专业名 系号 人数 入校年份 系关系的基本函数依赖集 系号 系名 系办公室地点 人数 研究会关系的基本函数依赖集 研究会名 成立年份 地点 人数 参加研究会关系的基本函数依赖集 学号 研究会名 入会年份 10 设有关系模式 R 运动员编号 姓名 性别 班级 班主任 项目号 项目名 成 绩 如果规定 每名运动员只能代表一个班级参加比赛 每个班级只能有一个班主任 每名运动员可参加多个项目 每个比赛项目也可由多名运动员参加 每个项目只能有 一个项目名 每名运动员参加一个项目只能有一个成绩 根据上述语义 回答下列问 题 1 写出关系模式 R 的主关键字 2 分析 R 最高属于第几范式 说明理由 3 若 R 不是 3NF 将其分解为 3NF 答 1 关系模式 R 的主关键字是 运动员编号 项目号 2 R 最高属于第一范式 因为存在着姓名 性别 班级和项目名对主关键字 运动员编号 项目号 的部分 函数依赖 没有达到 2NF 3 首先分解为 2NF R1 运动员编号 姓名 性别 班级 班主任 R2 项目号 项目 名 R3 运动员编号 项目号 成绩 因为 R1 存在班主任对运动员编号的传递函数依赖 所以没有达到 3NF 再分解 为 3NF R1 分解为 R1 运动员编号 姓名 性别 班级 和 R4 班级 班主任 11 设有关系模式 R 职工号 日期 日营业额 部门名 部门经理 如果规定 每个职工每天只有一个营业额 每个职工只在一个部门工作 每个部门只 有一个经理 1 根据上述规定 写出模式 R 主关键字 2 分析 R 最高属于第几范式 说明理由 3 若 R 不是 3NF 将其分解为 3NF 答 1 关系模式 R 的主关键字是 职工号 日期 2 R 最高属于第一范式 因为存在着部门名对主关键字 职工号 日期 的部分函数依赖 没有达到 2NF 3 首先分解为 2NF R1 职工号 部门名 部门经理 R2 职工号 日期 日 营业额 8 因为 R1 存在部门经理对职工号 的传递函数依赖 所以没有达到 3NF 再分解为 3NF R1 分解为 R1 职工号 部门名 和 R3 部门名 部门经理 第 3 章 习题 1 简述数据库设计过程 答 数据库设计可分为以下六个阶段 需求分析阶段 概念结构设计阶段 逻辑结构 设计阶段 数据库物理设计阶段 数据库实施阶段以及数据库运行和维护阶段 2 简述数据库设计过程的各个阶段上的设计任务 答 需求分析的任务是通过详细调查现实世界要处理的对象 组织 部门 企业等 充分了解原系统 手工系统或计算机系统 工作概况 明确用户的各种需求 然后在此 基础上确定新系统的功能 概念设计阶段要做的工作不是直接将需求分析得到的数据存储格式转换为 DBMS 能处理的数据库模式 而是将需求分析得到的用户需求抽象为反映用户观点的概念模 型 逻辑设计的主要目标是产生一个 DBMS 可处理的数据模型和数据库模式 该模型 必须满足数据库的存取 一致性及运行等各方面的用户需求 将逻辑设计中产生的数据库逻辑模型结合指定的 DBMS 设计出最适合应用环境 的物理结构的过程 称为数据库的物理结构设计 根据逻辑和物理设计的结果 在计算机上建立起实际的数据库结构 并装入数据 进行试运行和评价的过程 叫做数据库的实施 或实现 维护工作包括以下内容 数据库的转储和恢复 数据库的安全性和完整性控制 数据库性能的监督 分析和改造 数据库的重组织和重构造 3 简述数据库设计的概念 答 数据库设计是对于给定的应用环境 在关系数据库理论的指导下 构造最优的数 据库模式 在数据库管理系统上建立数据库及其应用系统 使之能有效地存储数据 满足用户的各种需求的过程 4 简述数据库概念结构设计的方法和设计步骤 答 方法 1 自顶向下法 2 自底向上法 3 逐步扩张法 4 混合策略 在概念结构设计时 可以分为两步 进行数据抽象 设计局部 E R 模型 即设计 用户视图 集成各局部 E R 模型 形成全局 E R 模型 即视图的集成 5 什么是数据库的逻辑结构设计 试述其设计步骤 答 逻辑设计的主要目标是产生一个 DBMS 可处理的数据模型和数据库模式 该模型 必须满足数据库的存取 一致性及运行等各方面的用户需求 其逻辑结构设计阶段一般要分为三步进行 将 E R 图转化为关系数据模型 关系 模式的优化 设计用户外模式 6 简述把 E R 图转换为关系模型的转换规则 答 一个实体转化为一个关系模式 实体的属性就是该关系模式的属性 实体的主码 9 就是该关系模式的主码 两实体间 1 1 联系可以转换为一个独立的关系模式 也可以与任意一端对应的关 系模式合并 两实体间 1 N 联系可以转换为一个独立的关系模式 也可以与 N 端对应的关系模 式合并 同一实体间的 1 N 联系可在这个实体所对应的关系模式中多设一个属性 用来作 为与该实体相联系的另一个实体的主码 两实体间 M N 联系 必须为联系产生一个新的关系模式 该关系模式中至少包含 被它所联系的双方实体的主码 若联系中有属性 也要并入该关系模式中 同一实体间 M N 联系 必须为联系产生一个新的关系模式 该关系模式中至少包 含被它所联系的双方实体的主码 若联系有属性 也要并入该关系模式中 由于这个 联系 只涉及一个实体 所以加入的实体的主码不能相同 两个以上实体集之间 M N 的联系 必须为联系产生一个新的关系模式 该关系模 式中至少包含被它所联系的所有实体的主码 若联系有属性 也要并入该关系模式中 7 将图 1 学生信息数据库系统的 E R 图转换为关系模型 图 1 习题 7 图 答 课程 课程号 课程名 学分 学生 学号 姓名 性别 年龄 班级名 班级 班级名 班主任 选修 学号 课程号 成绩 8 一个设备销售管理系统中有如下信息 设备 设备编号 设备名称 型号规格 数量 部门 部门编号 部门名称 部门经理 电话 客户 客户编号 客户名称 地址 电话 其中 任何设备都可以销售给多个客户 每个客户购买一种设备都要登记购买数量 一个部门可以管理多种设备 一种设备仅由一个部门来调动管理 根据以上情况 完成如下设计 1 设计系统的 E R 图 2 将 E R 图转换为关系模式 标出每个关系模式的主码 答 1 E R 图 1NM课程 学生选修 姓名 性别 年龄课程号 课程名 学分 成绩 学号 班级属于 班主任班级名 10 2 关系模式 设备 设备编号 设备名称 型号规格 数量 部门 部门编号 部门名称 部门经理 电话 设备编号 客户 客户编号 客户名称 地址 电话 购买情况 客户编号 设备编号 购买数量 9 某电子商务网站要求提供下述服务 可随时查询库存中现有物品的名称 数量和单价 所有物品均应由物品编号唯一 标识 可随时查询顾客订货情况 包括顾客号 顾客名 所订物品编号 订购数量 联系方式 交货地点 所有顾客编号不重复 当需要时 可通过数据库中保存的供应 商名称 电话 邮编与地址信息向相应供应商订货 一个编号货物只由 1 个供应商供 货 根据以上要求 完成如下任务 1 根据语义设计出 E R 模型 2 将该 E R 模型转换为一组等价的关系模式 并标出各关系模式的主码 答 1 E R 图 2 关系模式 顾客 顾客编号 顾客名 联系方式 物品 物品编号 物品名称 数量 单价 供应商名称 供应商 供应商名称 地址 电话 邮编 订购情况 顾客编号 物品编号 订购数量 交货地点 10 根据转换规则 将第 2 章习题第 11 题中 E R 模型转换成关系模型 要求标注每个 1MNM客户 设备购买 设备名称 数量 型号规格电话 客户编号 客户名称 购买数量 设备编号 部门管理 部门名称 部门编号 电话 地址地址 1MNM顾客 物品订购 物品名称 数量 单价交货地点 顾客名 顾客编号 订购数量 物品编号 供应商供应 供应商名称 邮编 电话 地址联系方式 11 关系模型的主键和外键 如果存在 关系模式 仓库 仓库号 仓库面积 零件 零件号 零件名 规格 单价 供应商 供应商号 供应商名 地址 保管员 职工号 姓名 仓库号 库存 仓库号 零件号 库存量 供应 供应商号 零件号 供应量 11 根据转换规则 将第 2 章习题第 12 题中 E R 模型转换成关系模型 要求标明每个 关系模式的主键和外键 关系模式 客户 客户号 姓名 地址 联系电话 图书 书号 书名 出版社 单价 订单 订单号 日期 付款方式 总金额 客户号 订购 订单号 书号 数量 第 4 章 习题 1 安装 Microsoft SQL Server 2008 系统操作 答 略 2 SQL Server 2008 主要提供了哪些服务 如何启动 暂停或停止 SQL Server 服务 答 服务器管理 对象资源管理 SQL Server 配置管理等 启动 暂停或停止 SQL Server 服务 首先在 SQL Server 配置管理器的窗口左边单 击 SQL Server 2008 服务 此时在窗口右边会看到已安装的所有服务 可以选中某 个服务 然后单击窗口上部工具栏中的相应按钮 或右击某个服务名称 在弹出的快 捷菜单中选择相应的菜单选项来启动或停止服务 3 简述 SQL Server Management Studio 的使用 答 略 4 简述对象资源管理器的功能 答 SQL Server Management Studio 的对象资源管理器组件是一种集成工具 可以查看 和管理所有服务器类型的对象 用户可以通过该组件操作数据库 包括新建 修改 删除数据库 表 视图等数 据库对象 新建查询 设置关系图 设置系统安全 数据库复制 数据备份 恢复等 操作 是 SQL Server Management Studio 中最常用 也是最重要的一个组件 类似于 SQL Server 2000 中的企业管理器 5 了解 SQL Server 其他管理工具 12 答 略 6 简述 T SQL 语言的特点 答 1 综合统一 2 两种使用方式 统一的语法结构 3 高度非过程化 4 类似于人的思维习惯 容易理解和掌握 7 如何表示数据库对象名 答 server name database name schema name database name schema name schema name object name 第 5 章 习题 1 简述数据库的两种存储结构 答 数据库的物理存储结构指的是保存数据库各种逻辑对象的物理文件是如何在磁盘 上存储的 数据库在磁盘上是以文件为单位存储的 SQL Server 2008 将数据库映射为 一组操作系统文件 逻辑存储结构 数据库是存储数据的容器 即数据库是一个存放数据的表和支持 这些数据的存储 检索 安全性和完整性的逻辑成分所组成的集合 2 数据库由哪几种类型的文件组成 其扩展名分别是什么 答 1 主数据文件 主数据文件是数据库的起点 指向数据库中的其他文件 主数 据文件的推荐文件扩展名是 mdf 2 辅助数据文件 除主数据文件以外的所有其他数据文件都是辅助数据文件 辅助数据文件的推荐文件扩展名是 ndf 3 事务日志文件 日志文件包含着用于恢复数据库的所有日志信息 日志文件 的推荐文件扩展名是 ldf 3 简述 SQL Server 2008 中文件组的作用和分类 答 为了便于管理和分配数据而将文件组织在一起 通常可以为一个磁盘驱动器创建 一个文件组 File Group 将多个数据库文件集合起来形成一个整体 SQL Server 中的数据库文件组分为主文件组 Primary File Group 和用户定义文 件组 user defined Group 4 使用 SQL Server Management Studio 创建名为 仓库库存 的数据库 并设置数据库 主文件名为仓库库存 data 初始大小为 10MB 日志文件名为仓库库存 log 初始大 小为 2MB 所有的文件都放在目录 E DATA 中 答 略 5 删除习题 4 创建的数据库 使用 T SQL 语句再次创建该数据库 主文件和日志文 件的文件名及存放位置同上 要求 仓库库存 data 最大为无限大 增长速度为 20 日志文件初始大小为 2MB 最大为 5MB 增长速度为 1MB 答 CREATE DATABASE 仓库库存 13 NAME 仓库库存 data FILENAME E DATA 仓库库存 data MDF SIZE 10MB FILEGROWTH 20 LOG ON NAME 仓库库存 log FILENAME E DATA 仓库库存 log LDF SIZE 2MB MAXSIZE 5MB FILEGROWTH 1MB 6 请分别使用 SQL Server Management Studio 和 T SQL 语句创建数据库 Student 要 创建的数据库的要求如下所示 数据库名称为 Student 包含 3 个 20MB 的数据库文件 2 个 10MB 的日志文件 创建使用一个自定义文件组 主文件为第一个文件 主文件 的后缀名为 mdf 次要文件的后缀名为 ndf 要明确地定义日志文件 日志文件的后缀 名为 ldf 自定义文件组包含后两个数据文件 所有的文件都放在目录 E DATA 中 答 CREATE DATABASE STUDENT ON NAME STUDENT1 FILENAME E DATA STUDENT1 MDF SIZE 20 MAXSIZE unlimited FILEGROUP FG1 NAME STUDENT2 FILENAME E DATA STUDENT2 NDF SIZE 30 MAXSIZE unlimited NAME STUDENT3 FILENAME E DATA STUDENT3 NDF SIZE 30 MAXSIZE unlimited LOG ON NAME STUDENTLOG1 FILENAME E DATA STUDENTLOG1 LDF SIZE 10 MAXSIZE unlimited NAME STUDENTLOG2 FILENAME E DATA STUDENTSLOG LDF SIZE 10 14 MAXSIZE unlimited 第 6 章 习题 1 在第 5 章习题创建的 仓库库存 数据库中完成下列操作 1 创建 商品 表 表结构如表 1 表 1 商品表 列名 数据类型 长度 完整性约束 说明 商品编号 Char 6 NOT NULL 主键 商品名称 Varchar 20 NOT NULL 单价 Float 生产商 Varchar 30 2 创建 仓库 表 表结构如表 2 表 2 仓库表 列名 数据类型 长度 完整性约束 说明 仓库编号 Char 3 NOT NUL 主键 仓库地址 Varchar 20 NOT NULL 电话 Varchar 10 数字字符 容量 int 总库存数量 3 创建 管理员 表 表结构如表 3 表 3 管理员表 列名 数据类型 长度 完整性约束 说明 管理员编号 Char 3 NOT NUL 主键 管理员姓名 Varchar 20 NOT NULL 性别 Char 2 男 女 出生年月 Datetime 1957 1 1 2000 1 1 仓库编号 Char 3 外键 4 创建 库存情况 表 表结构如表 4 表 4 库存情况表 列名 数据类型 长度 完整性约束 说明 仓库编号 Char 3 NOT NULL 主键 外键 商品编号 Char 6 NOT NUL 主键 外键 库存数量 int 答 1 USE 仓库库存 图 8 35 15 GO CREATE TABLE 商品 商品编号 char 6 NOT NULL PRIMARY KEY 商品名称 char 20 NOT NULL 单价 Float 生产商 Varchar 30 2 3 4 略 2 建立 商品 表 仓库 表 管理员 表和 库存情况 表四表之间的关系图 答 略 3 分别给 商品 表 仓库 表 管理员 表和 库存情况 表添加数据 答 略 4 创建一个 STUDENT 表 包含 学号 姓名 和 班级 列 要求能够与学生表同步插 入 修改和删除数据 答 CREATE TABLE STUDENT 学号 char 7 PRIMARY KEY 姓名 char 8 NOT NULL 班级 char 10 NULL MERGE STUDENT AS d USING 学生表 AS s ON s ProductID d ProductId WHEN NOT MATCHED BY TARGET THEN INSERT 学号 姓名 班级 VALUES s 学号 s 姓名 s 班级 WHEN NOT MATCHED BY SOURCE THEN DELETE WHEN MATCHED THEN UPDATE SET d 姓名 s 姓名 d 班级 s 班级 第 7 章 习题 1 针对 教学库 中的三个表 试用 T SQL 的查询语句实现下列查询 1 查询学生们有哪些专业 只显示专业列 过滤掉重复行 答 SELECT DISTINCT 专业 FROM 学生表 2 统计有学生选修的课程门数 答 SELECT COUNT DISTINCT 课程号 FROM 选课表 3 求选修 C004 课程的学生的平均年龄 答 SELECT AVG 年龄 FROM 学生表 选课表 WHERE 学生表 学号 选课表 学号 and 课程号 C004 4 求学分为 3 的每门课程的学生平均成绩 16 答 SELECT 课程表 课程号 AVG 成绩 FROM 课程表 选课表 WHERE 课程表 课程号 选课表 课程号and 学分 3 GROUP BY 课程表 课程号 5 统计每门课程的学生选修人数 超过 3 人的课程才统计 要求输出课程号和选修人 数 查询结果按人数降序排列 若人数相同 按课程号升序排列 答 SELECT 课程号 COUNT FROM 选课表 GROUP BY 课程号 HAVING COUNT 3 ORDER BY COUNT DESC 课程号 6 检索姓王的学生的姓名和年龄 答 SELECT 姓名 年龄 FROM 学生表 WHERE 姓名 LIKE 王 7 在选课表中检索成绩为空值的学生学号和课程号 答 SELECT 学号 课程号 FROM 选课 WHERE 成绩 IS NULL 8 查询没有学生选修的课的课程号和课程名 答 SELECT 课程号 课程名 FROM 课程表 WHERE 课程号 NOT IN SELECT 课程号 FROM 选课表 9 求年龄大于女同学平均年龄的男学生姓名和年龄 答 SELECT 姓名 年龄 FROM 学生表 WHERE 性别 男 and 年龄 SELECT AVG 年龄 FROM 学生表 WHERE 性别 女 10 求年龄大于所有女同学年龄的男学生姓名和年龄 答 SELECT 姓名 年龄 FROM 学生表 WHERE 性别 男 and 年龄 all SELECT 年龄 FROM 学生表 WHERE 性别 女 11 查询所有与王华同年级 同专业 但比王华年龄大的学生的姓名 年龄和性别 答 SELECT 姓名 年龄 性别 FROM 学生表 WHERE 年龄 SELECT 年龄 FROM 学生表 WHERE 姓名 王华 AND 年级 SELECT 年级 FROM 学生表 WHERE 姓名 王华 AND 专业 SELECT 专业 FROM 学生表 WHERE 姓名 王华 12 检索选修课程 C002 的学生中成绩最高的学生的学号 答 SELECT 学号 FROM 选课表 17 WHERE 课程号 C002 and 成绩 SELECT MAX 成绩 FROM 选课表 WHERE 课程号 C002 13 检索学生姓名及其所选修课程的课程号和成绩 答 SELECT 姓名 课程号 成绩 FROM 学生表 选课表 WHERE 学生表 学号 选课表 学号 14 检索选修 4 门以上课程的学生总成绩 不统计不及格的课程 并要求按总成绩的 降序排列出来 答 SELECT 学号 SUM 成绩 FROM 选课表 WHERE 成绩 60 GROUP BY 学号 HAVING COUNT 4 ORDER BY SUM 成绩 DESC 15 检索选修 2 门及以上课程的学生平均成绩只取前五名 答 SELECT TOP 5 学号 AVG 成绩 FROM 选课表 GROUP BY 学号 HAVING COUNT 2 ORDER BY AVG 成绩 DESC 16 查询每个学生的总学分 答 SELECT 学号 SUM 学分 FROM 选课表 课程表 WHERE 选课表 课程号 课程表 课程号 GROUP BY 学号 2 针对 仓库库存 数据库中的三个表 试用 T SQL 的查询语句实现下列查询 1 查询青岛海尔生产的商品信息 答 SELECT FROM 商品 WHERE 生产商 青岛海尔 2 查询 001 号仓库储存的商品的编号和数量 答 SELECT 商品编号 数量 FROM 库存情况 WHERE 仓库编号 001 3 查询所有商品的种类名称 答 SELECT DISTINCT 商品名称 FROM 商品 4 查询商品的单价在 2000 到 3000 之间的商品信息 答 SELECT FROM 商品 WHERE 5 查询 商品表 中所有商品的信息 其中单价打八折显示 答 SELECT 商品编号 商品名称 单价 0 8 单价八折 生产商 FROM 商品 6 查询青岛海尔和青岛海信生产的商品的信息 答 SELECT FROM 商品 WHERE 生产商 青岛海尔 AND 生产商 青岛海信 7 查询李立平管理的仓库存储的商品信息 答 SELECT FROM 商品 WHERE 商品编号 IN SELECT 商品编号 FROM 库存情况 WHERE 仓库编号 IN SELECT 仓库编号 FROM 管理员表 WHERE 管理员姓名 李立平 18 8 查询 2 号楼 101 仓库的管理员的姓名和年龄 答 SELECT 姓名 年龄 FROM 管理员表 WHERE 仓库编号 SELECT 仓库编号 FROM 仓库 WHERE 仓库地址 2 号楼 101 9 查询不是青岛生产的商品的信息 答 SELECT FROM 商品 WHERE 生产商 NOT LIKE 青岛 10 查询库存总量最少的仓库的编号 答 SELECT TOP 1 仓库编号 FROM 库存情况 GROUP BY 仓库编号 ORDER BY SUM 数量 ASC 11 查询各生产厂家的商品库存总量 并存入 库存总量 表 答 SELECT 生产商 SUM 数量 AS 库存总量 INTO 库存总量 FROM 商品 库存情况 WHERE 商品 商品编号 库存情况 商品编号 GROUP BY 生产商 12 将 2 号楼 101 仓库的管理员的姓名改为 张黎明 答 UPDATE 管理员表 SET 管理员姓名 张黎明 WHERE 仓库编号 SELECT 仓库编号 FROM 仓库 WHERE 仓库地址 2 号楼 101 13 删除四川长虹的产品的库存信息 答 DELETE 库存情况 WHERE 商品编号 IN SELECT 商品编号 FROM 商品 WHERE 生产商 四川长虹 第 8 章 习题 1 什么是标识符 答 标识符是用来标识事物的符号 其作用类似于给事物起的名称 2 T SQL 中有几种标识符 它们的区别是什么 标识符分为两类 常规标识符和分隔标识符 符合所有标识符格式规则的标识符 为常规标识符 可以使用分隔符 也可以不使用分隔符 不符合标识符格式规则的标 识符必须使用分隔符 3 什么是局部变量 什么是全局变量 如何表示它们 答 全局变量由系统提供且预先声明 通过在名称前加两个 符号区别于局部变量 用户只能使用全局变量 不能对它们进行修改 全局变量的作用范围是整个 SQL Server 系统 任何程序都可以随时调用它们 T SQL 语言中的变量是可以保存单个特定类型的数据值的对象 也称为局部变量 只在定义它们的批处理或过程中可见 在名称前加一个 符号为局部变量 4 以下变量名中 哪些是合法的变量名 哪些是不合法的变量名 A1 1a x y 变量 1 姓名 姓名 m n abc my name 19 答 合法的变量名 x y 姓名 my name 不合法的变量名 A1 1a 变量 1 姓名 m n abc 5 SQL Server 2008 所使用的运算符类别有哪些 答 SQL Server 2008 系统中 可以使用的运算符可以分为算术运算符 逻辑运算符 赋值运算符 字符串串联运算符 按位运算符 一元运算符及比较运算符等 6 利用 T SQL 语句计算下列表达式 并给出运算结果 1 9 3 5 2 6 4 2 5 2 4 3 你们 好 4 10 答 1 4 2 4 3 你们好 4 11 7 给出以下 T SQL 语句的运行结果 DECLARE d SMALLDATETIME SET d 2007 1 26 SELECT d 10 d 10 答 2007 02 05 2007 01 16 8 什么是批处理 使用批处理有何限制 批处理的结束符是什么 答 批处理是包含一个或多个 T SQL 语句的集合 从应用程序一次性地发送到 SQL Server 2008 进行执行 因此可以节省系统开销 SQL Server 将批处理的语句编译为一 个可执行单元 称为执行计划 批处理的结束符为 GO 9 注释有几类 它们分别是什么 答 在 T SQL 中可使用两类注释符 1 ANSI 标准的注释符 用于单行注释 2 与 C 语言相同的程序注释符号 即 用于程序注释开头 用 语程序注释结尾 可以在程序中多行文字标示为注释 10 针对 教学库 利用流程控制语句 查询学号为 0101001 的学生的各科成绩 如 果没有这个学生的成绩 就显示 此学生无成绩 答 IF EXISTS SELECT FROM 选课表 WHERE 学号 0101001 SELECT 课程号 成绩 FROM 选课表 WHERE 学号 0101001 ELSE PRINT 此学生无成绩 11 针对 教学库 用函数实现 求某个学院选修了某门课的学生人数 答 CREATE FUNCTION renshu p char 10 cn char 4 RETURNS float AS BEGIN DECLARE cout float SELECT cou SELECT count FROM 学生表 选课表 WHERE 学生表 学生号 选课表 学生号 and 课程号 cn and 专业 p RETURN cou 20 END 12 针对 教学库 用函数实现 查询某个学院所有学生所选的每门课的平均成绩 答 CREATE FUNCTION average p char 10 RETURNS float AS BEGIN DECLARE aver float SELECT aver SELECT 课程号 avg 成绩 FROM 学生表 选课表 WHERE 学生表 学生号 选课表 学生号 and 专业 p GROUP BY 课程号 RETURN aver END 13 针对 仓库库存 中的 商品 表 查询商品的价格等级 商品号 商品名和价格等 级 单价 1000 元以内为 低价商品 1000 3000 元为 中等价位商品 3000 元以上为 高价商品 答 SELECT 商品号 商品名 CASE WHEN 单价 1000 then 低价商品 WHEN 单价 3000 then 高价商品 END AS 价格等级 FROM 商品表 14 简述游标的概念及类型 答 游标是处理数据的一种方法 它允许应用程序对查询语句 SELECT 返回的结果集 中每一行进行相同或不同的操作 而不是一次对整个结果集进行同一种操作 为了查 看或者处理结果集中的数据 游标提供了在结果集中一次以行或者多行前进或向后浏 览数据的能力 我们可以把游标当作一个指针 它可以指定结果中的任何位置 然后 允许用户对指定位置的数据进行处理 SQL Server 支持三种类型的游标 T SQL 游标 API 服务器游标和客户游标 由于 API 游标和 T SQL 游标使用在服务器端 所以被称为服务器游标 也被称 为后台游标 而客户端游标被称为前台游标 服务器游标包含以下四种 静态游标 动态游标 只进游标 键集驱动游标 15 利用 T SQL 扩展方式声明一个游标 查询学生表中所有男生的信息 并读取数据 要求 1 读取最后一条记录 2 读取第一条记录 3 读取第 5 条记录 4 读取当前 记录指针位置后第 3 条记录 答 略 第 9 章 习题 21 1 引入视图的主要目的是什么 答 数据库的基本表是按照数据库设计人员的观点设计的 并不一定符合用户的需求 SQL Server 2008 可以根据用户需求重新定义表的数据结构 这种数据结构就是视图 视图是关系数据库系统提供给用户以多种角度观察数据库中数据的重要机制 其结构 和数据是建立在对表的查询基础上的 2 当删除视图时所对应的数据表会删除吗 答 不会 3 简述视图的优点 答 使用视图有很多优点 主要表现在 1 为用户集中数据 简化用户的数据查询和处理 2 保证数据的逻辑独立性 3 重新定制数据 使得数据便于共享 合并分割数据 有利于数据输出到应用 程序中 4 数据保密 4 可更新视图必须满足哪些条件 答 1 任何修改 包括 UPDATE INSERT 和 DELETE 语句 都只能引用一个基 本表的列 如果视图数据为一个表的行 列子集 则可更新 包括 UPDATE INSERT 和 DELETE 语句 但如果视图中包含的列为表定义时不允许取空值又没有给默认值的列 则此视图不可以插入数据 如果视图所依赖的基本表有多个时 不能向该视图添加 INSERT 数据 若视图依赖于多个基本表 那么一次修改只能修改 UPDATE 一个基本表中 的数据 若视图依赖于多个基本表 那么不能通过视图删除 DELETE 数据 2 如果视图中没有包含表中某个不允许取空值又没有默认值约束的列 则不能利 用视图插入数据 3 视图中被修改的列必须直接引用表列中的基础数据 不能是通过任何其他方式对这些列进行派生而来的数据 比如通过聚合函数 计 算 如表达式计算 集合运算等 4 被修改的列不应是在创建视图时受 GROUP BY HAVING DISTINCT 或 TOP 子句影响的 5 创建索引的必要性和作用是什么 答 数据库的索引就类似于书籍的目录 如果想快速查找而不是逐页查找指定的内容 可以通过目录中章节的页号找到其对应的内容 类似地 索引通过记录表中的关键值 指向表中的记录 这样数据库引擎就不用扫描整个表而定位到相关的记录 相反 如 果没有索引 则会导致 SQL Server 搜索表中的所有记录 以获取匹配结果 6 索引的优点包括 1 大大加快数据的检索速度 这是创建索引的最主要的原因 22 2 创建唯一性索引 保证表中每一行数据的唯一性 3 加速表和表之间的连接 4 在使用分组和排序子句进行数据检索时 同样可以显著减少查询中分组和排 序的时间 5 查询优化器可以提高系统的性能 但它是依靠索引起作用的 7 聚集索引和非聚集索引有何异同 答 聚集索引会对表和视图进行物理排序 所以这种索引对查询非常有效 在表和视 图中只能有一个聚集索引 非聚集索引不会对表和视图进行物理排序 如果表中不存 在聚集索引 则表是未排序的 8 在 SQL Server Management Studio 中创建一个仓库库存信息视图 要求包含仓库库 存数据库中四个表的所有列 答 略 9 利用 T SQL 语句创建一个查询每个学生的平均成绩的视图 要求包含学生的学号 和姓名 答 CREATE VIEW 学生 平均成绩 AS SELECT 学生表 学号 姓名 avg 成绩 AS 平均成绩 FROM 学生表 选课表 WHERE 学生表 学号 选课表 学号 GROUP BY 学生表 学号 姓名 10 利用 T SQL 语句创建一个每个年级 每个专业各科平均成绩的视图 答 CREATE VIEW 平均成绩 AS SELECT 年级 专业 课程号 avg 成绩 AS 平均成绩 FROM 学生表 选课表 WHERE 学生表 学号 选课表 学号 GROUP BY 年级 专业 课程号 11 在 SQL Server Management Studio 中按照选课表的成绩列升序创建一个普通索引 非唯一 非聚集 答 略 12 利用 T SQL 语句按照商品表的单价列降序创建一个普通索引 答 CREATE INDEX index 商品单价 ON 商品 单价 DESC 第 10 章 习题 1 简述存储过程和触发器的优点 答 存储过程最主要的特色是当写完一个存储过程后即被翻译成可执行码存储在系统 表内 当作是数据库的对象之一 一般用户只要执行存储过程 并且提供存储过程所 23 需的参数就可以得到所要的结果而不必再去编辑 T SQL 命令 由于在触发器中可以包含复杂的处理逻辑 因此 应该将触发器用来保持低级的 数据的完整性 而不是返回大量的查询结果 使用触发器主要可以实现以下操作 1 强制比 CHECK 约束更复杂的数据的完整性 2 使用自定义的错误提示信息 3 实现数据库中多张表的级联修改 4 比较数据库修改前后数据的状态 5 调用更多的存储过程 6 维护非规范化数据 2 简述 SQL Server2008 中存储过程和触发器的分类 答 存储过程分为系统存储过程 本地存储过程 临时存储过程 远程存储过程和扩 展存储过程 触发器 DML 触发器是当数据库服务器中发生数据操作语言 DML 事件时会自动 执行的存储过程 DDL 触发器是在响应数据定义语言 DDL 语句时触发 一般用于 数据库中执行管理任务 3 创建存储过程 从课程表中返回指定的课程的信息 该存储过程对传递的参数进行 模式匹配 如果没有提供参数 则返回所有课程的信息 答 CREATE PROCEDURE Pcourse name varchar 20 AS SELECT FROM 课程表 WHERE 课程名 LIKE name 4 创建存储过程 计算指定学生 姓名 的总成绩 存储过程中使用一个输入参数 姓名 和一个输出参数 总成绩 答 CREATE PROCEDURE
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!