题目一:创建表时添加约束
题目描述:
创建一个名为 Students 的表,包含以下字段:
StudentID (学号,整数类型,主键,不允许为空)
FirstName (名字,字符串类型,最大长度 50,不允许为空)
LastName (姓氏,字符串类型,最大长度 50,不允许为空)
Age (年龄,整数类型,不允许为空,并且年龄必须在 18 到 30 之间)
create database text
use text
create table Students(
StudentID int primary key not null,
FirstName varchar(50) not null,
LastName varchar(50) not null,
Age int check(Age between 18 and 30)not null,
)
题目二:创建表成功后添加约束
题目描述:
创建一个名为 Courses 的表,包含以下字段:
CourseID (课程ID,整数类型,主键,不允许为空)
CourseName (课程名称,字符串类型,最大长度 100,不允许为空)
Credits (学分,整数类型,不允许为空)
在表创建成功后,添加一个约束,确保 Credits 字段的值在 1 到 5 之间。
create table Courses(
CourseID int primary key not null,
CourseName varchar(100) not null,
Credits int not null,
)
alter table Courses add constraint ys1 check(Credits between 1 and 5)
题目三:复合约束和唯一约束
题目描述:
创建一个名为 Enrollments 的表,包含以下字段:
EnrollmentID (注册ID,整数类型,主键,不允许为空)
StudentID (学号,整数类型,外键,引用 Students 表的 StudentID 字段)
CourseID (课程ID,整数类型,外键,引用 Courses 表的 CourseID 字段)
Grade (成绩,字符串类型,最大长度 5,只允许包含字母 'A' 到 'F')
在表创建成功后,添加一个复合唯一约束,确保每个学生在每个课程中的注册是唯一的。
create table Enrollments(
EnrollmentID int primary key not null,
StudentID int not null,
CourseID int not null,
Grade varchar(5) check(Grade between 'A' and 'F'),
foreign key (StudentID)references Students(StudentID),
foreign key (CourseID)references Courses(CourseID),
)
alter table Enrollments add constraint ys2 unique(StudentID,CourseID);