DBMS | 青训营笔记

105 阅读3分钟

DBMS | 青训营笔记

这是我参与「第五届青训营 」伴学笔记创作活动的第 16 天

发展历史

  • 前DBMS时代,人工管理。在现代计算机发明出来以前,通过人工的方式进行数据记录和管理
  • 文件系统。1953年,现代计算机的雏形基本出现。1956年IBM发布了第一个磁盘驱动器--Model 305 RAMAC,从此数据存储进入磁盘时代。在这个阶段,数据管理直接通过文件系统来实现
  • DBMS时代。1960年,传统的文件系统已经不能满足人们的需要,数据库管理系统(DBMS)应运而生。DBMS按照某种数据模型来组织、存储和管理数据的仓库。所以通常按照数据模型的特点将传统数据库系统分成网状数据库、层次数据库和关系数据库三类。

网状模型

网状数据库时以记录类型为节点的网络结构,即一个节点可以有一个或多个下级节点,也可以有一个或多个上级结点。两个结点之间甚至可以有多重练习,例如“教师”与“课程”两个记录类型,可以有”任课“和”辅导“两种联系,称之为复合链。

两个记录类型之间的值可以是多对多的联系,例如一门课程被多个学生修读,一个学生选修多门课程。

层次模型

层次数据库就是树结构。每棵树有且仅有一个根节点,其余的节点都是非根节点。

每个节点表示一个记录类型对应于实体的概念,记录类型的各个字段对应实体的各个属性。各个记录类型及其字段都必须记录。

关系模型

使用表格表示实体和实体之间的数据模型称之为关系数据模型。关系数据模型中,无论是实体、还是实体之间的联系都是被映射成统一的关系——一张二维表。

在关系模型中,操作的对象和结果都是一张二维表,他有行和列组成;关系型数据库可用于表示实体之间的多对多的关系,只是此时要借助第三个关系表,来实现多对多的关系。

网状模型层次模型关系模型
优势能直接描述现实世界、存取效率较高结构简单、查询效率高、可以提供较好的完整性支持实体与实体间的联系都通过二维表结构表示、可以方便的表示多对多关系、数据访问路径对用户透明
劣势结构复杂、用户不易使用、访问程序设计复杂无法表示多对多关系、插入,删除限制多、遍历子节点必须经过父节点、访问程序设计复杂关联查询效率不够高、关系必须规范化

SQL语言

高度非过程化

菲关系型数据库的数据操纵语言是面向过程的语言,用其完成用户请求时,必须指定存取路径。而用SQL进行数据操作,用户只需提出“做什么”,而不必指明怎么做”。因此用户无需了解存取路径,存取路径的选择以及SQL语句的操作过程由系统自动完成。这不但大大减轻了用户负担,而且有利于提高数据独立性。

集合操作方式

查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合

语言简洁

SQL功能极强,但由于设计巧妙,语言十分简洁,完成数据定义、数据操纵、数据控制的核心功能只用了9个动词。且SQL语言语法简单,接近英语口语,因此容易学习,也容易使用。