数据库学习记录——错题总结(一)

第一套

1.对关系模型叙述错误的是( )。
正确答案: D 你的答案: D (正确)
建立在严格的数学理论、集合论和谓词演算公式的基础之上
微机 DBMS 绝大部分采取关系数据模型
用二维表表示关系模型是其一大特点
不具有连接操作的 DBMS 也可以是关系数据库系统

关系模型是指用二维表的形式表示实体和实体间联系的数据模型。在二维表中的行定义,即对关系的描述称为关系模式。
关系模型的特点:
1、 数据结构单一:关系模型中,不管是实体还是实体之间的联系,都用关系来表示,而关系都对应一张二维数据表,数据结构简单、清晰。

2、关系规范化,并建立在严格的理论基础上:构成关系的基本规范要求关系中每个属性不可再分割,同时关系建立在具有坚实的理论基础的严格数学概念基础上。

3、概念简单,操作方便:关系模型最大的优点就是简单,用户容易理解和掌握,一个关系就是一张二维表格,用户只需用简单的查询语言就能对数据库进行操作。
故A、C正确;
常用的DBMS(数据库管理系统)如MySQL等基本上都是基于关系模型的关系型数据库,故B正确。

2.在数据库三级模式结构中,描述数据库中全体逻辑结构和特性的是?

正确答案: D 你的答案: B (错误)
外模式
内模式
存储模式
模式

用户级对应外模式,概念级对应模式,物理级对应内模式

SQL语言支持数据库三级模式结构,在SQL中,模式对应于基本表,内模式对应于存储文件,外模式对应于视图和部分基本表,元组对应于表中的行,属性对应于表中的列

  1. 模式(Schema)
    模式也称为:逻辑模式,它是DB中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。模式层是数据库模式结构的中间层,既不涉及到数据的物理存储细节和硬件环境,也与具体的应用程序、应用开发工具以及高级程序设计语言无关(C、C++、JAVA等)。
    模式就是数据库数据在逻辑上的视图,且一个数据库只有一个模式。实际工作中,模式就等同于程序员创建一个具体的数据库的全部操作,如:这是一个MySQL数据库,有2张表,每个表的名字,属性的名字、类型、取值范围,主键,外键,索引,其他完整性约束等等。
    DBMS提供模式描述语言(模式DDL)来严格地定义模式。

  2. 外模式
    外模式也称为:子模式(subschema)/用户模式,它是数据库用户(应用程序员、最终用户)能够看到的使用的局部数据的逻辑结构和特征的描述,是数据库的数据视图,是与某一个应用有关的数据的逻辑表示。
    外模式通常是模式的子集。一个数据库可以有多个外模式。同一个外模式可以为某一用户的多个应用系统所使用,但一个应用系统只能使用一个外模式。
    外模式是保证数据库安全性的一个有力措施。每个用户只能看见和访问所对应的外模式中的数据,数据库中的其余数据是不可见的。
    DBMS提供子模式描述语言(子模式DDL)来严格地定义子模式。

  3. 内模式
    内模式也称为:存储模式(Storage schema),一个数据库只有一个内模式。它是数据库物理结构和存储方式的描述,是数据在数据库内部的表示方式。如:记录的存储方式是堆存储,还是按照某些属性值的升(降)存储,还是按照属性值聚簇(cluster)存储;索引按照什么方式组织,是B+树索引,还是hash索引等等。
    DBMS提供内模式描述语言(内模式DDL/存储模式DDL)来严格定义内模式。

3.已知事务 T1 的封锁序列为: LOCK S(A) … LOCK S(B) … LOCK X©
… UNLOCK(B) … UNLOCK (A) … UNLOCK ©
事务 T2 的封锁序列为: LOCK S(A) … UNLOCK (A) … LOCK S(B)
… LOCK X© … UNLOCK © … UNLOCK (B)
则遵守两段封锁协议的事务是( )

正确答案: A 你的答案: B (错误)
T1
T2
T1和T2
没有

