下面三个题基于student表和class表,student表的主键是学号,class表的主键是课程号。下列描述的操作中,哪一个操作不正确?A.从表student中删除行('010','王宏大','01','02

题目

下面三个题基于student表和class表,student表的主键是学号,class表的主键是课程号。

下列描述的操作中,哪一个操作不正确?

A.从表student中删除行('010','王宏大','01','02')

B.在student中插入行('102','赵民','03','03')

C.将student中学号='010'的课程号改为'02'

D.将stuedent中雇员号='101'的课程号改为'05'

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

在学生选课数据库S_T中,有学生表student(sno,sname,ssex,sage,sdept),sno是主键;课程表course(cno,cname,cpno,credit),cno是主键;学生选课表sc(sno,cno,grade),主键是sno+cno。sc表的外键sno参照student表的主键sno,sc表的外键cno参照course表的主键cno。以下()操作可能会违背参照完整性约束。

A.删除student表中的记录

B.修改student表中某条记录的sno值

C.向sc表中插入一条记录

D.修改sc表中某条记录的sno值


a.Selectcount(*)as选课人数,avg(grade)as平均成绩fromscwherecno=’c01’b.Selectcno,max(grade)as最高分,avg(grade)as平均成绩fromscgroupbycnoorderbyavg(grade)descc.select*fromstleftjoinsconst.sno=sc.snod.Selectcount(distinctsno)as选课人数fromsc

第2题:

下列描述的插入操作中,哪一个操作是正确的?

A.在student中插入行('102','赵民','05','02')

B.在student中插入行('101','赵民','04','02')

C.先在class表中删除行('03','英语','李洪亮')然后在student中插入行('105','李丽','03','03')

D.在student中插入行('105','李丽','03','03')


正确答案:D
解析:在class中没有课程号为05的部门,因此A) 不正确;在表中不能有相同的记录,因此B) 不正确;当删除了课程号为03的课程后,就不能在插入一条课程号为03的雇员信息了,所以C) 不正确。

第3题:

下列描述的删除操作中,哪一个操作不正确?

A.从student中删除行('010','王宏大','01','02')

B.从class中删除行('02','计算机','张海')

C.从class中删除行('03','英语','李洪亮')

D.先在student中删除行('010','王宏大','01','02'),然后从class中删除行('01','企业管理','郑红霞')


正确答案:B
解析:class的课程号是student表的外键,只有当课程号不被student表所使用的时候才能删除。因此B)不正确。

第4题:

在如下2个数据库的表中,若雇员信息表EMP的主键是雇员号,部门信息表DEPT的主键是部门号。若执行所列出的操作,哪一项操作不能执行?

A.从雇员信息表EMP中删除行('010','王宏达','01','1200')

B.从雇员信息表EMP中插入行('102','赵敏','01','1500')

C.将雇员信息表EMP中雇员号='010'的工资改为1600元

D.将雇员信息表EMP中雇员号='010'的部门号改为'05'


正确答案:D
解析:当执行删除操作时,一般只需要检查参照完整性规则。如果是删除被参照关系中的行,检查被删除行在主码属性上的值是否正在被相应的被参照关系的外码引用,若不被引用,可以执行删除操作;若被引用,有3种可能的做法:不可以执行删除操作(拒绝删除),或将参照关系中相应行在外码属性上的值改为空值后再执行删除操作(空值删除),或将参照关系中相应行一起删除(级联删除)。

第5题:

在如下2个数据库表中,若雇员信息表EMP的主键是雇员号,部门信息表DEPT的主键是部门号。若执行所列出的操作,哪一项操作不能执行?

A.从雇员信息表EMP中删除行('010','王宏达','01','1200')

B.从雇员信息表EMP中插入行('102','赵敏','01','1500')

C.将雇员信息表EMP中雇员号='010'的工资改为1600元

D.将雇员信息表EMP中雇员号='010'的部门号改为'05'


