数据库系统概论-第一章绪论
- 写在前面:寒假来临,除却走亲戚和同学聚餐,
王者荣耀等游戏上分花销一点时间之外,自认为要花一点时间学习数据库和Android,以此来为下学期和共建项目打下一丢丢的基础。为了鞭策自己,定了一个小目标(一个亿),每个两至三天我会发表一篇数据库或Android学习笔记。还是那句话你的才华撑不住你的野心时,那就静下来学习吧 。
数据库系统概述
数据库常用的术语和基本概念
数据库基本概念
- 数据(Data)
数据是数据库中存储的基本对象,可以对数据做如下定义:描述事物的符号记录称为数据;描述事物的符号可以是数字,文字,图像,图形,声音等;记录是计算机中表示和存储数据的一种格式或一种方法。
姓名 | 性别 | 出生年月 | 出生地 | 所在院系 | 入学时间 |
---|---|---|---|---|---|
李明 | 男 | 19980202 | 四川省 | 计算机系 | 2016 |
在计算机常描述:(李明,男,19980202,四川省,计算机系,2016)即把学生的姓名,性别等组织在一起,组成一个记录。这里学生记录就是描述学生的数据。这样的数据是有结构的。
- 数据库(DataBase , DB)
数据库是存放数据的仓库,按一定格式存放。严格讲数据库是长期存在计算机内,有组织的,可共享的大量数据集合。*数据按照一定数据模型组织,描述和储存,具有较小的冗余度,较高的数据独立性。
数据库有:永久存储,有组织,可共享三个基本特点。
- 数据库管理系统(DataBase Management System DBMS)
数据库管理系统是位于用户与操作系统之间的一层数据管理软件。
- 数据库管理系统基本功能
- 数据定义功能
- 数据组织,存储和管理
- 数据操作功能
- 数据库的事物管理和运行管理
- 数据库的建立和维护
- 其他功能
- 数据库系统(DataBase System DBS)
数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库,数据库管理系统,应用系统,数据库管理员构成。
数据管理的发展过程
数据管理指对数据进行分类,组织,编码,存储,检索和维护,它是数据处理的中心问题。数据的处理是指对各种数据进行收集,存储,加工和传播的一系列活动的总和。
人工管理阶段(20世纪50年代)
- 1.数据不保存
- 2.应用程序管理数据
- 3.数据不共享:数据是面向程序的,一组数据只能对应一个程序
4.数据不具有独立性
文件系统阶段 (20世纪50~60年代)
- 文件系统管理数据的特点
- 1.数据可以长期保存
- 2.有文件系统管理数据
- 文件系统存在以下缺点
- 1.数据共享性差,冗余度大
- 2.数据独立性差
- 数据库系统阶段 (20世纪60年代后)
- 见下文
数据库系统的特点
数据结构化
数据库系统实现整体数据的结构化,这是数据库的主要特征之一。所谓“整体”结构化是指在数据库中的数据不再仅仅针对某一个应用,而是面向全组织,数据之间是具有联系的。数据的共享性高,冗余度低,易扩充
数据库系统从整体角度看待和描述数据,数据不再面向某个应用而是面向整个系统,因此数据可以被多个用户,多个应用共享使用。数据共享可以大大减少数据冗余,节约存储空间。- 数据独立性高
- 物理独立性:用户应用程序与存储在磁盘上的数据库中数据是相互独立的。
- 逻辑独立性:用户的应用程序与数据库的逻辑结构相互独立
数据独立性是由DBMS的二级映像功能来保证的。
- 数据由DBMS统一管理和控制
DBMS必须提供一下几个方面的数据控制功能
- 数据的安全性(Security)保护
- 数据的完整性(Integrity)检查
- 并发(Concurrency)控制
- 数据库恢复(Recovery)
数据库是长期存储在计算机内有组织的大量共享的数据集合
数据模型
数据模型是对现实世界数据特征的抽象,也就是说数据模型是用来描述数据,组织数据和对数据进行操作的。
数据模型的组成要素
数据结构
数据结构描述的内容有两类:一类是与对象的类型,内容,性质有关;一类与数据之间联系有关的对象。数据结构是所描述对象类型的集合,是对系统静态的描述。
数据操作
数据操作是指对数据库中各种对象(型)的实例(值)允许执行操作的集合,数据库主要有查询和更新(包括插入,修改,删除)两个大类操作。是对系统动态操作的描述。
数据的完整性约束条件
数据的完整性约束条件是一组完整性规则。完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化。数据模型应该反映和规定本数据模型必须遵守的基本的通用的完整性约束条件。
三种主要的数据模型
** 层次模型**
层次模型用树形结构来表示各类实体以及实体见的联系。
- 层次模型的一个基本的特点是,任何一个给定的记录值只有按其路径查看时,才能显出它的全部意义,没有一个子女记录值能够脱离双亲记录值而独立存在。
- 层次模型的数据操纵与完整性约束:无相应的双亲结点值就不能插入它的子女结点值,如果删除双亲结点值,则相应的子女结点值也被同时删除。
网状模型
在数据库中,把满足(1)允许一个以上的结点无双亲(2)一个结点可以有多于一个双亲条件的基本层次联系集合称为网状模型。
个人感觉网状模型到有些和有向图类似
这是Java学习的“图”章节总结链接
- 关系模型
- 关系模型的数据结构
- 关系:一个关系指一张表
- 元组:表中的一行即为一组
- 属性:表中的一列即为一个属性
- 码:表中某个属性组,它可以唯一确定一个元组
- 域:属性的取值范围
- 分量:元组的一个属性值
- 关系模式:对关系的描述
关系模型要求关系必须是规范化的,即要求关系必须满足一定的规范条件,最基本的一条就是,关系的每一个分量必须是不可分的数据项,不允许表中还有表。
数据库系统结构
从数据库管理系统角度看:数据库系统通常采用三级模式结构;这是数据库管理系统内部的系统结构。
从数据库最终用户角度看,数据库系统的结构分为:单用户结构,主从式结构,分布式结构等。这是数据库系统外部的体系结构。
- “型”和“值”的概念
- “型”是指对某一类数据的结构和属性的说明
- “值”是型的一个具体的赋值
模式:数据库中全体数据的逻辑结构和特征的描述,仅仅涉及到型的描述,不涉及到具体的值。
数据库系统的三级模式结构
模式
模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。一个数据库只有一个模式。它是数据库系统模式结构的中间层。DBSM提供模式描述语言(模式DDL)来严格定义模式。
外模式
外模式是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图。外模式是模式的子集。一个数据库可以有多个外模式。DBSM提供子模式描述语言(子模式DDL)来严格地定义子模式。
内模式
一个数据库只有一个内模式。它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。DBSM提供内模式描述语言(内模式DDL)来严格定义内模式
数据库的二级映像系统结构
**外模式/模式映像
模式描述数据的全局逻辑结构,外模式描述的是数据的局部逻辑结构。每一个外模式,数据库系统都有一个外模式/模式映像,它定义了该外模式与模式之间的对应关系。当模式改变时,有数据库管理员对各个外模式/模式的映像作相应改变,可以使外模式保持不变。
模式/内模式映像
数据库中只有一个模式,也只有一个内模式,所以模式/内模式映是唯一的,它定义数据全局逻辑结构与存储结构之间的对应关系。
小结
花了一点时间来写这个总结,有一些知识点还是总结的不够到位,对知识的整理还有些不够合理,后期会慢慢增改。花了一天左右的时间看了数据库系统概论的绪论,在写这个总结的过程中总有一个思想就是到底该不该写,写了到底有没有用。其实有没有用我也不知道,但既然决定写了,就要继续写下去,决定去深入了解就不要停下来。把自己的想法去努力实现这才是该做的事!