这是我参与「第五届青训营 」伴学笔记创作活动的第11天,开始的开始除了准备学习相关的知识,还要规划好每天的日程。
昨天记录了认识存储与数据库、主流存储产品剖析以及存储与数据库的新技术演进。今天的收获主要是RDBMS基本情况介绍、RDBMS关键技术分析以及RDBMS企业实践案例。
首先回顾下事物的ACID。
事务具有:
·A(tomicity),事务内的操作要么全做,要么不做
·C(onsistency).事务执行前后,数据状态是一致的
·I(solation),可以隔商多个并发事务,避免影响
·D(urability).事务一旦提交成功,数据保证持久性
数据库除了需要支持事务以外,还要求高并发、高可靠。
回顾历史早在1960年就出现了数据库管理系统DBMS,DBMS是按照某种数据模型来组织、存储和管理数据的仓库。
所以通常按照数据模型的特点将传统数据库系统分成网状数据库、层次数据库和关系数据库三类。
网状数据模型是以记录类型为结点的网络结构,即一个结点可以有一个或多个下级结点,也可以有一个或多个上级结点,两个结点之间甚至可以有多种联系,例如“教师”与“课程”两个记录类型,可以有“任课"和“辅导”两种联系,称之为复合链。两个记录类型之间的值可以是多对多的联系,例如一门课程被多个学生修读,一个学生选修多门课程。
层次数据库就是树结构。每棵树都有且仅有一个根节点,其余的节点都是非根节点。每个节点表示一个记录类型对应与实体的概念,记录类型的各个字段对应实体的各个属性。各个记录类型及其 字段都必须记录。
使用表格表示实体和实体之间关系的数据模型称之为关系数据模型。
关系数据模型中,无论是是实体、还是实体之间的联系都是被映射成统一的关系—一张二维表,在关系模型中,操作的对象和结果都是一张二维表,它由行和列组成;关系型数据库可用于表示实体之间的多对多的关系,只是此时要借助第三个关系一表,来实现多对多的关系。
1974年IBM的Ray Boyce和Don Chamberlin将Codd关系数据库的12条准则的数学定义以简单的关键字语法表现出来,里程碑式地提出了SQL(Structured Query Language)语言。SQL的优点有:语法风格接近自然语言、高度非过程化、面向集合的操作方式、语言简洁,易学易用。