本文主要是介绍用SQL Server 2014实现数据完整性和数据库的安全性(数据库原理及应用实验),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
- 约束概念及实施
- 用对象资源管理器完成如下操作,并输入数据验证规则有效性
- 为Course表的学分 (Credit)字段列设置默认值为4
打开企业管理器SSMS,展开SQl server服务器,展开“选课系统”右击表Course弹出快捷菜单点击“设计”,打开表设计器在“默认值或绑定”列输入值为4
验证:插入一条记录,给不输入Credit的值,刷新后值为4
使用SQL插入给不输入Credit的值:
刷新后值为4
- 为SC表中设置主键为Sno,Cno
- 打开企业管理器SSMS,展开SQl server服务器,展开“选课系统”右击表SC弹出快捷菜单点击“设计”,打开表设计器安按住ctrl键同时选中Sno,Cno两个字段列,在指针所在位置点击右键弹出快捷菜单点击“设置主键”
- 设置表SC中的外键Sno,Cno分别参表Student、Course中的主键。
打开企业管理器SSMS,展开SQl server服务器,展开“选课系统”右击表SC弹出快捷菜单点击“设计”,打开表设计器在工具栏点击“关系”按钮设置外键参照关系。
如下图:
验证:在SC表中输入一个student表中没有的学号,在SC表中输入一个course中没有的课程的号,系统显示违反参照完整性规则拒绝执行。
使用SQL插入在SC表中输入一个student表中没有的学号,在SC表中输入一个course中没有的课程的号:
- 设置Student表中字段Sage在10-100之间
打开企业管理器SSMS,展开SQl server服务器,展开“选课系统”右击表Student弹出快捷菜单点击“设计”,打开表设计器在工具栏点击“管理check约束”按钮,打开“check约束”对话框设置约束条件拒绝执行。
验证:修改Student中某个记录的年龄,系统显示违反设置约束条件拒绝执行。
用T—SQL完成以下操作,并输入数据验证规则有效性
用IN关键字设置表Students中的Ssex字段列建立一个check约束其值只能取‘男’或‘女’
use 选课系统
go
CREATE TABLE Students
( sno int NOT NULL,
sname nvarchar (10),
ssex char(2) check (ssex in('男','女')),
birthday datetime NULL,
sdept nchar(10));
验证:向studensts表中插入一个学生信息,ssex的值为”好”, 系统显示违反设置约束条件拒绝执行。
用SQL设置表SCS中的外键Sno,Cno分别参表Student、Course中的主键,设置插入、删除违约处理并验证。
use "选课系统"
go
CREATE TABLE SCS
( Sno int NOT NULL,
Cno char(3) NOT NULL,
Grade smallint NULL,
credit smallint NULL
PRIMARY KEY (Sno,Cno),
FOREIGN KEY (Sno) REFERENCES Student(Sno),
FOREIGN KEY (Cno) REFERENCES Course(Cno))
验证:
在SCS表中输入一个student表中没有的学号,在SCS表中输入一个course中没有的课程的号,系统显示违反参照完整性规则拒绝执行。
删除student中某个选课学生记录, 系统显示违反参照完整性规则拒绝执行。
- 默认值的概念及验证
- 为‘选课系统’数据库定义一个名为Ssex_default默认值,值为‘女’。
use 选课系统
go
Create default dept_student as ‘女’
- 将该值绑定到Student表中的Ssex字段列,并输入数据验证规则有效性。
use 选课系统
go
exec sp_bindefault dept_student,’student.Ssex’
验证:
使用SQL向Student中输入没有ssex字段的信息,Ssex默认为女。
- 删除该绑定
Exec sp_unbindefault ‘student.Ssex’
规则的概念及验证
1)为‘选课系统’数据库定义一个名为Grade_rule的规则,值在10-100之间
Use 选课系统
Go
Create rule sage_Student as @Sage>=10 and @Sage<=100
2)将该值绑定到SC表中的Grade字段列,并输入数据验证规则有效性.
Use 选课系统
Go
Exec sp_bindrule sage_Student,’student.Sage’
验证:
使用SQL向SC表中添加Grade>100的信息,系统显示违反参照完整性规则拒绝执行。
3)删除该绑定
Exec sp_unbindrule ’student.Sage
这篇关于用SQL Server 2014实现数据完整性和数据库的安全性(数据库原理及应用实验)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!