zoukankan      html  css  js  c++  java
  • SQL 约束-保证数据完整性

    1.MS SQLServer的每个数据库:包含 (1个主数据文件(.mdf)必须。1个事务日志文件(.ldf)必须。)

                  可以包含(任意多个次要数据文件(.ndf),多个事务日志文件)

    2.主键约束:Primary key:主键就是数据行的唯一标识。不会重复的列才能当主键

                1)业务主键:使用有业务意义的字段做主键(身份证号,银行卡号)

                2)逻辑主键:没有任何业务意义的字段做主键

                3)组合主键:选择多列同时作为一个主键→组合主键(复合主键).(一般不建议采用)

          alter table employees add constraint PK_Employees primary key(EmpId)

    3.非空约束:数据不能为空

          alter table employees alter column EmpEmail nvarchar(250) not null

    4.外键约束:Foreign Key:所谓外键就是在A表中引用B表中的主键,那么此时A表叫外键表,B表叫主键表,两表之间联系通过主键和外键联系

                优点:减少数据冗余,保证数据库的正确性

                缺点:查询麻烦

          alter table employees add constraint FK_Employees_DepId foreign key (DepId) references Department(DepId)

    5.唯一约束:唯一,允许为空,但只能出现一次

          alter table employees add constraint UQ_Employees_EmpName unique(EmpName)

    6.默认约束:为数据添加一个默认值

          alter table employees add constraint DF_Employees_EmpGender default('女')for EmpGender

    7.检查约束:范围 以及 格式限制

          alter table employees add constraint CK_Employees_EmpAge check(empage>0 and empage<100)

  • 相关阅读:
    带有通配符的字符串匹配算法-C/C++
    二叉树的遍历(一)
    What is "dll"?
    MFC中的CRect(区域)
    枚举顶级窗口函数EnumWindows和它的回调函数的使用!
    一个鼠标指针有关的启发(存在问题,可以参考一下 呵呵)
    9针串口
    About “PostMessage” &"SendMessage"
    Pocket pc模拟器与PC机传输文件的方法
    overlapped I/O的学习笔记
  • 原文地址:https://www.cnblogs.com/fenger-VIP/p/7272754.html
Copyright © 2011-2022 走看看