问题:
现要为学校建立一个数据库,学校院系机构设置如下:一个系有若干个专业,每个专业一年只招一个班,每个班有若干个学生,要求建立一个关于系、学生、班级的数据库,关系模式为:
学生STUDENT (学号,姓名,年龄,班号)
班CLASS (班号,专业名,系名,入学年份)
系DEPARTMENT (系号,系名)
请用SQL语文完成以下功能:
1、使用查询分析器建表,要求声明:
(2)每个班级的人数不能超过20人。
(3)学生的年龄介于16到30岁之间。
请大虾帮忙怎样写这个约束语句。
--创建环境
Create Table STUDENT (
学号 varchar(10),
姓名 varchar(10),
年龄 int,
班号 int
)
go
Create Table CLASS (
班号 int,
专业名 varchar(10),
系名 varchar(10),
入学年份 int
)
go
Create Table DEPARTMENT (
系号 int,
系名 varchar(10)
)
go
--函数
--创建函数
create function f_check()
returns int
as
begin
declare @num int
select @num=count(学号) from STUDENT
GROUP BY 班号
return @num
end
go
--添加约束
alter table STUDENT add constraint student_学号_check
check(dbo.f_check()<=20)
alter table STUDENT add constraint student_年龄_check
check(年龄>=16 and 年龄<=30)
--删除环境
Drop table STUDENT,CLASS,DEPARTMENT