用SQL语言定义下列学生关系模式:S(SNO,SNAME,SEX,AGE,CLASS_ID)假设规定学生年龄在16-25岁之间,学号(SNO),姓名(SNAME)非空,性别属性域是{男,女},CLASS_ID为班号。试用SQL语言定义这些完整性约束。

题目

用SQL语言定义下列学生关系模式:

S(SNO,SNAME,SEX,AGE,CLASS_ID)

假设规定学生年龄在16-25岁之间,学号(SNO),姓名(SNAME)非空,性别属性域是{男,女},CLASS_ID为班号。

试用SQL语言定义这些完整性约束。


相似考题
更多“用SQL语言定义下列学生关系模式:S(SNO,SNAME,SEX,AGE,CLASS_ID)假设规定 ”相关问题
  • 第1题:

    设学生关系S(sno, sname, sex, dept)的主码为sno,学生选课关系SC(sno, cno, grade)的主码为(sno, cno),则关系模式R(sno, cno, sex, dept, grade)最高属于( )。

    A.1NF

    B.2NF

    C.3NF

    D.BCNF


    正确答案:A

  • 第2题:

    对于学生信息表: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岁。

  • 第3题:

    以下2题基于以下说明。设有三个关系:

    学生关系S(SNO,SNAME,AGE,SEX) (分别代表学生的学号、姓名、年龄、性别)

    学习关系SC(SNO,CNO,GRADE) (分别代表学生的学号、课程编号、成绩)

    若在关系S中查找姓名中第一个字为′王′的学生的学号和姓名。下面列出的SQL语句中,正确的是

    A.SELECT SNO,SNAME FROM S WHERE SNAME=′王%′

    B.SELECT SNO,SNAME FROM S WHERE SNAME=′王_′

    C.SELECT SNO,SNAME FROM S WHERE SNAME LIKE′王%′

    D.SELECT SNO,SNAME FROM S WHERE SNAME LIKE′王_′


    正确答案:C
    解析:SQL语言中可以利用LIKE以及匹配符%和_进行模糊查询。其中,%表示可以和任意长的(长度可以为零) 字符串匹配;_表示可以和任意长的单个字符匹配。

  • 第4题:

    在“学生—选课—课程”数据库中的两个关系如下:

    S(SNO,SNAME,SEX,AGE)

    SC(SNO,CNO,GRADE)

    则与SQL命令SELECT s.sname,sC.grade FROM s, sc WHERE s.sno=s sC.sno等价的关系代数表达式是【 】。


    正确答案:πs.sname sc. Grade^(S SC)
    πs.sname, sc. Grade^(S SC) 解析:SQL命令SELECT s.sname,s sC.grade FROM s, sc WHERE s.sno=s sC.sno完成的运算实际上是将关系S与关系SC进行自然连接运算,然后再进行投影。

  • 第5题:

    在“学生—选课—课程”数据库中的两个关系如下:

    s(sno,sname,sex,age)

    sc(sno,cno,grade)

    则关系代数表达式πs.sname,grade()等价的SQL命令是SELECT s.sname,sc.grade FROM s,sc WHERE______AND s.age>20


    正确答案:s.sno=sc.sno
    s.sno=sc.sno 解析:将关系S和SC进行自然连接,其自然连接的条件是s.sno=sc.sno。

  • 第6题:

    对于学生信息表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项不符题意,查询的结果为学生信息表的所有字段。

  • 第7题:

    以下2题基于以下说明。设有三个关系:

    学生关系S(SNO,SNAME,AGE,SEX)(分别代表学生的学号、姓名、年龄、性别)

    学习关系SC(SNO,CNO,GRADE)(分别代表学生的学号、课程编号、成绩)

    若在关系S中查找姓名中第一个字为'王'的学生的学号和姓名。下面列出的SQL语句中,正确的是

    A.SELECT SNO,SNAME FROMSWHERE SNAME='王%.'

    B.SELECT SNO,SNAME FROM S WHERE SNAME='王_'

    C.SELECT SNO,SNAMEFROMS WHERE SNAME LIKE '王%.'

    D.SELECT SNO,SNAME FROM S WHERE SNAME LIKE '王_'


    正确答案:C
    解析:SQL语言中可以利用LIKE以及匹配符%和_进行模糊查询。其中,%表示可以和任意长的(长度可以为零)字符串匹配,—表示可以和任意长的单个字符匹配。

  • 第8题:

    建立一个学生信息表student,要求它由学号sno、姓名sname、性别sex、年龄age4个属性组成,其学号属性唯一,学号、姓名字段不能为空。下列语句正确的是

    A.CREATE TABLE student(sno char(5) NOT NULL sname char(8) NOT NULL sex char(1) age int);

    B.CREATE TABLE student (sno char(5) NOT NULL UNIQUE sname char(8) sex char(1) age int);

    C.CREATE TABLE (sno char(5) NOT NULL UNIQUE sname char(8) NOT NULL sex char(1) age int);

    D.CREATE TABLE student (sno char(5) NOT NULL UNIQUE sname char(8) NOT NULL sex char(1) age int);


    正确答案:D
    解析:A) 选项中,创建sno字段没有唯一性限制;B) 选项中,创建sname字段没有不为空的限制; C) 选项中,创建表没有表明。

  • 第9题:

    假定学生关系是S(SNO,SNAME,SEX,AGE)要查找选修“数据库”课程的女学生的姓名,将涉及到的关系______。

    A.S

    B.C,SC

    C.S,SC

    D.S,C,SC


    正确答案:D

  • 第10题:

    对于学生信息表S(SNUMBER,SNAME,SEX,AGE,DEPT)(STUDENT 由学号 SNO,姓名SNAME,性别SEX,年龄AGE,所在系DEPT5个属性组成,其中SNUMBER为主码),求年龄20~23岁之间的学生姓名和年龄,正确的语句是( )。

    A.SELECT SNAME,AGE FROM S WHERE AGE>20 AND AGE<23

    B.SELECT SNAME,AGE FROM S WHERE AGE BETWEEN 20 AND 23

    C.SELECT *FROM S WHERE. AGE BETWEEN 20 AND 23

    D.以上均不正确


    正确答案:B
    解析:需要查询的是姓名和年龄属性,故主句为SELECT SNAME, AOE。WHERE子句中可以使用BETWEEN进行查询, BETWEEN指定允许取值的范围,AND前面是低值,后面是高值。年龄在20到23岁之间的条件表达式应为BETWEEN 20 AND 23。

  • 第11题:

    8 )在 “ 学生选课 ” 数据库中的两个关系如下:

    S ( SNO , SNAME , SEX , AGE ) , SC ( SNO , CNO , GRADE )

    则与 SQL 命令 SELECT sname FROM s WHERE sno IN ( SELECT sno FROM sc WHERE grade<60 )

    等价的关系代数表达式是 __________ 。


    正确答案:

  • 第12题:

    假定学生关系是S(SNO,SNAME,SEX,AGE),其属性是学号,姓名,性别,年龄;课程关系是C(CNO,CNAME),属性是课程号,课程名;学生选课关系是SC(SNO,CNO,GRADE),属性是学号,课程号,成绩。要查找选修“COMPUTER”课程的“女”学生姓名,将涉及到关系有()、()、(),SQL语句为:SELECT SNAME FROM WHERE S.SNO=SC.SNO AND SC.CNO=C.CNO AND();查询所有课程都及格的学生学号,姓名,SQL语句为:SELECT SNO, SNAME FROM()WHERE() (SELECT * FROM SC WHERE S.SNO=SC.SNO AND ())。


    正确答案:s;sc;c;CNAME=‘computer’and SEX=‘女’;S;NOT EXISTS;GRADE<60

  • 第13题:

    第(38)~(40) 题基于学生一课程数据库中的3个基本表:

    学生信息表:s(sno,sname,sex,age,dept)主码为sno

    课程信息表:c(cno,cname,teacher)主码为cno

    学生选课信息表:sc(sno,cno,grade)主码为(sno,cno)

    实现“从学生信息表中找出性别为女的学生姓名”的SQL语句是

    A.SELECT * FROM s

    B.SELECT * FROM s WHERE sex='女'

    C.SELECT sname FROM s WHERE sex='女'

    D.SELECT * FROM s WHERE grade="


    正确答案:C

  • 第14题:

    在“学生—选课—课程”数据库中的两个关系如下:

    S(SNO,SNAME,SEX,AGE) ,SC(SNO,CNO,GRADE)

    若使用连接查询的SQL语句查找年龄大于20岁的学生姓名(SNAME) 和成绩 (GRADE) ,则正确的命令是SELECT sname,grade FROM s,sc WHERE age>20 AND ______。


    正确答案:s.sno=sc.sno
    s.sno=sc.sno 解析:要用连接查询完成查找年龄大于20岁的学生姓名(SNAME) 和成绩 (GRADE) ,需要进行自然连接。

  • 第15题:

    数据库中有三个关系:S(SNO,SNAME,AGE,SEX)SC(SNO,CNO,GRADE)C(CNO,CNAME,TEACHER)查询语句“查询学习全部课程的学生姓名”可用____关系代数表达式表达

    A、ΠSNAME(S⋈SC⋈C)

    B、ΠSNAME(C⋈(ΠSNO,CNO(SC)÷ΠSNO(S)))

    C、ΠSNAME(S⋈(ΠSNO,CNO(SC)÷ΠCNO(C)))

    D、以上均不是


    参考答案:C

  • 第16题:

    设有学生数据库:student(sno,sname,sex,age,dept)。现要查询所有刘姓学生的信息,可使用如下的 SQL语句:SELECT*FROM student WHERE【 】。


    正确答案:snameLIKE'刘%'
    snameLIKE'刘%' 解析:查询刘姓同学,也就是姓名的第一个字为“刘”的同学,就可用LIKE谓词。LIKE后面的字符串中字符''表示可以是任意单个字符、'%'表示可以是任意多个字符。

  • 第17题:

    已知有关系模式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

  • 第18题:

    学生关系模式 S( S#,Sname,Sex,Age),S的属性分别表示学生的学号、姓名、性别、年龄。要在表S中删除一个属性“年龄”,可选用的SQL语句是( )。

    A. DELETE Age from S B. ALTER TABLE S DROP Age

    C. UPDATE S Age D. ALTER TABLE S ‘Age’


    正确答案:
     

  • 第19题:

    设有关系S(SNO,SNAME,SEX) ,C(CNO,CNAME) ,SC(SNO,CNO) 。其中SNO为学号,SNAME为学生姓名,SEX为性别,CNO为课程号,CNAME为课程名。要查询选修“计算机”课的全体女学生姓名的SQL语句是SELECT sname FROM S,SC,C WHERE子句。这里WHERE子句的内容是

    A.s.sno=sc.sno AND sex=′女′AND cname=′计算机′

    B.s.sno=sc.sno AND c.cno=sc.cno AND cname=′计算机′

    C.sex=′女′AND cname=′计算机′

    D.s.sno=sc.sno AND c.cno=sc.cno AND sex=′女′AND cname=′计算机′


    正确答案:D
    解析:用SQL的SELECT语句完成查询操作时,首先要分析查询结果和查询条件涉及的属性都来自于哪些关系,如果涉及到两个或两个以上的关系,则可以采用自然连接或者子查询来完成。另外,如果涉及到的两个关系没有相同的属性,不能直接进行自然连接,就需要引入第3个关系并与两个关系进行自然连接。本题中,查询选修“计算机”课的全体女学生姓名的操作中涉及到的属性有SNAME、SEX、CNAME,分别来自关系S和C,但S和C这两个关系没有相同的属性,所以还要引入关系SC,分别与关系S和C进行自然连接。还要有选修“计算机”课的“女”学生两个条件。

  • 第20题:

    对于学生信息表: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)选项查询的字段不正确。

  • 第21题:

    设学生关系S(sno,sname,sex,dept)的主码为sno,学生选课苯系SC(sno,cno,grade)的主码为(sno,cno),则关系模式R(sno,cno,sex,dept,grade)最高属于( )。

    A.1NF

    B.2NF

    C.3NF

    D.BCNF


    正确答案:A
    解析:本题考查关系模式的规范化。关系R的每个分量都是不可分的数据项,属于1NF。若关系模式属于1NF,且每一个非主属性完全函数依赖于码,则属于2NF。这个关系中,非主属性“cno”并不依赖于码sno,故不属于2NF,仍然属于1NF。因此,本题的正确答案是A。

  • 第22题:

    建立一个学生信息表student,要求它由学号sno,姓名sname,性别sex,年龄age,4个属性组成,其学号属性惟一,学号、姓名字段不能为空。下列语句正确的是

    A.CREATE TABLE student (sno char(5)NOT NULL sname char(8)NOT NULL sex char age int);

    B.CREATE TABLE student (sno char(5)NOT NULL UNIQUE sname char(8) sex char age int);

    C.CREATE TABLE (sno char(5)NOT NULL UNIQUE sname char(8)NOT NULL sex char age int);

    D.CREATE TABLE student (sno char(5)NOT NULL UNIQUE sname char(8)NOT NULL sex char age int);


    正确答案:D
    解析:本题主要考查了SQL语言中,创建基本表的方法。 A)选项中,创建sno字段没有惟一性限制;B)选项中,创建sname字段没有不为空的限制;C)选项中,创建表没有表明。

  • 第23题:

    有关系模式S(Sno,Sname,Age,Dept);C(Cno,Cname,Teacher);SC(Sno,Cno,Score)。下列查询结果相同的是()。

    A.πSname((S)σScore>60(SC))
    B.πSname(σScore>60(SSC))
    C.σScore>60(πSname(SSC))
    D.σScore>60(πSname(S)(SC))

    答案:A,B
    解析:
    对于在关系模式S(Sno,Sname,Age,Dept);C(Cno,Cname,Teacher);SC(Sno,Cno,Score)中。πSname((S)σScore>60(SC))和πSname(σScore>60(SSC))都是表示从S和SC表中查询成绩大于60的学生的姓名。