第一章: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) 编辑 收藏 举报