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);
  • 相关阅读:
    几种常见的content-type
    node简单起服务
    ESlint配置案例及如何配置
    网络攻防学习心得一(20159320)工具学习
    网络攻防学习心得一(20159320)黑客信息
    题解 POJ1187 【陨石的秘密】
    题解 POJ1934 【Trip】
    题解 POJ1952 【BUY LOW, BUY LOWER】
    TIM bug 总结以及应对方案
    题解 POJ3171 【Cleaning Shifts】
  • 原文地址:https://www.cnblogs.com/laixiancai/p/4589994.html
Copyright © 2011-2022 走看看