数据库实验《实验3》
altertablecoursedropconstraintCK_credit
8.
createruleprof_rule
as@pro=('助教'|'讲师'|'副教授'|'教授')
execsp_bindrule'prof_rule','teacher.pro'
9.
createdefaultEmail_defaultas'无'
4.利用Transact-SQL语句为teaching数据库中course表的cname列和period列的组合创建UNIQUE约束,规定相同学时课程名的唯一性。
5.利用SQL Server Management Studio为teaching数据库中student表的birthday列创建CHECK约束,规定学生的年龄在17-25岁之间。
2.利用Transact-SQL语句将数据库teaching中score表中的studentno列设置为引用表student的外键。将teach_class表中的teacherno、classno和courseno列分别设置为引用表teacher、class和course的外键。
3.利用SQL Server Management Studio为teaching数据库中class表的classname创建UNIQUE约束。
6.利用Transact-SQL语句为teaching数据库中course表的credit列创建CHECK约束,规定学分的取值范围为1-6.
7.利用Transact-SQL语句删除teaching数据库中的约束UQ_classname、UQ_course、CK_student_birthday和CK_credit。
3.
altertableclassaddUNIQUE(classname)
4.
altertablecourseaddUNIQUE(cname,period)
5.
altertablestudentaddcheck((year(Getdate())-year(birthday))between17and25)
execsp_bindefault'Email_default','student.Email'
dropruleprof_rule
dropdefaultEmail_default
execsp_unbindrule'teacher.pro'
10.
dropruleprof_rule
execsp_unbindefault'student.Email'
2.
altertableteach_classaddforeignkey(teacherno)referencesteacher(th_classaddforeignkey(classno)referencesclass(classno)
altertableteach_classaddforeignkey(courseno)referencescourse(courseno)
实验名称
实验3
实验地点
8-318
实验类型
设计
实验学时
1
实验日期
2018.6.12
★撰写注意:版面格式已设置好(不得更改),填入内容即可。
一、实验目的
1.掌握系统数据类型的特点和功能。
2.掌握创建、修改表结构的方法。
3.掌握插入、更新和删除表数据的方法。
二、实验内容
1.利用SQL Server Management Studio将teaching数据库中的score表的courseno列设置为引用表course的外键。
dropdefaultEmail_default
useAccess
8.利用Transact-SQL语句为teaching数据库创建规则prof_rule,规定教师职称取值只能为“助教”,“讲师”,“副教授”和“教授”,并将其绑定到teacher表的prof列上。
9.利用Transact-SQL语句为teaching数据库创建默认值对象Email_default,规定电子邮箱地址默认为“无”,并将其绑定到student表的Email列上。
10.利用Transact-SQL语句删除teaching数据库中的规则Prof_rule和student表的Email列的默认值对象Email_default。。
三、实验环境
1.操作系统:Windows XP
2.开发软件:SQL Server 2008
四、提交文档
提交本实验报告(电子版),文件名命名:学号 姓名《实验X:XXXXXXX》.doc
教师将批阅后(有分数)的全体学生实验报告刻入一张光盘存档,保证光盘可读。
五、附:源代码
1.
altertablescoreaddforeignkey(courseno)referencescourse(courseno)
altertablescoreaddforeignkey(studentno)referencesstudent(studentno)
6.
altertablecourseaddcheck(credit>1andcredit<6)
7.
altertableclassdropconstraintUQ_classname
altertablecoursedropconstraintUQ_course
altertablestudentdropconstraintCK_student_birthday