导航:首页 > 编程大全 > 以下哪个对数据库事务的描述是错误的

以下哪个对数据库事务的描述是错误的

发布时间:2024-01-21 16:16:26

A. 谁能提供一个数据库项目来练练手啊

1) 为表userinfo添加约束,语法如下:
alter table userinfo add constraint uq_userid unique ( userid )
执行成功后,为表的()字段添加了(b)约束。

a) Userid ; 主键
b) Userid ; 唯一
c) Uq_userid ;外键
d) Uq_userid ;检查

2) 运行如下T-SQL,结果返回包含(c)的记录集。
create table scores
(
scoreid int identity(1,2),
score numeric(4,2) not null,
courseid int
)
insert into scores values(90.5, null);
insert into scores values(100, 2);
select * from scores;

a) 1、90.5、null
3、100、2
b) 1、100、2l
c) 1、90.50、null
d) 1、90.5、null
3、100.0、2

3) 关于子查询,以下说法正确的是(bd)。(选择两项)

a) 一般来说,表连接都可以用子查询替换。
b) 一般来说,子查询都可以用表连接替换。
c) 相对于表连接,子查询适合于作为查询的筛选条件。
d) 相对于表连接,子查询适合于查看多表的数据。

4) 创建存储过程如下:
CREATE procere bookproc
@id int, @title char(20) OUTPUT
as
select @title=title from book where id= @id
执行该存储过程的方法正确的是(c)。(选择一项)

a) exec bookproc 1,@title output
print @title
b) exec bookproc @id =1,@title output
print @title
c) declare @title char(20)
exec bookproc 1,@title output
print @title
d) declare @title char(20)
exec bookproc @id =1,@title output
print @title

5) 假设需要设计一个表,记录各个作者著作的所有图书信息,表结构设计如下:
作者(作者名称、图书1、版本1、书价1、图书2、版本2、书价2、……),
该表最高符合第(A)范式。

a) 一
b) 二
c) 三
d) 未规范化的

6) 一个学生只能就读于一个班级,而一个班级可以同时容纳多个学生,学生与班级之间是(C)关系。(选择一项)

a) 一对一
b) 一对多
c) 多对一
d) 多对多

7) E-R图中,关系集用下面(c)来表示。

a) 矩形
b) 椭圆形
c) 菱形
d) 圆形

8) Sql server中,(a)命令用来删除表。(选择一项)

a) Drop
b) Remove
c) Truncate
d) Delete

9) 表结构如下,# 号打头字段代表主键或组合主键,一份订单可以订购多种产品。
产品:# 产品编号,产品名称,产品价格;
订单:# 订单编号,# 产品编号,订购日期,订购数量;
该表最高符合第(C)范式。(选择一项)

a) 一
b) 二
c) 三
d) 未规范化的

10) 表结构如下,# 号打头字段代表主键或组合主键,一份订单可以订购多种产品。
产品:# 产品编号,产品名称,产品价格;
订单:# 订单编号,总价,支付类型编号,订购日期;
订单子项:# 子项编号,订单编号,产品编号,订购数量;
该表最高符合第(C)范式。(选择一项)

a) 一
b) 二
c) 三
d) 未规范化的

11) 创建表sql语句如下:
create table userInfo
(
userId int identity(-1,1), 第一行
username nvarchar(20) not null, 第二行
cardNO char not null, 第三行
age smallint(2), 第四行
address ntext(300) 第五行
)
执行时,会在(DE)出现错误。(选择两项)

a) 第一行
b) 第二行
c) 第三行
d) 第四行
e) 第五行

12) 以下关于规范设计的描述正确的是(AB)。(选择两项)

a) 规范设计的主要目的是消除数据冗余。
b) 规范设计往往会增加数据库的性能。
c) 设计数据库时,规范化程度越高越好。
d) 在规范化数据库中,易于维护数据完整性。

13) 关于存储过程,以下说法正确的是(a)。(选择一项)

a) 不能在存储过程中使用CREATE VIEW命令。
b) T-SQL批代码的执行速度要快于存储过程。
c) 存储过程必须带有参数。
d) 存储过程不能返回结果集。

