现有学生表和修课表,其结构为: 学生表(学号,姓名,入学日期,毕业日期) 修课表(学号,课程号,考试日期,成绩) 现要求修课表中的考试日期必须在学生表中相应学生的入学日期和毕业日期之间。下列实现方法中,正确的是()。
A在修课表的考试日期列上定义一个CHECK约束
B在修课表上建立一个插入和更新操作的触发器
C在学生表上建立一个插入和更新操作的触发器
D在修课表的考试日期列上定义一个外键引用约束
正确答案
答案解析
相似试题
(简答题)
创建表并给出约束。 用SQL语句创建如下三张表:学生表(Student)、课程表(Course)和学生修课表(SC),这三张表的结构和约束如表4-1到表4-3所示。
(单选题)
设学生表和课程表的结构分别为(学号,姓名)和(学号,课程号,成绩),如果希望查询出“成绩大于90分的学生姓名”,则对应的SQL语句是()。
(简答题)
设有关系模式:学生(学号,姓名,所在系,班号,班主任,系主任),其语义为:一个学生只在一个系的一个班学习,一个系只有一个系主任,一个班只有一名班主任,一个系可以有多个班。 (1)请指出此关系模式的候选键。 (2)写出该关系模式的函数依赖集。 (3)该关系模式属于第几范式?并简单说明理由。 (4)若不是第三范式的,请将其规范化为第三范式关系模式,并指出分解后的每个关系模式的主键和外键。
(简答题)
设有关系模式:学生修课(学号,姓名,所在系,性别,课程号,课程名,学分,成绩)。设一个学生可选多门课程,一门课程可以被多名学生选。每位学生由学号惟一标识,一个学生只在一个系学习;每门课程由课程号惟一标识。每个学生选的每门课程有惟一的成绩。 (1)请指出此关系模式的候选键。 (2)写出该关系模式的函数依赖集。 (3)该关系模式属于第几范式?并简单说明理由。 (4)若不是第三范式的,请将其规范化为第三范式关系模式,并指出分解后的每个关系模式的主键和外键。
(简答题)
“图书表”结构如下: 书号:统一字符编码定长类型,长度为6,主键; 书名:统一字符编码可变长类型,长度为30,非空; 第一作者:普通编码定长字符类型,长度为10,非空; 出版日期:日期型; 价格:定点小数,小数部分1位,整数部分3位,默认值为20。 写出创建表的SQL语句,要求在定义表的同时定义数据的完整性约束。(表名和列名用中文)
(简答题)
假设某教学管理数据库有以下三张表,请写出下列问题的SQL语句: 学生(学号,姓名,年龄,性别) 课程(课程号,课程名,任课教师) 成绩(学号,课程号,成绩) (1)如何在SQL Server上创建这三张表; (2)查询刘峰教师所授课程号,课程名; (3)查询年龄大于20岁的所有男同学的学号、姓名; (4)查询至少选修了两门课程(含两门)的学生学号; (5)查询王文芳同学选修的所有课程的课程号; (6)查询王文芳同学不学的课程的课程号; (7)查询所有上刘峰老师课程的学生学号; (8)查询所有选修“数据库原理”的学生的学号; (9)向学生表中插入一条记录(’2003001’,’吴红’,21,’女’);(1表示女,0表示男) (10)删除三张表中所有学号为20020001的学生信息; (11)把学号为20030002的学生的年龄改为22岁。
(简答题)
有三个关系, student:Sno(学号),Sname(姓名),Ssex(性别),Sage(年龄),Sdept(所在系)。 Course:Cno(课程号),Cname(课程名),Credit(学分),Semester(开课学期),Pcno(直接先修课)。 SC://Sno(学号),Cno(课程号),Grade(成绩)。 试用关系代数表达式完成下列查询: (1)查询“信息管理系”学生的选课情况,列出学号、姓名、课程号和成绩。 (2)查询“数据库基础”课程的考试情况,列出学生姓名、所在系和考试成绩。 (3)查询考试成绩高于80分的学生的姓名、课程名和成绩。 (4)查询计算机系没选VB的学生姓名。
(简答题)
计算两个变量的和,然后显示其结果: DECLARE @x int = 10, @y int = 20, @z int SET @z = @x + @y Print @z
(简答题)
什么是数据库的逻辑结构设计?简述其设计步骤。