数据库

1.数据库的四个范式:

1NF,第一范式,无重复的列。每一列都是不可分割的原子数据项。

2NF,第二范式,属性完全依赖于主键。且只有一个主键。基于第一范式

3NF,第三范式,属性不能依赖传递于主属性(属性不依赖于其他非主键属性)。当一个属性依赖一个非主键属性,而这个非主键属性有依赖于主键,则前一个属性传递依赖于主属性。基于第二范式

4NF,第四范式:禁止主键列和非主键列一对多关系不受约束。即用表中多个列组合在一起被定义为唯一主键,即复合主键。


2.数据库事务:

数据库事务指为某个逻辑工作单元的一系列操作,要么完整执行,要么完全不执行。满足ACID属性。

Atomic 原子性:事务必须是原子工作单元,对于其数据修改,要么全部执行,要么全都不执行。

Consistent 一致性:事务在完成时,必须使所有数据都保存一致状态。

Insulation 隔离性:由并发事务所做的修改必须与如何其他并发事务所做的修改隔离。

Duration 持久性:事务完成之后,对于系统的影响是永久性的。


3游标Cursor

游标是系统为用户开设的一个数据缓冲区,存放sql语句的执行结果。每个游标区都有一个名字,用户可以用sql语句逐一从游标中获取记录,并赋给主变量,交由主语言进一步处理。


4.索引:

数据库索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可以快速访问数据库表中的信息。索引分为聚簇索引和非聚簇索引两种。聚簇索引:是按照数据存放的物理位置为顺序。非聚簇索引不是,所以聚簇索引只有一个,而非聚簇索引却可以有多个。

建立索引的目的是加快对表中记录的查找和排序,索引的结构是b树,以空间换时间。




SQL语句:

选择

SELECT (DISTINCT) * FROM tablename WHERE a = b AND c like '%xx%' AND d in ('1','2','3') AND e between 1 and 2 ORDER BY c (DESC) 默认为升序ASC

更新

UPDATE table SET a = 1 WHERE ...

删除记录

DELETE FROM table WHERE ...

添加数据记录

INSERT INTO table ( a,b,c...) VALUES (d,e,f)

INSERT INTO table SELECT * FROM tableb

一些组函数:AVG .COUNT ,MAX, MIN,SUM





你可能感兴趣的:(数据库)