14) 下面T-SQL代码运行完的结果是(B)。
declare @counter int
set @counter=1
while @counter<3
begin
set @counter=@counter+1
print @counter
break
print ‘loop’
end

a) 2
loop
b) 2
c) 2
loop
3
loop
d) 2
3

15) 阅读下面T-SQL语句,对变量赋值时存在错误的是(C)。(选择一项)

a) DECLARE @id INT,@price MONEY
set @id=100
set @price=$2.21
b) DECLARE @id INT,@price MONEY
select @id=100,@price=2.21
c) DECLARE @id INT,@price MONEY
set @id=100, @price=2.21
d) DECLARE @id INT,@price MONEY
select @id=100
select @price=$2.21

16) 已知有student表,studentid为主键,现在表中共有10行记录,studentid列值从1
到10。
创建试图:
CREATE VIEW dbo.VIEW_student
AS
SELECT * FROM dbo.student
接着执行如下命令:
DELETE FROM VIEW_student WHERE (studentid = 8);
然后执行查询命令:
SELECT * FROM student;
SELECT * FROM VIEW_student;
假定上述命令全部执行成功,将各自返回(D)()行记录。

a) 10,10
b) 10,9
c) 9,10
d) 9,9

17) 设计用户表时,身份证号为固定18位长,对该字段最好采用(B)数据类型。(选择一项)

a) int
b) char
c) varchar
d) text

18) 授予用户teacher对Score表的插入和修改的权限,正确的授权语句是( c)。(选择一项)

a) GRANT INSERT,UPDATE TO TABLE Score ON teacher
b) GRANT INSERT AND UPDATE TO TABLE Score ON teacher
c) GRANT INSERT,UPDATE ON Score TO teacher
d) GRANT INSERT AND UPDATE ON Score TO teacher

19) 建立如下数据库表:
CREATE TABLE department(
DeptID int NOT NULL primary key,
DeptName varchar (20) NOT NULL
)
CREATE TABLE Employee (
EmployeeID int NOT NULL,
DeptID int NOT NULL,
Name varchar (20) NOT NULL
)
要想保证Employee表中每一个雇员(Employee)是唯一的,且只能属于在Department表中已经存在的部门,最优的做法是(b)。(选择一项)

a) 把EmployeeID 和DeptID 设为组合主键。
b) 把EmployeeID设为主键,同时在DeptID列上创建一个外健约束。
c) 把EmployeeID设为主键,同时在DeptID列上创建一个检查约束。
d) 在DepartmentID列上创建一个唯一约束,同时在DeptID列上创建一个外健约束。

20) 建立一张员工表(employee),当向表中插入数据时,若不提供入职时间(beginTime),就把系统当前时间自动作为员工入职时间插入数据库中,以下说法正确的是(d)。(选择一项)

a) 约束中不能使用各种函数,所以只能使用触发器来实现。
b) 可以使用CHECK约束实现,默认值采用日期函数getDate()。
c) 入职时间必须设为日期类型。
d) 可以使用DEFAULT 约束实现,默认值采用日期函数getDate()。

21) 为了加快对某表的访问速度,应对此表建立(d)。(选择一项)

a) 约束
b) 存储过程
c) 规则
d) 索引

22) 假设有表student的设计如下:
ID(学号)
Name(姓名)
Address(家庭住址)
Department(所在系)
DepartmentHead(系主任)
该表最高满足第(A)范式。(选择一项)

a) 一
b) 二
c) 三
d) 不满足任何范式;

23) 为数据库中一个或多个表中的数据提供另一种查看方式的逻辑表被称为(C)。(选择一项)

a) 存储过程
b) 触发器
c) 视图
d) 表

24) 要建立一个教师表,包含姓名、职称、级别等字段。若插入数据时,级别字段如果不输入,缺省值为‘讲师’,最合适的实现方法是(A)。

a) 为 “ 级别 ” 字段建立default约束。
b) 为 “ 级别 ” 字段建立check 约束。
c) 在教师表上建立一个触发器 (trigger)。
d) 为教师表数据输入编写一个存储过程进行控制。

