zoukankan      html  css  js  c++  java
  • 笔记-Microsoft SQL Server 2008技术内幕:T-SQL语言基础-01 T-SQL查询和编程基础

    理论

    SQL有几种不同类型的语句,包括数据定义语言(DDL,Data Definition Language)、数据处理语言(DML,Data Manipulation Language),以及数据控制语言(DCL,Data Control Language)。DDL用于处理数据对象的定义,包括的语句有CREATE、ALTER,以及DROP。DML用于查询和修改数据,包括的语句有SELECT、INSERT、UPDATE、DELETE,以及MERGE。DCL用于处理权限管理,包括的语句有GRANT和REVOKE。

    第一范式:第一范式要求表中的行必须是唯一的,属性是原子的。
    第二范式:第二范式包括两条规则,首先数据必须满足第一范式,其次要求非键属性和候选键属性之间必须满足一定的条件。
    第三范式:首先,数据必须满足第二范式,其次,所有非键属性必须非传递依赖于候选键。

    代码

    --创建数据库
    IF DB_ID('testdb') IS NULL 
        CREATE DATABASE testdb;
    GO
    
    --创建表
    USE testdb;
    
    IF OBJECT_ID('dbo.Employees', 'U') IS NOT NULL    --类型'U'代表用户表
        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
        );
    
    -- 主键约束Primary key
    ALTER TABLE dbo.Employees
    ADD CONSTRAINT PK_Employees
    PRIMARY KEY(empid);
    
    -- 唯一约束Unique
    ALTER TABLE dbo.Employees
      ADD CONSTRAINT UNQ_Employees_ssn
      UNIQUE(ssn);
      
      -- 外键约束Foreign key
    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   DATETIME    NOT NULL,
      qty       INT         NOT NULL,
      CONSTRAINT PK_Orders
        PRIMARY KEY(OrderID)
    );
    
    ALTER TABLE dbo.Orders
      ADD CONSTRAINT FK_Orders_Employees
      FOREIGN KEY(empid)
      REFERENCES dbo.Employees(empid);
    
    ALTER TABLE dbo.Employees
      ADD CONSTRAINT FK_Employees_Employees
      FOREIGN KEY(mgrid)
      REFERENCES Employees(empid);
  • 相关阅读:
    BZOJ 1412: [ZJOI2009]狼和羊的故事
    Bzoj 2443: [Usaco2011 Open]奇数度数
    Bzoj 1101: [POI2007]Zap
    BZOJ 2186: [Sdoi2008]沙拉公主的困惑
    BZOJ 4804: 欧拉心算 欧拉函数
    Luogu P3121 [USACO15FEB]审查(黄金)Censoring (Gold)
    Luogu P3000 [USACO10DEC]牛的健美操Cow Calisthenics
    BZOJ 2060: [Usaco2010 Nov]Visiting Cows 拜访奶牛
    BZOJ 3297: [USACO2011 Open]forgot
    BZOJ 2456: mode
  • 原文地址:https://www.cnblogs.com/laixiancai/p/4589994.html
Copyright © 2011-2022 走看看