用SQL语言定义下列学生关系模式:S(SNO,SNAME,SEX,AGE,CLASS_ID)假设规定

题目

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

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

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

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

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

第1题:

第 15~16 题基于以下说明。 设有三个关系:

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

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

课程关系C(CN0,CNAME,TEACHER)(分别代表课程的编号、课程名、任课教师)

第15题:下列不能实现与关系代数表达式Πsname(σcname=\'DB\' )相同查询的SQL命令是( )。

A.SELECT SNAME FROM S,SC,C WHERE S.SN0=SC.SNO AND SC.CNO=C.CNO AND CNAME="DB"

B.SELECT SNAME FROM S WHERE SNO IN(SELECT SNO FROM SC,C WHERE SC.CNO=C.CNO AND CNAME="DB")

C.SELECT SNAME FROM S WHERE SNO IN(SELECT SNO FROM SC WHERE CNO IN ( SELECT CNO FROM C WHERE CNAME="DB"))

D.SELECT SNAME FROM S,C WHERE CNAME="DB"


正确答案:D
用自然连接和子查询均能正确地表达题目中的关系代数表达式,选项D中没有自然连接的条件,所以是错误的。

第2题:

设学生关系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

第3题:

设有关系S(SNO,SNAME,SEX),C(CNO,CNAME),SC(SNO,CNO,GRADE)。其中SNO为学生号,SNAME为学生姓名,SEX为性别,CN0为课程号,CNAME为课程名。要查询选修”计算机\"课的全体女学生姓名的SQL语句是SELECT SNAME FROM S,C,SC 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

 本题涉及三个表的连接查询,需要求的是WHERE后面的连接条件,首先连接S与SC表,连接条件为S.SNO=SC.SNO;然后再连接C表和SC表,连接条件为C.CNO=SC.CNO。这样就可以将三个表连接起来,但是分析题意,同时还要在连接后所形成的表中满足SEX='女'和CNAME='计算机'。通过以上分析,连接是同时满足的关系,故应用'AND'连接。因此,WHERE子句内容应为:S.SNO=SC.SNO and C.CNO:SC.CNO and SEX='女'and CNAME='计算机'。

第4题:

以下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以及匹配符%和_进行模糊查询。其中,%表示可以和任意长的(长度可以为零) 字符串匹配;_表示可以和任意长的单个字符匹配。

第5题:

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

第6题:

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

A. S

B. C,SC

C. S,SC

D. S,C,SC


参考答案:D

第7题:

第(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

第8题:

设教学数据库中有三个基本表:

学生表   S(SNO,SNAME,AGE,SEX)

选课表   SC(SNO,CNO,GRADE)

课程表   C(CNO,CNAME,TEACHER)

写出“不学C6课程的男学生的学号和姓名(SNO,SNAME)”关系代数表达式。


答案:πSNO,SNAME(σSEX='男'(S)(πSNO(SC)- πSNO(σCNO='C6'(SC))))

第9题:

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

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) ,需要进行自然连接。

第10题:

数据库中有三个关系: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

更多相关问题