25) 现有订单表orders, 包含数据如下表。若查询既订购了产品P01,又订购了产品P02的顾客编号,可以执行以下()sql语句。(选择一项)
cid (顾客编号) Pid (产品编号)
C01 P01
C01 P02
C02 P01
C03 P02

a) select distinct(cid) from orders o1 where o1.pid in ('p01','p02')
b) select distinct(cid) from orders o1 where o1.pid='p01' and o1.pid='p02'
c) select distinct(cid) from orders o1 where pid='p01' and exists (select * from orders where pid ='p02' and cid=o1.cid)
d) select distinct(cid) from orders o1,orders o2 where o1.pid='p01' and o2.pid='p02'

26) 关于聚焦索引,以下()说法是错误的。(选择两项)

a) 一个表最多只能创建一个聚焦索引。
b) 聚焦索引比非聚焦索引有更快的访问速度。
c) 主键一定是聚焦索引。
d) 创建了聚焦索引的列不允许有重复值。

27) 关于视图,以下()说法是错误的。(选择一项)

a) 使用视图,可以简化数据的使用。
b) 使用视图,可以保护敏感数据。
c) 视图是一种虚拟表,视图中的数据只能来源于物理数据表,不能来源于其它视图。
d) 视图中只存储了查询语句,并不包含任何数据。

28) 常用的系统存储过程不包括(D)。(选择一项)

a) sp_tables
b) sp_columns
c) sp_stored_proceres
d) sp_renametable

29) 对事务描述错误的是(BD)。(选择两项)

a) 一个事务中的所有命令作为一个整体提交或回滚。
b) 如果两个并发事务要同时修改同一个表,有可能产生死锁。
c) Sql server默认将每条单独的T-SQL语句视为一个事务。
d) 事务必须使用begin transaction来明确指定事务的开始。

30) 分数表scores设计如下:
courseID(课程编号)
studentID(学生编号)
score(分数)
另有一个学生信息表student,包含studentID,sname(学生姓名)。
已知并非所有学生都参加了考试,现在查询所有及格学生的学生姓名,下面正确的是(A)。(选择一项)

a) select sname from student where studentID in (select studentID from score where score>60)
b) select sname from student where studentID = (select studentID from score where score>60)
c) select sname from student where studentID not in (select studentID from score where score<=60)
d) select sname from student where exists (select studentID from score where score>60)

31) 关于触发器,(B)说法是错误的。(选择两项)

a) 触发器是一种特殊类型的存储过程。
b) 可以使用触发器来响应对数据的select,insert,update,delete操作。
c) 一个表上的触发器不可以包含对另外一个表的数据操作,以免造成死循环。
d) 触发器和触发它的语句构成一个事务。

32) 在(AD)的列上更适合创建索引。(选择两项)

a) 需要对数据进行排序
b) 具有默认值
c) 频繁更改
d) 频繁搜索

33) SQL Server数据库有2种登录认证方式。其中在(C)方式下,需要客户端应用程序连接时提供登录时需要的用户标识和密码

a) Windows身份验证。
b) 以超级用户身份登录时。
c) SQL Server 身份验证。
d) 以系统身份登录时。

34) SQL Server数据库中,下列不属于T-SQL事务管理语句的是(B)。(选择一项)

a) BEGIN TRANSACTION;
b) END TRANSACTION;
c) COMMIT TRANSACTION;
d) ROLLBACK TRANSACTION;

35) 要建立一个约束,保证用户表(user)中年龄(age)必须在16岁以上,下面语句正确的是(A)。(选择一项)

a) Alter table user add constraint ck_age CHECK(age>16)
b) Alter table user add constraint df_age DEFAULT(16) for age。
c) Alter table user add constraint uq_age UNIQUE(age>16)。
d) Alter table user add constraint df_age DEFAULT(age>16)。

36) 银行系统中有帐户表和交易表,帐户表中存储了各存款人的帐户余额,交易表中存储了各存款人每次的存取款金额。为保证存款人每进行一次存、取款交易,都正确的更新了该存款人的帐户余额,以下选项中正确的做法是(B)。(选择一项)

