




已阅读5页,还剩48页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章第一章 习题参考答案习题参考答案 1 名词解释 数据 数据库 数据库管理系统 数据库系统 关系数据库管理系统 数据数据 用来记录或者标识事物本质特征的符号 具体包括文本 图形 图像 音频 视频 动画等数据 数据库数据库 长期储存在计算机内的有组织的 统一的 共享的 结构化的 通用化的 综合 性的数据的集合 数据库管理系统数据库管理系统 位于用户与操作系统之间 提供给用户实现数据库的定义 操纵和运行 管理的数据管理软件 从而科学地组织和存储数据 高效地获取和维护数据 数据库系统数据库系统 在计算机系统中引入数据库后 由数据库 数据库管理系统 数据库应用系 统 数据库设计员 数据库管理员和用户等构成的完整的计算机系统 DBS 的核心是数据 库管理系统 DBMS 是用户与数据库的接口 关系数据库系统关系数据库系统 支持关系数据库技术的数据库系统 2 简述数据库管理系统的功能 数据定义 DDL 数据操纵 DML 数据控制 DCL 安全性 完整性 并发控制和数据恢复 数据接口 数据组织和存储 事务和运行管理等 从而确保数据的安全 完整 并发和恢 复 3 简述数据库系统的组成和特点 组成组成 DBS 硬件 计算机硬件 数据库硬件和网络硬件等 DBS 软件 操作系统 DBMS 程序设计主语言 数据库专用开发工具和数据库应用系统等 和人员 数据库设计员 数 据库分析员 数据库管理员 数据库程序员和用户 等组成 特点特点 数据结构化组织 永久储存和统一管理 数据共享 冗余度小 独立性高 容易扩 展等 4 常用的数据模型有哪些 简述数据模型的三个要素 类型类型 层次模型 最早 网状模型 关系模型 目前流行 面向对象模型 20 世纪 80 年代引入 OOP 要素要素 数据结构 数据操作 完整性约束 5 简述 DBA 的职责 决定数据库的信息内容和结构 决定数据库的存储结构和存取策略 定义数据的安全性和 完整性 监控数据库的使用和运行 数据库的改进和重组重构 6 简述数据库技术发展的三个基本阶段 人工管理 文件系统 数据库系统 7 试述文件系统与数据库系统的区别 文件系统 文件系统 数据以文件方式存储 使用专门文件管理系统对数据文件进行统一组织 存储 和管理 从而加快了数据处理速度 提高了数据处理准确性 特点如下 2 1 数据结构 数据实现了记录格式的结构化处理 没有实现整体数据的结构化存储 2 数据存储 计算机硬件系统的存储性能得到提高 大量的数据处理可以永久保存 3 数据管理 提供文件管理系统 程序和数据之间可以使用文件系统进行统一管理 4 数据共享 数据之间不能共享 5 数据冗余 存在大量冗余数据 浪费存储空间 6 数据独立 数据和程序不具有相互独立性 数据库系统 数据库系统 把所有的数据文件组织起来 按照指定的数据结构构成多个数据库 然后对 所有的数据进行有组织的统一结构化管理 特点如下 1 数据结构 数据使用统一结构化的存储模式进行组织 存储和管理 2 数据存储 提供功能完善的快速存储设备 数据可以永久保存 3 数据管理 提供功能完善的 DBMS 进行统一管理及其安全性保护 完整性约束 并发控 制和数据恢复等数据保护机制 4 数据共享 程序和数据具有较高的共享性 使得数据可以共享 5 数据冗余 数据冗余度小 节省存储空间 6 数据独立 具有较高的数据和程序独立性 如果 DB 的逻辑结构或者物理结构发生变化 应用程序可以不作修改 或者少量调整 从而减轻系统设计工作量 容易扩充 8 试述常用的 RDBMS Oracle SQL Server DB2 My SQL Informix Visual FoxPro 等 9 解释概念模型 简述概念模型的三要素 概念模型 概念模型 利用具有较强语义表达能力 且能够方便 直接地表达应用中的各种语义知识 的专用描述工具 按照统一的语法格式和描述方法 对实际问题进行抽象后 而建立的简 单 整洁 清晰 易于理解的独立于 DBMS 的模型结构 要素 要素 属性 实体和联系 10 解释实体之间的常用联系 简述 E R 模型的表示方法 常用联系 一对一 一对多和多对多 表示方法 1 长方形用来表示实体型 2 菱型和长方形之间的连线表示联系 并且将联系类型标注在连线附近 在长方形和 菱形内分别写上实体型名称和联系名称 3 椭圆表示实体型和联系的属性 将其与所描述的相应实体型或者联系用线连接 在 椭圆内写上属性的名称 11 简述数据库系统的模式结构 模式结构 由外模式 模式和内模式三级模式以及外模式 模式和模式 内模式二级映像构 成的结构 1 外模式 用户模式 子模式 面向用户的数据库局部逻辑结构和特征的描述 是数 据库用户的数据视图 体现了数据库的局部特征 一个数据库可以有多个外模式 2 模式 逻辑模式 结构模式 数据库中全部数据的整体逻辑结构和特征的描述 是 3 所有用户的公共数据视图 体现了数据库的总体特征 一个数据库只能有一个模式 3 内模式 物理模式 存储模式 对数据库物理结构和存储方式的描述 是数据在数 据库内部的组织存储方式 一个数据库只能有一个内模式 4 外模式 模式映像 保证数据的逻辑独立性 5 内模式 模式映像 保证数据的物理独立性 12 简述数据独立性 数据独立性具体包括哪两种独立性 说明数据库系统的模式结构与 数据独立性的关系 数据独立性 数据独立性 在数据库技术中 应用程序和数据之间相互独立 互相不受影响 种类 种类 数据的物理独立性和数据的逻辑独立性 关系 关系 1 数据的物理独立性 如果数据库的内模式需要修改 即数据库的存储结构和存 取方法有所变化 那么通过模式 内模式映象的相应修改 使模式尽可能保持不变 亦即对内 模式的修改尽量不影响模式 外模式和应用程序 2 数据的逻辑独立性 如果数据库的模式需要修改 即增加记录类型或者增加数据项 那么通过外模式 模式映象的相应修改 使外模式尽可能保持不变 亦即对模式的修改尽量不 影响外模式和应用程序 数据的物理独立性和逻辑独立性合称为数据独立性 第二章第二章 习题参考答案习题参考答案 1 解释 SQL 和 ODBC 简述 SQL ODBC 与 SQL Server 2005 之间的关系 SQL 结构化查询语言 Structured Query Language 的缩写 是数据库管理系统的国际标 准 ODBC 开放数据库互连 Open Database Connectivity 的缩写 是数据库管理系统的接口 提供 DBMS 与 OS 和高级语言的接口 SQL Server 是微软研发的符合国际 SQL 标准的专业级数据库管理系统 并提供了 ODBC 接口 其管理功能相当完善 由于通过它简单的操作就可以非常安全稳定的进行数据库 管理 从而使得它拥有了很高的市场占有率 目前 SQL Server 已经成为数据库领域的主流数 据库管理工具 其最新产品是 SQL Server 2008 2 简述 SQL Server 2005 的特点 综合统一 语法简单 易学易用 面向集合操作 高度非过程化 一语两用等 3 简述数据库设计的基本方法 手工试凑法和规范设计法等 常用规范设计法 新奥尔良法 E R 图法 3NF 法 ODL 法 4 如何实现表 Student 中学号为 2008010101 和 2008010102 两个记录的性别的互换 声明两个长度为 2 的字符型变量 DECLARE VarSex1 CHAR 2 VarSex2 CHAR 2 把学号为 2008010101 的元组的性别的值赋值给 VarSex1 SELECT VarSex1 SSex FROM Student WHERE SNo 2008010101 把学号为 2008010102 的元组的性别的值赋值给 VarSex2 SELECT VarSex2 SSex FROM Student WHERE SNo 2008010102 使用 VarSex2 的值修改学号为 2008010101 的元组的性别的值 UPDATE Student SET SSex VarSex2 WHERE SNo 2008010101 使用 VarSex1 的值修改学号为 2008010102 的元组的性别的值 UPDATE Student SET SSex VarSex1 WHERE SNo 2008010102 5 简述数据库备份和还原的方法 备份备份 StudentDB 在查询分析器中 使用 BACKUP DATABASE 完成 即 BACKUP DATABASE StudentDB TO DISK C StudentDBBackup1 bak DISK D StudentDBbackup2 bak 还原还原 StudentDB 在查询分析器中 使用 RESTORE DATABASE 完成 即 RESTORE DATABASE StudentDB FROM DISK C StudentDBBackup1 bak WITH REPLACE 6 简述数据库分离和附加的方法 分离数据库 分离数据库 在 SSMS 中展开数据库 在需要分离的数据库上右击 然后选择 任务 T 分离 D 在分离数据库窗口中 选择相应的分离选项 然后单击 确定 完 成分离 2 附加数据库 附加数据库 在 SSMS 中 右击 数据库 然后选择 附加 A 在附加数据库窗 口中 选择需要附加的数据库 然后单击 确定 完成附加 7 简述数据库维护的意义和方法 意义 意义 数据库在使用过程中 通常会发生违约操作或者故障 为了确保数据库的完整性和 一致性等 定期的对数据库进行指定方式的维护工作是十分必要的 方法 方法 使用维护计划向导创建维护计划 即 方法 1 在 SSMS 中展开 管理 右击 维护计划 选择 维护计划向导 W 单击 下一步 在选择目标服务器窗口中 输入计划名称 选择服务器和登录方式后单击 下一步 勾选需要执行的维护任务 单击 下一步 然后按照向导选择需要维护的数据 库 并进行相应的设置 最后单击 完成 F 完成维护计划 方法 2 右击 维护计划 选择 新建维护计划 N 实现 8 简述视图与表的关系 区别 区别 1 概念不同 表是使用 DBMS 的 DDL 定义的 拥有真实数据的 以独立文件的形式 存储在计算机外存上的具有固定模式结构和相应元组数据的关系表 视图是利用带有查询语句 的视图定义 从数据表或视图中导出的虚表 2 数据有效期不同 表是拥有数据的实表 而视图是只有视图定义的虚表 3 数据存储不同 表永久存储在外存 而视图只有执行时创建临时表 用后释放 4 更新方式不同 表一般可以任意更新 而视图一般不能任意更新 5 创建方法不同 表使用 CREATE TABLE 而视图使用 CREATE VIEW 联系 联系 视图最终定义在表之上 视图数据最终来自表 表是创建视图的基础 并为视图提 供数据 若表结构发生了改变 或者删除了表 则其相应的视图会失去意义 需要修改或者删 除视图 对于最终用户 视图与表基本相同 用户可以按照表的用法来使用视图 9 给数据库 StudentDB 创建一个数据库用户 HappyMary 其登录身份是 Windows 的合法 登录 HappyMary 同时创建一个数据库用户 HappySmith 其登录身份是 SQL Server 2005 的合 法登录 HappySmith CREATE USER HappyMary FOR LOGIN ZJSU HAPPYYOU HappyMary CREATE USER HappySmith FOR LOGIN HappySmith 10 给数据库 StudentDB 创建一个数据库角色 Mary 其数据库用户是 HappyMary 同时 创建一个数据库角色 Smith 其数据库用户是数据库 StudentDB 的拥有者 DBO 然后再删除数 据库角色 Mary 和 Smith CREATE ROLE Mary AUTHORIZATION HappyMary CREATE ROLE Smith DROP USER Mary DROP USER Smith 11 简述 GRANT DENY 和 REVOKE 的用法 并举例说明 GRANT ON TO WITH GRANT OPTION 例如 把对表 Student 的读取权限授权给角色 Tom GRANT SELECT ON Student TO Tom DENY ON TO 3 例如 把表 Student 的读取权限授权给所有用户 然后阻止用户 HappyTomer 的读取权限 GRANT SELECT ON Student TO PUBLIC DENY SELECT ON Student TO HappyTomer REVOKE ON FROM 例如 收回用户 HappyTomer 对表 Student 的数据项 SName SSex Sage 的修改权限 REVOKE UPDATE ON Student SName SSex Sage FROM HappyTomer 12 在西京大学教务管理系统中 如果需要添加教师信息 而且在安排教师讲授课程时 需要给出教学效果 一般 中等 良好 优秀 那么应该如何重新设计该数据库 参考 E R 图如下 13 已知蓝天电器需要设计产品销售数据库 数据要求包括 连锁店的基本信息 店号 店名 店址和电话等 和商品的基本信息 品号 品称和单价等 连锁店销售商品时 需要 记录销售数量和销售日期 请设计满足上述要求的数据库 并分别使用对象资源管理器和查询 分析器建立该数据库 数据库的数据根据需要自定 销售数据库 ComInfo 及其商店表 商品表和销售表设计如下 1 商店表 店号 字符型 6 位 主键 非空 取值 0 9 S S 字母开头 其它为数字 店名 字符型 22 位 非空 店址 字符型 36 位 电话 字符型 12 位 取值 0 9 2 商品表 品号 字符型 6 位 主键 非空 取值 0 9 P P 字母开头 其它为数字 品名 字符型 22 位 非空 厂商 字符型 22 位 非空 厂址 字符型 36 非空 单价 实数 9 位 2 位小数 教师学生 Stud ent 课程 授课选课 课程名课程号学分学时 工号 姓名 性别 年龄 职称 学号 姓名 性别 年龄 籍贯 教学效果 成绩 指导 专业 专业时间 案 地点 教材 4 数量 整型 6 位 3 联系属性 销售额 实数 12 位 2 位小数 职务补 实数 9 位 2 位小数 聘期 实数 3 位 1 位小数 工资 实数 9 位 2 位小数 经理 字符型 6 位 非空 取值 0 9 A Z 大写字母开头 其它为数字 4 商品销售 E R 图如图 3 2 所示 图 3 2 商店销售 E R 图 5 商品销售的关系模型如下 商品 品号 品名 厂商 厂址 单价 数量 商店 店号 店名 店址 电话 职工 工号 姓名 性别 年龄 电话 店号 工资 聘期 职务补 经理 销售 店号 品号 销售额 6 利用 SSMS 的对象资源管理器创建数据库 1 使用对象资源管理器编辑数据库 在如图1所示的界面中 右击 数据库 如图2所示 然后选择 新建数据库 N 如图3所示 图1 SQL Server 管理工作室 图2 对象资源管理器建立数据库 在 数据库名称 N 右侧输入数据库的名称 ComInfo 则在 数据库文件 F 的下方给出了数据库文件和相应日志文件的逻辑名称依次 ComInfo MDF和 商品 商店 销售 店名店号 电话店址 品号 品名 厂商 厂地 单价 销售额 数量 5 ComInfo log LDF 其默认存储位置为 C Program Files Microsoft SQL Server MSSQL10 MSSQLSERVER MSSQL DATA 如果需要指定数据库的存储位置 可以单击 路径 右侧的 进行选择 其它属性 也可以根据需要进行设置 最后单击 确定 在如图1所示的SSMS界面中 右击需要编辑的数据库 例如 ComInfo 然后选择 重 命名 删除 刷新 和 属性 等进行相应的编辑 具体用法如下 选择 重命名 修改数据库的名称 选择 属性 查看数据库的基本属性 选择 删除 可以删除数据库 方法是在弹出的窗口中单击 确定 选择 刷新 可以刷新SSMS 即在SSMS上重新刷新对数据库和数据表的修改 图3 新建数据库 2 使用对象资源管理器编辑数据表结构 在如图1所示的SSMS中 展开数据库ComInfo 右击 表 如图4所示 然后选择 新建表 N 如图5所示 图4 管理工作室的新建数据表GUI 图5 新建表 如图5所示 在 表 dbo Table 1 标签的下方依次输入设计好的数据项的名称以及相 应属性 具体输入方法如下 列名下方 输入数据项的名称 如 工号 姓名 性别 年龄 数据类型下方 选择相应的数据类型 如 Char 6 int等 对于字符型数据 还需 要数据的宽度 对于decimal 18 0 类型数据 还需要数据的宽度和小数位数 其它类型的数 据 只需按照相同的方法处理即可 允许空下方 选择该数据是否允许为空值 6 在任意行上 右击 如图3 27所示 选择 插入列 M 可以插入一个新数据项 及其相应属性 选择 删除列 N 可以删除一个新数据项及其相应属性 在任意行上 右击 如图5所示 选择 设置主键 可以把该属性设置为主键 如 果需要把多个数据项设置成组合主键 则只需先选择多行 然后做同样处理 如果取消主键 只需在设置主键的行上 右击 参考图5 选择 移去主键 Y 选择 CHECK约束 O 可以设置该属性的自定义约束 如图3 28所示 单击 添加 A 或者 删除 D 添加默认自定义约束或者删除已定义约束 在 表达式 右侧直接填写自定义约束表达式 或者单击右侧的 则弹出的窗口中 如图7所示 填 写自定义约束表达式 然后单击 确定 在图6中单击 关闭 图6 设置CHECK约束 图7 填写CHECK约束表达式 如图5所示 单击工具栏的保存按钮 在弹出的 选择名称 窗口中输入 职工 如图8 所示 单击 确定 图8 保存数据表 使用同样的方法创建数据表 商店 商品和销售 在创建职工的过程中 参照约束和外 键的创建方法如下 在如图5所示的SSMS中 选择 关系 如图9所示 单击 添加 A 或者 删除 D 添加或者删除参照关系 本例单击 添加 A 添加一个默认参照关系 然后选择 表和列规范 并单击右侧 如图10 在图10中 设置职工的外键店号及其对应的主键表商店和参照主键店号 具体方法 在 主键表 P 下选择 商店 并在商店的下方选择参照主键店号 然后在 外键表 下方 职工 的下方选择外键 店号 参照图10 单击确定 在图10中 设置职工的自参照自参照外键店号及其对应的主键表职工和参照主键工号 具体方 法 在 主键表 P 下选择 职工 并在职工的下方选择参照主键工号 然后在 外 键表 下方 职工 的下方选择外键 经理 参照图3 32 单击确定 建立结果如图9所示 最后单击关闭 同理建立销售表中店号和品号两个外键的参照键 束 7 图9 设置外键关系 图10 设置外键属性 在SSMS中 依次展开数据库和相应的数据表 在需要编辑的数据表上右击 如图11所示 然后选择 设计 重命名 和 删除 等对数据表进行相应的编辑 具体用法如下 选择 设计 可以修改数据表的数据项的属性 方法同上 选择 重命名 可以修改数据表的名称 选择 删除 可以删除数据表 方法是在弹出的窗口中单击 确定 3 使用对象资源管理器编辑数据表记录 在如图11所示的SSMS中 依次展开数据库和相应的数据表 在需要编辑的数据表上右击 然后选择 编辑前200行 E 如图12所示 编辑表记录的方法如下 图11 编辑数据表 图12 编辑数据表记录 修改数据表内容 在数据表设计器中 可以直接对表的内容进行修改 向数据表添加新内容 在数据表设计器中 当编辑最后一个元组的数据时 生成器会在 其下方自动添加一个新元组行 因此可以通过该新行添加新元组及其内容 删除数据表的元组 在要删除元组的所在行上 右击 然后选择 删除 在弹出的对 话窗口中选择 是 Y 进行删除 或者 否 N 取消删除 7 利用 SSMS 的查询编辑器创建数据库 在SSMS界面中 单击工具栏的 新建查询 N 启动查询编辑器如图13所示 然后直 接使用Transact SQL语句创建数据库 数据表和视图等 具体方法如下 8 图13 查询编辑器编辑GUI 在查询编辑器的编辑器页面SQLQuery1 sql中 直接输入SQL语句 单击分析按钮 检查分析SQL语句是否正确 单击调试按钮 对SQL的程序模块或者存储过程进行调试 单击执行按钮 执行 X 运行查询编辑器中的语句序列 1 使用查询编辑器编辑数据库 建立数据库 建立默认环境数据库 ComInfo CREATE DATABASE ComInfo 建立指定环境数据库 ComInfo 首先需要建立目录 D Data CREATE DATABASE ComInfo ON NAME ComInfoDbf FILENAME D Data ComInfo mdf LOG ON NAME ComInfoLog FILENAME D Data ComInfo ldf 提示 开头的为注释语句 打开数据库 在使用数据库之前 必须先打开数据库 USE ComInfo 删除数据库 在删除数据库之前 必须先关闭数据库 方法是打开一个新数据库 在删 除数据库之后 会删除数据库的所有数据表 DROP DATABASE ComInfo 技巧 如果在建立数据库时 希望删除已经存在的同名数据库 可以使用如下语句 IF DB ID ComInfo IS NOT NULL BEGIN USE MASTER DROP DATABASE ComInfo END 2 使用查询编辑器编辑数据表结构 建立数据表结构 建立商店数据表 CREATE TABLE 商店 店号 CHAR 6 PRIMARY KEY CHECK 店号 LIKE S 0 9 0 9 0 9 0 9 0 9 店名 CHAR 22 NOT NULL 店址 CHAR 36 NOT NULL 电话 CHAR 12 UNIQUE CHECK 电话 LIKE 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0 9 建立商品数据表 9 CREATE TABLE 商品 品号 CHAR 6 PRIMARY KEY CHECK 品号 LIKE P 0 9 0 9 0 9 0 9 0 9 品名 CHAR 22 NOT NULL 厂名 CHAR 22 NOT NULL 厂址 CHAR 36 NOT NULL 单价 DECIMAL 9 2 数量 INT 建立职工数据表 CREATE TABLE 职工 工号 CHAR 6 PRIMARY KEY CHECK 工号 LIKE A Z 0 9 0 9 0 9 0 9 0 9 姓名 CHAR 8 NOT NULL 性别 CHAR 2 NOT NULL CHECK 性别 男 OR 性别 女 年龄 INT NOT NULL CONSTRAINT SAge16 96 CHECK 年龄 16 AND 年龄 96 电话 CHAR 12 NOT NULL CHECK 电话 LIKE 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0 9 职务补 FLOAT 工资 REAL 聘期 DECIMAL 3 1 DEFAULT 6 经理 CHAR 6 CHECK 经理 LIKE A Z 0 9 0 9 0 9 0 9 0 9 REFERENCES 职工 工号 店号 CHAR 6 CHECK 店号 LIKE S 0 9 0 9 0 9 0 9 0 9 REFERENCES 商店 店号 建立销售数据表 CREATE TABLE 销售 店号 CHAR 6 CHECK 店号 LIKE S 0 9 0 9 0 9 0 9 0 9 品号 CHAR 6 CHECK 品号 LIKE P 0 9 0 9 0 9 0 9 0 9 销售额 DECIMAL 12 2 PRIMARY KEY 店号 品号 FOREIGN KEY 店号 REFERENCES 商店 店号 ON DELETE CASCADE ON UPDATE CASCADE FOREIGN KEY 品号 REFERENCES 商品 品号 ON DELETE CASCADE ON UPDATE CASCADE 修改数据表结构 给职工添加 工作日期 数据项 数据类型为日期型 ALTER TABLE 职工 ADD 工作日期 DATE 在职工中 给电话增加唯一性约束 ALTER TABLE 职工 ADD CONSTRAINT Un Phone UNIQUE 电话 或者 ALTER TABLE 职工 ADD UNIQUE 电话 在职工中 删除电话的唯一性约束 ALTER TABLE 职工 DROP CONSTRAINT Un Phone 在职工中 修改职工工作日期的数据类型为 DATETIME ALTER TABLE 职工 ALTER COLUMN 工作日期 DATETIME 在职工中 删除数据项 工作日期 ALTER TABLE 职工 DROP COLUMN 工作日期 思考 给职工添加 工作日期 数据项 数据类型为日期型 默认值为当前日期 提示 ALTER TABLE 职工 ADD 工作时间 DATE DEFAULT GETDATE 删除数据库 DROP TABLE 职工 技巧 如果在建立数据表时 希望删除已经存在的同名数据表 可以使用如下语句 10 IF DB ID ComInfo IS NOT NULL BEGIN USE ComInfo IF OBJECT ID 职工 IS NOT NULL DROP TABLE 职工 END 3 使用查询编辑器编辑数据表内容 给商店添加纪录 INSERT INTO 商店 VALUES S00001 华润超市文一店 杭州市文一路 66 号 013666666666 INSERT INTO 商店 VALUES S00002 华润超市文二店 杭州市文二路 66 号 013999999999 INSERT INTO 商店 VALUES S00003 华润超市文三店 杭州市文三路 66 号 013666666699 给商品添加纪录 INSERT INTO 商品 VALUES P00001 SONY 电视机 SONY 公司 杭州市下沙学正街号 11000 66 INSERT INTO 商品 VALUES P00002 DELL 计算机 DELL 公司 杭州市下沙学正街号 10000 99 给职工添加纪录 INSERT INTO 职工 VALUES A00001 张三 男 29 013666699999 2000 5000 6 A00001 S00001 INSERT INTO 职工 VALUES A00002 李四 女 26 013999966666 0 00 3000 5 A00001 S00001 INSERT INTO 职工 VALUES A00003 王五 男 29 013669696969 3000 6000 9 A00003 S00002 INSERT INTO 职工 VALUES A00004 孙六 女 26 013996969696 0 00 4000 8 A00003 S00002 INSERT INTO 职工 VALUES A00005 马七 女 26 013996969696 0 00 4000 8 A00003 S00002 给销售添加纪录 INSERT INTO 销售 VALUES S00001 P00001 100000 INSERT INTO 销售 VALUES S00001 P00002 200000 INSERT INTO 销售 VALUES S00002 P00001 160000 INSERT INTO 销售 VALUES S00002 P00002 260000 INSERT INTO 销售 VALUES S00003 P00001 110000 在职工中 把工号为A00001的姓名改为张娟 UPDATE 职工 SET 姓名 张娟 WHERE 工号 A00001 在职工中 将所有职工的年龄增加1岁 UPDATE 职工 SET 年龄 年龄 1 在销售中 删除店号为S00002的销售记录 DELETE FROM 销售 WHERE 店号 S00001 在销售中 删除所有销售记录 DELETE FROM 销售 11 补充习题 1 建立数据库的语句 创建数据库的语句格式 CREATE DATABASE 创建数据库 StudentDB 的语句 CREATE DATABASE StudentDB 删除数据库的语句格式 DROP DATABASE 删除数据库 StudentDB 的语句 DROP DATABASE StudentDB 提示 查询分析器中的语句序列 可以保存为查询文件 sql 以备后用 2 建立数据表的语句 打开数据库 StudentDB 在使用数据库之前 需要先打开数据库 USE StudentDB CREATE TABLE Student SNo CHAR 10 PRIMARY KEY NOT NULL SName CHAR 20 NOT NULL SSex CHAR 2 CHECK SSex 男 OR SSex 女 SAge TINYINT CHECK SAge 1 AND SAge 100 Coll CHAR 40 CREATE TABLE Course CNo CHAR 6 PRIMARY KEY NOT NULL CName CHAR 40 NOT NULL CPNo CHAR 6 Credit INT FOREIGN KEY CPNo REFERENCES Course CNo CREATE TABLE StudentCourse SNo CHAR 10 NOT NULL CNo CHAR 6 NOT NULL Grade FLOAT PRIMARY KEY SNo CNo FOREIGN KEY SNo REFERENCES Student SNo FOREIGN KEY CNo REFERENCES Course CNo 修改表 1 向表添加新数据项 ALTER TABLE ADD 完整性约束 例如 向 Student 增加 注册时间 属性 其数据类型为日期型 ALTER TABLE Student ADD SEnrollment DATETIME 例如 向 Student 的 SName 增加唯一性约束 ALTER TABLE Student ADD UNIQUE SName 或者 ALTER TABLE Student ADD CONSTRAINT Un SName UNIQUE SName 2 修改表的数据项 ALTER TABLE ALTER COLUMN 12 例如 修改 Student 的 SAge 的类型为 SMALLINT ALTER TABLE Student ALTER COLUMN Sage SMALLINT 3 删除表的数据项及其约束条件 ALTER TABLE DROP COLUMN CONSTRAINT 例如 删除 Student 的数据项 Senrollment ALTER TABLE Student DROP COLUMN Senrollment 例如 删除 Student 的 SName 的唯一性约束 ALTER TABLE Student DROP CONSTRAINT Un SName 4 删除表 DROP TABLE 例如 删除 Student DROP TABLE Student 修改记录 1 添加记录 INSERT INTO VALUES 例如 向表 Student 中添加新学生记录如下 学号 2008010109 姓名 武松 性别 男 年龄 20 学院 信息学院 INSERT INTO Student VALUES 2008010109 武松 男 20 信息学院 例如 向表 StudentCourse 中添加新学生记录如下 学号 2008010109 课程号 020101 INSERT INTO StudentCourse Sno Cno VALUES 2008010109 020101 提示 添加查询结果 多个元组 可以使用 INSERT INTO SELECT 语句 2 修改表记录 UPDATE SET WHERE 例如 在表 Student 中 把学号为 2008010101 的姓名改为王五 UPDATE Student SET SName 王五 WHERE SNo 2008010101 例如 在表 Student 中 将所有学生的年龄增加 1 岁 UPDATE Student SET SAge SAge 1 3 查询表记录 SELECT FROM WHERE 例如 查询表 Student 中学号为 2008010101 的学生姓名和年龄 SELECT SName Sage FROM Student WHERE SNo 2008010101 例如 查询表 StudentCourse 的所有选课记录 SELECT FROM StudentCourse 4 删除表记录 DELETE FROM WHERE 例如 在表 Student 中 删除学号为 2008010101 的学生 DELETE FROM Student WHERE SNo 2008010101 13 例如 在表 StudentCourse 中 删除所有选课 DELETE FROM StudentCourse 3 建立视图 CREATE VIEW AS SELECT 语句 例如 利用数据库 StudentDB 创建包含学号 姓名 课程名 成绩 性别和学院等信息 的视图 StuGrade CREATE VIEW StuGrade AS SELECT Student SNo SName CName Grade SSex Coll FROM Student Course StudentCourse WHERE Student Sno StudentCourse SNo AND Course CNo StudentCourse CNo 第三章第三章 习题参考答案习题参考答案 1 1 试述关系模型的三个组成部分 试述关系模型的三个组成部分 答 答 关系模型由关系数据结构 关系操作集合和关系完整性约束三部分组成 2 2 试述关系数据语言的特点和分类 试述关系数据语言的特点和分类 答 答 关系数据语言可以分为三类 关系代数语言 关系演算语言 包括元组关系演算语言和域关系演算语言 具有关系代数和关系演算双重特点的语言 这些关系数据语言的表达能力在安全限制下是相互等价的 其共同特点是 语言具有完备 的表达能力 是非过程化的集合操作语言 功能强大且能够嵌入高级语言中使用 3 3 定义并理解下列术语 说明它们之间的联系与区别 定义并理解下列术语 说明它们之间的联系与区别 域 笛卡尔积 关系 元组 属性 答 答 域 域 域是一组具有相同数据类型的值的集合 笛卡尔积 笛卡尔积 给定一组域 D1 D2 Dn 且它们可以相同 这组域的笛卡尔积定义为 D1 D2 Dn d1 d2 dn di Di i l 2 n 其中的每一个元素 d1 d2 dn 叫做一 个 n 元组 n tuple 或简称元组 元素中每个 di叫做第 i 个分量 关系 关系 在域 D1 D2 Dn上笛卡尔积 D1 D2 Dn的任意一个子集称为关系 表示为 R D1 D2 Dn 元组 元组 关系中的每个元素是称为关系中的一个元组 属性 属性 关系等价于一张二维表 表的每一行对应一个元组 每一列对应一个域 且将这个 域称为关系的一个属性 由于域可以相同 为了区分他们 必须给每列起一个名字 称为属性 名 候选键 主码 外码 超码 答 答 候选键 候选键 若关系中的某一属性组的值能惟一地标识出一个元组 则称该属性组为候选键 主码 主码 若一个关系有多个候选键 则选定其中的一个作为主吗 外码 外码 在某个关系 R 中可能有这样一组属性 A 它不是关系 R 的主码 但它是另一个关系 S 的主码 则属性组 A 称为关系 R 的外码 超码 超码 在关系中能唯一标识元组的属性集称为关系的超码 关系模式 关系 关系数据库 属性 域 关系模型 关系模式 关系模式 对一类实体特征的结构性描述 即对关系的静态结构性描述 该描述一般包括 关系名 属性名 属性域的类型和长度 属性之间固有的依赖联系等 若 U A1 A2 An 为关系 R 的属性集 则关系模式常简记为 R U 或 R A1 A2 An 其中 R 为关系名 U 为组 成该关系的属性名集合 关系模式的完整描述可以形式化地表示为 R U D dom F 其中 D 为属性组 U 中属性所来自的域 dom 为属性向域的映像集合 F 为属性间数据依 赖的集合 关系数据库 关系数据库 关系的集合 关系数据库的型称为关系数据库模式 是对关系数据库的结构 描述 它包括若干域的定义以及在这些域上定义的若干关系模式 关系数据库的值是这些关系 模式在某一个时刻对应的关系的集合 2 关系模型 关系模型 关系数据结构 关系操作集合和关系完整性约束统称为关系模型 关系 属性关系 属性和域 域 与 同 4 己知零件供应数据库包括 供应商 S SNo 供应商代码 SName 供应商名 City 城市 零件 P PNo 零件代码 PName 零件名称 Color 颜色 Weight 重量 零件供应关系 SP SNo PNo Qty 供应数量 试用关系代数和关系演算完成下列操作 1 找出能提供零件号为 P3的供应商 关系代数 Sno Pno P3 P 2 找出能提供供应商 S1所提供的所有零件的供应商 关系代数 Jno Pno SPJ Pno Sno S1 SPJ 3 找出不提供零件 P1和 P2的供应商 4 找出同时提供零件 P1和 P2的供应商 5 找出同供应商 S1在同一城市的供应商所提供的所有零件 6 找出供应红色的 P1零件的供应商 且其供应量大于 1000 5 试述等值连接与自然连接的区别和联系 答 答 连接运算中有两种最为重要也最为常用的连接 一种是等值连接 另一种是自然连接 3 SNoPNoP SP 1 SNo PNoPNoSNoS SPSP 1 SNo PNoPNoSNoS SPSP 12 SNoPNoPSNoPNoP SPSP 1000 SNoColorQty PSP 红色 1 PNoT SNoS City T City S SNoS STSP 1 PNoT SNoS City T City S SNoST SSSP T是S的备份 1 PNoSNo CityCitySNoS SSSP T S S重命名为T 3 当连接条件中的算术比较符 为 时的连接运算称为等值连接 记作 它是从关系 R 与 S 的笛卡尔积中选取 A B 属性值相等的那些元组 即等值连接为 自然连接是一种特殊的等值连接 它要求两个关系中进行比较的属性列必须是相同的属性 组 并且在结果关系中把重复的属性列去掉 即若 R 和 S 具有相同的属性组 A 令 B U1 U2 则自然连接可记作 6 关系代数的基本运算有那些 如何用这些基本运算来表示其他运算 答 答 在关系代数的八种运算中 并 差 笛卡儿积 投影和选择五种运算为基本运算 其他三 种运算 即交 连接和除 均可以用五种基本运算来表达 交运算 R S R R S 连接运算 除运算 R X Y S Y Z X R X X R Y S R X Y Z 为属性组 R 中的 Y 和 S 中的 Y 可以有不同的属性名 但必须出自相同的域 7 试述关系模型的完整性规则 在参照完整性中 为什么外键属性的值可以为空 举例说明 什么情况下才可以为空 答 答 关系模式的完整性规则是对关系的某种约束条件 关系模型中可以有三类完整性约束规则 实体完整性 参照完整性和用户定义的完整性 其中实体完整性规则和参照完整性规则是关系模型必须满足的完整性条件 被称做是关系 的两个不变性 应该由关系系统自动支持 实体完整性规则 对关系中的每一个元组 其主键属性对应的各个分量不能为空值 参照完整性规则 设属性组 A 是关系 R 的外键且 A 与关系 S 的主键对应 则对于 R 中 的每一个元组在属性 A 上的值必须为 或者为空值 A 中每个属性值都为空值 或者等于 S 中某 一元组的主键值 参照完整性规则给出了关系之间建立联系的约束规则 用户定义的完整性规则 这是针对某一具体应用对数据约束条件 由应用环境决定 用户定义的完整性具体应用涉及到数据必须满足的语义要求 系统提供定义和检验这类完整性 的统一处理方法 不再由应用程序承担这项工作 现在的商品化 RDBMS 都提供了定义和检查这 类完整性约束的机制 在参照完整性中 外键属性的值可以为空 它表示该属性的值尚未确定 但前提条件是该 外部码属性不是其所在关系的主属性 例如 下面 学生 表中的 专业号 是一个外键 但它不是学生表的主属性 可以为空 其语义是 该学生的专业尚未确定 学生 学号 姓名 性别 专业号 年龄 专业 专业号 专业名 而在下面的 选修 表中的 课程号 虽然也是一个外键属性 但它又是 课程 表的主 属性 所以不能为空 因为关系模型必须满足实体完整性 课程 课程号 课程名 学分 选修 学号 课程号 成绩 A B R S R A S B R S R A S B R S B R A S A R S A B R S R A S B R S R A S B 第四章第四章 习题参考答案习题参考答案 4 1 试述SQL语言的特点 答 答 SQL 语言集数据查询 Data Query 数据操纵 Data Manipulation 数据定义 Data Definition 和数据控制 Data Control 功能于一体 主要特点包括 综合统一 综合统一 SQL 语言将数据定义语言 DDL 数据操纵语言 DML 数据控制语言 DCL 的功能 集于一体 语言风格统一 可以独立完成数据库生命周期中的全部活动 高度非过程化 高度非过程化 用 SQL 语言进行数据操作只要提出 做什么 而无需指明 怎么做 面向集合操作面向集合操作 SQL 语言操作的对象和操作的结果都是集合 关系 一种语法 两种使用方式一种语法 两种使用方式 SQL 语言既是自含式语言 又是嵌入式语言 语言简捷 易学易用 语言简捷 易学易用 完成核心功能只用 9 个动词 SQL 语言接近英语句子 支持三级模式结构支持三级模式结构 外模式对应于视图 View 模式对应于基本表 内模式对应于存储 文件 4 2 试述SQL的定义功能 答 答 SQL 的数据定义功能包括定义表 定义视图和定义索引 SQL 语言使用 CREATE TABLE 语句建立基本表 ALTER TABLE 语句修改基本表定义 DROP TABLE 语句删除
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医考资格考试题目及答案
- 徐州市宪法考试题目及答案
- 广电会计招聘考试题库及答案
- 武汉道法考试题库及答案
- 护士报考试题库及答案解析
- 寿司店营销策划方案
- 《阿Q正传(节选)》教学设计 2023-2024学年统编版高中语文选择性必修下册
- (浙江新高考专用版)2024-2025学年高中物理 第十一章 机械振动 4 单摆说课稿 新人教版选修3-4
- Unit 3 Toys Lesson 1(教学设计)-2024-2025学年人教精通版(2024)英语三年级上册
- 华西医院建筑方案设计
- 共青团入团团章知识考试题库300题(含答案)
- 2025贵州贵安城市置业开发投资有限公司招聘32人考试参考题库及答案解析
- 露天煤业安全生产培训课件
- 2025全国科普日科普知识竞赛题库及答案
- 2025年全国医学基础知识试题(附答案)
- 食堂安全培训课件
- 【课件】角的概念+课件+2025-2026学年人教版(2024)七年+数学级上册+
- 2025企业劳动合同范本新版
- 2025年防雷检测专业技术人员能力认定考试题库及答案
- 《房屋市政工程生产安全重大事故隐患判定标准(2024版)》解读
- 美发裁剪理论知识培训课件
评论
0/150
提交评论