SQLserver的七種約束。


create table teacher
(teacher_id int primary key,
teacher_name nvarchar(30)not null,
tlevel char(1) default('0') )

CREATE TABLE courses(cour_no
int,--加了主鍵會默認加上not null
constraint pk_cour_no primary key (cour_no),
cour_name nvarchar(20) not null,
teacher_id int,
constraint FK_teacher_id foreign key (teacher_id) references teacher(teacher_id),--做外鍵的字段要映射teacher表去,對應的是teacher表中的teacher_id這個字段。
remark nvarchar(max))
--選課表:學生的學號 選課的課號 --復合主鍵 復合主鍵是指兩個字段組合起來不能重名、重復。選課表是一個關系表,不是實際存在的。關系表 表示:學生 和 課程 和 老師
create table stu_cou(
stu_no int,
cour_id int,
constraint PK_stuNO_CourID primary key(stu_no,cour_id),--
constraint FK_stu_no Foreign key (stu_no) references Student(stu_no),
constraint FK_COUR_ID foreign key (cour_id) references courses(cour_no))
--注意:外鍵中添加的數據如果在主鍵中找不到該數據,是不會讓其保存進去的。
--七種約束:
--1.主鍵
--2.外鍵
--3.not null
--4.default() 如果字段的屬性是int的默認就要給整型,如default(0),如果字段的屬性是字符串的你就要給它整型或者空' '
--5.唯一約束 unique 在表里可以存在多個唯一 我這個約束里面不能存在同樣的值。
--6.check 自定義的約束 只允許我們的sex只能填 男 或女
--7.identity 自增約束 自增約束是系統自動填值進去,它是從哪個值開始,每次增加多少。 identity(1,1)前面表示從1開始,后者表示每次增長1
--主鍵:
primary key
constraint pk_cour_no primary key (cour_no)
--復合主鍵:
constraint PK_stuNO_CourID primary key(stu_no,cour_id)
--外鍵:
constraint FK_teacher_id foreign key (teacher_id) references teacher(teacher_id)
alter table student_cou add constraint FK_stu_no Foreign key (stu_no) references Student(stu_no)
--
alter table student
add constraint CK_sex check(sex='男' or sex='女')

--有多個時:
alter table student
add constraint CK_sex check (sex in('男','女','人妖'))

alter table courses
add constraint uq_teacher_id unique(teacher_id) --指的是teacer_id 和remark加起來不能重復。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM