已知学生关系模式Student(Sno,Sname,Sdept,MN,Course,Grade),其中:Sno:学号,Sname:学生姓名,Sdept:系名,MN:系主任名,Course:课程名,Grade:成绩.(1)写出关系模式Student的基本函数依赖及其主码.(2)将关系模式分解为2NF,并说明为什么?(3)将关系模式分解为3NF,并说明为什么?

题目

已知学生关系模式Student(Sno,Sname,Sdept,MN,Course,Grade),其中:Sno:学号,Sname:学生姓名,Sdept:系名,MN:系主任名,Course:课程名,Grade:成绩.(1)写出关系模式Student的基本函数依赖及其主码.(2)将关系模式分解为2NF,并说明为什么?(3)将关系模式分解为3NF,并说明为什么?


相似考题
更多“已知学生关系模式Student(Sno,Sname,Sdept,”相关问题
  • 第1题:

    对于学生信息表:student(sno,sname,sex,age,dept),如果把学生“小明”的姓名改为“小强”,则正确的语句是( )。

    A)UPDATE SET sname=‘小明’WHERE sname=‘小强’

    B)UPDATE student SET sname=‘小明’WHERE sname=‘小强’

    C)UPDATE student SET sname=‘小强’

    D)UPDATE student SET sname=‘小强’WHERE sname=‘小明’


    正确答案:D
    更新操作语句的一般格式为:

    更新指定表中满足谓词的记录,把这些记录按照SET子句中的表达式更新相应字段上的值。本题所选的记录应当满足谓词WHERE sname=‘小明’,要更新成sname=‘小强’。

  • 第2题:

    ● 设学生关系Students(Sno,Sname,Sex,Sdept,Sage,Sadd),Sno、Sname、Sex、

    Sdept、Sage、Sadd分别表示学生的学号、姓名、性别、所在系、年龄和住址。查询比计算机系(CS)所有学生年龄都小的其它系的学生姓名及年龄的SQL语句为:

    SELECT Sname,Sage

    FROM Students

    WHERE Sage (61)

    (SELECT Sage

    FROM Students

    WHERE (62) )

    AND Sdept<>'CS';

    (61)

    A. <MAX

    B. >MIN

    C. <ALL

    D. <ANY

    (62)

    A. Sdept='CS'

    B. Sdept<>'CS'

    C. 'Sdept'=CS

    D. 'Sdept'<>CS


    正确答案:C,A

  • 第3题:

    设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),课程表:Course(Cno,Cname,Credit,Semester),选课表:SC(Sno,Cno,Grade)查询C001课程的考试成绩高于该课程平均成绩的学生的学号和C001课成绩。(请用子查询实现)


    参考答案:

  • 第4题:

    根据SQL标准,增加一条记录到表student,学号sno是11301,姓名sname是“snoopy”,年龄age是20。其中student表中包括学号、姓名、年龄、籍贯、系别等属性,并且属性除sno外皆可取空值。下面哪条是参考的?()

    A insert into student values(sno=11301, sname=’snoopy’, age =20)

    B insert into student(sno,sname,age) values(11301,’snoopy’,20)

    C insert into student set sno=11301, sname=’snoopy’, age = 20

    D insert into student values (11301, ’snoopy’, 20)


    参考答案B

  • 第5题:

    关系模式Student的候选关键码有

    A.1个,为(Sno,Cno)

    B.1个,为(Sno,Cno,Tname)

    C.2个,为(Sno,Sname,Cno)和(Sno,Cno,Tname)

    D.2个,为(Sno,Sname,Cno)和(Sno,Cno,Tname)


    正确答案:A
    解析:据题意有Sno→Sname,Cno→Cname,(Sno,Cno)→Grade,(Sno,Cno)→Tname,Tname→Taddr。根据自反律有(Sno,Cno)→Sno(Sno,Cno)→Cno根据曾广律有(Sno,Cno)→(Sname,Cno)(Sno,Cno)→(Sno,Cname)根据传递律有(Sno,Cno)→Taddr因此有(Sno,Cno)→(SnO,Sname,Cno,Cname,Grade,Tname,Taddr),所以(Sno,Cno)是关系Student的码。假设选项B(Sno,Cno,Tname)是码,(Sno,Cno)是(Sno,Cno,Tname)的真子集,而已证明有(Sno,Cno)→(SnO,Sname,Cno,Cname,Grade,Tname,Taddr),根据码的定义码中找不到这样的真子集,所以(Sno,Cno,Tname)不是码。同理(Sno,Sname,Cno)、(Sno,Cno,Tname)也不是码。关系Student只有(个码(Sno,Cno),本题的答案为A。

  • 第6题:

    已知有关系模式R(sno,sname,age),其中sno表示学生的学号,类型为Char(8),前4位表示入学年份。查询所有2003年入学的学生姓名(sname),SQL语句是 _______。

    A.SELECT sname FROM R WHERE.sno='2003%'

    B.SELECT sname FROM R WHERE sno LIKE '2003%'

    C.SELECT sname FROM R WHERE sno='2003_'

    D.SELECT sname FROM R WHERE sno LIKE '2003_'


    正确答案:B

  • 第7题:

    对于数据表:student(sno,sname,sex,age,grade),查询学习成绩为空的学生的学号和姓名,下面语句正确的是______。

    A.SELECT sno,sname FROM student WHERE gade=NULL

    B.SELECT sno,sname FROM student WHERE grade IS NULL

    C.SELECT sno,age FROM student WHERE grade IS NULL

    D.SELECT mo,age FROM student WHERE grade=NULL


    正确答案:B
    解析:A、D选项中,不能写成列名=NULL;C、D选项查询的字段不正确。

  • 第8题:

    对于学生信息表:student(sno,sname,sex,age,dept),要查询所有刘姓学生的信息,正确的语句是

    A.SELECT * FROM student WHERE sname LIKE'刘 * '

    B.SELECT * FROM student WHERE sname LIKE'刘 $'

    C.SELECT * FROM student WHERE sname LIKE'刘%'

    D.SELECT * FROM student WHERE sname LIKE'刘&'


    正确答案:C
    解析:%符号可以表示可以和任意长的字符串匹配。掌握SQL语言中其它特殊符号的含义和用法。

  • 第9题:

    对于学生信息表:student(sno, sname, sex, age, dept),如果把学生“张明”的姓名改为“张岩”,则正确的语句是

    A.UPDATE SET sname='张明'WHERE sname='张岩'

    B.UPDATE student SET sname='张明' WHERE sname='张岩'

    C.UPDATE student SET sname='张岩'

    D.UPDATE student SET sname='张岩' WHERE sname='张明'


    正确答案:D
    解析:A)选项没有写出所要操作的表名;B)选项把姓名写反了。C)选项没有写明条件。掌握关系数据库中SQL语言的插入、删除语句的用法。

  • 第10题:

    基于如下叙述: 关系模式 Student(Sno,Sname,Cno, Cname,Grade,Tname,Taddr)的属性分别表示学号,学生姓名、课程号、课程名、任课教师名和教师地址。其中,一个学生可以选修若干门课程,一个教师可以讲授若干门课程,一门课程可以有若干教师讲授,一个学生选修一门课程时必须选定讲授课程的教师,教师不会重名。

    关系模式Student 的候选关键码有_________。

    A.1个,为(Sno,Cno)

    B.1个,为(Sno,Cno,Tname)

    C.2个,为(Sno,Sname,Cno)和(Sno,Cno,Tname)

    D.2个,为(Sno,Sname,Cno)和(Sname,Cno,Tname)


    正确答案:B
    解析:因“一个学生选修一门课程时必须选定讲授课程的教师,教师不会重名”,故候选键为:(Sno,Cno,Tname)。

  • 第11题:

    要找出籍贯是湖北或湖南的学生的姓名和性别,下述SQL语句正确的有哪三项()。

    • A、SELECT Sname,Ssex FROM Student WHERE Sdept=(‘湖南’,‘湖北’);
    • B、SELECT Sanme,Ssex FROM Student WHERE Sdept=’湖南’ORSdept=’湖北’;
    • C、SELECT Sname,Ssex FROM Student WHERE Sdep tLIKE‘湖%’
    • D、SELECT Sname,Ssex FROM Student WHERE Sdept LIKE‘%湖’;
    • E、SELECT Sname,Ssex FROM Student WHERE Sdept IN(‘湖南’,‘湖北’);

    正确答案:B,C,E

  • 第12题:

    查询名字中第2个字为“阳”的学生的姓名和学号,正确的是()

    • A、Select Sname,Sno from student where Sname like‘_阳%’;
    • B、Select Sname,Sno from student where Sname like‘阳%’;
    • C、Select Sname,Sno from student where Sname like‘_阳’;
    • D、Select Sname,Sno from student where Sname like‘阳_%’;

    正确答案:A

  • 第13题:

    关系模式Student(sno,Sname,Cno,Cname,Grade,Tname,Taddr)的属性分别表示学号、学生姓名、课程号、课程名、成绩、任课教师名和教师地址。其中,一个学生可以选若干门课程,一个教师可以讲授若干门课程,一门课程可以由多个教师讲授,对于同一门课程,学生只能选定一个教师讲授的课程,教师不会重名。下列有关关系模式Student的分解中,是无损联接并保持函数依赖的是——。

    A.{(Sno,Sname,Cno,rname,raddr),(sno,Sname,Cno,Cnarne,Grade)}E:INF

    B.{(Sno,Sname),(sn0,Cno,Grade,Tname,。Taddr),(Cno,Cname)∈2NF

    C.{(Sno,Sname),(sno,Cno,Grade),(rI'name,Taddr),(Cno,Cname,)∈3NF

    D.{(Sno,Sname),(Sno,Cno,Grade),(Tname,Taddr),(Tname,Cno),(Cno,Cname)}∈BCNF


    正确答案:B
    解析:关系模式Student(Sno,Shame,Cno,Cname,Grade, rname。Taddr)的候选关键字有1个,为(Sno,Cno)。最小函数依赖集中有5个函数依赖。由于存在部分依赖现象,因此该关系模式属于lNF范式,分解p={(Sno,Shame),(Sn0,Cno,Grade,Tname,Taddr),(Cno,Cname)}∈2NF,并且是无损联接及保持函数依赖。

  • 第14题:

    对于学生信息表:student(sno,sname,sex,age,dept),能够得到年龄在20岁到22岁之间的学生的姓名和学号的语句是

    A.SELECT * FROM student WHERE age BETWEEN 20 AND 22

    B.SELECT sname,sno FROM student WHERE age BETWEEN 20 AND 22

    C.SELECT sname,sno FROM student WHERE age>=20

    D.SELECT sname,sno FROM student WHERE age<=22


    正确答案:B
    解析:A) 选项中,不是选择所有列;C) 选项年龄没有小于等于22岁;D) 选项年龄没有大于等于20岁。

  • 第15题:

    设有学生表:Student(Sno,Sname,Ssex,Sage,Sdept),课程表:Course(Cno,Cname,Credit,Semester),选课表:SC(Sno,Cno,Grade)删除“VB”考试成绩最低的学生的VB修课记录。


    参考答案:

  • 第16题:

    某数据库中有关系Student(Sno,Sname,Ssex,Sage,Sdept),各属性分别表示学号,姓名,性别,年龄以及所在的系;Course(Cno,Cname,Ccredit)属性分别表示课程号,课程名,学分;SC(Sno, Cno,Grade)为学生选课表,各属性分别表示为学号,课程号和分数;完成下列的SQL语句:


    正确答案:

  • 第17题:

    已知学生关系模式为S(Sno,Sname,Major),其属性分别代表学生的学号、姓名和专业名。要查询专业名中含有“计算机”的学生总数,可使用语句:

    SELECT(23)

    FROM S

    WHERE(24)

    A.Sno

    B.SUM(Sno)

    C.MAX(Sno)

    D.COUNT(Sno)


    正确答案:D
    解析:查询表语句的一般格式为:SELECT<目标列表达式>FROM<表名>[WHERE<条件表达式>],本题中,目标表达式为满足某条件的学生总数目,应使用COUNT集函数。

  • 第18题:

    对于学生信息表STUDENT(SNO, SNAME,SEX,AGE,DEPT)(STUDENT由学号SNO、姓名SNAME、性别SEX、年龄AGE、所在系DEPT 5个属性组成,其中SNO为主码),求年龄20~23岁之间的学生姓名和年龄,正确的语句是( )。A.SELECT SNAME,AGE FROM STUDENT WHERE AGE>20 AND AGE<23B. SELECT*FROM STUDENT WHERE AGE BETWEEN 20 AND 23C.SELECT SNAME,AGE FROM STUDENT WHERE AGE BETWEEN 20 AND 23D.以上均不正确


    正确答案:C
    A项在表述年龄的范围时有错误,SQL并不是那样表示的,B项不符题意,查询的结果为学生信息表的所有字段。

  • 第19题:

    试题基于如下三个关系,其中学生关系student的主码是sno,课程关系course的主码是cno,选课关系SC的主码是(sno,cno)。

    查找学生姓名及其所选修课程的课程号和成绩,正确的SQL语句是( )。

    A)SELECT sname FROM student,SELECT cno,grade FROM sc

    WHERE student.sno=sc.sno

    B)SELECT sname, cno,grade FROM student,course

    WHERE student.sno=course.cno

    C)SELECT sname, cname,grade FROM student,course, sc

    WHERE student.sno=sc.Snoand sc.cno=course.cno

    D)SELECT sname,cno, grade FROM student,sc

    WHERE student.sno=sc.sno


    正确答案:D
    要查询学生姓名,选修课程号及对应成绩,在同一SELECT子句后应包含这三个字段,故选项A)错误;而学生学号是用来关联sc与student表,故在where子句中应有“student.sno=sc.sno”,故选项B)错误;对于选项C),它没有查询课程号,而是查询的课程名,所以错误。

  • 第20题:

    对于学生信息表:student(sno, sname, sex, age, dept),能够得到年龄在20岁于22岁之间的学生的姓名和学号的语句是

    A.SELECT * FROM student WHERE age BETWEEN 20 AND 22

    B.SELECT sname, sno FROM student WHERE age BETWEEN 20 AND 22

    C.SELECT sname,sno FROM student WHERE age>=20

    D.SELECT shame,sno FROM student WHERE age<=22


    正确答案:B
    解析:A)选项中,不是选择所有列;C)选项年龄没有小于等于22岁;D)选项年龄没有大于等于20岁。掌握SQL语言的连接查询、嵌套查询等语句。

  • 第21题:

    对于学生信息表:student(sno,sname,sex,age,grade),查询学习成绩为空的学生的学号和姓名,下面语句正确的是

    A.SELECT sno,sname FROM student WHERE grade=NULL

    B.SELECT sno,sname FROM student WHERE grade IS NULL

    C.SELECT sno,age FROM student WHERE grade IS NULL

    D.SELECT sno,age FROM student WHERE grade=NULL


    正确答案:B
    解析:A),D)选项中,不能写成列名=NULL;C),D)选项查询的字段不正确。

  • 第22题:

    设数据库中已有教材中的Student(Sno,Sname,Ssex,Sage,Sdept)、Course(Cno,Cname,Credit,Semster)和SC(Sno,Cno,Grade)表。现要查询学生选的第2学期开设课程的情况,只需列出学号、姓名、所在系和所选的课程号。该查询涉及到的表是()。

    A仅Student表

    B仅Student和SC表

    C仅Student和Course表

    DStudent、SC和Course表


    D

  • 第23题:

    设数据库中已有教材中的Student(Sno,Sname,Ssex,Sage,Sdept)、Course(Cno,Cname,Credit,Semster)和SC(Sno,Cno,Grade)表。现要查询学生选的第2学期开设课程的情况,只需列出学号、姓名、所在系和所选的课程号。该查询涉及到的表是()。

    • A、仅Student表
    • B、仅Student和SC表
    • C、仅Student和Course表
    • D、Student、SC和Course表

    正确答案:D