zoukankan      html  css  js  c++  java
  • 数据库表约束的创建与使用之主键约束

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

    实体完整性: 规定表的每一行在表中是惟一的实体。又称行完整性,要求在表中不能存在完全相同的行。通过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列上创建约束。

  • 相关阅读:
    SQL学习日志
    程序员之路──如何学习C语言并精通C语言
    using用法
    c#中的接口与类的区别
    用c#来实现一种行列式的计算优化
    python 切换目录
    如何光盘自动运行html?
    nsis 安装脚本示例(转)
    python sys.path.append
    python 面向对象初认识
  • 原文地址:https://www.cnblogs.com/Yon-hui/p/13180829.html
Copyright © 2011-2022 走看看