实现SQL的数据完整性

文章目录

  • 1.实验目的
  • 2.实验内容
  • 3.实验环境
  • 4.实验步骤及结果

1.实验目的

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

2.实验内容

  1. 约束的创建

3.实验环境

  1. Windows
  2. SQL Server

4.实验步骤及结果

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

Student 表

S# Sname Age Ssex
S1 WANG 15
S2 LI 17
S3 LU 19
S4 ZHAO 13
S5 YANG 20

Course表

C# Cname T#
C1 Maths T1
C2 DB T2
C3 English T3
C4 Computer T2

SC表

S# C# Score
S1 C1 50
S2 C1 70
S3 C1 80
S4 C1 75
S5 C1 87
S1 C2
S2 C2
S4 C2 85
S1 C3
S5 C4 60
S4 C4 45

Title表

T# Tname Title
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

你可能感兴趣的:(SQL,Server数据完整性)