wns9778.com_威尼斯wns.9778官网

热门关键词: wns9778.com,威尼斯wns.9778官网
wns9778.com > 计算机教程 > Microsoft SQL SERVER 2008技术内幕 T-SQL语言基础(上)

原标题:Microsoft SQL SERVER 2008技术内幕 T-SQL语言基础(上)

浏览次数:152 时间:2019-05-11

一个SQL 语句的执行顺序

入门心法:要练此功,先废其功。(先忘记已学的其他语言,用T-SQL来思考。)
所需代码:https://github.com/956159241/Microsoft-SQL-Server-2008-T-SQL-Fundamentals

1、From (告诉程序 来自哪张表  如果是表表达式 依旧是如此顺序)

目录

2、Where(条件筛选  谓词筛选

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

3、Group by(分组)

1.1 理论背景

4、Having(分组  谓词筛选 )

1.1.1 SQL

5、Select (表达式)

1.1.2 集合论

6、表达式(开窗函数 聚合函数 等等)

1.1.3 谓词逻辑(Predicate Logic)

7、Distinct(去重复)

1.1.4 关系模型(Relational Model)

8、ORDER BY 

1.1.5 数据生命周期

9、TOP/OFFSET-FETCH

1.2 SQL Server 体系结构

 

1.2.1 SQL Server实例
1.2.2 数据库
1.2.3 架构(Schema)和对象

1.3 创建表和定义数据完整性

1.3.1 创建表
1.3.2 定义数据完整性

第二章 单表查询

2.1 SELECT 语句的元素

2.1.1 FROM 子句
2.1.2 WHERE 子句
2.1.3 GROUP BY 子句
2.1.4 HAVING 子句
2.1.5 SELECT 子句
2.1.6 ORDER BY 子句
2.1.7 TOP 选项
2.1.8 OVER子句

2.2 谓词和运算符

2.3 CASE 表达式

2.4 NULL值

wns9778.com,2.5 同时操作(All-At-Once Operation)

2.6 处理字符数据

2.6.1 数据类型
2.6.2 排序规则(Collation)
2.6.3 运算符和函数

2.7处理日期和时间数据

第三章 联接查询

3.1 交叉联接

3.1.1 ANSI SQL-92语法
3.1.2 ANSI SQL-89语法(不支持使用)
3.1.3 自交叉联接
3.1.4 生成数字表

3.2 内联接

3.3 特殊的联接实例

3.3.1 组合联接
3.3.2 不等联接
3.3.3 多表联接

3.4 外联接

3.4.1 外联接基础






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

1.1 理论背景

SQL——Structured Query Language,它是为查询和管理关系型数据库管理系统(RDMS)中的数据而专门设计的一种标准语言。
  语言的独立性——关系模型是独立于语言的,例如C#的类模型。

1.1.1 SQL

SQL 是基于关系模型的ANSI和ISO标准语言,专门为查询和管理RDMS中的数据而专门设计的一种标准语言。

名词区分:

  • ISO —— 国际标准化组织(International Organization for Standardization)简称ISO,是一个全球性的非政府组织,是国际标准化领域中一个十分重要的组织。(.iso系统镜像文件后缀)。
  • IOS —— 系统。
  • OSI —— 是Open System Interconnect的缩写(七层)。

理解:
  SQL类似英语,告诉它想要得到什么,然后由DBMS对语言进行处理得出结果。

1.1.2 集合论

关系模型的数学基础——集合论。
  所谓“集合”是把我们直观或思维中确定的、相互间有明确却别的那些对象m视为一个整体M,这一整体M就称为集合(称m为集合M的元素)。

1.1.3 谓词逻辑(Predicate Logic)

关系模型的数学基础——谓词逻辑。
  不严格的说,谓词就是用来刻画事物是否具有某种性质或满足某种表达式条件的一个词项用于维护数据的逻辑完整性和定义它的结构,谓词也可以用于对数据进行过滤以定义其子集等多种应用场合。

1.1.4 关系模型(Relational Model)

关系模型是一个用于表示数据的语义模型,其理论基础是集合论和谓词逻辑。
  关系模型的目标是要用最少的或完全无冗余地支持完整数据的持久化表示,而且还要将数据完整性(强制的数据一致性)定义为模型的一部分。

关系模型几个相关的概念:

  • 命题 —— proposition
  • 域 —— domain
  • n元关系 —— n-ary relaiton
  • n重元组 —— n-tuple
  • 序偶 —— ordered pair

在关系模型中,关系在数据库的实现中就表现为数据表。对关系进行操作的结果得到的还是一个关系。
  一个域就是一个属性可能的(或有效的)** 一组取值 的集合。 约束(Constraint)
  关系模型最大的优点之一就是将数据完整性定义为模型的一部分,完整性是通过规则(或约束)来实施的。
约束的例子:
  提供实体完整性(entity integrity)的
候选键(candidate key)**——指在关系中能够防止同一元组(数据行)多次出现的属性集(一个或多个属性)。
  外键(foreign key)——用于实施引用完整性,外键是在关系(称为引用关系,referencing relation)中的一个或多个属性上定义,通过它来应用另一个(或者,也可能是同一个)关系中的候选键。
规范化(Normalization)
  关系模型同时也定义了规范化规则(也称为范式)。规范化是一种形式化的数学处理过程,以确保每一个实体只由一个关系来表示。

wns9778.com 1

第一范式(1NF)无重复的列:
  第一范式要求表中的行必须是唯一的属性应该是原子的(atomic)——即列不能再拆分。即一个表表示一个关系。

wns9778.com 2

  数据库表中的字段都是单一属性的,不可再分。这个单一属性由基本类型构成,包括整型、实数、字符型、逻辑型、日期型等。很显然,在当前的任何关系数据库管理系统(DBMS)中,傻瓜也不可能做出不符合第一范式的数据库,因为这些DBMS不允许你把数据库表的一列再分成二列或多列。因此,你想在现有的DBMS中设计出不符合第一范式的数据库都是不可能的。

第二范式(2NF)属性完全依赖于主键 [ 消除部分子函数依赖 ]:
  第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,第二范式包括两条规则,首先数据必须满足第一范式,其次要求非键属性(nonkey attribute)和候选键属性之间必须满足一定的条件。非正式地说,如果要获得任何非键属性值,就必须提供同一行中某个候选键的所有属性值。
  例如员工信息表中加上了员工编号(emp_id)列,因为每个员工的员工编号是惟一的,因此每个员工可以被惟一区分。

wns9778.com 3

不符合第二范式

wns9778.com 4

符合第二范式

另外,所有单关键字的数据库表都符合第二范式,因为不可能存在组合关键字。

第三范式(3NF)属性不依赖于其它非主属性 [ 消除传递依赖 ]:
  第三范式(3NF)要求一个数据库表中不包含已在其它表中已包含的非主关键字信息。要求数据必须满足第二范式。其次,所有非键属性必须非传递依赖于候选键。所有非键属性都必须互相独立。换句话说,一个非键属性不能依赖于其他非键属性。
参考书本和http://www.open-open.com/lib/view/open1404791721950.html

1.1.5 数据生命周期

数据首先进入联机事务处理(OLTP,Online Transactional Processing )然后进入数据仓库(Data Warehouse)再进入联机分析处理(OLAP,OnLine Analytical Processing)最后进入DM(Data mining )。

1.2 SQL Server 体系结构

本文由wns9778.com发布于计算机教程,转载请注明出处:Microsoft SQL SERVER 2008技术内幕 T-SQL语言基础(上)

关键词: wns9778.com

上一篇:JavaScript进行UTF-8编码与解码

下一篇:没有了