两段锁协议是指每个事务的执行可以分为两个阶段:生长阶段(加锁阶段)和衰退阶段(解锁阶段)。
加锁阶段:在该阶段可以进行加锁操作。在对任何数据进行读操作之前要申请并获得S锁,在进行写操作之前要申请并获得X锁。加锁不成功,则事务进入等待状态,直到加锁成功才继续执行。
解锁阶段:当事务释放了一个封锁以后,事务进入解锁阶段,在该阶段只能进行解锁操作不能再进行加锁操作。

两段封锁法可以这样来实现:事务开始后就处于加锁阶段,一直到执行ROLLBACK和COMMIT之前都是加锁阶段。ROLLBACK和COMMIT使事务进入解锁阶段,即在ROLLBACK和COMMIT模块中DBMS释放所有封锁。

第二套

1.在数据库的三级模式结构中,内模式有( )

正确答案: A 你的答案: A (正确)
1个
2个
三个
任意多个

三级模式:外模式、概念模式、内模式。一个数据库中外模式可以有多个,内模式和概念模式只能各有1个。

2.有一个关系:学生(学号,姓名,系别),规定学号的值域是8个数字组成的字符串,这一规则属于 ( )。

正确答案: C 你的答案: D (错误)
实体完整性约束
参照完整性约束
用户自定义完整性约束
关键字完整性约束

选 C
任何关系数据库系统都应该支持实体完整性(可以理解为主键约束)和参照完整性(可以理解为外键约束)。除此之外,不同的关系数据库系统根据其应用环境的不同,往往还需要一些特殊的约束条件,用户定义的完整性就是针对某一具体关系数据库的唯一约束条件。它反映某一具体应用所涉及的数据必须满足的语义要求。

3.DB、DBMS和DBS三者之间的关系是( )
正确答案: B 你的答案: C (错误)
DB包括DBMS和DBS
DBS包括DB和DBMS
DBMS包括DB和DBS
不能相互包括

DBS(数据库系统)包含DB(数据库)和 DBNS(数据库管理系统)

4.数据库三级模式体系结构的划分,有利于保持数据库的 ( )。

正确答案: A 你的答案: B (错误)
数据独立性
数据安全性
结构规范化
操作可行性请添加图片描述
5.下列选项中的锁模式,可以用于数据修改操作,确保不会同时对同一资源进行多重更新的是()

正确答案: C 你的答案: C (正确)
共享锁
更新锁
排他锁
架构锁

共享锁S:共享锁锁定的资源可以被其他用户读取,但是其他用户无法修改,在执行select时,sql server会对对象加共享锁。(其他人可读不可写)
排它锁X:(独占锁)其他人不能读也不能写(所以不会多重更新)。

更新锁U:当SQL Server准备更新数据时,它首先对数据对象作更新锁锁定,这样数据将不能被修改,但可以读取。等到SQL Server确定要进行更新数据操作时,他会自动将更新锁换为独占锁,当对象上有其他锁存在时,无法对其加更新锁。

架构锁:在执行依赖于表架构的操作时使用。架构锁的类型为:架构修改 (Sch-M) 和架构稳定性 (Sch-S)。

6.MYSQL实现主从复制的日志是哪种?
正确答案: C 你的答案: A (错误)
READ LOG
UNDO LOG
BINLOG
GENERAL LOG

mysql主(称master)从(称slave)复制的原理:
(1).master将数据改变记录到二进制日志(binary log)中,也即是配置文件log-bin指定的文件(这些记录叫做二进制日志事件,binary log events)
(2).slave将master的binary log events拷贝到它的中继日志(relay log)
(3).slave重做中继日志中的事件,将改变反映它自己的数据(数据重演)

7.SQL Server 支持哪几种备份?
正确答案: A B C D 你的答案: A B C D (正确)
数据库备份
事务日志备份
差异备份
文件和文件组备份

8.w_user表结构如下:

