zoukankan      html  css  js  c++  java
  • SQL---------表的约束

    表的约束

    防止同一条数据完全重复:主键约束(primary key)唯一键约束(unique),自增长;

    防止数据为空: 非空约束(not noll),默认值;

    防止乱填数据: 外键, 定义数据类型,check

    主键约束(Primary key constraint)要求主键能够唯一区分每一行数据,主键可以是一列也可是几列组合成主键,并且不允许为空,表中的数据按照主键有序排列,

    l 语句操作: alter table stuinfo add  constraint pk-sruno primary key(stuno)

    l 表格操作:在表的设计界面,在相应的列上,右击-"设为主键"/"删除主键"

    唯一约束(unique constraint)要求该列唯一,允许为空,但只能出现一个空值

    l 语句操作:alter table stuinfo add constraint uniquestuid

    l 表格操作:在表的设计界面上,右击--“索引/键”在弹出窗口上,点击左下角“添加”,右侧属性列表,修改类型——唯一键,设置列

     例子 qq 号与qq邮箱的关系

    检查约束(check constraint)某列取值范围 格式限制等 例如 有关年龄的限制

    默认约束(default constraint)某列的默认值

    语句操作:sxex varchar(2) default(''),

    表格操作:在表的设计界面,选择相应的列,在下面的属性面版中——默认值

    例子insert into Studente(sno,sname,sbirthday,class) values('201','小王','1974-06-03','95031')

    外键约束(foreeign key constraint)用于建立两表之间的关系,需要制定引用主表的那一列

    三、自增长列:标识列,Identity

    1.不能手动向里面填值。如果要写insert语句的话,则语句应当把这一列忽略

    2.自增长列主要用于整型、长整型,Decimal类型。

    3.不要随便把自增长列作为主键。

    --

    操作:在表的设计界面中,选中相应的列,在下面的属性面版——“标识规范”--选择是

    防止有些该填的没有填:

    一、非空约束

    不能为NULL

    操作:在表的设计界面中“允许NULL值”中的复选框去掉。

    二、默认值。

    如果不给列赋值的话,会使用默认值填上。

    操作:在表的设计界面,选择相应的列,在下面的属性面版中——默认值

    防止乱填:

    一、Check约束。

    按照某种规则对数据进行检查。

    操作:在表的设计界面中,右击相应的列,选择“CHECK约束”在弹出的对话框中,设置约束的名称和表达式。

    二、外键约束。主表,从表。

    主表是用来约束从表的。外键应当建在从表上。

    使用主表的主键来约束从表外键。

    从表中的外键列是不能随便乱填内容的,它只能填写主表主键中存在的数据。

    一旦建立起外键关系来,从表的外键不能乱填,反过主表中的主键列也不能乱删除乱改。

    级联删除的设置——整理

    操作:先建好主表,在从表的设计界面上,右击-“关系”,在弹出的对话框中选择“添加”,在右边属性列表中设“表和列的规范”

    三、类型。

    完整性包括

    实体完整性 

    数据行不能存在重复

    域完整性

    实现了对输入到特定列的数值的限制

    引用的完整性

    要求子表中的相关项必训在主表中也存在

    如果建立了主表和子表 则 子表中的相关项目的数据,在主表中必须存在

    3主表中相关的项数据更改了,则子表中的数据也要相应的更改

    4在删除子表前主表不能删除

    四 自定义完整性

    创建表包括选择字段的名称 数据类型 定义是否为空 设置默认值 主键 外键关系 检查约束等 。表中没有合适的列作为主键可以创建标示列。

    sql 中存在的5中约束

     添加约束的方法: alter table 表名 add constraint 约束名 约束类型

    具体的约束说明

    约束名取名规则 :

    主键 pk-stuno

    唯一 uq

    默认 de

    检查 ck

    外键 fk

    代码添加约束书写方法(以表格stuinfo)

    添加主键约束:

    添加唯一键约束:alter table stuinfo add constraint uniquestuid

    添加默认约束键: alter table stuinfo add constraint df-stuadddress  default(‘地址不详’)for stuaddress

    添加检查约束:alter table stuinfo add constraint ck-stuage  check(stuage between 13 and 40 )

    添加外约束键: ALTER TABLE stuMarks ADD CONSTRAINT FK_stuNo  FOREIGN KEY(stuNo) REFERENCES stuInfo(stuNo)

  • 相关阅读:
    mongodb 创建auto increment 自增函数
    QT通过IP地址定位地址(用get方法取数据)
    VC程序快速删除自己(可能做升级程序的时候有用)
    让程序出现在控制面板(写注册表)
    亲测VS2010纯静态编译QT4.8.0,实现VS2010编译调试Qt程序,QtCreator静态发布程序(图文并茂,非常详细) good
    Qt configure 参数不完全说明
    C语言和C++篇
    C#开源实现MJPEG流传输
    前端EASYUI的简化调用
    .NET Mvc Razor
  • 原文地址:https://www.cnblogs.com/woniu-net/p/4679741.html
Copyright © 2011-2022 走看看