注册 登录
编程论坛 SQL Server论坛

简单 SQL 数据完整型 规则的应用一些小例子

woxiang0418 发布于 2008-12-07 11:31, 1085 次点击
create database 学生课程数据库
on
(
name=xs,
filename='d:\xs_db.mdf',
size=5,
maxsize=10,
filegrowth=10%
)
log on
(
name=ss,
filename='d:\xs_log.ldf',
size=3,
maxsize=5,
filegrowth=10%
)
create table 学生专业表(
学号               CHAR(9)                 not null,
        姓名               VARCHAR(10)             not null,
        年龄               TINYINT                ,
        性别               CHAR(2)               ,
        所在院系           VARCHAR(30)           ,
        专业               VARCHAR(40)           ,
        家庭电话           VARCHAR(15)            ,
constraint pk1 primary key (学号),
constraint ch1 check (年龄 between 18 and 30 ),
constraint ch_sex check(性别 in ('男','女'))

)
 

create table 院系(
编号 int identity(1,1) not null,
院系 varchar(30)
)
alter table 院系
add constraint pk2 primary key (编号),
add constraint u1 unique(院系)
   

alter table 学生专业表
add constraint ug1 foreign key (所在院系) references 院系(院系)
insert into 院系(院系) values ('计算机系')
insert into 院系(院系) values ('旅游系')
insert into 院系(院系) values ('园林系')
insert into 院系(院系) values ('中文系')
insert into 院系(院系) values ('外语系')
insert into 院系(院系) values ('国际贸易系')
delect table 院系

CREATE rule  专业
as @ch4 in('计算机','电子商务','软件开发','网站开发')
sp_bindrule 专业 ,'学生专业表.专业'

alter table 学生专业表
add constraint uq2 unique (姓名)
alter table 学生专业表
alter column 姓名  varchar(10) not null  

delete from 院系


create rule 学号
 as @ch22 like 'sje[0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
sp_bindrule 学号,'学生专业表.学号'
sp_unbindrule '学生专业表.学号'
1 回复
#2
woxiang04182008-12-09 15:13
1