数据库
存储和管理数据的仓库。
现在市场上流行的是关系型数据库和非关系型数据库
关系型数据库
底层以二维表的形式来保存数据。
常见的关系型数据库有哪些:
SqlServer
Oracle
MySQL
DB2
Sqlite
...
二维表
二维表名就是关系名。表中的第一行通常称为属性名,表中的每一个元组和属性都是不可再分的,且元组的次序是无关紧要的。
常用的关系术语如下:
记录 二维表中每一行称为一个记录,或称为一个元组。
字段 二维表中每一列称为一个字段,或称为一个属性。
域 一组具有相同数据类型的值。例如:自然数就是一个域
非关系型数据库
NoSQL最常见的解释是“non-relational”, “Not Only SQL”也被很多人接受。NoSQL仅仅是一个概念,泛指非关系型的数据库,区别于关系数据库,它们不保证关系数据的ACID特性。NoSQL是一项全新的数据库革命性运动,其拥护者们提倡运用非关系型的数据存储,相对于铺天盖地的关系型数据库运用,这一概念无疑是一种全新的思维的注入。
NoSQL有如下优点:易扩展,NoSQL数据库种类繁多,但是一个共同的特点都是去掉关系数据库的关系型特性。数据之间无关系,这样就非常容易扩展。无形之间也在架构的层面上带来了可扩展的能力。大数据量,高性能,NoSQL数据库都具有非常高的读写性能,尤其在大数据量下,同样表现优秀。这得益于它的无关系性,数据库的结构简单。
市场上常见的有:Tokyo Cabinet/Tyrant, Redis, Voldemort, Oracle BDB,Cassandra, HBase, Riak,CouchDB, MongoDb,Neo4J, InfoGrid, Infinite Graph。
ACID特性
ACID,是指数据库管理系统(DBMS)在写入或更新资料的过程中,为保证事务(transaction)是正确可靠的,所必须具备的四个特性:原子性(atomicity,或称不可分割性)、一致性(consistency)、隔离性(isolation,又称独立性)、持久性(durability)。
数据库相关概念
数据库服务器: 比如我们安装的mysql软件,安装在电脑上之后,可以对外提供存取数据的服务/能力,在一个数据库服务器中可以创建多个数据库.
数据库:每一个数据库都是存取数据的仓库. 通常一个网站中的所有数据会存放在一个数据库中
比如:
www.jd.com db_jd
www.baidu.com db_baidu
…
表:每一个数据库中可以创建多张表,每张表用于存放一类数据,例如:
用户信息 tb_user
商品信息 tb_product
订单信息 tb_order
表记录:每张表中又可以插入若干表记录,每一条表记录用于保存一个具体的事物
SQL语言
SQL: 是用于操作关系型数据库的通用的语言(学会了SQL语句,所有的关系型数据库都可以操作)
使用SQL可以实现(数据库/表/标记的)如下操作:
创建库、查看库、删除库、修改库
创建表、查看表、删除表、修改表
添加表记录、删除表记录、修改表记录、查询表记录
创建存储过程、视图、索引等
SQL语言是通用的,但每一个数据库厂商为了增强自己数据库的能力,都提供了方言。