a) 在帐户表上创建insert触发器。
b) 在交易表上创建insert触发器。
c) 在帐户表上创建检查约束。
d) 在交易表上创建检查约束。

37) SQL Server数据库中,包含两个表:Order订单表, Item订单子项目表。
当一个新定单被加入时,数据要分别保存到Order和Item表中,要保证数据完整性,可以使用以下(C)语句。(选择一项)

a) BEGIN TRANSACTION
INSERT INTO Order VALUES (此处省略)
INSERT INTO Item VALUES (此处省略)
END TRANSACTION
b) BEGIN TRANSACTION
INSERT INTO Order VALUES (此处省略)
INSERT INTO Item VALUES (此处省略)
IF (@@Error = 0)
COMMIT TRANSACTION
ELSE
ROLLBACK TRANSACTION
c) BEGIN TRANSACTION
INSERT INTO Order VALUES (此处省略)
IF (@@Error = 0)
INSERT INTO Item VALUES (此处省略)
IF (@@Error = 0)
COMMIT TRANSACTION
ELSE
ROLLBACK TRANSACTION
ELSE
ROLLBACK TRANSACTION
d) BEGIN TRANSACTION
INSERT INTO Order VALUES (此处省略)
INSERT INTO Item VALUES (此处省略)
IF (@@Error <> 0)
ROLLBACK TRANSACTION

38) 现有一个学生信息表student,包含主键studentID (学生编号)。
又有分数表scores,包含studentID(学生编号)、以及 score(考试分数)。
已知student表中共有50个学生,有45人参加了考试(分数存在scores表中),其中10人不及格。执行以下sql语句:
select * from student where exists (select studentid from score where score<60)
可返回(C)条记录。(选择一项)

a) 50
b) 45
c) 10
d) 0

39) create table student
(
id int identity(1,1),
name varchar(20)
)
alter table student add constraint uq_name unique(name)
insert into student values(null)
insert into student values(null)
insert into student values(‘jack’)
insert into student values(‘jack’)
依次执行以上SQL语句后,student表中存在(b)行记录。

a) 1
b) 2
c) 3
d) 4

40) 已知employee表中具有默认约束df_email, 删除该约束的语句为(A)。(选择一项)

a) Alter table employee drop constraint df_email
b) Alter table employee remove constraint df_email
c) Alter table employee delete constraint df_email
d) Remove constraint df_email from table employee

41) 有关T-SQL中变量的使用,以下说法错误的是(B)。(选择一项)

a) 变量的使用必须先声明,后使用。
b) 变量的赋值只能使用set语句。
c) 可以使用print语句和select语句输出结果。
d) 局部变量的命名必须以@打头。

42) 关于触发器和约束,以下说法错误的是(D)。

a) 触发器可以支持约束的所有功能。
b) Check约束不能跟据另一个表中的列验证列值。
c) 最好在约束所支持的功能无法满足应用程序的需求时,再使用触发器。
d) 在维持数据完整性时,要使用标准的系统错误信息,必须使用触发器。

43) 在某个触发器中,存在如下代码片断:
Declare @p1 int, @p2 int
Select @p1=price from deleted
Select @p2=price from inserted
print convert(varchar, @p2-@p1)
该触发器是(B)触发器。

a) select
b) update
c) insert
d) delete

44) 创建存储过程的片断如下:
Create procere proc_score
@passed int=60,
@excellent int=90
AS
以下(AB)调用方式是正确的。(选择两项)

a) Exec proc_score
b) Exec proc_score 60,90
c) Exec proc_score @passed=65,@excellent=95
d) Exec proc_score @passed=65

45) 现有学生表student和用户表user, 两表中的数据如下。
执行sql语句:select * from user union select * from student。
下面说法正确的是(C)。(选择一项)
user
Userid (int) Name (varchar)
1 Lee
2 Chen
3 Jack
4 rose

student
Studentid (int) Age (int)
1 80
2 75

a) 出现错误:name与age不是同一种数据类型。
b) 正确执行,返回6行4列。
c) 正确执行,返回6行2列。
d) 正确执行,返回4行2列。

