DBMS按照一定的封锁协议,对并发操作进行控制,使得多个并发操作有序地执行, 就可以避免丢失修改、不可重复读和读“脏”数据等数据不一致性
5. 规范化理论对数据库设计有什么指导意义? 参看教材6.1节。请自己去归纳总结,这里给出一个参考的答案。
在概念设计阶段,已经把关系规范化的某些思想用作构造实体类型和联系类型的标准,在逻辑设计阶段,仍然要使用关系规范化的理论来设计模式和评价模式。规范化的目的是减少乃至消除关系模式中存在的各种异常,改善完整性,一致性和存储效率。 6. 关系模型的完整性规则有哪几类?请给出它们的具体定义? 参看教材2.3节。有3类。
关系模型提供了3类完整性规则:实体完整性、参照完整性、用户定义的完整性规则。其中实体完整性规则和参照完整性规则是关系模型必须满足的完整性约束条件,成为关系完 整性规则。
实体完整性规则:作为主键的属性或属性组的值在关系中必须是唯一的和确定的。 参照完整性规则:如果表中存在外键,则外键的值必须与主表中相应的键值相同,或者外键的值为空。
上述两类完整性规则是关系模型必须满足的规则,由系统自动支持。
用户定义的完整性规则是针对某一具体数据的约束条件,由应用环境决定。它反映某一具体应用所涉及的数据必须满足的语义要求 7. 简述关系模型有什么特点? 参看教材1.2.3节。
第6页(共12页)
关系中每一个字段也称字段,不可再分,是最基本的单位;每一列数据项是同属性的。列数根据需要而设,且各列的顺序是任意的;每一行记录由一个事物的诸多属性组成,记录的顺序可以是任意的;一个关系是一张二维表,不允许有相同的字段名,也不允许有相同的记录行
8. 什么是视图?它有什么特点和作用? 参看教材3.5节。
视图是存储在数据库中的查询的SQL 语句,视图是从一个或多个表或视图中导出的表,其结构 和数据是建立在对表的查询基础上的. 优点
提高数据安全性,可以不让用户看到表中的某个字段.
9. 什么是DBA?DBA的主要职责是什么? 参看教材1.5.4节。 DBA是指数据库管理员,其主要职责包括设计与定义数据库系统;监督控制数据库系统的使用和运行;改进、重构和重组数据库;转储与恢复数据库为;用户提供帮助和培训。
10. 什么是数据库复制?数据库复制通常有哪几种方式?请具体阐述几种方式的含义和
特点。 参看教材5.5.1节。
数据库复制是将表格或数据库的数据复制到另一个表格中或数据库中,利用数据库复制技术可以把数据库全部内容完整的复制到公司的各个系统中去(也可以选择部分数据), 有三种分发数据的方法:(1)Copy和Paste:这种方法能够实现数据的分发以及更新,但是不能保证数据完全更新,并且无法保证数据库的同步;(2)Geodatabase Replication:能够在两个或者多个Geodatabase之间实现数据的复制与同步。Geodatabase Replication是建立在版本化数据的基础上的,支持拓扑与网络等完全的数据模型,并且能够在不同类型的数据库之间实现数据的复制与同步,例如 Oracle与SQL Server之间;并且还支持在联网和非联网的方式下实现,在支持本地数据库连接的基础上,还支持通过Internet 所获得的GeodataServer对象
四、应用题
1. 设有关系模式R(U, F),其中属性集U={A,B,C,D,E},函数依赖集F={A→C,BC→D,
CD→A,BA→E},R属于第几范式?
1) 求R的所有候选键。根据F可见所有函数依赖的右端均不含B,故B必为候选键
+++
的成员。由于B={B},故B不是候选键。进一步推算AB={ABCDE},BC={BCDAE},++
BD={BD},BE={BE},所以得出候选键为BA和BC。
2) BA和BC是R的候选键,所以B,A,C是主属性,而D和E是非主属性,由F求
+++
出B={B},A={A,C},C={C},可见D和E都不部分依赖于BA或BC,即不存在
第7页(共12页)
任何非主属性对候选键的部分函数依赖;
3) 又因为由F中的BC→D可得BC→CD,再根据F中CD→A得出A传递依赖于BC,即
BC→A,进一步得BA传递依赖于BC,即BC→BA,最后由F中的BA→E得出BC→E,可见,非主属性E传递依赖于候选键BC 根据范式的定义可得R属于2NF。 2. 现有如下关系模式R(U, F),R={A,B,C,D,E},F={AB→E,B→C,C→D}。
问R属于第几范式?
1) 求R的所有候选键。根据F可见所有函数依赖的右端均不含AB,故AB必为候选键
+
的成员。由于AB={ABECD},故AB是唯一的候选键。
+
2) AB是R的候选键,所以A,B是主属性,而C、D和E是非主属性,由F求出A={A},
+
B={BCD},可见非主属性C和D部分依赖于候选键AB,即存在非主属性对候选键的部分函数依赖,所以R不属于2NF,属于1NF。 3. 设有如下所示职工关系ZG、部门关系BM,每张关系表中仅给出了示意性的部分数
据。根据这几张关系表完成以下各小题。
1) 写出检索销售科的职工的姓名和职务的关系代数式。
?姓名,职务?名称='销售科'(ZG?所属部门=代码BM)
2) 写出按年龄降序排列查询所有成都籍职工的姓名和职称的SQL语句。
Select 姓名,职称 From ZG where 籍贯=’成都’order by 年龄 desc; 3) 写出将保卫科的电话改为“8211”的SQL语句。
Update BM set 电话=’8832’ where 名称=’ 保卫科’;
4) 写出查询各科科长的姓名、所属部门名称、性别和年龄的SQL语句。
Select 姓名,名称,性别,年龄 from ZG, BM Where 所属部门=代码 and 职务=’科长’; 5) 写出查询年龄最大的职工的名称和性别的SQL语句。
Select 姓名,性别 from ZG
Where 年龄=(select max(年龄) from ZG);
第8页(共12页)
4. 设有如下所示销售明细关系MXZ和发票关系FP,每张关系表中仅给出了示意性的部
分数据。根据这几张关系表完成以下各小题。
1) 写出检索MXZ中钢笔的详细销售信息的关系代数表达式。
σ品名=?钢笔?(MXZ) 2) 写出检索项龙所销售的物品的名称和金额的关系代数表达式。
?名称,金额?开票人='项龙'(MXZ?FP)
发票号=编号3) 写出查询MXZ中全部信息的SQL语句。
Select * from MXZ;
4) 写出按发票号升序排列查询铅笔销售记录的SQL语句。
Select * From MXZ where 品名=?铅笔? Order By 发票号; 5) 写出查询铅笔的平均价格的SQL语句。
Select AVG(价格) 均价 From MXZ Where 品名=?铅笔?;
6) 写出查询价格最贵的商品的名称和单价的SQL语句。
Select 品名,单价 From MXZ Where 单价 = (Select Max(单价) From MXZ); 7) 写出为数据库用户“刘海明”赋于对表MXZ进行删除和更改的权限的SQL语句。
Grant DELETE,UPDATE ON MXZ TO刘海明; 8) 写出在FP中增加一条新记录的SQL语句,其中记录的编号为“049211”,开票时
间为2008年9月10日,经手人为“陈立”。
Insert into FP VALUES (?049211?,?2008年9月10日?,? 陈立?); 9) 写出统计查询每张发票的总金额的SQL语句。
Select 发票号, Sum(数量*单价) as 总金额 from MXZ group by 发票号;
第9页(共12页)
5. 设有如下所示学生关系S、课程关系C和学生选课关系SC,每张关系表中仅给出了
示意性的部分数据。根据这几张关系表完成以下各小题。
1) 写出检索王华老师所授课程的课名的关系代数表达式。
Π课名 σ任课老师=?王华?(C)
2) 写出检索有至少有一门课不及格的学生的姓名的关系代数表达式。 Π姓名 σ成绩<90(S ∞ SC)
3) 写出根据S、SC和C三张表来检索选修了刘江老师所授课程的学生的学号,姓
名与性别的关系代数式。
Π学号,姓名,性别σ任课老师=? 刘江?( S ∞ C ∞ SC ) 4) 写出将204号课程的成绩降低20分的SQL语句。
update SC set 成绩=成绩-20 where 课号 = ‘204’; 5) 写出查询不同的性别的学生的人数的SQL语句。
Select 性别,count(*) as 人数 from From S group by 性别; 6) 写出查询学生的平均年龄的SQL语句。
Select avg(年龄) from S;
7) 写出按年龄降序排列方式查询所有22岁以上女同学的SQL语句。
Select * From S where 性别=’女’ AND 年龄>=22 Order by 年龄 DESC; 8) 写出删除王刚同学的所有成绩记录的SQL语句。
Delete From SC Where 学号= (Select 学号 From S Where 姓名=’ 王刚’); 9) 写出查询与陈真同学同年龄的同学的姓名(要求结果中不含陈真)的SQL语句。
Select 姓名 from From S where 年龄=(select 年龄 from S where 姓名=’陈真’); 10) 写出查询“软件工程”课程成绩及格了的学生的姓名和成绩的SQL语句。
Select 姓名,成绩 from S, SC, C Where S.学号=SC.学号 AND SC.课号=C.课号
第10页(共12页)