正确答案:D
解析:当执行删除操作时,一般只需要检查参照完整性规则。如果是删除被参照关系中的行,检查被删除行在主码属性上的值是否正在被相应的被参照关系的外码引用,若不被引用,可以执行删除操作;若被引用,有3种可能的做法:不可以执行删除操作(拒绝删除)、将参照关系中相应行在外码属性上的值改为空值后再执行删除操作(空值删除)、将参照关系中相应行一起删除(级联删除)。

第6题:

下列描述的插入操作中,哪一个操作是正确的?

A.在student中插入行(′102′,′赵民′,′05′,′02′)

B.在student中插入行(′101′,′赵民′,′04′,′02′)

C.先在class表中删除行(′03′,′英语′,′ 李洪亮′)然后在student中插入行(′105′,′李丽′,′03′,′03′)

D.在student中插入行(′105′,′李丽′,′03′,′03′)


正确答案:D
解析:本题主要考查了在SQL语言中,什么情况下不能进行插入操作。 在class中没有课程号为05的部门,因此A)不正确;在表中不能有相同的记录,因此B)不正确;当删除了课程号为03的课程后,就不能在插入一条课程号为03的雇员信息了,所以C)不正确。

第7题:

下列描述的删除操作中,哪一个操作不正确?

A.从student中删除行(′010′,′王宏大′,′01′,′02′)

B.从class中删除行(′02′,′计算机′,′张海′)

C.从class中删除行(′03′,′英语′,′李洪亮′)

D.先在student中删除行(′010′,′王宏大′,′01′,′02′),然后从class中删除行(′01′,′ 企业管理′,′郑红霞′)


正确答案:B
解析:本题主要考查了在SQL语言中,什么情况下不能进行删除操作。 class的课程号是student表的外键,只有当课程号不被student表所使用的时候才能删除。因此B)不正确。

第8题:

以下3题基于student表和class表,student表的主键是学号,class的主键是课程号。

下列描述的操作中,哪一个操作不正确?

A.从表student中删除行(′010′,′王宏大′,′01′,′02′)

B.在student中插入行(′102′,′赵民′,′03′,′03′)

C.将student中学号=′010′的课程号改为′02′

D.将stuedent中雇员号=′101′的课程号改为′05′


正确答案:D
解析:本题主要考查了在SQL语言中如何进行删除操作。 为在class表中没有部门号是05的记录,因此D)操作不正确。

第9题:

下面2题基于以下说明:设有如下两个关系,若雇员信息的主键是雇员号,部门信息表的主键是部门号。假设雇员信息表中的工资最低为800(包括800),最高不能超过2000。另外,这里假定DBMS不支持级联删除和级联更新功能。

今对以上两个关系做如下操作:

Ⅰ.从雇员表中删除行(‘010’,‘王宏达’,‘01’,1200)。

Ⅱ.从部门表中删除行(‘01’,‘业务部’,‘李建’)。

Ⅲ.从部门表中将部门名为‘服务部’的行删除。

Ⅳ.将雇员表中雇员号=‘010’的工资改为2600元。

在上述所给的操作中,哪个(些)操作能被执行?

A.Ⅰ、Ⅱ

B.Ⅱ、Ⅲ

C.Ⅲ、Ⅳ

D.Ⅰ、Ⅲ


正确答案:A
解析:注意到雇员信息的主键是雇员号,外键是部门号;部门信息表的主键是部门号。另外,“雇员信息表中的工资最低为800(包括800),最高不能超过2000”属于用户自定义的完整性规则。所以对题目中给出的操作仔细验证是否违背了关系的3类完整性规则,就可以很容易判断出哪些操作是否可以被执行。删除参照关系(即外码所在的关系)中的元组肯定不会破坏上述3类完整性规则,但向参照关系中插入元组或者更新参照关系中的元组有可能会破坏完整性规则;向被参照关系中插入元组也肯定不会破坏参照完整性规则,但有可能破坏实体完整性规则和用户自定义的完整性规则,更新被参照关系中的元组有可能破坏3类完整性规则,删除被参照关系中的元组只有可能破坏参照完整性规则。这些情形总结如下。在对参照关系和被参照关系进行操作时的各种可能破坏3类完整性规则的情形。