改编自:http://www.cnblogs.com/wangshouchang/p/6930443.html
1 存储过程
2 索引
3 事务
4 数据库中的乐观锁和悲观锁
5 drop, delete truncate的区别
6 超键 候选键 主键外键 区别
7视图
8 数据库三大范式介绍
1 存储过程
存储过程是一些编译好的SQL语句
因为系统在调用SQL的时候比较浪费时间,所以之前先将一些基本的额SQL语句代码进行编译(对单表或多表的增删改查),然后再给代码取一个名字,在需要这个功能时去调用它就可以了。
优缺点:
存储工程是编译后的代码效率高
存储过程代替SQL语句,降低网络通信
在一定的程度确保数据安全
2 索引
索引是对数据库中一或多个列值的排序,帮助数据库高效获取数据的数据结构
假如我们用类比的方法,数据库中的索引就相当于书籍中的目录一样,当我们想找到书中的摸个知识点,我们可以直接去目录中找而不是在书中每页的找,但是这也抛出了索引的一个缺点,在对数据库修改的时候要修改索引到导致时间变多。
几个基本的索引类型 普通索引唯一索引 主键索引 全文索引
索引优点:
加快检索速度
唯一索引确保每行数据的唯一性
在使用索引的过程可以优化隐藏器,提高系统性能
索引缺点:
插入删除 修改 维护速度下降
占用物理和数据空间
3 事务
事务(Transaction)是并发控制的基本单位。事务就是一系列的操作,这些操作要么都执行,要么都不执行。
事务具有以下4个基本特征:
1) 原子性(atomicity):事务是数据库的逻辑工作单位,而且是必须是原子工作单位,对于其数据修改,要么全部执行,要么全部不执行。
2) 一致性(consistency):事务在完成时,必须是所有的数据都保持一致状态。在相关数据库中,所有规则都必须应用于事务的修改,以保持所有数据的完整性。
3) 隔离性(isolation):一个事务的执行不能被其他事务所影响。
4) 持久性(durability):一个事务一旦提交,事物的操作便永久性的保存在DB中。即使此时再执行回滚操作也不能撤消所做的更改。
事务的语句
开始事物:BEGIN TRANSACTION
提交事物:COMMIT TRANSACTION
回滚事务:ROLLBACK TRANSACTION
4 数据库中的乐观锁和悲观锁
在所以的 DBMS 中,锁是实现事务的关键,锁可以保证事务的完整性和并发性。与现实生活中锁一样,它可以使某些数据的拥有者,在某段时间内不能使用某些数据或数据结构。当然锁还分级别的,根据不同类型可以对数据设置不同的锁权限。乐观悲观 锁 主要是作用在并发访问控制
悲观锁 假定会发生并发冲突,屏蔽任何违反数据完整的操作
乐观锁 假定不会发生冲突,只有在提交操作时检查是否违反数据的完整性
5 drop, delete truncate的区别
三者都是删除的意思,但是三者个有些区别
delete和truncate只删除表的数据不删除表的结构
速度 drop > truncate > delete
想删除部分数据时, delete 删除时要带上where语句
保留表而想删除所有的数据时用truncate
6 超键 候选键 主键外键 区别
超键(super key):在关系中能唯一标识元组的属性集称为关系模式的超键
候选键(candidate key):不含有多余属性的超键称为候选键
主键(primary key):用户选作元组标识的一个候选键程序主键
外键(foreign key)在一个表中存在的另一个表的主键称此表的外键
比如一个小范围的所有人,没有重名的,考虑以下属性:
身份证、姓名、性别、年龄。
身份证 唯一 所以是一个超键
姓名 唯一 所以是一个超键
(姓名,性别) 唯一所以是一个超键
(姓名,性别,年龄)唯一 所以是一个超键
--这里可以看出,超键的组合是唯一的,但可能不是最小唯一的;身份证唯一而且没有多余属性 所以是一个候选键;姓名 唯一而且没有多余属性 所以是一个候选键
--这里可以看出,候选键是没有多余属性的超键
考虑输入查询方便性,选择身份证为主键。也可以考虑习惯,选择姓名为主键
--主键是选中的一个候选键
一题搞懂什么是候选键:
在SQL Server数据库中,有一个学生信息表如下所示,在该表中不能作为候选键的属性集合为( )(选择一项)
学号 姓名 性别 年龄系别 专业
20020612 李辉 男 20 计算机 软件开发
20060613 张明 男 18 计算机 软件开发
20060614 王小玉 女 19 物理 力学
20060615 李淑华 女 17 生物 动物学
20060616 赵静 男 21 化学 食品化学
20060617 赵静 女 20 生物 植物学
a){学号}
b){学号、姓名}
c){年龄、系别}
d){姓名、性别}
e){姓名、专业}
可能大家不知道如何来选择。如果这个题目我们可以正确的解答,那么对于超键以及候选键和主键的概念已经有很深刻的认识了。透过概念,我们可以了解到,超键包含着候选键,候选键中包含着主键。主键一定是惟一的。为什么呢?因为他的爷爷超键就是惟一的。我们分析一下上面的题目,abcde5个答案都可以作为超键,他们组合在一起的集合可以用来惟一的标识一个实体。请注意我们的要求:候选键。候选键要求是不能包含多余属性的超键,我们看一下答案b。在答案b中,如果我们不使用姓名也可以惟一的标识一条数据实体,可以说姓名字段在这里是多余的。那么很明显,b选项包含了多余字段属性。那么这题答案应该选择b。那么其他的4个选项都可以作为候选键,假设很幸运,a)学号 被选择作为用户正在使用的候选键来惟一标识元组了,那么他很幸运的获得了主键的称号(主键->候选键)。
7视图
定义 视图是一种虚拟表,可以对视图进行增删查改。可以将一个表多个表组合成一个视图。对视图的修改不影响基本表。
8 数据库三大范式介绍
1NF 字段是最小单元,不可再分
2NF 满足1NF 表中字段必须完全依赖全部主键而并非部分主键
3NF 满足2NF,非主键外的所有字段必须互不依赖
677

被折叠的 条评论
为什么被折叠?



