一、根据数据完整性实施的方法,可以将其分为四类:
1、实体完整性,(行)
2、域完整性, (列)
3、引用完整性,
4、自定义完整性。
二、范式
1NF:保证列的原子性,要求每一列保存的元素是最小不可分割的数据。
2NF:在保证1NF的基础上保证行的原子性,行的唯一性,每个字段存在部分依赖关系。
3NF:保证2NF的实现,所有的候选键与主键是存在必然函数依赖关系的。
三、约束
1、非空约束:NOT NULL 关键字
CREATE TABLE Friend ( Name VARCHAR (50) NOT NULL ,
PhoneNo VARCHAR (15) NOT NULL );
2、主键约束:PRIMARY KEY 关键字
CREATR TABLE Friend ( Name VARCHAR (50) NOT NULL,
CONSTRAINT MyPrimaryKey PRIMARY KEY (NAME)
或者 PRIMARY KEY (NAME)
或者 Name VARCHAR (50) PRIMARY KEY NOT NULL );
3、唯一约束:UNIQUE 关键字
CREATR TABLE Friend ( PhoneNo VARCHAR (15) UNIQUE );
4、指定默认值:DEFAULT 关键字
CREATE TABLE Friend ( PhoneNo VARCHAR (15) DEFAULT '不知道电话号码' NOT NULL );
5、检查约束:CHECK 关键字
CREATE TABLE Friend ( Age INT,
CONSTRAINT CheckAge CHECK (Age BETWEEN 10 AND 100)
或者 Age ITN CHECK (Age BETWEEN 10 AND 100) );
如果我们向一个有检查约束的列上插入一个NULL值,那么它实际上没有插入任何值,所以在这种情况下检查约束不起任何作用。
6、自动编号:IDENTITY 、@@IDENTITY 关键字
CREATE TABLE Friend ( FriendID INT IDENTITY PRIMARY KEY NOT NULL 【IDENTITY写在这个位置上初始值从1开始】
或者 FriendID INT PRIMARY KEY NOT NULL IDENTITY 【IDENTITY写在这个位置上初始值从2开始】
或者 FriendID INT IDENTITY ( 1000 , 1) PRIMARY KEY NOT NULL 【此时IDENTITY从1000开始,增量值为1】
);
7、引用完整性和外键约束:FOREIGN KEY 、 REFERENCES 关键字
CREATE TABLE Friend ( FriendID INT PRIMARY KEY , Name VARCHAR(50) );
CREATE TABLE Phone ( PhoneID INT PRIMARY KEY ,
FriendID INT ,
PhoneNo VARCHAR (20) ,
CONSTRAINT FID_FK FOREIGN KEY (FriendID),
REFERENCES Friend (FriendID)
或者 FOREIGN KEY (FriendID) REFERENCES Friend (FriendID)
) ;
不能删除一个被其它表引用的表。如果要删除,首先必须去掉引用关系。
四、添加、删除主键、外键或者其它约束。 用:ALTER TABLE 关键字
ALTER TABLE Friend DROP CONSTRAINT Myunique_name;
ALTER TABLE Friend ADD CONSTRAINT PK_FriendName PRAMARY KEY (Name);
【抄完收工】------------------------------------------------------------------
眼下都看花了 这个东东抄起老火