1、如果事务T获得了数据项Q上的排它锁,则T对Q(C)
A.只能读不能写B.只能写不能读
C.既可读又可写
D.不能读不能写
【共享锁】
又称读锁(S锁),若事务T对数据对象A加上S锁,则其它事务只能再对A加S锁,但不能加X锁,直到T释放A上的S锁。
【排它锁】
又称写锁(X锁),若事务T对数据对象加上X锁,则只允许T读取和修改A,其它任何事务都不能再对A加任何类型的锁,直到T释放A上的锁。它防止任何其它事务获取资源上的锁,直到在事务的末尾将资源上的原始锁释放为止。
【 更新锁(U)】
用来预定要对此页施加X锁,他允许其他事务读,但不允许再施加U锁或X锁;当被读取的页将要被更新时,则升级为X锁;U锁一直 到事务结束时才被释放;
2.【数据库的约束】
NOT NULL
UNIQUE : 控制字段内容不能重复,一个表允许有多个 Unique 约束。
PRIMARY KEY: 也是用于控制字段内容不能重复,但它在一个表只允许出现一个。
FOREIGN KEY: FOREIGN KEY 约束用于预防破坏表之间连接的动作,FOREIGN KEY 约束也能防止非法数据插入外键列,因为它必须是它指向的那个表中的值之一。
CHECK: 用于控制字段的值范围。
DEFAULT: 用于设置新记录的默认值。
3.数据库管理系统是位于用户和OS之间的一层管理 软 件 ,数据库系统是由数据库,硬件,软件,数据库管理员组成。
4.定义学生、教师和课程的关系模式
S(S#,Sn,Sd,Dc,Sa)(其属性分别为学号、姓名、所在系、所在系的系主任、年龄);
C(C#,Cn,P#)(其属性分别为课程号、课程名、先修课);
SC(S#,C#,G)(其属性分别为学号、课程号和成绩),则该关系为( A)。A.第二范式
B.第一范式
C.第三范式
D. BCNF范式
范式是符合某一种级别的关系模式的集合。关系数据库中的关系必须满足一定的要求,满足不同程度要求的为不同范式。
①第一范式:数据库中每一个属性都不可再分(不可以用多重值)。
②第二范式:关系模式是第一范式,并且必须要有主键,同时每个非主属性完全依赖于主键,不存在部分依赖。
③第三范式:关系模式是第二范式,并且不存在非主属性对主键的传递依赖(在关系模式中,如果X→Y,Y→Z,且Y不决定X和Z不属于X,那么X→Z是传递依赖)。
④BCNF范式:所有属性都不传递依赖于关系的任何候选键。
本题中,关系模式满足第二范式,但在关系模式S中,学生学号本身确定了所在系(S#→Sd),但系本身确定了系主任(Sd→Dc),存在传递依赖,不满足第三范式
5.事务的特性
【原子性】
即当数据修改时,要么全执行,要么全不执行,即不允许事务部分的完成,避免了只执行这些操作的一部分而带来的错误。原子性要求失误必须被完整执行。
【一致性】
一个事务执行之前和之后,数据库数据必须要保持一致性状态。数据库的一致性状态应该满足模式锁指定的约束,那么在完整执行该事务后数据库仍然处于一致性的状态。为了维护所有数据的完整性,在关系型数据库中,所有规则必须应用到事务的修改上。
【隔离性】
也被成为独立性,当两个或多个事务并发执行时,为了保证数据的安全性,将一个事物内部的操作与事务的操作隔离起来,不被其他正在执行的事务看到。
【持久性】
持久性也被成为永久性,事务完成之后,DBMS保证它对数据库中的数据的修改是永久性的,当系统或介质发生故障时,该修改也永久保持。持久性一般通过数据库备份与恢复来保证。
6.、查找 student表中所有电话号码(列名:telephone)的第一位为8或6,第三位为0的电话号码
A SELECT telephone FROM student WHERE telephone LIKE ‘[8,6]%0*’
B SELECT telephone FROM student WHERE telephone LIKE ‘(8,6)*0%’
C SELECT telephone FROM student WHERE telephone LIKE ‘[8,6]_0%’
D SELECT telephone FROM student WHERE telephone LIKE ‘[8,6]_0*’
正确答案: C
7、使用 % 作为通配符时,匹配的是:
A 0个或1个字符
B 1个以上的字符(包含1)
C 0个以上的字符(包含0)
他的回答: B (错误)
正确答案: C
8.如下SQL语句中,____可能返回null值。
(1) select count(*) from t1;(2) select max(col1) from t1;
(3) select concat('max=',max(col1)) from t1;
正确答案: DA.(1)可能,(2)和(3)不可能 B.(2)可能,(1)和(3)不可能 C.(3)可能,(1)和(2)不可能 D.(1)不可能,(2)和(3)可能 E.都不可能 F.都可能
答案是D
(1)返回的是表的行数,如果没有记录,应该返回0,不会出现NULL,
(2) 和(3) 正常情况下不会出现NULL,但是如果表里面没有记录,则会出现NULLMySQL concat函数使用方法:
CONCAT(str1,str2,…)
返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。
(1). 若表t1中有记录,会返回记录数;若无记录,则返回0;
(2). 若表t1中存在列col为null, 则结果返回null;
(3). 若表t1中存在列col为null, 则结果返回null;
9.电话号码表t_ phonebook中含有100万条数据,其中号码字段PhoneNo上创建了唯一索引,且电话号码全部由数字组成,要统计号码头为321的电话号码的数量,下面写法执行速度最慢的是_________
A.select count(*) from t_phonebook where phoneno >= ‘321’ and phoneno < ‘321A’ B.select count(*) from t_phonebook where phoneno like ‘321%’ C.select count(*) from t_phonebook where substring(phoneno,1,3) = ‘321’ D.都一样
C