保证数据完整性

一、根据数据完整性实施的方法,可以将其分为四类:

   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); 

 

 

【抄完收工】------------------------------------------------------------------ 

 眼下都看花了   这个东东抄起老火   

 

 

 

 

 

 

 

 

 

 

 

猜你喜欢

转载自zhyg.iteye.com/blog/1467304