`
java_suddy
  • 浏览: 31584 次
  • 性别: 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
  可能总结的不好还请见凉,希望大家到时多多交流
分享到:
评论

相关推荐

    AD数据库——Xilinx部分

    在这个场景下,“AD数据库——Xilinx部分”显然聚焦于Xilinx公司的产品和其关联的应用数据。Xilinx是一家全球领先的可编程逻辑器件(FPGA)供应商,其产品广泛应用于通信、数据中心、汽车电子、工业自动化等多个领域...

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

    数据库结构设计是数据库系统开发的关键步骤,主要包括三个主要阶段:概念设计、逻辑设计和物理设计。概念设计是核心,它涉及对用户需求的理解和抽象,形成独立于具体数据库管理系统(DBMS)的概念模型。 概念设计的...

    数据库——图书馆管理系统

    首先,系统设计基于E-R图(实体-关系模型),它定义了主要实体:学生、书籍、出版社,以及两个关系表——“书籍当前借阅”和“书籍历史借阅”。E-R图中的属性包括学生的姓名、专业、学号、性别和借书信誉,书籍的...

    数据库——关系运算.ppt

    关系模型包括了数据模型、数据结构、数据操作以及数据的约束条件。其中,关系数据结构是一个二维表格,通常由行和列组成,每一行代表一个实体,每一列代表实体的一个属性。关系操作则包括选择(Selection)、投影...

    网络数据库——SQL Server 2005

    触发器用于实现复杂的业务规则和约束,确保数据的完整性和一致性。管理触发器包括创建、执行、修改和删除,可以借助SQL Server提供的工具和命令进行操作。 在学习和使用SQL Server 2005的过程中,掌握存储过程和...

    数据库——甲骨文学习笔记.doc

    创建表涉及到定义表的结构,包括列名、数据类型、约束条件等。例如,创建表一可能涉及以下SQL语句: ```sql CREATE TABLE Employee ( ID INT PRIMARY KEY, Name VARCHAR(50), Department VARCHAR(50), Salary ...

    数据库试题————————一共四套

    2. 数据模型:数据库设计通常基于三种主要的数据模型——关系模型(Relational Model)、网络模型(Network Model)和层次模型(Hierarchical Model),其中关系模型是最广泛使用的。 3. 数据库语言:SQL...

    实验4 建立图书借阅数据库——第8-10周.docx

    实验4的目的是设计和建立一个图书借阅数据库,利用SQL Server 2008作为数据库管理系统。这个实验涵盖了数据库需求分析、概念模型设计、逻辑模型设计、数据库和表的创建、表的修改以及数据库完整性的设置。 在需求...

    数据库系统——王珊——期末考试要点

    这篇“数据库系统——王珊——期末考试要点”文档很可能是对学生复习期末考试的重要指导。 一、数据库系统基础 数据库系统由数据库、数据库管理系统(DBMS)、数据库管理员(DBA)、硬件、软件及用户组成。DBMS是...

    数据库课设——选修课管理系统

    在本项目“数据库课设——选修课管理系统”中,我们关注的是如何设计并实现一个高效、实用的选课系统,以满足高校学生和教务人员对于选修课程的管理需求。这个系统不仅是一个技术实践,也是对数据库设计、前端交互和...

    sql server 数据库文件——图书订购

    你可以学习如何定义表(如Books、Orders、Customers)、设置主键和外键约束以建立关系、创建索引来提高查询性能,以及设计视图和存储过程以实现更复杂的业务逻辑。 5. **SQL查询**: 使用这个数据库,你可以练习...

    数据库设计——学籍管理系统

    总结起来,"数据库设计——学籍管理系统"是一个全面展示数据库设计和开发过程的实例,涵盖了需求分析、数据库设计、编程和界面设计等多个方面。通过学习和分析这个项目,我们可以深入理解如何利用Visual FoxPro来...

    数据库应用概论——数据库基础

    ### 数据库应用概论——数据库基础 #### 数据管理的发展与演变 数据管理经历了从早期的文件管理系统到现代的数据库管理系统的转变。随着信息技术的发展,数据的重要性日益凸显,数据管理技术也在不断进步。 - **...

    数据库开发——学生信息管理系统

    《数据库开发——学生信息管理系统详解》 在信息技术领域,数据库开发是至关重要的组成部分,它能够高效地存储和管理大量数据,使得数据的检索、更新和分析变得更为便捷。本项目以“学生信息管理系统”为例,深入...

    数据库课设——房屋中介管理系统

    此外,还会包含SQL脚本,用于创建和操作数据库,比如定义数据表、设置约束、插入初始数据等。 “HouseAgency”可能包含了系统的主要功能模块,如房源管理、客户管理、交易管理等的代码实现。这部分涉及到数据库操作...

    数据库技术及应用——SQL Server课件 3数据库管理与使用.ppt

    * 逻辑存储结构:逻辑存储结构是指数据库对象的逻辑组织结构,包括表、数据类型、视图、索引、约束、存储过程和触发器等。 * 物理存储结构:物理存储结构是指数据库对象的物理存储方式,包括文件和文件组。 _create...

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

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

    数据库课设——超市收银管理系统.zip

    数据库课设——超市收银管理系统是一项综合性的项目,旨在运用数据库技术及编程语言来构建一个高效、实用的超市运营辅助工具。在这个系统中,主要涵盖了以下几个核心知识点: 1. **数据库设计**:数据库是系统的...

Global site tag (gtag.js) - Google Analytics