+--------+---------+------+-----+---------+----------------+
| Field  | Type    | Null | Key | Default | Extra          |
+--------+---------+------+-----+---------+----------------+
| u_id   | int(4)  | NO   | PRI | NULL    | auto_increment |
| u_name | char(8) | YES  |     | NULL    |                |
| u_pass | char(8) | YES  |     | NULL    |                |
| u_img  | blob    | YES  |     | NULL    |                |
| u_info | text    | YES  |     | NULL    |                |
+--------+---------+------+-----+---------+----------------+

以下创建索引的语句正确的是( )
正确答案: B C 你的答案: A D (错误)
CREATE INDEX in1 ON w_user(u_name(10));
CREATE INDEX in2 ON w_user(u_pass(3));
CREATE INDEX in3 ON w_user(u_img(10));
CREATE INDEX in4 ON w_user(u_info);

创建索引的语句是create index indexname on tablename (username (length))
其中若是char和varchar类型,length可以小于字段实际长度,若是blob或text类型,必须指定length!

第三套

1.语句 delete from sc 表明 ( )

正确答案: A 你的答案: D (错误)
删除sc中的全部记录
删除基本表sc
删除基本表sc中的列数据
删除基本表sc中的部分行

选 A
【分析】本题考查的是SQL的delete语句
DELETE 语句用于删除表中的行。语法如下:
DELETE FROM 表名称 WHERE 列名称 = 值
当delete语句中的WHERE条件为空时,即语句为:DELETE FROM 表名称 ,默认可以在不删除表的情况下删除所有的行。这意味着表的结构、属性和索引都是完整的。也就是删除表中的全部记录。
综上所述,语句 delete from sc 属于where条件为空的delete语句,此时是删除表sc中的全部记录,也就是说答案选A
2.Mysql中表student_table(id,name,birth,sex),查询重复姓名、重复次数,并按重复次数降序排列,正确的是()?
正确答案: A 你的答案: C (错误)

select name,count(*) as c1 from student_table 
group by name 
having c1 > 1
order by c1 desc ;

select name,count(*) as c1 from student_table 
group by name 
having c1 > 1
order by c1;

select name,count(*) as c1 from student_table 
where count(*) > 1
group by name 
order by c1 desc ;

select name,count(*) as c1 from student_table 
group by name 
where c1 > 1
order by c1 desc;

WHERE 关键字无法与聚合函数一起使用, 筛选分组后的各组数据用HAVING

3.Mysql中表student_table(id,name,birth,sex),score_table(stu_id,subject_name,score),查询多个学科的总分最高的学生记录明细以及总分,如下SQL正确的是()?
正确答案: A 你的答案: B (错误)

select  t2.*,c1 as `最高分`  from (
select stu_id,sum(score) as c1 from score_table group by stu_id order by c1 desc limit 1
) t1
join student_table t2 
on t1.stu_id = t2.id ;


select  t2.*,c1 as `最高分`  from (
select stu_id,max(score) as c1 from score_table group by stu_id order by c1 desc limit 1
) t1
join student_table t2 
on t1.stu_id = t2.id ;


select  t2.*,c1 as `最高分`  from (
select stu_id,max(sum(score)) as c1 from score_table group by stu_id order by c1 desc limit 1
) t1
join student_table t2 
on t1.stu_id = t2.id ; 


select  t2.*,c1 as `最高分`  from (
select stu_id,max(sum(score)) as c1 from score_table group by stu_id
) t1
join student_table t2 
on t1.stu_id = t2.id ;

sum所有学生分数,倒序一下limit1就是总分最高的学生了

聚合函数之间不能直接嵌套使用
D应该改为 select stu_id,max(total) from (select stu_id,sum(score) as total from score_table group by stu_id) as a

4.“查询”设计视图窗口分这上下部分,下部分为()。
正确答案: A 你的答案: D (错误)
设计网络
查询记录
属性窗口
字段列表

查询”设计视图窗口分这上下部分;
上部分为:“字段列表区”,用来显示所选择的所有字段。
下部分为:设计网络,由一些字段列和一些已命名的列组成。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值