1、列级完整性约束
1)、NOT NULL或 NULL
2) 、UNIQUE约束:UNIQUE唯一性约束,不允许关系列中出现有重复的属性值
3)、DEFAULT约束:默认值约束。 定义格式:DEFAULT <约束名> <默认值> FOR <列名>
4)、CHECK 约束:检查约束,通过约束条件表达式设置列应满足的条件。定义格式:CONSTRANIT <约束名> CHECK (<约束条件表达式>)、
2、表级完整性约束
1)、UNIQUE
2)、PRIMARY KEY:约束实体完整性
3)FOREIGN KEY 约束
#用SQL建立学生、课程、选课数据库中的基本表
#学生表
CREATE TABLE student (
sid CHAR(10) NOT NULL UNIQUE,
name CHAR(10) NOT NULL,
age SMALLINT,
sex CHAR(2),
major CHAR(20),
DEFAULT AGE_DEFAULT 20 FOR age,
CONSTRAINT SEX_CHECK CHECK( sex IN('男','女')));
#课程表
CREATE TABLE course (
cid CHAR(5) PRIMARY KEY,
cname CHAR(20)
);
#选课表
CREATE TABLE student_course(
sid CHAR(5),
cid CHAR(5),
grade SMALLINT,
CONSTRAINT GRADE_CHECK CHECK(grade BETWEEN 0 AND 100),
CONSTRAINT SID_CID_PR PRIMARY KEY (sid,cid),
CONSTRAINT c_s_sid__s_sid_fk FOREIGN KEY student_course(sid) REFERNCES student(sid),
CONSTRAINT c_s_cid__c_cid FOREIGN KEY student_course(cid) REFERENCES course(cid)
);