我的人生就好比这两条线


sqlserver

数据库对于数据完整性的要求。

1.域完整性:关于列的设置可以通过(设置数据类型,检查约束,默认值,非空约束),来达到域的完整性。

2.实体完整性:关于行(记录),的数据完整性可以通过设置(唯一约束,主键约束,标识列)来完成对实体完整性的设置。

标识列的数据类型必须是整型类型,设置后不能编辑,会自动的设置。

3.引用完整性:关于主外键的约束(主表和从表,把主表的主键放在从表的里当做外键来完成主外键约束,主表里有的主键行从表里可以

没有,但是从表里有对应行,主表里必须得有。一般的业务逻辑不是很强的,不建议使用主外键关联。)

 

相关设置代码如下:

 

delete from student where student_name = '周星驰'

 

select * from student

 

create table teacher
(
  id_teacher varchar(20) not null,
  teacher_name varchar(20) not null,
  teacher_sex varchar(2) null,
  teacher_work varchar(20) null,
  teacher_tel varchar(11) not null
)

 

alter table teacher
  add constraint pk_teacher primary key(id_teacher)

 

alter table teacher
  add constraint uk_teacher unique(teacher_name)

 

alter table teacher
  add constraint dk_teacher default '帅哥' for teacher_work

 

alter table teacher
  add constraint ck_teacher check(teacher_sex in ('男', '女'))

 


create table course
(
  id_course varchar(20) primary key not null,
  course_name varchar(20) unique not null,
  course_time int check(course_time >= 30) null,
)

 

alter table grade
  add constraint fk_grade foreign key(course_id) references course(id_course)

 

drop table course

 

posted @ 2017-04-14 14:45  StephenChowcai  阅读(108)  评论(0编辑  收藏  举报