• 8、在关系模式R<U,F>中若不存在这样的码X,属性组Y及非属性组Z(Z不是Y的子集)
使得X→Y,Y→Z成立,且YX,则称R∈3NF。
简答题
• 1、什么叫数据与程序的物理独立性?什么叫数据与程序的逻辑独立性?为什么数据库系
统具有数据与程序的独立性?
答:数据与程序的逻辑独立性:当模式改变时(例如增加新的关系、新的属性、改变属性的数据
类型等),由数据库管理员对各个外模式/模式的映像做相应改变,可以使外模式保持不
变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻
辑独立性,简称数据的逻辑独立性。数据与程序的物理独立性:当数据库的存储结构改变了,
由数据库管理员对模式/内模式映像做相应改变,可以使模式保持不变,从而应用程序也
不必改变,保证了数据与程序的物理独立性,简称数据的物理独立性。数据库管理系统在三
级模式之间提供的两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理
独立性。
• 2、数据库的完整性概念与数据库的安全性概念有什么区别和联系?
答:数据的完整性和安全性是两个不同的概念,但是有一定的联系。前者是为了防止数据库中存
在不符合语义的数据,防止错误信息的输入和输出,即所谓垃圾进垃圾出( Garba : e In
Garba : e out )所造成的无效操作和错误结果。后者是保护数据库防止恶意的破坏和非法的
存取。也就是说,安全性措施的防范对象是非法用户和非法操作,完整性措施的防范对象是
不合语义的数据。
• 3、试给出多值依赖、和4NF的定义。
• 4、试给出函数依赖、BCNF的定义。
• 5、简述嵌入式SQL语句与主语言之间的通信。
首先用 SQL 通信区(SQL Communication Area,简称 SQLCA)向主语言传递 SQL 语句的执行状态信
息,使主语言能够据此控制程序流程;在程序运行中,主语言向 SQL 语句提供参数,使用主变量(host
variable)输入数据;同时,程序把 SQL 语句查询数据库的结果交主语言进一步处理,其中使用主变量和
游标(cursor)向主语言输出数据,从而实现了 SQL 语言的过程化工作。
SQL 语句执行后,系统要反馈给应用程序若干信息,主要包括描述系统当前工作状态和运行环境的各种
数据,这些信息将送到 SQL 通信区 SQLCA 中。应用程序从 SQLCA 中取出这些状态信息,据此决定接下
来执行的语句。
• 6、试述RDBMS查询优化的一般步骤。
( l )把查询转换成
某种内部表示,通常用的内部表示是语法树。 ( 2 )把语法树转换成标准(优化)形式。即
利用优化算法,把原始的语法树转换成优化的形式。 ( 3 )选择低层的存取路径。 ( 4 )生
成查询计划,选择代价最小的。
• 7、试述RDBMS查询优化的一般准则。
答:下面的优化策略一般能提高查询效率: ( l )选择运算应尽可能先做; ( 2 )把投影运
算和选择运算同时进行; ( 3 )把投影同其前或其后的双目运算结合起来执行; ( 4 )把
某些选择同在它前面要执行的笛卡儿积结合起来成为一个连接运算; ( 5 )找出公共子表
达式; ( 6 )选取合适的连接算法。
• 8、什么是数据库的逻辑结构设计?试述其设计步骤。
答:数据库的逻辑结构设计就是把概念结构设计阶段设计好的基本 E 一 R 图转换为与选
用的 DBMS 产品所支持的数据模型相符合的逻辑结构。设计步骤为 : ( l )将概念结构转换
为一般的关系、网状、层次模型; ( 2 )将转换来的关系、网状、层次模型向特定 DBMS 支持