`
java_suddy
  • 浏览: 31148 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

数据库——约束分类

阅读更多
    今天是java进入中期的第一天上课,熊哥给我们讲了数据库的范式,顺便给我讲了一下数据库的约束,便让我们找下约束的分类,但我理解的是让我们通过不同途径学习下数据库的约束,更能很好的掌握。所以自己就通过网络与书籍多方面了解下,顺便看了一本外文资料,先总结如下,不对还请大家指教。
    但首先应该说下什么是数据库约束?
    数据库约束是为了保证数据的完整性而实现的一套机制,它具体的根据各个不同的数据库的实现而有不同的工具。所以我们在学习约束的时候就会看到域完整性(Domain Integrity)、实体完整性(Entity Integrity)、参照完整性(Referential Integrity)与用户定义完整性(User-defined Integrity)的不同的约束分类。但我今天就说下我们或是我们有些人刚接触数据库的同学,并且从SQL语言基础了解并学习到的。
1、非空约束(Not Null Constraint)
   这个可能大家都了解,就是我们在添加那个表 userinfo,在id、name后面都添加了not null,就是有些列不能把它设为空,相信大家都理解,我就说下我在一个英文资料看到的一段英文:The not null specification prohibits the insertion
of a null value for this attribute.Any database modifucation that would cause a null to be inserted in an attribute declared to be not null generates an error diagnostic.(大家就得自己翻译了)
2、唯一约束(Unique Constraint)
一个唯一约束并不包括一个NULL值。直接在字段定义后加入UNIQUE即可定义该唯一约束。
1) 一个表只能创建一个主键约束,但一个表可以根据需要对不同的列创建若干unique约束
2)主键字段不允许为null ,unique允许为空
3)一般创建主键约束时,系统自动产生簇索引,unique约束自动产非簇索引
3、检查约束(The Check Clause)
通过在定义数据库表里,在字段级或者是在表级加入的检查约束,使其满足特定的要求。
我来举一个例子
create table student (
   name varchar(15) not null,
  student_id varchar(15),
  degree_level varchar(15),
  primary key(student_id),
  check(degree_level in('Bachelors','Masters','Doctorate')));
Here ,we use the check clause to simulate an enumerated type by specifying that degree_level must to be one of 'Bachelors','Masters','Doctorate';
4、主键约束(Primary Key Constraint)
其实主键约束就是一张表只能建立一个主键约束,其实就是唯一约束+非空约束。大家通过上课讨论那么多关于“依赖”的事情,估计大家都能理解了
5、外健约束( Foreign Key Constraint)
Foreign Key Constraint主要是确保同一个表或者不同表之间的引用完整性,所以必须引用一个PRIMARY KEY或者UNIQUE约束,用户必须在应用表上具有REFERENCES权限;一个表中最多可以有31个外部键约束; 在临时表中,不能使用外部键约束; 主键和外部键的数据类型必须严格匹配 。这个就不多说了给大家推荐一个网站http://tech.sina.com.cn/s/2010-01-04/00481199365.shtml
  可能总结的不好还请见凉,希望大家到时多多交流
分享到:
评论

相关推荐

    数据库——数据库结构设计.pdf

    数据库——数据库结构设计 ⽬标 1 数据库概念设计 2 数据库逻辑设计 3 数据库物理设计 数据库概念设计 概念设计 是数据库设计的 核⼼环节,通过对⽤户需求进⾏综合;归纳;与抽象,形成⼀个独⽴于DBMS 的概念模型 ...

    MySQL基础介绍2——约束.md

    1. DQL:查询语句 1. 排序查询 2. 聚合函数 3. 分组查询 4. 分页查询 2. 约束 3. 多表之间的关系 4. 范式 5. 数据库的备份和还原

    数据库课件——数据库知识点,实验,习题.zip

    学生学习sql server的数据库课件完整课件资料,课件包含习题,实验,知识点。复习题等等,数据库编程,关系数据库,查询处理和查询优化,触发器实验,数据库安全,数据库导论,数据库复习题,完整性约束

    数据库实验八 完整性约束的实现

    掌握SQL中实现数据完整性的方法,加深理解关系数据模型的三类完整性约束

    数据库应用系统设计与实现

    数据库应用系统设计与实现 实验类型:设计型 实验地点:2楼312 实验时间:12月14日、21日周五1-3/5-7节 实验内容: 系统概述: 某银行需要开发ATM存取款机系统实现如下功能: 1)开户(到银行填写开户申请单,卡号...

    数据库课程设计——图书管理系统(工程文件稍加修改直接可用)

    一个小型通用的图书管理系统主要目的是让图书馆管理人员、读者方便地管理和利用图书资源,该应用系统应能对图书馆基本信息(图书、读者、借阅等)进行添加、修改、删除等操作。...触发器和约束请自定义。

    数据库设计实验——库存管理系统.doc

    用户的特点 操作人员: 库存管理人员: 高级管理员——本科以上学历,物流管理经验,计算机相关专业 普通管理员——本科以上学历,物流管理经验 预期使用频度: 视货物流量频度而定 假定和约束 经费限制:暂定 开发...

    数据库设计报告——工资管理系统.doc

    一、设计目的和要求 通过两周的课程设计,加深对数据库技术相关理论的理解,增强动手能力,掌握使用 现行较为流行的数据库理论和数据库开发工具进行数据库管理操作(如建库、建立完整 性约束,对数据库中数据进行...

    Oracle数据库应用开发——表空间与数据库模式对象的设计实验报告x_数据库对象包括哪些

    1.实现表空间的创建与管理 2.实现表空间数据文件的管理 3.实现默认表空间的设置 4.实现数据类型的使用 5.实现数据表的创建方法 ...7.实现分析并设计表及约束的方法 8.实现索引、视图、序列的创建方法

    数据库系统概论5版第三章关系数据库标准语言SQL【上】——数据定义(create、drop。。。.pdf

    数据库系统概论5版第三章关系数据库标准语⾔SQL【上】 ——数据定义(create、drop。。。 ⼀、 ⼀、SQL概念 概念 (⼀)、什么是 (⼀)、什么是SQL? ? 1、SQL(Structured Query Language)结构化查询语⾔,是...

    oracle数据库基本概念——我的Oracle学习之路

    Oracle数据库基本概念逻辑存储结构表空间主要表空间表约束条件段、数据区和数据块物理存储结构数据文件控制文件日志文件实例 Oracle是一种关系数据库管理系统(RDBMS)。关系数据库是按照二维表结构方式组织的数据...

    计算机考研面试——数据库

    花了几天是时间整理了下复试的...① 数据库管理系统,(Database Management System),是一种操纵和管理数据库的大型软件。 ② 数据定义功能(DDL)、数据操纵功能(DML)、数据查询功能、数据控制功能。 2.什么是主

    数据库设计理论及应用.doc

    数据库设计理论及应用(1)——完整性约束 作者:最后一只恐龙 发表时间:2007-6-17 该系列计划包括5部分:完整性约束理论及应用、范式理论及应用、需求分析、概念结构设计、逻辑结构设计。本文是第一部分,介绍...

    旅行社数据库系统.doc

    进行数据库的概念结构 " "设计、逻辑结构设计等工作: " "概念结构设计的E-R图 " "数据库逻辑结构设计是以表格的形式说明数据库中有几个表,每个表的表名以及每 " "个表的各字段名,类型和约束(主、外码);...

    Oracle数据库应用开发——数据操作与PLSQL程序设计.docx

    1.实现表空间的创建与管理 2.实现表空间数据文件的管理 3.实现默认表空间的设置 4.实现数据类型的使用 5.实现数据表的创建方法 ...7.实现分析并设计表及约束的方法 8.实现索引、视图、序列的创建方法

    数据库设计教案.docx

    数据库设计中的两种方法:面向数据的方法——以信息需求为主,兼顾处理需求;面向过程的方法——以处理需求为主,兼顾信息需求。 数据库设计过程:需求分析(调研分析)、概念设计(E-R模型)、逻辑设计(转换成...

    数据库原理(第5版)

    例如,在讲授参照完整性约束时,如果从概念的角度讲授会说明这时一个表中的列值必须总是由另一个表中的列值提供,并解释这一约束出现在关系定义的上下文中的方式,以及DBMS或应用程序如何强制执行这一约束。...

    数据库系统概论【史嘉权】

    PS:本书在网站上,得到比较高的评价!~ 本书围绕数据库的设计、编程与实现,系统、全面地介绍了数据库系统的基本概念、基本原理、基本方法以及应用技术。...附录B MS SQL Server 2000——Transact\|SQL语法 参考文献

    学生成绩管理系统——SQL数据库技术.doc

    《SQL数据库技术》课程设计 一、题目:学生成绩管理 二、因为我做... 主键约束有以下特征和作用: (1)主键约束通过不允许一个或多个列输入重复的值来保证一个表中所有行的惟一性 ,使所有浪都是可以区分的。 (2)一个

Global site tag (gtag.js) - Google Analytics