3.25 数据库知识盲点总结

还记得大三上数据库课,我真的非常喜欢上课的老师,很有绅士风度,非常帅,以至于我每节课都听得可认真了,转眼就一年过去了呀,知识都忘得差不多了,复盘盘起来!

1.事务是数据库运行的基本工作单位,如果一个事务执行成功,则全部更新提交;如果一个事务执行失败,则已做过的更新被恢复原状,好像整个事务从未有过这些更新,这样保持了数据处于 一致性 状态。

2.下列不属于视图的优点的是:
A.视图能够简化用户的操作
B.视图使用户能以多种角度看待同一数据
C.视图对重构数据库提供了一定程度的物理独立性
D.视图能够对机密数据提供安全保护

答案选C,视图提供的是逻辑独立性而不是 物理独立性

3.五种基本关系代数运算是:∪,-,×,π和σ,(并 差 积 投影 选择)没有交和笛卡尔积噢

4.后备副本的用途是:故障后的恢复

5.数据库的概念模型独立于:具体的机器和DBMS

6.若系统在运行过程中,由于某种硬件故障,使存储在外存上的数据部分损失或全部损失,这种情况属于 介质故障

7.下面哪个不是数据库系统必须提供的数据控制功能:
A.安全性 B.可移植性 C.完整性 D.并发控制

答案选B可移植性不是的

8.数据库系统结构是由模式内模式外模式 三级模式构成,并利用外模式映像,保证数据的逻辑独立性、利用内模式映像保证数据的物理独立性。

9.数据模型的组成要素包括三部分,分别为 数据结构、数据操作、完整性约束

10.触发器的触发事件可以是:insert 、delete、update

11.关系模型的参照完整性在create table中用 primary key短语定义哪些列为外码,用references短语指明这些外码参照哪些表的主码。

12.SQL语言中 grant 语句向用户授予权限,revoke语句收回授予的权限

13.为了能在出现故障时进行数据库恢复,日常应该做的两个最基本的工作是 数据转储、登录日志文件

14.在数据库中,产生数据不一致的根本原因是 数据冗余

15.数据库安全性控制的常用技术为:用户标识和鉴定、存取控制视图和密码存储等

16.SQL语言
3.25 数据库知识盲点总结

1、创建图书表,各字段选定恰当数据类型和数据长度,主键为“图书编号”,“出版商”为外键,书名不允许空;

create table titles

title id char(9) primary key,
title varchar(40) not null,
pub_id char(10) foreign key references publishers(pub_id),
price smallmoney,
type varchar(20)
);

2、在图书表中增加一个图书的记录:(PS2106,Life Without Fear,0736,27,psychology);
insert into titles
values(‘PS2106’,‘Life Without Fear’,‘0736’,‘27’,‘psychology’);

3、将类型为“business”的图书价格降低10%;
update titles
set price=price*(1-10%)
where type=‘business’;

4、建立出版商出版图书信息的视图,该视图包括出版商编号、出版商名称、图书编号、书名、价格、类型;
create view pub_view
as
select pub_id,pub_name,title_id,title,price,type from titles,publishes
where titles.pub_id=publishes.pub_id;

5、查询出版”psychology”类图书的出版商名称和书名,并按出版商名称降序输出;
select pub_name,title from titles,publishes
where titles.pub_id=publishes.pub_id and type=‘psychology’
order by pub_name desc;

6、查询图书编号以“B”开头,以“2”结尾的图书的编号、类型和价格;
select title_id,type,price from titles
where title_id like ‘B%2’;

7、请计算出图书数量和价格非空的图书的数量;
select count(*),count(price) from titles;

8、查询分类图书平均价低于所有图书平均价的图书的类型及平均价格。
select type,avg(price) from titles
group by types
having avg(price)<(select avg(price) from titles);