数据库
2021-03-15 13:45:26 1 举报
AI智能生成
数据库概念知识归纳
作者其他创作
大纲/内容
分类
关系型数据库
MySQL
MariaDB(MySQL的代替品,英文维基百科从MySQL转向MariaDB)
Percona Server(MySQL的代替品·)
PostgreSQL
Microsoft Access
Microsoft SQL Server
Google Fusion Tables
FileMaker
Oracle数据库
Sybase
dBASE
Clipper
FoxPro
foshub
非关系型数据库(NoSQL)
主条目:NoSQL
BigTable(Google)
Cassandra
MongoDB
CouchDB
键值(key-value)数据库
Apache Cassandra(为Facebook所使用):高度可扩展
Dynamo
LevelDB(Google) [1]
模型
对象模型
层次模型(轻量级数据访问协议)
网状模型(大型数据储存)
关系模型
面向对象模型
半结构化模型
平面模型(表格模型,一般在形式上是一个二维数组。如表格模型数据Excel)
架构
内层:最接近实际存储体,亦即有关数据的实际存储方式。
外层:最接近用户,即有关个别用户观看数据的方式。
概念层:介于两者之间的间接层。
索引
索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。
聚簇索引
按照数据存放的物理位置为顺序
能提高多行检索的速度
非聚簇索引
对于单行的检索很快
数据库设计时可创建的三种索引
唯一索引
唯一索引是不允许其中任何两行具有相同索引值的索引
主见索引
数据库表经常有一列或多列组合,其值唯一标识表中的每一行。该列称为表的主键
在数据库关系图中为表定义主键将自动创建主键索引
唯一索引的特定类型
主键中的每个值都唯一
聚集索引
表中行的物理顺序与键值的逻辑(索引)顺序相同
一张表只能包含一个聚集索引
通常可以提供更快的访问速度
特点
建立索引的目的是加快对表中记录的查找或排序
代价
创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加
索引需要占物理空间,除了数据表占数据空间之外,每一个索引还要占一定的物理空间,如果要建立聚簇索引,那么需要的空间就会更大
对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,这样就降低了数据的维护速度
优点
提高系统的性能
创建唯一索引,可以保证数据库中每一行数据的唯一性
大大加快数据的检索速度
加速表和表之间的连接
在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间
通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能
创建索引的时机
可以创建
经常需要搜索的列上
在作为主键的列上,强制该列的唯一性和组织表中数据的排列结构
在经常用在连接的列上,这些列主要是一些外键,可以加快连接的速度
在经常需要根据范围进行搜索的列上创建索引,因为索引已经排序,其指定的范围是连续的
经常需要排序的列
在经常使用在WHERE子句中的列
不建议创建
在查询中很少使用或者参考的列不应该创建索引
只有很少数据值的列也不应该增加索引
当修改性能远远大于检索性能时,不应该创建索引
事务
事务(transaction)是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位。
ACID特性
基元性(atomicity)
一致性(consistency)
隔离性(isolation)
持续性(durability)
并发性
事务的并发性是指多个事务的并行操作轮流交叉运行,事务的并发可能会访问和存储不正确的数据,破坏交易的隔离性和数据库的一致性
数据库
0 条评论
回复 删除
下一页