zoukankan      html  css  js  c++  java
  • T-SQL :SQL Server 定义数据完整性 5大约束

    640?wx_fmt=jpeg


    1.首先创建一客户张表

    IF OBJECT_ID('dbo.Employees', 'U') IS NOT NULL

      DROP TABLE dbo.Employees;


    CREATE TABLE dbo.Employees

    (

      empid     INT         NOT NULL,

      firstname VARCHAR(30) NOT NULL,

      lastname  VARCHAR(30) NOT NULL,

      hiredate  DATE        NOT NULL,

      mgrid     INT         NULL,

      ssn       VARCHAR(20) NOT NULL,

      salary    MONEY       NOT NULL

    );

    2.主键约束


    -- Primary key

    ALTER TABLE dbo.Employees

      ADD CONSTRAINT PK_Employees

      PRIMARY KEY(empid);

      

    对于主键约束后台将创建一个唯一索引,以物理机制强制逻辑的唯一性约束


    3.唯一约束


    -- Unique

    ALTER TABLE dbo.Employees

      ADD CONSTRAINT UNQ_Employees_ssn

      UNIQUE(ssn);

    4.外键约束 创建一张订单表 插入外键



    IF OBJECT_ID('dbo.Orders', 'U') IS NOT NULL

      DROP TABLE dbo.Orders;


    CREATE TABLE dbo.Orders

    (

      orderid   INT         NOT NULL,

      empid     INT         NOT NULL,

      custid    VARCHAR(10) NOT NULL,

      orderts   DATETIME2   NOT NULL,

      qty       INT         NOT NULL,

      CONSTRAINT PK_Orders

        PRIMARY KEY(orderid)

    );


    -- Foreign keys

    ALTER TABLE dbo.Orders

      ADD CONSTRAINT FK_Orders_Employees

      FOREIGN KEY(empid)

      REFERENCES dbo.Employees(empid);


    5.CHECK约束


    -- Check

    ALTER TABLE dbo.Employees

      ADD CONSTRAINT CHK_Employees_salary

      CHECK(salary > 0.00);


    6.默认约束



    -- Default

    ALTER TABLE dbo.Orders

      ADD CONSTRAINT DFT_Orders_orderts

      DEFAULT(SYSDATETIME()) FOR orderts;


    -- Cleanup

    DROP TABLE dbo.Orders, dbo.Employees;



  • 相关阅读:
    03.《架构漫谈》阅读笔记
    02.《架构漫谈》阅读笔记
    03.《架构之美》阅读笔记
    02.《架构之美》阅读笔记
    01.《架构之美》阅读笔记
    软件架构中的质量属性--以淘宝网为例(小论文)
    MVC框架介绍分析
    论面向服务架构设计及其应用
    1.26学习进度总结
    1.24学习进度总结
  • 原文地址:https://www.cnblogs.com/hgmyz/p/12352015.html
Copyright © 2011-2022 走看看