46) 假设有表scores的设计如下:
ID(编号,主键)
StudentID(学生编号)
CourseID(课程编号)
Score(分数)
现在要查询参加过至少两门课程考试的学生的各门课程的平均成绩。以下sql语句正确的是(C)。(选择一项)

a) Select studentID, avg(score) from scores group by studentID having count(studentID)>1
b) Select studentID, avg(score) from scores group by studentID where count(studentID)>1
c) Select studentID, avg(score) from scores where count(studentID)>1 group by studentID
d) Select studentID, avg(score) from scores having count(studentID)>1

47) 假设order表中存在orderid等于1的记录,执行下面T-SQL:
BEGIN TRANSACTION
Delete from Order where orderid=1
IF (@@Error <> 0)
ROLLBACK TRANSACTION
ROLLBACK TRANSACTION
以下说法正确的是(B)。(选择一项)

a) 执行成功,Orderid为1的记录被永久删除。
b) 执行成功,Order表没有任何变化。
c) 执行时出现错误。
d) 执行成功,但事务处理并没有结束。

48) 项目开发需要经过几个阶段,绘制数据库的E-R图应该在(B)阶段进行。(选择一项)

a) 需求分析
b) 概要设计
c) 详细设计
d) 代码编写

49) 将E-R图转换为表的过程中,如果实体之间存在多对多的关系,通常的做法是(B)。(选择一项)

a) 在两个实体间建立主外键关系。
b) 在两个实体间建立关联表,把一个多对多的关系分解成两个一对多的关系。
c) 在两个实体间建立关联表,把一个多对多的关系分解成两个一对一的关系。
d) 在两个实体间不建立任何关系。

50) 在score表上创建一个触发器:
create trigger tri_score
on score
for update,delete
as
if (select count(*) from inserted)>0
print('success')
go
在查询分析器上执行以下(A)语句,可能会输出“success”。(选择一项)

a) Update score set score=20
b) Delete from score where score<60
c) Insert into score values ( 此处省略)
d) Select * from score

B. 有关数据库事务的隔离级别,描述错误的是

错误抄的是C。

Read uncommitted (读未提交):最低级别。

Read committed (读已提交):读已提交,可避免脏读情况发生。

Repeatable Read(可重复读):确保事务可以多次从一个字段中读取相同的值,在此事务持续期间,禁止其他事务对此字段的更新,可以避免脏读和不可重复读,仍会出现幻读问题。

Serializable (串行化):最严格的事务隔离级别,要求所有事务被串行执行,不能并发执行,可避免脏读、不可重复读、幻读情况的发生。

(2)以下哪个对数据库事务的描述是错误的扩展阅读:

数据库的事务隔离越严格,并发副作用越小,但付出的代价也就越大,因为事务隔离实质上就是使事务在一定程度上 “串行化”进行,这显然与“并发”是矛盾的。同时,不同的应用对读一致性和事务隔离程度的要求也是不同的,比如许多应用对“不可重复读”和“幻读”并不敏感,可能更关心数据并发访问的能力。

阅读全文

与以下哪个对数据库事务的描述是错误的相关的资料

热点内容
java主进程 浏览:5
软件app怎么分享给别人 浏览:547
win10怎么取消使用简单文件共享 浏览:470
微信小程序编译不变 浏览:551
地推推广哪些app好 浏览:974
win10怎么查无线网密码是多少 浏览:66
数控车工如何考编程 浏览:48
邮政手机app怎么解绑手机号 浏览:780
cs找不到安装文件 浏览:716
苹果5s玻璃屏是跟白色框一起的吗 浏览:204
做编程手提电脑什么配置好 浏览:283
怎么设置网络快捷开关 浏览:61
u盘大于4g文件怎么复制 浏览:390
数控车床极坐标六角怎么编程 浏览:930
三菱编程控制伺服用什么指令 浏览:60
酷派手机强制4g代码 浏览:173
java数组转成list 浏览:670
乱斗西游2什么版本好 浏览:375
网络节目有什么 浏览:550
孩子学编程有什么前途 浏览:36

友情链接