SQL Server是Microsoft发布的一个关系型数据库管理系统,用于对多个数据库进行管理。从今天起对SQL Server2012进行学习,也算是做个攻略,方便后来的学习者,持续更新ing。。


视频是网上买的,配套的参考书籍是《SQL Server2008从入门到精通》。为尊重卖家的利益,不公开视频下载地址,需要的可以私信我。


1.数据库概念


1.1 数据库的3种类型


数据库(Database)是按照数据结构 来组织、存储 和管理数据的建立在计算机存储设备上的仓库。较常见的有三种:


  1. 层次模型
  2. 网状模型
  3. 关系模型

层状模型:从上到下,按照等级进行划分



sql server数据库是属性数据库 sql server 属于( )类型的数据模型_sql server数据库是属性数据库




网状模型:凡是有实线连接的两个部分都是有关系的,这种模型能很好反映各个部分之间的相互关系。




sql server数据库是属性数据库 sql server 属于( )类型的数据模型_数据库管理_02




关系模型:最常使用的一种模型,例如下表中的负责人编号ht0801在两个表中都有出现,可以通过ht0801这个编号判断两张表中有联系的部分。


sql server数据库是属性数据库 sql server 属于( )类型的数据模型_数据库_03




1.2数据库的基本术语(只贴一张图,需要了解详细内容可听视频讲解或自行百度) 



sql server数据库是属性数据库 sql server 属于( )类型的数据模型_数据库管理_04


1.3范式原理



保持存储数据完整性的同时 最小化冗余数据结构的过程。即在 确保准确性的基础上,提高数据的压缩效率。关系数据库有六种范式,第1~5范式以及B-C范式。并且范式的判断是逐级递增的,即只有满足第一范式后才能判断是否满足第二范式,以此类推。



第一范式:(一列为一个数组)



  • 数组的每个属性只能包含一个值
  • 每个数组必须包含相同数量的值
  • 每个数组一定不能相同

sql server数据库是属性数据库 sql server 属于( )类型的数据模型_sql server数据库是属性数据库_05




主键是第一列(通常情况下都是如此),则其余列都要依赖于第一列。



在下表中可以看到负责人部门是不依赖于项目编号的,只依赖于负责人。



solution:需要划分成两个表以满足第二范式。


sql server数据库是属性数据库 sql server 属于( )类型的数据模型_sql server_06




第三范式:在满足第一、第二范式的情况下,任意两个非主键字段的数据值之间不存在函数依赖关系。



下表中工资与奖金之间存在函数关系,即工资与奖金挂钩,因此不满足第三范式。



solution:去掉奖金项即可满足第三范式。



sql server数据库是属性数据库 sql server 属于( )类型的数据模型_sql server数据库是属性数据库_07




1.4 E-R模型(Entity-Relationship模型)



即实体-联系数据模型 ,它能简明扼要地表示两个实体集之间的关系。



下图的学生信息是一个实体集,包含学号、姓名等多个信息。同理也存在着班级实体,即一个班级实体对应多个学生实体,即图中的2,是1:N的关系。



sql server数据库是属性数据库 sql server 属于( )类型的数据模型_微软_08



1.5 SQL Server2008体系结构




sql server数据库是属性数据库 sql server 属于( )类型的数据模型_微软_09


数据库引擎:负责数据库的存储、处理和安全管理。也是我们最常使用的服务。



潜在的联系。



创建和发布报表以及 提供对对象模型进行编程和扩展的API。



集成服务(Integration Services):负责数据的提取、转换和加载操作。高效处理Excel、txt等多种常用数据,提供给数据库引擎、分析服务以及报表服务进行进一步操作。