第一章:T-SQL查询与编程基础

 

1.基础概念:

Microsoft提供的T-SQL是标准SQL的一种方言或扩展,在它的RDBMS(Microsoft SQL Server)上负责处理数据。

关系模型定义了规范化规则(也成为范式):(只讨论1NF,2NF,3NF)

1NF:原子性。每条记录的属性是原子的,不可再分的。

2NF: 1NF+完全依赖性。每个非键属性必须完全依赖于每个候选键。(候选键:能够唯一标识一行数据)

3NF:2NF+非传递依赖。所有非键属性必须非传递依赖于候选键。(所有非键属性必选相互独立,or,所有非键属性不能依赖于其他非键属性)

数据生命周期:

  联机事务处理(OLTP,online transactional processing):数据首先进入。主要处理的事务包括插入,更新和删除数据。

  数据仓库(DW,data warehouse):专门针对数据检索和生成报表而设计的环境。

  联机处理分析(OLAP,online analytical processing):对聚合后的数据进行动态的在线分析。

  数据挖掘(DM,data mining):为用户提供所有可能问题的答案。 

2.SQL server体系结构。

  SQL server实例:安装的一个SQL Server数据库引擎/服务。

  数据库:各种对象(对象放在架构中,架构包含在数据库中)的容器。每个SQL server实例可以包含多个数据库。

  模式/架构:数据库包含多个架构,而每个架构包含多个对象。可以再架构级别上控制对象的访问权限。架构也是一种命名空间。(dbo是默认架构)

  数据库对象:表Table,视图View,存储过程stored procedure统称为对象。

3.创建表和定义数据完整性。

  创建名为testdb的数据库:DB_ID(数据库名称)返回内部数据库ID,如果不存在返回NULL。

  IF DB_ID('testdb') IS NULL  CREAT DATABASE testdb;

  在testdb中建立一个名为Employees的表: OBJECT_ID(对象名称,对象类型(U代表用户表))返回内部对象ID,如果不存在返回NULL。 

USE testdb;
IF OBJECT_ID('ado.Employees','u') IS NOT NULL
    DROP TABLE ado.Employees;
CREATE TABLE ado.Employees
(
  empid        INT                     NOT NULL, 
  firstname   VARCHAR(30)     NOT NULL,
  lastname    VARCHAR(30)     NOT NULL,
  hiredata     DATE                  NOT NULL,
  mgrid         INT                     NULL,
  ssn             VARCHAR(20)     NOT NULL,
  salary         MONEY               NOT NULL
);    

    定义数据完整性:主键约束、唯一约束、外键约束、检查约束、默认约束

posted on 2015-12-03 13:44  heart_Craft  阅读(167)  评论(0编辑  收藏  举报

导航