实现SQL的数据完整性

1.实验目的

    通过本次实验使学生掌握如何实现SQL的数据完整性。

2.实验内容

  1. 约束的创建

3.实验环境

  1. Windows
  2. SQL Server

4.实验步骤及结果

  1. 创建一个数据库,文件名为“教学”
  2. 打开“教学”数据库

Student 表

S#SnameAgeSsex
S1WANG15
S2LI17
S3LU19
S4ZHAO13
S5YANG20

Course表

C#CnameT#
C1MathsT1
C2DBT2
C3EnglishT3
C4ComputerT2

SC表

S#C#Score
S1C150
S2C170
S3C180
S4C175
S5C187
S1C2
S2C2
S4C285
S1C3
S5C460
S4C445

Title表

T#TnameTitle
T1吴恩达教师
T2刘晓庆教授
T3张龙副教授

注明:表格和下面的代码可能不会一一对应,可能需要增加,删除,更改表中的数据

大家也可参照我的提供的代码自行创建数据库

  1. 输入如下数据:

1)在教学数据库中创建一个s表,将s#指定为主键。在教学数据库中创建一个sc表,设置s#,c#为主键,约束名为pk_ s_ c (用命令方式)

  	参考提供的代码自行创建数据库,不多赘述

2) t表,c表,分别设置相应主键。

 	参考提供的代码自行创建数据库,不多赘述

3) 在教学数据库中,对“Student”表中的Sname字段创建一一个唯一约束。

 Alter table student 
  	Add constraint sname   
	Unique nonclustered(sname)
go

4) 在教学数据库中为“Student”表中出生日期字段创建-一个检查约束,以保证输入的数据大于1980年1月1日而小于当天日期。

  Alter table student   
	Add constraint check_birth 
	Check (Birthday>'01/01/1980' and Birthday<getdate())
go

5) 在教学数据库中为“”表中Title"字段创建一一个默认约束, 其默认值为“讲师”

  Alter table Title    
	Add constraint moren    
	Default'讲师'for title
go

6) 在教学数据库中字段创建合理的外键约束。

  Alter table course
	Add constraint
	fk_course_t#_title_t# foreign key (t#)
		References title (t#);
go
  Alter table sc
	Add constraint
	fk_sc_s#_student_s# foreign key (s#)
		References student (s#);
go
  Alter table sc
	Add constraint
	fk_sc_c#_course_c# foreign key (c#)
		References course (c#);
go
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一、实验目的 使学生加深对数据库安全性和完整性的理解。并掌握SQL Server中有关用户、角色及操作权限的管理方法。熟悉通过SQL语句对数据进行完整性控制。 二、实验内容和要求   数据库的安全性实验,在SQL Server企业管理器中,设置SQL Server的安全认证模式,实现SQL Server的用户和角色管理,设置和管理数据操作权限。   具体内容如下:   设置SQL Server的安全认证模式(Windows或SQL Server和Windows(S)认证模式)。   登录的管理 创建一个登录用户   数据库用户的管理 登陆用户只有成为数据库用户(Database User)后才能访问数据库。每个数据库的用户信息都存放在系统表Sysusers中,通过查看Sysusers表可以看到该数据库所有用户的情况。SQL Server的数据库中都有两个默认用户:dbo(数据库拥有者用户)和(dba)。通过系统存储过程或企业管理器可以创建新的数据库用户。   角色的管理 创建一个角色,使创建的用户成为该角色的成员,并授予一定的操作权限。   在学生表中定义主键、外键约束。   在课程表的“课程名”字段上定义唯一约束。   在选课表的“成绩”字段上定义check约束,使之必须大于等于0且小于等于100.“课程号”字段只能输入数字字符。   定义规则,并绑定到读者表的“性别”字段,使之只能取“男、女”值。   在学生表中增加出生日期字段。定义缺省,并绑定到借阅表的“借阅日期”上,使之只能取当前日期。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值