数据库错题汇总
![](https://images2018.cnblogs.com/blog/1402577/201805/1402577-20180522104945772-267947720.png)
with check option 用于有where子句的创建视图的语句中。对视图进行操作后(UPDATA,DELETE,INSERT)操作后,视图中的数据同样也要满足where后边的子句。UPDATE操作将price=18,则不满足where后边的条件price>20,所以操作失败,所以选择A
S锁共享锁事务可以读一行,其他事务不能获得;排它锁 X可以读也可以写,其他事务不能获得排它锁x也不能获得共享锁s
1、Master数据库
Master数据库记录了Sqlserver所有的服务器级系统信息,所有的注册帐户和密码,以及所有的系统设置信息,还记录了所有用户定义数据库的存储位置和初始化信息。
2、Tempdb数据库
Tempdb记录了所有的临时表、临时数据和临时创建的存储过程。Tempdb数据库是一个全局资源,没有专门的权限限制,允许所有可以连上Sqlserver服务器的用户使用。
在Tempdb数据库存放的所有数据信息都是临时的。每当连接断开时,所有的临时表和临时存储过程都将自动丢弃。每次系统启动时Sqlserver都会根据Model数据库重新创建Tempdb数据库。
3、Model数据库
Model数据库是用户建立新数据库的模板,它包含了将复制到每个用户数据库中去的系统表。每当创建数据库的语句create database执行时,服务器总是通过复制model数据库来建立新数据库的前面部分,新数据库的后面部分被初始化成空白的数据页,以供用户存放数据。
4、Msdb数据库
Msdb数据库主要被sqlserver agent用来进行复制、作业调度以及管理报警等活动。该数据库常被用来通过调度任务排除故障。
5、说明:在具体应用中可以在企业管理器里将这四个系统数据库隐藏起来,可以避免用户误操作,也可以起到让用户知道操作系统数据库带来的后果。
1. b-tree索引 Oracle数据库中最常见的索引类型是b-tree索引,也就是B-树索引,以其同名的计算科学结构命名。CREATE INDEX语句时,默认就是在创建b-tree索引。没有特别规定可用于任何情况。 2. 位图索引(bitmap index) 位图索引特定于该列只有几个枚举值的情况,比如性别字段,标示字段比如只有0和1的情况。 3. 基于函数的索引 比如经常对某个字段做查询的时候是带函数操作的,那么此时建一个函数索引就有价值了。 4. 分区索引和全局索引 这2个是用于分区表的时候。前者是分区内索引,后者是全表索引 5. 反向索引(REVERSE) 这个索引不常见,但是特定情况特别有效,比如一个varchar(5)位字段(员工编号)含值(10001,10002,10033,10005,10016..)。这种情况默认索引分布过于密集,不能利用好服务器的并行,但是反向之后10001,20001,33001,50001,61001就有了一个很好的分布,能高效的利用好并行运算。 6.HASH索引 HASH索引可能是访问数据库中数据的最快方法,但它也有自身的缺点。集群键上不同值的数目必须在创建HASH集群之前就要知道。需要在创建HASH集群的时候指定这个值。使用HASH索引必须要使用HASH集群。
![](https://images2018.cnblogs.com/blog/1402577/201805/1402577-20180522134320651-642908695.png)