这是我参与「第五届青训营 」伴学笔记创作活动的第 3 天,本文用于记录在青训营的学习笔记和一些心得。
4.存储与数据库的新技术演进
4.1.概述
事务ACID的概念
事务(Transaction): 是由一组SQL语句组成的一个程序执行单元(Unit),它需要满足ACID特性。
ACID: ·原子性(Atomicity):事务是一个不可再分割的工作单元,事务中的操作要么都发生,要么都不发生。
·一致性(Consistency):数据库事务不能破坏关系数据的完整性以及业务逻辑上的一致性。
·隔离性(lsolation):多个事务并发访问时,事务之间是隔离的,一个事务不应该影响其它事务运行效果。
·持久性(Durability):在事务完成以后,该事务所对数据库所作的更改便持久的保存在数据库之中,并不会被回滚。
4.2 DBMS的发展历史
- 前DBMS时代
1)人工时代:采用人工记录数据的方式
2)文件系统时代:1950s,现代计算机的雏形基本出现。1956年IBM发布了第一个的磁盘驱动器--Mocdel 305 RAMAC,从此数据存储进入磁盘时代。在这个阶段,数据管理直接通过文件系统来实现。
- DBMS时代
传统的文件系统难以应对数据增长的挑战,也无法满足多用户共享数据和快速检索数据的需求。
层次型、网状型和关系型数据库划分的原则是数据之间的联系方式。层次数据库是按记录来存取数据的;网状数据库是采用网状原理和方法来存储数据;关系型数据库是以行和列的形式存储数据。
数据模型:
1)网状模型
网状数据模型是以记录类型为结点的网络结构,即一个结点可以有一个或多个下级结点,也可以有一个或多个上级结点,两个结点之间甚至可以有多种联系,例如“教师”与“课程”两个记录类型,可以有“任课”和“辅导”两种联系,称之为复合链。两个记录类型之间的值可以是多对多的联系,例如一门课程被多个学生修读,一个学生选修多门课程。
2)层次模型
层次数据库就是树结构。每棵树都有且仅有一个根节点,其余的节点都是非根节点。每个节点表示一个记录类型对应与实体的概念,记录类型的各个字段对应实体的各个属性。各个记录类型及其字段都必须记录。
3)关系模型
使用表格表示实体和实体之间关系的数据模型称之为关系数据模型。关系数据模型中,无论是是实体、还是实体之间的联系都是被映射成统一的关系—一张二维表,在关系模型中,操作的对象和结果都是一张二维表,它由行和列组成;关系型数据库可用于表示实体之间的多对多的关系,只是此时要借助第三个关系—表,来实现多对多的关系;