2008技术内幕:T-SQL语言基础 单表查询摘记
这里的摘抄来自《Microsoft SQL Server 2008技术内幕:T-SQL语言基础》,书中用到的案例数据库是这个 TSQLFundamentals2008 ,官网给出的连接是这个(貌似有的要穿墙), 冠军也有一份。
第一章 T-SQL查询和编程基础
SQL (Structured Query Language)
为查询和管理关系型数据库管理系统(RDBMS--Relational Database Management System)中的数据而专门设计的一种标准语言。
RDBMS是一种基于关系模型的数据库管理系统,而关系模型则是一种用于表示数据的语义模型。该模型基于两种数学理论:集合论和谓词逻辑。
关系模型是独立于语言的,除了SQL外,还可以用其他的语言来实现关系模型,例如,C#的类模型。
SQL是基于关系模型的ANSI和ISO标准语言。
SQL有几种不同类型的语句:
数据定义语言(DDL--Data Definition Language):用于处理数据对象的定义,包括Create、Alter、Drop语句。
数据处理语言(DML--Data Manipulation Language):用于查询和修改数据,包括Select、Insert、Update、Delete、Merge语句。
数据控制语言(DCL--Data Control Language):用于处理权限管理,包括Grant,Revoke语句。
此书重点介绍的是DML数据处理语言。
集合
所谓集合是把我们直观或思维中确定的、不同的哪些对象作为一个整体来考虑的结果。这些对象就是集合的元素或成员。
谓词逻辑:True or False
约束:通过规则或约束来确保关系模型数据的完整性。
范式:
第一范式,表中的行必须是唯一的。属性应该是原子的(即列不可再拆分)。
第二范式,有两条,第一:首先必须满足第一范式;
第二要求非键属性和候选键属性之间必须满足一定的条件,对于每个候选键,每个非键属性都必须完全函数依赖于整个候选键。
第三范式,有两条,第一:首先必须满足第二范式;
第二所有非键属性必须非传递依赖于候选键。 第二、第三范式概括起来讲:每个非键属性都依赖与键。
自己的话概括,第一范式,表中的各个列不可拆分,有明确的属性;
第二范式,在满足第一范式的同时,每个表还要有一个唯一的主键标识,通过主键可以查到这个实例的表中所有信息;
第三范式:在满足第二范式的同时,两表联合,不能通过两表的主键与主键联接,因存在表1的主键与表2的非主键联合。(救命实在是不知道怎么表达了...)
例子,员工表(employe),部门表(department),员工表中有员工编号,员工姓名,员工性别,员工住址,所属部门编号等等;部门表中有部门编号,部门名称,部门信息等等。
数据生命周期
联机事务处理(OLTP--OnLine Transctional Processing):重点是数据输入,主要处理的事务包括插入、更新 删除数据。
数据仓库(DW--Data Warehouse):专门针对数据检索和生成报表而设计的环境。
当这样的环境服务于整个企业时,就称之为数据仓库;而只服务于企业一部分时,如一个特定的部门,就称之为数据集市(data mart)。
数据集市主要是为了支持数据检索,而对数据库仓库中的数据模型进行设计和优化。
联机分析处理(OLAP--OnLine Analytical Processing)系统,支持对聚合后的数据进行动态的在线分析。
数据挖掘(DM--Data Mining)由数据挖掘算法梳理数据,从中筛选出有用的信息。
文件扩展名
.mdf(Master Data File主数据文件)
.ndf(Not Master Data File非主数据文件)
.ldf(Log Data File日志数据文件)
架构(Schema)和对象:
一个数据库包含多个架构,而每个架构又包含多个对象(对象可以是表,视图,存储过程等)。
可以在架构级别上控制对象的访问权限。表是属于架构,而架构又是属于数据库的。
CREATE SCHEMA xxx AUTHORIZATION dbo;
更多相关文章
- Intellij Mybatis连接Mysql数据库
- 使用plsql访问远程数据库
- hsqldb数据库使用
- mysql数据库自增id用法大全_MySQL
- my sql 只展示 前10条数据的写法
- 我的MSSQL2000数据库自从我的系统从XPHOME升级到XPP版以后表都打
- SQL2000数据库脱机/只读/紧急模式 修复
- Oracle 00932. 00000 - “不一致的数据类型:预期%s获得%s”
- 十万火急!如何远程复制sql2000数据库