2. 删除上列中创建的UNIQUE约束。
【思考与练习】使用T-SQL命令创建一个新表,使用一个复合列作为主键,作为表的约束,并为其命名
使用ALTER TABLE 语句为表Employees5添加一个新列Address,并为该列定义UNIQUE约束
使用界面方式为一个新表定义主键和UNIQUE约束,并了解如何使用图形向导方式删除主键和UNIQUE约束
3.创建新表student,只考虑“号码”和“性别”两列,性别只能包含男或女
【思考与练习】向该表插入数据,“性别”列插入“男”和“女‘以外的字符,查看会发生什么情况
4.创建新表salary2,结构与salary相同,但salary2表不允许Outcome列大于Income列
【思考与练习】a.向表中插入数据,查看outcome值大于income值会发生什么情况。 b.创建一个新表Employees6,只考虑“学号”和“出生日期”两列,出生日期必须晚于1980年1月1日
5.对YGGL数据库的Employees表进行修改,为其增加“DepartmentID”字段的CHECK约束
【思考与练习】测试CHECK约束的有效性
6.创建一个规则对象,用以限制输入到该规则所绑定的列中的值只能说该规则中列出的值
【思考与练习】a.建立一个规则对象,限制值在0~20,然后把它绑定到Employees表的workyear字段上
b.删除上述建立的规则对象
7.创建一个表salary3,要求所有salary3表上的EmployeeID列的值都要出现在salary中,利用参照完整性约束实现,要求当删除或修改salary表上的EmployeeID列时,salary3表中的EmployeeID值也会随之变化
【思考与练习】a.创建salary3表后,初始化该表的数据与salary表相同。删除salary表中一行数据,再查看salary3的内容,看看会发生什么情况。
b.使用ALTER TABLE 语句向salary表中的EmployeeID列上添加一个外键,要求当Employees表中要删除或修改与EmployeeID值有关的行时,检查salary表有没有与该EmployeeID值相关的记录,如果存在,则拒绝更新Employees表
c.在对象资源管理器中建立Departments,Employees和salary3表之间的参照关系
实验7 存储过程和触发器
(1)存储过程
1.创建存储过程,使用Employees 表中的员工人数来初始化一个局部变量,并调用这个存储过程
执行该存储过程,并查看结果
2.创建存储过程,比较两个员工的实际收入,若前者比后者高就输出0,否则输出1
执行该存储过程,并查看结果
3.创建添加职员记录的存储过程EmployeeAdd
执行该存储过程