niusouti.com

关系模型SC(学号,姓名,学院,学院领导,课程号,课程名,成绩),函数依赖集F={学号→(姓名,学院,学院领导),学院→学院领导,课程号→课程名,(学号,课程号)→成绩},则关系SC中( ),要满足第二范式,应将SC分解为(请作答此空)。A.S(学号,姓名,学院,学院领导),C(课程号,课程名,成绩) B.S(学号,姓名),D(学院,学院领导),C(课程号,课程名,成绩) C.S(学号,姓名),D(学院,学院领导),C(课程号,课程名),SC(学号,课程名,成绩) D.S(学号,姓名,学院,学院领导),C

题目
关系模型SC(学号,姓名,学院,学院领导,课程号,课程名,成绩),函数依赖集F={学号→(姓名,学院,学院领导),学院→学院领导,课程号→课程名,(学号,课程号)→成绩},则关系SC中( ),要满足第二范式,应将SC分解为(请作答此空)。

A.S(学号,姓名,学院,学院领导),C(课程号,课程名,成绩)
B.S(学号,姓名),D(学院,学院领导),C(课程号,课程名,成绩)
C.S(学号,姓名),D(学院,学院领导),C(课程号,课程名),SC(学号,课程名,成绩)
D.S(学号,姓名,学院,学院领导),C(课程号,课程名),SC(学号,课程号,成绩)

