SQL Server 2008 学习笔记
目录
一、SQL Server 2008 学习笔记(一) 数据库系统的基本结构 1
二、SQL Server2008 学习笔记(二)关系数据库 3
三、SQL Server2008 学习笔记(三) 数据库管理 6
四、SQL Server2008学习笔记(四)数据
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
的基本操作(上) 11
五、sql server2008 学习笔记 小插曲 15
一、SQL Server 2008 学习笔记(一) 数据库系统的基本结构
在写我的第一篇笔记之前,先废话几句,最近打算学习一段时间的数据库知识并打算把我的读书心得晾出来和大家分享一下,希望感兴趣的园友能能够一起探讨,共同提高。有理解的不对的地方也欢迎各位大牛拍砖,这年头不为别的,就为了能掌握点真理!
废话说完了,开始今天的正文。
首先来上一张图片,了解一下数据库系统的基本结构
下面我想用一个简单的比喻来描述一下数据库系统的基本结构。
数据库系统=====》仓储中心
数据库========》仓储中心的货场或者是仓库
数据=========》存储在货场或者是仓库中的货物
数据库管理系统===》在仓储中心一系列的管理体制规则下的仓库自动化管理系统
数据库管理员====》仓库的库管员
应用系统======》仓储中心对外的服务窗口
操作系统======》公司或者集团,是一个基础环境的作用
这样就可以将数据库系统的运行描述为一个仓储中心的运转。
当有客户(用户)来仓储中心(数据库系统)存/取货物的时候,客户(用户)首先要接触的是仓储中心的对外服务窗口(软件系统),服务窗口会对客户(用户)的身份进行验证,出示证件或其他的一些方式和方法。客户(用户)身份验证通过之后就可以进行通过服务窗口索取服务(发出一些命令)来传给仓库的自动化管理系统(DBMS)会对这些命令再一次进行验证,验证通过就提供相应的服务(返回相应的结果),验证失败会拒绝服务(返回一个错误)。在这个过程中,客户(用户)不需要了解你想要的货物放在仓库(数据库)的具体位置,这么多的货物(数据)究竟是怎样的一个组织结构。同样的一个仓库或者是货场怎么才能更有效率的想客户(用户)提供服务,怎样才能存放更多的货物,这些都是仓库管理员(数据库管理员)应该做的事情。
关于数据库系统的几点说明
1、(数据库)DB和(数据库管理系统)DBMS:数据库和数据库管理系统是两个不同的概念。数据库是数据存储的仓库,是一个实体,能够合理的存放数据的地方。数据库管理系统是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。我们通常说的oracle、sql server、mysql、db2属于DBMS的范畴。
2、数据库系统中数据的模型:层次模型、网状模型、关系模型。我们通常所说的关系型数据库就是根据数据模型来划分的。
3、数据库管理系统是数据库系统的核心,对数据库的一切操作,如原始数据的装入、检索、更新、再组织等等,都是在DBMS的指挥、调度下进行的,它是用户与物理数据库之间的桥梁,根据用户的命令对数据库执行必要的操作。
4、由于数据库管理系统(DBMS)的核心作用,所以我们学习数据库的时候主要还是学习的是数据库管理系统(DBMS)。
5、在实际的使用过程中我们一般不关心数据的物理结构只关心数据的逻辑结构,这就得借助于功能强大的数据库管理系统(DBMS)
二、SQL Server2008 学习笔记(二)关系数据库
关系数据库(Relational Database ,RDB)基于关系模型的数据库。是现代最流行的数据管理系统中应用最为普遍的一种,也是最有效率的数据组织方式之一。
理解关系数据库可以从两方面进行理解:
1、关系数据库是有由行与列构成的二维表表之间的关联组成
2、表的关联。表的关联的好处就是无需将相同的数据重复的进行存储,降低了数据的冗余度。
术语
键码(key):在关系中用来标识行的一列或者是多列
主关键字(Primary Key):是表行的唯一标识的候选关键字。这里需要注意的地方是,一个表只有一个关键字;主关键字可以由一个或者是多个字段组成,分别称为单段主键和多段主键
候选关键字(Candidate Key):唯一标识表中的一行而又不包含多余属性的一个属性集
公共关键字(Common Key):两个数据表中具有相同或者是相容的属性或者是属性组,那么这个属性或属性组就称之为关系的公共关键字
外关键字(Foreign Key):外关键字存在于公共关键字的基础之上。在公共关键字中如果这个公共关键字在其中的一个数据表中是主关键字那么这个公共关键字就称之为另一个表的外关键字。
范式理论
目前关系数据库有六种范式,而在实际
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
数据库的时候,通常用到的是前三种范式
1NF
a)数组的每个属性只能包含一个值
b)关系中的每个数组必须包含相同数量的值
c)关系中每一个数组一定不能相同
反例
姓名
性别
年龄
张三
男
18
李四
男
20
王五 赵六
女
19 20
如果符合1NF则修改如下
姓名
性别
年龄
张三
男
18
李四
男
20
王五
女
19
赵六
女
20
2NF
满足第一范式的基础上,数据表中的任何一个非主键字段的数据都依赖于该数据表中的主关键字。
项目编号
名称
负责人
负责人部门
营销员
开始日期
结束日期
1
项目一
张三
项目部
1
2012/05/01
2012/05/09
2
项目二
李四
项目部
2
2012/05/01
2012/05/09
3
项目三
王五
财务部
1
2012/05/01
2012/05/09
若满足2NF则需要将上面的表分拆为一下两个表:
员工姓名
所属部门
张三
项目部
李四
项目部
王五
财务部
项目编号
名称
负责人
营销员
开始日期
结束日期
1
项目一
张三
1
2012/05/01
2012/05/09
2
项目二
李四
2
2012/05/01
2012/05/09
3
项目三
王五
1
2012/05/01
2012/05/09
3NF
在满足第二范式的基础上,满足第三范式的条件是数据表中的任何两个非关键字段的数据值之间不存在函数依赖关系。
这个范式比较容易理解就不拿例子来解释了。
这样做有什么好处吗?
答案
八年级地理上册填图题岩土工程勘察试题省略号的作用及举例应急救援安全知识车间5s试题及答案
是肯定的哈。没有无缘无故的爱和恨,呵呵。
1、节约存储空间
2、避免的数据变动时发生人为的错误
E-R模型
1、实体模型
怎么样理解这样的一个概念呢。通过一个简单的例子来解释这样的一个概念。
学生信息
学号
姓名
年龄
这就是一个实体集
学生
20101111
张三
18
这是一个实例
参考资料上的定义是这样的:同一类实体的所有实例构成该对象的实体集。
实例是实体集中某个特例
2、关系模型
1、一对一关联
2、一对多关联
3、多对多关联
三、SQL Server2008 学习笔记(三) 数据库管理
数据库管理的核心任务是创建和维护数据库。
一、SQL Server数据库的组成
1、系统数据库
系统数据库主要有master、model、tempdb、msdb四个数据库,下面是这四个数据库的简单介绍;
master:是SQL Server2008的核心数据库,这个数据库如果损坏,那么SQL Server将没法正常的运行。这个家伙什么这么重要呢?呵呵,因为这个家伙手中掌握着如下重要的机密数据:
a、所有的用户登录名及用户ID所属的角色
b、数据库的存储路径
c、服务器中数据库的名称及相关信息
d、所有的系统配置设置,包括数据排序的信息、安全实现、恢复模式
e、SQL Server的初始化信息
既然这货很重要所以在日常的维护中对master数据库进行定期的备份就显得非常的重要了。
model:创建数据库的一套
模板
个人简介word模板免费下载关于员工迟到处罚通告模板康奈尔office模板下载康奈尔 笔记本 模板 下载软件方案模板免费下载
,同时也是tempdb的基础,所以对model进行操作的时候应该多多的考虑一下。
temdb:是一个临时工。既然是临时工,那肯定是不能肩负核心重任的。仅存在于SQL Server 的会话期间,一旦会话结束,则关闭该数据库,当下一次打开的时候会建立一个全新的、空的tempdb数据库;主要的作用是存储用户建立的临时表和临时的存储过程,存储用户定的全局变量。
msdb:其重要性不亚于master数据库;对该数据库的操作有一定的局限。
a、不能删除该数据库
b、不能从该数据库中删除guest用户
c、不能删除主文件组、主数据文件或者是日志文件
d、不能重命名主文件组或者是主数据文件
e、不能更改排序规则
f、不能将数据库设置为OFFLINE
g、将主文件组设置为READ_OLNY
2、数据库存储文件
在SQL Server2008中每个数据库至少要包含两个相关联的存储文件:数据文件和事务日志文件。并且数据文件和事务日志文件包含在独立的数据文件中。
主数据文件
主数据文件主要存放一些数据库的启动信息,并指向其他数据文件、用户数据、用户对象;另外一个数据库只能有一个主数据文件,默认的拓展名是.mdf
辅助数据文件
辅助数据文件主要存放用户数据,它可以将数据分散到不同的磁盘当中。其拓展名是.ndf
注:当数据库超过了单个Windows文件的限制,可以使用辅助数据文件,这样可以保证数据库可以继续的增长
事务日志文件
事务日志文件主要用于恢复数据库日志信息,每个数据库至少应该包括一个事务日志文件。默认的拓展名是.log
数据库元素
数据库中主要包含五种元素,分别是表、视图、索引、存储过程和触发器、用户和角色。后面会详细介绍这五个元素,在这里就不在赘述了。
二、数据库快照
这个概念其实灰常好理解哈。数据库在生产过程中变化是迅速的,最典型也是最应该知道就是数据库容量的变化。那数据库快照就是数据库在某一个时间点的状态。呵呵,有点抽象了。其实这货好比是一张照片。就是这么简单。当然了,给数据库搞这么一张照片也不是拿来炫耀的哈。数据库快照的功能是:提供了一种恢复数据库的手段,当数据库损坏的时候(当然这种情况不是很多哈,要不那估计你得回家了),通过数据库快照可以将数据库还原到一个快照前的一个状态。
1、使用数据库快照的时候的一些限制
a、不允许删除、还原和分离源数据库
b、不允许从源数据库或者是快照中删除任何数据文件
c、源数据库的性能会降低
d、源数据库中必须处在在线状态
2、创建数据库快照
1 create database test_kuaizhao
2 on
3 (
4 name = test,
5 filename = 'E:\SQL Server\test_kuaizhao.mdf'