讲了关于数据库的很多内容,也讲了很多约束,对唯一和主键、核查和规则、外键约束很感兴趣。

一、唯一和主键(实体完整性)
区别:
数量:一张表只可以有一个主键约束,却可以有多个唯一约束。
是否空值:主键不允许为空,唯一允许为空。
相同点:
唯一性:都保证了数据的唯一性,不可重复。
复合:均可由一个或多个字段复合形成。

二、核查和规则
区别:
数量:一个字段,可以有多个约束,却只能有一个规则。
先后:核查直接在字段上创建,而规则由单独对象创建,然后绑定到字段上面。 
范围:核查是建立在一张表的基础上,而规则可以绑定到不同表里的字段。(假使十个表里有“数量”字段,核查需要建立10次,而规则可以只有一个)
删除:删除表的同时,核查(约束)也被删除,而规则不会。
相同点:
规则通常被用于执行和核查约束相同的功能。

三、外键(参照完整性:数据一致性)
创建:
右击数据库关系图——选择新建——选择需要创建约束的表

在外键关系中选择添加——打开表和列规范进行设置——设置主键表和外键表


注意:必须保证主键表和外键表有相同的列数(假如主键表有4列,那么外键表也必须有4列)。

必须保证主键表和外键表有相同的字段。


修改:
1,内容:主键表和外建表不一定需要有相同的列数,也不一定主键表和外建表需要有相同的字段。主外键约束,只要有相同的属性就可以使用。比如说在新闻类别表里,有新闻ID。在新闻内容表里,也有新闻ID。这是,就可以建立主外键约束。
2,时间:2015.4.11 


作用:
外键联系主要是确保了数据的一致性,当外键表中的列值和主键表不符时,则无法保存;当改变了主键表中的列值,则外键表中对应的列值同时改变。



请大家多多指教,谢谢!


SQL:认识数据库约束的更多相关文章

  1. SQL数据库约束、默认和规则

    数据的完整性 实体完整性 又称为行完整性,即数据库中的所有行都具有一个非空且没有重复的主键值 MSSQL中通过唯一索引.PRIMARY KEY约束.UNIQUE约束.INDENTITY属性等来强制主键 ...

  2. 第16课-数据库开发及ado.net-数据库SQl,创建数据库和表,增删改语句,约束,top和Distinct,聚合函数介绍

    第16课-数据库开发及ado.net 数据库SQl,创建数据库和表,增删改语句,约束,top和Distinct,聚合函数介绍 SQL语句入门(脚本.命令) SQL全名是结构化查询语言(Structur ...

  3. MySQL-第三篇SQL语句基础(2)数据库约束

    1.数据库约束. 约束是在表上强制执行的数据校验规则,约束主要用于保证数据库里数据的完整性. MySQL使用information_schema数据库里的TABLE_CONSTRAINTS表来保存该数 ...

  4. 关于SQL SERVER数据库学习总结

    对于SQL SERFVER数据库也学了有一阵子了,自己也对自己所学做了一些总结. 我们首先学习数据库设计的一些知识点和用SQL语句建库. 设计数据库步骤:需求分析阶段,概要设计阶段,详细设计阶段, 建 ...

  5. SQL PRIMARY KEY 约束\SQL FOREIGN KEY 约束\SQL CHECK 约束

    SQL PRIMARY KEY 约束 PRIMARY KEY 约束唯一标识数据库表中的每条记录. 主键必须包含唯一的值. 主键列不能包含 NULL 值. 每个表都应该有一个主键,并且每个表只能有一个主 ...

  6. SQL CREATE TABLE 语句\SQL 约束 (Constraints)\SQL NOT NULL 约束\SQL UNIQUE 约束

    CREATE TABLE 语句 CREATE TABLE 语句用于创建数据库中的表. SQL CREATE TABLE 语法 CREATE TABLE 表名称 ( 列名称1 数据类型, 列名称2 数据 ...

  7. 清空SQL Server数据库中所有表数据的方法(转)

    清空SQL Server数据库中所有表数据的方法 其实删除数据库中数据的方法并不复杂,为什么我还要多此一举呢,一是我这里介绍的是删除数据库的所有数据,因为数据之间可能形成相互约束关系,删除操作可能陷入 ...

  8. 5、SQL Server数据库、T-SQL

    SQL Server数据库基础 一.安装SQL Server数据库 setup.exe->安装->全新SQL Server独立安装或向现有安装添加功能->输入序列号->下一步- ...

  9. SQL Server - 数据库初识

      在互联网笔试中,常遇到数据库的问题,遂来简单总结,注意,以 Sql Server 数据库为例. 数据库 数据库系统,Database System,由数据库和数据库管理系统组成. 数据库,Data ...

  10. 转:SQL SERVER数据库中实现快速的数据提取和数据分页

    探讨如何在有着1000万条数据的MS SQL SERVER数据库中实现快速的数据提取和数据分页.以下代码说明了我们实例中数据库的“红头文件”一表的部分数据结构: CREATE TABLE [dbo]. ...

随机推荐

  1. (C/C++) Callback Function 回调(diao)函数

    原文: http://www.codeguru.com/cpp/cpp/cpp_mfc/callbacks/article.php/c10557/Callback-Functions-Tutorial ...

  2. DBA_基本Bash语法汇总(汇总)

     2014-06-26 Created By BaoXinjian

  3. [物理学与PDEs]书中出现的向量公式汇总

    P 11 1. $\rot (\phi{\bf A})=\n \phi\times{\bf A}+\phi\ \rot{\bf A}$. 2. $-\lap {\bf A}=\rot\rot {\bf ...

  4. LPC1768之时钟

    一锁相环和CPU时钟. CPU时钟=锁相环0输出/CPU时钟配置寄存器的预分频值即:Fcpu=Fcco/CCLKCFG+1.锁相环可以把外部时钟倍频到较高频率,PLL0输出频率是: Fcco = (2 ...

  5. UCOS-消息队列(学习笔记)

    消息队列的核心是一个消息的指针数组,UCOS系统初始化时根据OS_CONFI.h中的最大队列个数定义这么多个消息队列(队列的结构)并将他们串联成空的链表,创建消息队列时从空链表中抽出一个并用指针数组的 ...

  6. Chrome每次打開都要打開123.sogou.com

    剛開始還以為中毒了,又是殺毒又是掃描的,最後發覺,原來就是chrome的一個設置被改了. Chrome->設置->啟動時 : 選打开特定网页或一组网页->設置網頁 , 將其中的123 ...

  7. PHP解析JSON和XML方法

    一.JSON $r = json_decode("json数据"); $result = $r->result; //解析后的数据,以数组形式保存到r里面了,需要通过-> ...

  8. 解决Xshell和vim中文乱码(转载)

    From:http://blog.csdn.net/lovey599/article/details/7275403 一般而言,乱码多是由于编码问题引起 的,在windows系统中,大多数情况下中文编 ...

  9. Python进阶03 模块

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 我们之前看到了函数和对象.从本质上来说,它们都是为了更好的组织已经有的程序,以方便 ...

  10. 用java程序调用ffmpeg执行视频文件格式转换flv

    用java小例题说明更直观:(可以直接编译运行)环境我在windows平台下测试的...需要在e:/下有ffmpeg.exe;mencoder.exe;drv43260.dll;pncrt.dll共4 ...