数据库,简而言之可视为电子化的档案柜——储存电子档案的处所,使用者可以对档案中的资料执行新增、截取、更新、删除等操作。
所谓“资料库”系以一定方式储存在一起、能予多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。
数据库管理系统
数据库管理系统(database management system,简称DBMS)是为管理数据库而设计的电脑软件系统,一般具有存储、截取、安全保障、备份等基础功能。数据库管理系统可依据它所支持的数据库模型来作分类,例如关联式、XML;或依据所支持的电脑类型来作分类,例如服务器集群、移动电话;或依据所用查询语言来分类,例如SQL、XQuery;或依据性能冲量点来分类,例如最大规模、最高执行速度;不论使用那种分类方式,一些DBMS能够跨类别,例如同时支持多种查询语言。
类型:
关系型数据库:
MySQL
MariaDB(MySQL的代替品)
Percona Server(MySQL的代替品)
PostgreSQL
Microsoft Access
Microsoft SQL Server
Google Fusion Tables
FileMaker
Oracle资料库
Sybase
dBASE
Clipper
FoxPro
foshub
非关系型数据库(NoSQL):
BigTable(Google)
Cassandra
MongoDB
CouchDB
键值(key-value)数据库:
Apache Cassandra(为Facebook所使用):高度可扩展
Dynamo
LevelDB(Google)
数据库模型:
物件模型
层次模型(轻量级数据访问协议)
网状模型(大型数据储存)
关系模型
面向对象模型
半结构化模型
平面模型(表格模型,一般在形式上是一个二维阵列。如表格模型数据Excel)
架构:
资料库的架构可以大致区分为三个概括层次:内层、概念层和外层。
- 内层:最接近实际储存体,亦即有关资料的实际储存方式。
- 外层:最接近使用者,即有关个别使用者观看资料的方式。
- 概念层:介于两者之间的间接层。
数据库索引:
数据索引的观念由来已久,像是一本书前面几页都有目录,目录也算是索引的一种,只是它的分类较广,例如车牌、身份证字号、条码等,都是一个索引的号码,当我们看到号码时,可以从号码中看出其中的端倪,若是要找的人、车或物品,也只要提供相关的号码,即可迅速查到正确的人事物。
另外,索引跟栏位有著相应的关系,索引即是由栏位而来,其中栏位有所谓的关键栏位(Key Field),该栏位具有唯一性,即其值不可重复,且不可为"空值(null)"。例如:在合并资料时,索引便是扮演欲附加栏位资料之指向性用途的角色。故此索引为不可重复性且不可为空。
数据库操作:事务
事务(transaction)是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位。 事务的ACID特性:
- 基元性(atomicity)
- 一致性(consistency)
- 隔离性(isolation)
- 持续性(durability)
事务的并发性是指多个事务的并行操作轮流交叉运行,事务的并发可能会存取和存储不正确的数据,破坏交易的隔离性和数据库的一致性。
网状数据模型的数据结构 网状模型 满足下面两个条件的基本层次联系的集合为网状模型。 1. 允许一个以上的结点无双亲; 2. 一个结点可以有多于一个的双亲。