数据库表约束的创建与使用之主键约束

        我们直接开门见山,首先我们先来确定什么是约束:数据表的约束是在表中定义的用于维护数据库完整性的一些规则。那么约束的作用也就很明显了,我们可以通过表中的列定义约束可以防止将错误的数据插入表中,也可以保持表之间数据的一致性。接下来我们来了解几个概念:

实体完整性: 规定表的每一行在表中是惟一的实体。又称行完整性,要求在表中不能存在完全相同的行。通过PRIMARY KEY(主键)、Unique(唯一约束)、Identity(标识字段)实现。

参照完整性: 又称引用完整性。指表间的规则,作用于有关联的两个或两个以上的表, 通过使用主键和外键(或唯一键)之间的关系, 使表中的键值在相关表中保持一致。通过 Foregin Key(外键)实现。

用户自定义完整性:指针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。  通过NOT NULL(非空)、default(默认)、check(检查)实现。 

我们来看一下约束的分类:

主键约束: 

  • 主键约束使用primary key表示,用来保证实体的唯一性。也就是使用主键约束可以确保在整个表中存储的数据不存在重复值。一般是将Id列设置为主键。
  • 主键列的值能唯一标识表中的每一行,一个表只能有一个主键,而且主键约束中的列不能为空值。只有主键列才能被作为其他表的外键所创建。
  • 由此可见主键已经有了唯一约束和非空约束的作用了。所以图中标识出了要注意主键约束与唯一约束、非空约束的关系。

主键约束具体使用如下图所示:

注:使用图形化界面创建约束的方法本文不做讲解了。

 由图中我们可知,创建主键约束有两种途径,一种是在创建表时同步创建主键约束,另外一种是表创建完成以后我们再创建主键约束。以学生表(Student)为例:

创建表时创建主键约束:

CREATE TABLE Student
(
    Id INT PRIMARY KEY --PRIMARY KEY就是创建主键约束的关键字    
)

 创建表成功后创建主键约束:

ALTER TABLE Student ADD CONSTRAINT  PK_Student_Id PRIMAERT KEY(Id)   

需要注意的是表创建完成以后创建约束属于修改表,所以需要以ALTER TABLE 开头表示修改表,ADD CONSTRAINT是添加约束的关键字,PK_Student_Id是创建约束的名字,PRIMARY KEY表示约束的种类,括号里面的Id表示在Id列上创建约束。

posted @ 2020-06-23 15:56  馋嘴的毛毛  阅读(1752)  评论(0编辑  收藏  举报