接着再检查参照完整性规则,如果是向被参照关系插入元组,则无须检查参照完整性; 如果是向参照关系插入元组,则要检查外部关键字属性上的值是否在被参照关系中存在对应 的主关键字的值,如果存在则可以执行插入操作,否则不允许执行插入操作。另外,如果插 入元组的外部关键字允许为空值,则当外部关键字是空值时也允许执行插入操作。
最后检查用户定义完整性规则,如果插入的元组在相应的属性值上遵守了用户定义完整 性规则,则可以执行插入操作,否则不可以执行插入操作。
(2) 执行删除操作时一般只需要检查参照完整性规则。
如果删除的是参照关系的元组,则不需要进行参照完整性检查,可以执行删除操作。
如果删除的是被参照关系的元组,则检查被删除元组的主关键字属性的值是否被参照关 系中某个元组的外部关键字引用,如果未被引用则可以执行删除操作;否则可能有三种情况:
1) 不可以执行删除操作,即拒绝删除;
2) 可以删除,但需同时将参照关系中引用了该元组的对应元组一起删除,即执行级联 删除;
3) 可以删除,但需同时将参照关系中引用了该元组的对应元组的外部关键字置为空 值,即空值删除。
(3) 执行更新操作可以看作是先删除旧的元组,然后再插入新的元组。所以执行更新操 作时的完整性检查综合了上述两种情况。
7. 试述关系的自然连接和等值连接的异同之处。
自然连接和等值连接都是基于相等比较运算的连接,但是自然连接要去掉重复的属性, 而等值连接却不需要去掉重复的属性。
8. 以图3-6的数据库为例(可参照图5-1,该数据库的实例),用关系代数完成以下检 索:
注意:此处暂以 * 表示连接运算符。
1) 检索在仓库WH2工作的职工的工资。
π职工号,工资(σ仓库号=\职工))
2) 检索在上海工作的职工的工资。
π职工号,工资(σ城市=\上海\仓库) * 职工)
3) 检索北京的供应商的名称。
π供应商名(σ地址=\北京\供应商))
4) 检索目前与职工E6有业务联系的供应商的名称。
π供应商名(σ职工号=\订购单) * 供应商)
5) 检索所有职工的工资都大于1220元的仓库所在的城市。
π城市(仓库) -π城市(σ工资<=1220(职工) * 仓库)
6) 检索和北京的所有供应商都有业务联系的职工的工资。
π职工号,工资(职工 * (订购单?π供应商号(σ地址=\北京\供应商))))
7) 检索至少和职工E1、E4、E7都有联系的供应商的名称。
π供应商名(订购单?(“E1”,”E4”,”E7”) * 供应商)
9. 试述关系数据库系统的三层模式结构。 略
习题四
1. 简述客户/服务器结构的概念,并说明客户/服务器结构与文件服务器网络结构的区别。
客户/服务器结构的基本思想是应用程序或应用逻辑可以根据需要划分在服务器和客户 工作站中,它既不像集中式系统那样所有的应用程序都在主机上执行,也不像文件服务器网 络那样所有的应用程序都在客户端执行,它可以使应用程序合理负担在服务器和客户端。
客户/服务器结构与文件服务器网络结构的硬件拓扑结构很相似,它们的根本区别在于: 客户/服务器结构的服务器可以执行应用程序;而文件服务器的服务器只是一个数据共享器, 它不能执行应用程序。
2. 在客户/服务器结构中,数据库服务器和客户端计算机是如何分工的?
数据库服务器应完成数据管理、信息共享、安全管理、以及一些更高级的管理。它是一 个开放的体系结构,可以接受来自各种应用程序和开发工具的客户端的连接;它除了要管理 集中的数据库之外,还要处理来自客户端的数据访问请求和将结果反馈给用户(包括管理请
求队列、管理缓存、响应服务、管理结果和通知服务完成等)的工作。
而客户端计算机是面向最终用户的,所以它的主要任务是提供友好的用户界面,提交数 据访问请求以及接收和处理数据库的返回结果,组织返回数据的输出(如生成数据浏览窗口、 生成数据报表和图形等),提供初步的数据验证功能等。
3. SQL Server在安装后默认创建了哪几个系统数据库?分别叙述它们的作用。
SQL Server在安装后默认创建了4系统数据库,它们是:
(1) master数据库。master数据库用于存储SQL Server系统的所有系统级信息,包括所有 的其它数据库(如建立的用户数据库)的信息(包括数据库的设置、对应的操作系统文件名 称和位置等)、所有数据库注册用户的信息以及系统配置设置等。
(2) tempdb数据库。tempdb数据库用于保存所有的临时表和临时存储过程,它还可以满 足任何其它的临时存储要求。
(3) model 数据库。model数据库是一个模板数据库,当使用CREATE DATABASE命令 建立新的数据库时,新数据库的第一部分总是通过复制model数据库中的内容创建,剩余部 分由空页填充。
(4) msdb数据库。msdb数据库用于SQL Server代理程序调度报警和作业等系统操作。
4. 试述SQL Server的CREATE DATABASE命令在创建数据库时是如何申请物理存储 空间的?
通过指定的物理文件名、文件的大小等向操作系统申请物理存储空间。
5. 试述SQL Server企业管理器的功能。
略。
习题五
1. 试概述SQL语言的功能。
SQL是一种一体化的语言,它包括了数据定义、数据查询、数据操纵和数据控制等方面 的功能,它可以完成数据库活动中的全部工作。
2. 以图5-1的数据库为例,用SQL完成以下检索: 1) 检索在北京的供应商的名称。
SELECT * FROM 供应商 WHERE 地址=?北京?
2) 检索发给供应商S6的订购单号。
SELECT 订购单号 FROM 订购单 WHERE 供应商号=?S6?
3) 检索出职工E6发给供应商S6的订购单信息。
SELECT * FROM 订购单 WHERE 供应商号=?S6? AND 职工号=?E6?
4) 检索出向供应商S3发过订购单的职工的职工号和仓库号。
SELECT 职工号,仓库号 FROM 职工 WHERE 职工号 IN
( SELECT 职工号 FROM 订购单 WHERE 供应商号=?S3? )
5) 检索出目前与S3供应商没有联系的职工信息。
SELECT * FROM 职工 WHERE 职工号 NOT IN
( SELECT 职工号 FROM 订购单 WHERE 供应商号=?S3? )
6) 检索出目前没有任何订购单的供应商信息。
SELECT * FROM 供应商 WHERE NOT EXISTS
( SELECT * FROM 订购单 WHERE 供应商号=供应商.供应商号 )
7) 检索出和职工E1、E3都有联系的北京的供应商信息。