标签:
声明:我的文章都是只挑主要的写,次要细节太多,归纳就没意义了,同时归纳主要是给自己看的,
而且基本都是凭自己的一些记忆和理解即时写的、不一定对和全(但大多是一些需要理解的概念),请各位看管见谅!
数据库设计篇
1.范式
A.1范式,原子性,即列不可分
B.2范式,完全依赖,即有个主键唯一区分
C.3范式,不能传递依赖,即表中不能还有其他表的非主键信息
2.模型
A.概念模型,即ER图等
B.逻辑模型,即建逻辑表
C.物理模型,即生成物理表
事务
1.四大特性,
A.原子,要么。。要么。。
B.隔离,不受影响
C.一致,前后一致
D.永久,保存
2.隔离,读的问题
A.脏读,读未提交
B.不可重复读,读以提交(update)---好像是MsSql默认
C.幻影(虚读、可从重复读),读条数(delete|insert)---好像是Mysql默认
D.串行,这个不用多说了。。
3.锁,写的问题(丢失更新),并发控制
A.悲观锁(数据库层):读锁(共享锁) 给表添加后不能修改---容易出死锁;写锁(排它锁) 给表添加后不能添加其他锁
B.乐观锁(非数据库):如时间戳等
4.事务传递,即嵌套调用,也就是还要不要能不能开启新事务
5.使用方式,数据库式;编码式;声明式
6.分布式,这个差点忘了,就是事务范围和2pc(这个就是都ok了再行动)
连接池,这个也算上个吧,其实就是之前说设计模式里面的享元模式的实用,一般用别人写好了,直接用就是
索引,聚集,就是物理的;非聚集就是逻辑的;联合索引,就是多个一起的;
还有什么sql的写法,左右连接等等就算了,也不能算什么难的东四(不在优化层面的话)。
至于什么安全性相关的、数据库恢复等DBA相关操作,而nosql&大数据就更不在此范围了,精简归纳吗。
还有数据库的主从复制,读写分离,数据切分,集群等都不在此基础概念上说,以后有机会再另起mysql架构优化篇再说。
里面还是有些说的,像读写分离就用主从复制方式实现等。唉,多说了。。
PS,
写这个主要是今天早上一面试(又被忽悠一次)。电话里说只要你能力可以,去到后说我们现在只要个简单开发的(真怀疑是否简历写得有问题?)
15K已经是经理级别什么的。去!水平烂(有看笔试题,过半都是runat=server的用户控件的记忆性烂题!)的还。。唉~
其笔试里另一半就是sql的题,忽然觉得还有个数据库的没有涵盖归纳到基础里。。。
呀!好像还有个网路的,以后再写写吧。。
标签:
原文地址:http://www.cnblogs.com/jiyilee/p/4924575.html