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列上创建约束。

  • 相关阅读:
    算算百度云的总成本
    iCloud 包括文稿与数据、日历、提醒事项、 通讯录、备忘录、Safari书签
    娄师德的低调
    我必须创业,否则那5个月的工资谁来发给我
    完整的struts.xml文件骨架
    从程序员的角度谈创业三年
    Delphi 获取Internet缓存文件 -- FindFirstUrlCacheEntry FindNextUrlCacheEntry
    没有别人聪明不可怕,可怕的是别人比你聪明也比你勤奋(活着总要为自己负责,而且首先是对自己的时间负责)
    光思想对是没有用的
    Mac与Linux的一个巨大不同
  • 原文地址:https://www.cnblogs.com/Yon-hui/p/13180829.html
Copyright © 2011-2022 走看看