一、NoSQL
文档存储数据库是以文档为存储信息的基本单位,如 BaseX、CouchDB、MongoDB 等。
键值存储数据库支持简单的键值存储和提取,具有极高的并发读写性能,如Dynamo、Memcached、Redis等。
图形存储数据库利用计算机将点、线、面等图形基本元素按照一定的数据结构进行存储如FlockDB、Neo4j、OrientDB等。
列存储数据库分布式数据存储和管理,如Bigtable、HBase、Cassandra等。
二、数据挖掘算法
1、连接分析:PageRank
2、相关分析:Apriori
3、分类算法:C4.5,朴素贝叶斯,SVM,KNN,Adaboost,CART
4、聚类算法:K-Means,EM
三、冲突
命名冲突是指相同意义的属性,在不同的分 E-R图上有着不同的命名,或是名称相同的属性在不同的分 E-R 图中代表着不同的意义,这些也要进行统一。
属性冲突是指同一属性可能会存在于不同的分 E-R图,由于设计人员不同或是出发点不同,属性的类型、取值范围、数据单位等可能会不一致,这些属性对应的数据将来只能以一种形式在计算机中存储,这就需要在设计阶段进行统一。
结构冲突是指同一实体在不同的分 E-R图中有不同的属性,同一对象在某一分 E-R图中被抽象为实体而在另一分 E-R 图中又被抽象为属性,需要统一。
四、无损连接和保持依赖
无损连接:
step1: 把分解的两个表(设为R1和R2)的交集找出来。
step2: 判断这个交集是否为R1的超码或者是R2的超码(超码:一个或多个属性的集合,这些属性的组合可以使我们在一个实体集中唯一地标识一个实体)。
保持依赖:
直接判断在原来的未被分解的表中的每个函数依赖的左右两边的属性是否都在同一个被分解的表中
五、CAP理论
Consistency(一致性)
Availability(可用性)
Partition tolerance(分区容忍性)
六、数据类型
七、数据单元
八、封锁协议
一级封锁协议:
事务T在修改数据R之前必须先对其加X锁,直到事务结束才释放
防止丢失修改
二级封锁协议:
一级封锁协议加上事务T在读取数据R之前必须先对其加S锁,读完后即可释放S锁
防止丢失修改和读“脏”数据
三级封锁协议:
一级封锁协议加上事务T在读取数据R之前必须先对其加S锁,直到事务结束才释放
防止丢失修改、读“脏”数据和不可重复读
九、触发器
CREATE TRIGGER trigger_name
[BEFORE|AFTER] [INSERT|UPDATE|DELETE] [OF col_name] ON table_name
REFERENCING new row AS nrow,old row AS orow
FOR EACH ROW
十、储存过程
CREATE PROCEDURE procedure_name(IN para para_type)
CURSOR cursor_name IS SELECT xxx
EXCEPTION WHEN OTHERS THEN ROLLBACK