耿建玲视频看完了,做了一大堆笔记,感觉效果不是很好,因为画导图画不出来,不知道怎么编织知识网,通过前天师哥师姐的导图,觉得自己节点找的不好,已超过了5个,也不知道怎么把他们联系起来,于是看看别人的博客,终于画了一幅。有什么不合适的,还请大家不吝赐教!
下面是对知识的一些总结:
一.SQL语言基础
SQL (Structured query Language,结构化查询语言),功能包括查询、操纵、定义、控制。
SQL是非结构化的语言,使用SQL 查询数据库时,只需要告诉它做什么而不用告诉它如何去做。
数据定义语言(DDL),用于定义数据结构
数据操纵语言(DML),用于检索和修改数据结构
数据控制语言(DCL),用于规定数据库用户的各种权限
数据库事务处理,用来保证数据库的完整性
二.数据库对象
1. 数据库中的表与我们日常生活中使用的表格类似,它也是由行Row 和列Column组成的。
创建表
增加、删除和修改字段
创建、删除和修改约束
查看表格
主键约束
唯一性约束
外键约束
核查约束
Null约束和default约束
一个字段可以应用多个check约束,但是却只能应用一个规则。
2. 索引是根据指定的数据库表列建立起来的顺序。它提供了快速访问数据的途径,并且可监督表的数据,使其索引所指向的列中的数据不重复
3. 图表其实就是数据库表之间的关系示意图。利用它可以编辑表与表之间的关系
4.缺省值是当在表中创建列或插入数据时,对没有指定其具体值的列或列数据项赋予事先设定好的值
5.规则是对数据库表中数据信息的限制,它限定的是表的列
6.触发器是一个用户定义的SQL 事务命令的集合,当对一个表进行插入,更改,删除时,这组命令就会自动执行。
触发器类型
Update触发器:在表上进行更新操作时触发。
Insert触发器:在表上进行插入操作时触发
Delete触发器:在表上进行删除操作时触发
Instead of触发器:不执行插入、更新或删除操作时,将触发Instead of 触发器。
After触发器:在一个触发动作发生之后激发,并提供一种机制以便控制多个触发器的执行顺序。
7.存储过程是为完成特定的功能而汇集在一起的一组SQL 程序语句,经编译后存储在数据库中的SQL 程序
所谓用户就是有权限访问数据库的人。
8.视图:虚拟表,在数据库中不存在。限制用户访问修改数据。
9.锁
在SQL Server 中,从数据库系统的角度来看,锁分为以下三种类型:
独占锁Exclusive Lock:独占锁锁定的资源只允许进行锁定操作的程序使用,其它任何对它的操作均不会被接受。执行数据更新命令,即INSERT、UPDATE 或DELETE 命令时SQL Server 会自动使用独占锁。但当对象上有其它锁存在时,无法对其加独占锁,独占锁一直到事务结束才能被释放。
共享锁Shared Lock:共享锁锁定的资源可以被其它用户读取,但其它用户不能修改它。在SELECT 命令执行时,SQL Server 通常会对对象进行共享锁锁定,通常加共享锁的数据页被读取完毕后,共享锁就会立即被释放
更新锁Update Lock:更新锁是为了防止死锁而设立的。当SQL Server 准备更新数据时,它首先对数据对象作更新锁锁定,这样数据将不能被修改,但可以读取。等到SQL Server 确定要进行更新数据操作时,它会自动将更新锁换为独占锁。但当对象上有其它锁存在时,无法对其作更新锁锁定。
10. SQL Server用三段式名字标识对象:
<数据库名>.<所有者名>.<对象名>
前两者可以省略,系统自动有一个默认值。数据库名的默认值是当前数据库,所有者名的默认值是数据库的所有者(dbo)
例如:在pubs数据库中的authors表的所有者是dbo,它可以在多个数据库中按如下方法引用:pubs.dbo.authors
三.T-SQL
(一). 游标
1..DECLARE 游标
2.OPEN 游标
3.从一个游标中FETCH 信息
4.CLOSE 或DEALLOCATE 游标
四.其他
数据库
Master数据库:最重要,记录了初始化信息
Model数据库 存放临时数据,可修改做模板数据库
Msdb数据库:维护备份,恢复历史记录
Tempdb数据库:临时数据库