用SQL Server 2014实现数据完整性和数据库的安全性(数据库原理及应用实验)

本文概述了如何在SQL Server中设置默认值、主键、外键约束,并通过实例验证规则有效性。涉及Course表的学分设置、SC表的主键和外键关联,以及Student表的年龄范围检查。还介绍了T-SQL创建check约束和外键规则,以及如何绑定和解除默认值与规则。
摘要由CSDN通过智能技术生成
  1. 约束概念及实施
  1. 用对象资源管理器完成如下操作,并输入数据验证规则有效性
  1. 为Course表的学分 (Credit)字段列设置默认值为4

打开企业管理器SSMS,展开SQl server服务器,展开“选课系统”右击表Course弹出快捷菜单点击“设计”,打开表设计器在“默认值或绑定”列输入值为4

 

验证:插入一条记录,给不输入Credit的值,刷新后值为4

使用SQL插入给不输入Credit的值

刷新后值为4

 

  1. 为SC表中设置主键为Sno,Cno
  2. 打开企业管理器SSMS,展开SQl server服务器,展开“选课系统”右击表SC弹出快捷菜单点击“设计”,打开表设计器安按住ctrl键同时选中Sno,Cno两个字段列,在指针所在位置点击右键弹出快捷菜单点击“设置主键”
  3. 设置表SC中的外键Sno,Cno分别参表Student、Course中的主键。

打开企业管理器SSMS,展开SQl server服务器,展开“选课系统”右击表SC弹出快捷菜单点击“设计”,打开表设计器在工具栏点击“关系”按钮设置外键参照关系。

如下图:

 

验证:在SC表中输入一个student表中没有的学号,在SC表中输入一个course中没有的课程的号,系统显示违反参照完整性规则拒绝执行。

使用SQL插入在SC表中输入一个student表中没有的学号,在SC表中输入一个course中没有的课程的号:

 

  1. 设置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中某个选课学生记录, 系统显示违反参照完整性规则拒绝执行。

 

  1. 默认值的概念及验证
  2. 为‘选课系统’数据库定义一个名为Ssex_default默认值,值为‘女’。

use 选课系统

go

Create default dept_student  as

  1. 将该值绑定到Student表中的Ssex字段列,并输入数据验证规则有效性。

use 选课系统

go

exec sp_bindefault dept_student,student.Ssex

验证:

使用SQL向Student中输入没有ssex字段的信息,Ssex默认为女。

 

 

  1. 删除该绑定

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Traveler飞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值