相似考题
更多“关系模型SC(学号,姓名,学院,学院领导,课程号,课程名,成绩),函数依赖集F={学号→(姓名,学院,学院领导),学院→学院领导,课程号→课程名,(学号,课程号)→成绩},则关系SC中( ),要满足第二范式,应将SC分解为(请作答此空)。”相关问题
  • 第1题:

    设有如图所示的E-R模型:

    将上述E-R模型转换成关系模式,正确的结果应是

    A.成绩(学号,姓名,年龄,性别,课程号,课程名,学时,分数)

    B.学生(学号,姓名,年龄,性别,分数)、课程(课程号,课程名,学时)

    C.学生(学号,姓名,年龄,性别)、课程(课程号,课程名,学时,分数)

    D.学生(学号,姓名,年龄,性别)、课程(课程号,课程名,学时)、成绩(学号,课程号,分数)


    正确答案:D
    解析:本题考查E-R模型转换成关系模式的过程。E-R模型可以向现有的多种数据库模型转换,对不同的数据库模型有不同的转换规则。向关系模型转换的规则是:一个实体类型转换成一个关系模式,实体的属性就是关系的属性,实体的码就是关系的码。对于实体间的关系则有:一个1:1联系可以转换为一个独立的关系模型;一个1:n的联系可以转换为一个独立的关系模型,也可以与联系的任意n端实体所对应的关系模式合并;一个m: n的联系转换为一个关系模式。题目给出的E-R模型包含两个实体:学生和课程,包含一个m: n的联系,应该转换为一个关系模式。正确答案为选项D。

  • 第2题:

    现有某高校的选修课记录(SC):学号、姓名、课程名称、成绩,要查询没有选修课成绩的学生和课程,正确的SQL语句是( )。

    A. SELECT学号,课程号FROM sc WHERE成绩=””

    B. SELECT学号,课程号FROM sc WHERE成绩=NULL

    C. SELECT学号,课程号FROM SC WHERE成绩IS NULL

    D. SELECT学号,课程号FROM SC WHERE成绩


    正确答案:C
    利用空值查询,查询空值时要使用“Is NULL”,而=“”、=NULL都是无效的,因为空值是一个不确定的值,所以不能用“=”进行比较。

  • 第3题:

    基于学生表S和学生选课表SC两个数据库表,它们的结构如下: S(学号,姓名,性别,年龄),其中学号、姓名和性别为C型字段,年龄为N型字段; SC(学号,课程号,成绩),其中学号和课程号为C型字段,成绩为N型字段。 查询同时选修课程号分别为2001和2005课程的学生的学号,正确的命令是( )。

    A. SELECT学号FROM SC WHERE课程号='2001'AND学号IN(SELECT学号FROM SC WHERE课程号='2005’)

    B. SELECT学号FROM SC WHERE课程号='2001'AND学号=(SELECT学号FROM SC WHERE课程号='2005’)

    C. SELECT学号FROM SC WHERE课程号='2001'AND课程号='2005'

    D. SELECT学号FROM SC WHERE课程号='2001'OR'2005'


    正确答案:A
    嵌套查询所要求的结果出自一个关系,但相关的条件却涉及多个关系。其内层基本上也是一个SE. LECT—FROM—WHERE查询语句。简单嵌套查询可使用谓词IN或NOT IN来判断外层的查询条件中是否包含内层查询的结果。本题要查询同时选修2001和2005号课程的学生的学号,外层查询包含了内层查询的结果。故本题答案为A。

  • 第4题:

    设有学生选课表:SC(学号,课程号,成绩),要求在该表中查询缺少学习成绩的学生学号和课程号,实现此查询要求的SELECT语句是______。

    A.SELECT 学号,课程号 FROM SC WHERE 成绩 IS NULL

    B.SELECT 学号,课程号 FROM SC WHERE 成绩 IS NOT NULL

    C.SELECT 学号,课程号 FROM SC WHERE 成绩=NOT NULL

    D.SELECT 学号,课程号 FROM SC WHERE 成绩=NULL


    正确答案:A

  • 第5题:

    设有以下3个表: 学生表STUD(学号,姓名,性别,年龄,专业) 课程表KC(课程号,课程名,选修课号,学分) 学生选课表SC(学号,课程号,成绩) 查询选修了课程名为“数据结构”的学生的姓名的SELECT语句是______。

    A.SELECT 姓名 FROM STUD; WHERE学号SELECT学号FROM SC WHERE 课程号IN; (SELECT课程号FROM KC WHERE 课程名=“数据结构”)

    B.SELECT姓名FROM STUD; WHERE学号IN(SELECT学号FROM SC WHERE 课程号UNION; (SELECT 课程号 FROM KC WHERE 课程名=“数据结构”))

    C.SELECT 姓名 FROM STUD; WHERESELECT课程号FROMKCWHERE课程名=“数据结构”

    D.SELECT姓名FROM STUD; WHERE 学号 IN(SELECT 学号 FROM SC WHERE 课程号 IN; (SELECT课程号FROM KC WHERE 课程名=“数据结构”))


    正确答案:D
    解析:要实现本题的查询要求,需使用嵌套查询。嵌套查询又称为子查询,它可以把一个SELECT-FROM-WHERE查询块嵌入在另一个查询块中。嵌套查询是由内向外进行的。在嵌套查询中,常用谓词IN引导子查询。选项A、B、C的语句不符合嵌套查询的语法结构,只有选项D正确。

  • 第6题:

    根据以下资料,回答下列各题: 使用如下三个数据库表: 学生表:student(学号,姓名,性别,出生日期,院系) 课程表:course(课程号,课程名,学时) 选课成绩表:score(学号,课程号,成绩) 其中出生日期的数据类型为日期型,学时和成绩为数值型,其他均为字符型。 查询“计算机系”学生的学号、姓名、学生所选课程名和成绩,正确的命令是( )。

    A.SELECT s.学号,姓名,课程名,成绩 FROM student s,score sc。course c WHERE s.学号=sc.学号,sc.课程号=c.课程号,院系="计算机系"

    B.SELECT学号,姓名,课程名,成绩 FROM student s,score sc,course C WHERE s.学号=SC.学号AND sc.课程号=c.课程号AND院系="计算机系"

    C.SELECT s.学号,姓名,课程名,成绩 FROM(student s JOIN score sc ON s.学号=sc.学号) JOIN course c ON sc.课程号=c.课程号 wHERE院系="计算机系"

    D.SELECT学号,姓名,课程名,成绩 FROM(student s JOIN score sc ON s.学号=sc.学号) JOIN course c ON sc.课程号=c.课程号 WHERE院系="计算机系"


    正确答案:B
    B。【解析】由题所知,所查询的是计算机系所选课程的学生的学号、姓名、课程名和成绩,其中涉及三个表,所以条件为s.学号=sc.学号ANDsc.课程号=c.课程号AND院系=”计算机系”。所以答案选择B。

  • 第7题:

    设有关系:S(学号,姓名,性别)、C(课程号,课程名)、SC(学号,课程号)。实现查询选修“会计学”课的所有女生姓名的SQL语句是“SELECTFROMS,C,SCWHERE<条件>”。该语句中的<条件>的正确表示是______。

    A.S.学号=SC.学号AND性别=“女”AND课程名=“会计学”

    B.S.学号=SC.学号ANDC.课程号=SC.课程号AND课程名=“会计学”

    C.性别=“女”AND课程名=“会计学”

    D.S.学号=SC.学号ANDC.课程号=SC.课程号;AND性别=“女”AND课程名=“会计学”


    正确答案:D
    解析:要实现本题3个表的连接查询,其连接条件是:连接表s与SC的连接条件是“S.学号=SC.学号”,连接表C与SC的连接表件是“C.课程号=SC.课程号”。同时,还需要满足“性别=“女””和“课程名=“会计学””这两个条件,从而才可以实现查询选修“会计学”课的所有女生的姓名的目的。

  • 第8题:

    有学生、选修和课程三个关系,学生S(学号,姓名,性别….),课程C(课程号,课程名),选修SC(学号,课程号,成绩)。想查询选修2号课程的学生的学号和姓名,则关系运算式


  • 第9题:

    已知学生关系(学号,姓名,性别,课程号,成绩,所在系号)有下列函数依赖

    Ⅰ.(学号,课程号)→课程号

    Ⅱ.(学号,课程号)→成绩

    Ⅲ.(学号,课程号)→所在系号

    Ⅳ.(学号,课程号)→姓名,性别

    Ⅵ.(学号,课程号)→学号

    以上函数依赖属于非平凡函数依赖的是______。

    A) 仅Ⅰ和Ⅴ

    B) 仅Ⅱ和Ⅴ

    C) 仅Ⅲ和Ⅳ

    D) 仅Ⅱ、Ⅲ和Ⅳ

    A.

    B.

    C.

    D.


    正确答案:D

  • 第10题:

    设学生关系模型Stu(学号,姓名,性别,学院)的主码是学号,成绩关系模型SC(学号,课程号,成绩)的主码为(学号,课程号),若关系模型R(学号,姓名,性别,学院,课程号,成绩)的主码为(学号,课程号),则R满足( )

    A.1NF
    B.2NF
    C.3NF
    D.BCNE

    答案:A
    解析:

  • 第11题:

    设有一个关系Student(学号,姓名,系名,课程号,成绩),查询至少选修了四门课程的学生学号、姓名及平均成绩的SELECT语句应该是:SELECT 学号,姓名,AVG(成绩)AS平均成绩FROM StudentGROUP BY( )HAVING(请作答此空)

    A.COUNT(DISTINCT 学号)>3
    B.COUNT(课程号)>3
    C.COUNT(DISTINCT学号)>=3
    D.COUNT(课程号)>=3

    答案:B
    解析:
    本题考查的是SQL查询语言。GROUP BY子句可以将查询结果表的各行按一列或多列取值相等的原则进行分组,对查询结果分组的目的是为了细化集函数的作用对象。如果分组后还要按一定的条件对这些组进行筛选,最终只输出满足指定条件的组,可以使用HAVING短语指定筛选条件。由题意可知,在这里只能根据学号进行分组,并且要满足条件:此学号的学生至少选修了四门课程。因此,试题(18)的正确答案为A,试题(19)的正确答案为B。

  • 第12题:

    单选题
    查询“计算机系”学生的学号、姓名、学生所选课程的课程名和成绩,正确的命令是(  )。
    A


    SELECT s.学号,姓名,课程名,成绩
    FROM student s,score sc,course e
    WHERE s.学号=sc.学号,sc.课程号=c.课程号,院系='计算机系'

    B


    SELECT学号,姓名,课程名,成绩
    FROM student s,score sc,course c
    WHERE s.学号=sc.学号AND sc.课程号=c.课程号AND院系='计算机系'

    C


    SELECT s.学号,姓名,课程名,成绩
    FROM(student s JOIN score se ON s.学号=sc.学号)
    JOIN course c ON sc.课程号=c.课程号
    WHERE院系='计算机系'

    D


    SELECT学号,姓名,课程名,成绩
    FROM(student s JOIN score sc ON s.学号=sc.学号)
    JOIN course c ON sc.课程号=c.课程号
    WHERE院系='计算机系'


    正确答案: D
    解析:
    本题三个表格均使用到了,所以需要两个连接条件,A项使用WHERE引出连接条件,但是多个条件间没有使用AND连接;BD两项没有指明“学号”字段选自哪些表格。

  • 第13题:

    设有学生表S(学号,姓名,性别,年龄)、课程表 (课程号。课程名,学分)和学生选课表SC(学号,课程号,绩).检索学号、姓名和学生所选课程的课程名和成绩,正确的SQL语句是( )。

    A.SELECT学号,姓名,课程名,成绩FROM S,SC,CWHERE S.学号=SC.学号AND SC.学号=C.学号

    B.SELECT学号,姓名,课程名,成绩 FROM(S JOIN SC ON S.学号=SC.学号)JOIN C0N SC.课程号=C.课程号

    C.SELECT S.学号,姓名,课程名,成绩 FROM S JOIN SC JOIN C ON S.学号=SC.学号 ON SC.课程号=C.课程号

    D.SELECT S.学号,姓名,课程名,成绩 FROM S JOIN SC JOIN c ON SC.课程号=C.课程 号ON S.学号=SC.学号


    正确答案:D
    D。【解析】连接查询中JOIN用来连接两个表,而ON是指定两表连接的关键字。

  • 第14题:

    现有表:s(学号,姓名,性别,年龄),c(课程号,课程名,学分),SC(学号,课程号,成绩)。检索学号、姓名和学生所选课程的课程名和成绩,正确的SQL命令是( )。

    A. SELECT学号,姓名,课程名,成绩FROM S,SC,C; WHERE S.学号=SC.学号AND SC.课程号=C.课程号

    B. SELECT学号,姓名,课程名,成绩; FROM(S JOIN SC ON S.学号=SC.学号)JOIN C ON SC.课程号=C.课程号

    C. SELECT S.学号,姓名,课程名,成绩; FROM S JOIN SC JOIN C ON S.学号=SC.学号ON SC.课程号=C.课程号

    D. SELECT S.学号,姓名,课程名,成绩; FROM S JOIN SC JOIN C ON SC.课程号=C.课程号0N S.学号=SC.学号


    正确答案:D
    用JOIN连接格式连接多个表时JOIN的顺序和ON的顺序应该是相反的,否则会影响到最终的查询结果。

  • 第15题:

    设学生表S、课程表C和学生选课表SC的结构如下:

    S(学号,姓名,年龄,系别)

    C(课程号,课程名)

    SC(学号,课程号,成绩)

    查询学生姓名及所选修课程的课程号和成绩,实现此功能的SELECT语句是______。

    A.SELECTS.姓名,SC课程号,SC成绩FROM S WHERE S.学号=SC.学号

    B.SELECTS.姓名,SC课程号,SC成绩FROM SC WHERE S.学号=SC.成绩

    C.SELECTS.姓名,SC课程号,SC成绩FROMS,SC WHERE S.学号=SC.学号

    D.SELECTS.姓名,SC课程号,SC成绩FROM S,SC


    正确答案:C

  • 第16题:

    设有以下3个表: 学生表 STUD (学号,姓名,性别,年龄,专业) 课程表 KC (课程号,课程名,先修课号,学分) 学生选课表 SC (学号,课程号,成绩) 查询选修了课程名为“数据结构”的学生姓名的SELECT语句是______。

    A.SELECT 姓名 FROM STUD; WHERE 学号 SELECT 学号 FROM SC WHERE课程号 IN; (SELECT 课程号 FROM KC WHERE 课程名="数据结构")

    B.SELECT 姓名 FROM STUD; WHERE 学号 in (SELECT 学号 FROM SC WHERE 课程号 UNION; (SELECT 课程号 FROM KC WHERE课程名="数据结构"))

    C.SELECT 姓名 FROM STUD; WHERE SELECT 课程号 FROM KC WHERE课程名="数据结构"

    D.SELECT 姓名 FROM STUD; WHERE 学号 IN(SELECT 学号 FROM SC WHERE 课程号 IN; (SELECT 课程号 FROM KC WHERE 课程名="数据结构"))


    正确答案:D

  • 第17题:

    学生表:student(学号,姓名,性别,出生日期,院系)

    课程表:course(课程号,课程名,学时)

    选课成绩表:score(学号,课程号,成绩)

    其中出生日期的数据类型为日期型,学时和成绩为数值型,其他均为字符型。

    查询“计算机系’’学生的学号、姓名、学生所选课程的课程名和成绩,正确的命令是

    A.SELECT s.学号,姓名,课程名,成绩 FROM studentS,score SC,course C WHERE s.学号=sc.学号,sc.课程号=c.课程号,院系=‘计算机系’

    B.SELECT学号,姓名,课程名,成绩 FROM student S,score SC,course c WHERE s.学号=sc.学号AND sc.课程号=c.课程号AND院系=‘计算机系’

    C.SELECT s.学号,姓名,课程名,成绩 FROM(student s JOIN score sc ON s.学号=sc.学号). JOIN course c ON sc.课程号=c.课程号 WHERE院系=‘计算机系’

    D.SELECT学号,姓名,课程名,成绩 FROM(student s JOIN score sc‘ON s.学号=sc.学号) JOIN course c ON sc.课程号=c.课程号 WHERE院系=‘计算机系’


    正确答案:C

  • 第18题:

    设学生表S、课程表C和学生选课表SC的结构如下;S(学号,姓名,年龄,系别)C(课程号,课程名)SC(学号,课程号,成绩)查询学生姓名及所选修课程的课程号和成绩,实现此功能的SELECT语句是______。

    A.SELECTS.姓名,SC.课程号,SC.成绩FROMSWHERES.学号=SC.学号

    B.SELECTS.姓名,SC.课程号,SC.成绩FROMSCWHERES.学号=SC.成绩

    C.SELECTS.姓名,SC.课程号,SC.成绩FROMS,SCWHERES.学号=SC.学号

    D.SELECTS.姓名,SC.课程号,SC.成绩FROMS,SC


    正确答案:C
    解析:根据题目要求可以分析:本查询涉及到学生表S和学生选课表SC,同时需要满足查询条件“S.学号=SC.学号”,所以只有使用选项C的语句,才能实现查询学生姓名及其所选修课程的课程号和成绩。

  • 第19题:

    某学校的学生成绩管理数据库的关系模式如下;

    S(SNO,SNAME,SEX,AGE,DEPT);

    C(CNO,CNAME);

    SC(SNO,CNO,SCORE)

    其中,S表示学生表。它的各字段以此为学号,姓名、性别、年龄和所在学院;C表示课程表,它的各字段依次为课程号、课程名;SC表示成绩表,它的各字段依次为学号、课程号和分数。

    使用SQL语句,查询“计算机学院”所有“男生”的学号,姓名和年龄。

    使用SQL语句,查询选修“计算机网络”课程的学生姓名和分数。

    使用SQL语句,查询所有课程的课程号以及最高分。

    SELECT CNO,MAX(SCORE) FROM SC GROUP BY CNO

    请帮忙给出每个问题的正确答案和分析,谢谢!


    问题 1 答案解析:
    SELECTSNO,SNAME,AGEfromSwhereSEX='男'andDEPT='计算机学院'


    问题 2 答案解析:
    SELECTSNAME,SCOREfromS,SC,CwhereS.SNO=SC.SNOANDSC.CNO=C.CNO


    问题 3 答案解析:
    SELECTCNO,MAX(SCORE)FROMSCGROUPBYCNO


    问题 4 答案解析:
    INSERTINTOC(CNO,CNAME)VALUES(15,'高等数学')

  • 第20题:

    查询有选课记录,但没有考试成绩的学生的学号和课程号,正确的 SQL 语句是

    A)SELECT 学号 , 课程号 FROM sc WHERE 成绩 = ""

    B)SELECT 学号 , 课程号 FROM sc WHERE 成绩 = NULL

    C)SELECT 学号 , 课程号 FROM sc WHERE 成绩 IS NULL

    D)SELECT 学号 , 课程号 FROM sc WHERE 成绩


    正确答案:C

  • 第21题:

    关系模型SC(学号,姓名,学院,学院领导,课程号,课程名,成绩),函数依赖集F={学号→(姓名,学院,学院领导),学院→学院领导,课程号→课程名,(学号,课程号)→成绩},则关系SC中(请作答此空),要满足第二范式,应将SC分解为( )。

    A.只存在部分依赖
    B.只存在传递依赖
    C.只存在多值依赖
    D.存在部分依赖和传递依赖

    答案:D
    解析:

  • 第22题:

    设有一个关系Student(学号,姓名,系名,课程号,成绩),查询至少选修了四门课程的学生学号、姓名及平均成绩的SELECT语句应该是:SELECT 学号,姓名,AVG(成绩)AS平均成绩FROM StudentGROUP BY(请作答此空)HAVING( )

    A.学号
    B.姓名
    C.系名
    D.课程号

    答案:A
    解析:
    本题考查的是SQL查询语言。GROUP BY子句可以将查询结果表的各行按一列或多列取值相等的原则进行分组,对查询结果分组的目的是为了细化集函数的作用对象。如果分组后还要按一定的条件对这些组进行筛选,最终只输出满足指定条件的组,可以使用HAVING短语指定筛选条件。由题意可知,在这里只能根据学号进行分组,并且要满足条件:此学号的学生至少选修了四门课程。因此,试题(18)的正确答案为A,试题(19)的正确答案为B。

  • 第23题:

    单选题
    设学生表S(学号,姓名,性别,年龄),课程表C(课程号,课程名,学分)和学生选课表SC(学号,课程号,成绩),检索学号、姓名和学生所选课程名及成绩,正确的SQL命令是(  )。
    A

    SELECT学号,姓名,课程名,成绩FROM S,SC,C
    WHERE S.学号=SC.学号AND SC.学号=C.学号

    B

    SELECT学号,姓名,课程名,成绩
    FROM(S JOIN SC ON S.学号=SC.学号)JOIN C ON SC.课程号=C.课程号

    C

    SELECT S.学号,姓名,课程名,成绩
    FROM S JOIN SC JOIN C ON S.学号=SC.学号ON SC.课程号=C.课程号

    D

    SELECT S.学号,姓名,课程名,成绩
    FROM S JOIN SC JOIN C ON SC.课程号=C.课程号ON S.学号=SC.学号


    正确答案: A
    解析:
    这是一个简单查询语句,用WHERE短语将三个表连接起来。JOIN为超连接查询。