SQL server 实验6.2 完整性

书目:SQL sever 实用教程(第五版)(SQL server 2008版)
本实验使用数据表为实验3中创建的employees、departments、salary表

SQL server 实验6.2 完整性_第1张图片

 


 

(1)创建一个表Employees5,只包含EmployeeID、Name、Sex和Education列。将Name设为主键,作为列Name的约束。对EmployeeID列进行unique约束,并作为表的约束。

SQL server 实验6.2 完整性_第2张图片

 


(2)删除上例中的unique约束

SQL server 实验6.2 完整性_第3张图片

  •  使用T-SQL命令创建一个新表,使用一个复合列作为主键,作为表的约束并为其命名SQL server 实验6.2 完整性_第4张图片
  • 使用alter table语句为表Employees5添加一个新列Address,并为该列定义unique约束SQL server 实验6.2 完整性_第5张图片
  •  使用界面方式为一个新表定义主键和unique约束,并了解如何使用图形导向方式删除主键和unique约束SQL server 实验6.2 完整性_第6张图片SQL server 实验6.2 完整性_第7张图片SQL server 实验6.2 完整性_第8张图片

 


 (3)创建新表student,只考虑“号码”和“性别”两列,性别只包含男或女

SQL server 实验6.2 完整性_第9张图片

  •  向该表插入数据,“性别”列插入“男”和“女”以外的字符,查看会发生什么情况SQL server 实验6.2 完整性_第10张图片

 


(4)创建新表Salary2,结构与Salary相同,但Salary2表不允许Outcome列大于Income列。

SQL server 实验6.2 完整性_第11张图片

  •  向表中插入数据,查看outcome值比income值大时会发生什么情况SQL server 实验6.2 完整性_第12张图片
  •  创建一个Employees6,只考虑“学号”和“出生日期”两列,出生日期必须晚于1980年1月1日SQL server 实验6.2 完整性_第13张图片

 


(5)对YGGL数据库中的Employees表进行修改,为其增加“DepartmentID”字段的check约束

SQL server 实验6.2 完整性_第14张图片

  •  测试check约束的有效性

Check约束通过逻辑表达式来判断数据的有效性,用来限制输入一列或多列的值的范围,在列中更新数据时,所要输入的内容必须满足Check约束的条件,否则将无法正确输入。


(6)创建一个规则对象,用以限制输入到该规定所绑定的列中的值只能是该规则中列出的值

SQL server 实验6.2 完整性_第15张图片

  •  建立一个规则对象,限制值在0至20之间。然后把它绑定到Employees表的WorkYear字段上SQL server 实验6.2 完整性_第16张图片
  •  删除上述建立的规则对象SQL server 实验6.2 完整性_第17张图片

 


(7)创建一个Salary3表,要求所有Salary3表上的EmployeeID列的值都要出现在Salary表中,利用参照完整性约束实现。要求当删除或修改Salary表上的EmployeeID列时,Salary3表中的EmployeeID值也会随之变化

SQL server 实验6.2 完整性_第18张图片

  •  在“对象资源管理器”中建立Departments、Employees和Salary三个表之间的参照关系SQL server 实验6.2 完整性_第19张图片SQL server 实验6.2 完整性_第20张图片SQL server 实验6.2 完整性_第21张图片SQL server 实验6.2 完整性_第22张图片SQL server 实验6.2 完整性_第23张图片SQL server 实验6.2 完整性_第24张图片SQL server 实验6.2 完整性_第25张图片

      完成后单击“保存”按钮,在弹出“选择名称”对话框中输入关系图的名称。单击“确定”按钮,在弹出的“保存”对话框中单击“是”按钮,保存设置。


 

以上内容仅供参考

你可能感兴趣的:(sqlserver)