第一章 数据库绪论
目录
mooc资源 数据库系统(上):模型与语言
数据库技术就是数据管理的技术。
1.概念理解
重要名词 | 含义 |
---|---|
数据 | 数据库中存储的基本对象。描述事物的符号记录。 |
数据库( DataBase ,简称DB) | 长期存放在计算机内有组织的、可共享的数据集合。(相互之间有关联关系的Table的集合) |
数据库系统(DataBase System , 简称DBS) | 一般由数据库、数据库管理系统、应用系统、数据库管理员和用户构成。 |
数据库管理系统(DatadBase Management System, 简称DBMS) | 是位于用户与操作系统之间的一层数据管理软件。 |
数据管理 | 对数据的组织、编码、储存、检索、维护。 |
数据模型 | 规定模式统一描述方式的模型,包括数据结构、操作和约束,是对模式结构的抽象。 |
①数据库系统
图示模型:
示例:
②数据库管理系统
(1)从用户角度看数据库管理系统的功能
- 数据库定义:定义数据库中Table的名称、标题等。
- 数据库操纵:向数据库中增添、删除、更新数据,以及对数据进行查询、检索、统计等。
- 数据库控制(对于DBA):控制数据库中数据的使用——不同用户的访问权限。
- 数据库维护(对于DBA):转储、恢复、重组、性能检测、分析。
(2)从系统角度
——即解析编译用户的数据库语言,对数据库执行。
- 具体包括:语言编译器、查询优化(执行引擎)与查询实现(基本命令的不同执行算法)、数据的存储于索引(索引/文件和记录管理器、缓冲区管理器、存储管理器)、通信控制、事务控制、故障恢复、安全性控制、完整性控制、数据字典管理。
(3)数据库语言(SQL语言)
- 共四类:数据定义语言DDL,数据查询语言DQL,数据操纵语言DML,数据控制语言DCL。
③数据模式
(1)分类
- 关系模型:表的形式组织数据
三个要素: 基本结构、基本操作(基本的:并、差、广义积、选择、投影;扩展的:交、联接、除)、完整性约束(实体完整性、参照完整性和用户自定义的完整性)。
关系运算: 包括关系代数和关系演算。
关系代数是基于集合的运算(基于关系代数设计的数据库语言是ISBL,比如:表示选择,%表示投影);关系演算又分为元祖演算和域演算,元祖演算是基于逻辑的运算(基于元祖演算设计的数据库语言是QUEL),域演算是基于示例的运算(基于域演算设计的数据库语言是QBE)。
-
层次模型:树的形式组织数据
-
网状模型:图的形式组织数据
(实体型:表示一条记录;系型:表示关系、约束) -
还有XML模型、面向对象模型、NOSQL模型
(2)辨析——数据/视图、模式、模型
- 数据/视图——某一表现形式下的数据库中的数据;
- 模式——对数据的结构的抽象;
- 模型——对模式的结构的抽象。
2.数据库发展:
(1)三个阶段:人工管理阶段,文件系统阶段,数据库阶段。
-
人工管理
时间:20世纪50年代中期以前
功能:计算机主要用于科学计算。外部存储器只有磁带、卡片和纸带等还没有磁盘等直接存取存储设备。软件只有汇编语言,尚无数据管理方面的软件,数据处理方式基本是批处理。
特点:数据不保存,没有对数据进行管理的软件系统,没有文件的概念,数据不具有独立性。 -
文件系统
时间:20世纪50年代后期至60年代中期
功能:计算机不仅用于科学计算,还利用在信息管理方面。随着数据量的增加,数据的存储、检索和维护问题成为紧迫的需要,数据结构和数据管理技术迅速发展起来。
特点:数据可以长期保存,由文件系统管理数据,文件的形式已经多样化,数据具有一定的独立性。 -
数据库管理系统
时间:60年代后期
功能:数据管理技术进入数据库系统阶段。数据库系统克服了文件系统的缺陷,提供了对数据更高级、更有效的管理。这个阶段的程序和数据的联系通过数据库管理系统来实现(DBMS)。
特点:采用复杂的结构化的数据模型,较高的数据独立性,最低的冗余度,数据控制功能。
————————————————
版权声明:这一段为CSDN博主「墨竹 | kevinelstri」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/kevinelstri/article/details/51694405
(2)三大重要发展
- 由文件系统阶段到数据库系统阶段:数据库系统阶段与其他两个阶段的重要区别是数据库系统具有专门的数据管理软件,数据可共享。
- 由层次、网状模型数据库(第一代数据库)到关系模型数据库(第二代数据库):层次、网状模型数据库的数据与数据之间有复杂的联系,对数据的调用会依赖于指针,并且指针会占用空间,而关系模型数据库结构更加简单,也不依赖于指针。
- 由关系数据库到对象关系数据库、面向对象数据库:关系数据库按行按列组织数据,具有不可再分性(关系的第一范式),对于需要复合型、多值性存储的数据是不方便的(比如在名字这一列里分男女存储)。在对象关系数据库中,就可以出现聚集对象和结构对象。
-
有多种多样的数据库到多数据库开放式互连:DBMS只需要和ODBC(开放式互连系统)进行交互,而不需要和各个数据库交互。
-
由普通数据库到和多种先进技术结合形成的新型数据库(比如加上统计、分析功能)。
3.数据库的标准结构
(1)数据库系统的分层抽象——DBMS管理数据的三个层次
- 外部层次、用户层次(External / User Level):某一用户能够看到与处理的数据,全局数据中的某一部分
- 全局层次、概念层次、逻辑层次(Conceptual / Logic Level):从全局角度理解、管理的数据,含相应的关联约束
- 内部层次(Internal / Physical Level):存储在介质上的数据,含存储路径、存储方式、索引路径等
(2)三级模式两层映像
①三级模式(三级视图)(从结构角度称为模式,从数据角度称为视图)
- 外模式/子模式/局部模式(External Schema) 即某一用户能够看到与处理的数据的结构描述,也叫外部视图(External View)。用户的开发就是基于外部视图开发的。
- 概念模式/全局模式(Conceptual Schema) 即从全局角度理解、管理的数据的结构描述,含相应的关联约束,体现在数据之间的内在本质联系。
- 内模式/存储模式/物理模式(Internal Schema) 存储在介质上的数据的结构描述,含存储路径、存储方式、索引路径等。
②两层映像
- E-C映像(E-C Mapping):将外模式映射为概念模式,从而支持实现数据概念视图向外部视图的转换,便于用户观察和使用。
- C-I 映像(C-I Mapping):将概念模式映射为内模式,从而支持实现数据概念视图向内部视图的转换,便于计算机进行存储和处理。
(3)数据库系统的标准结构
虽然图比较糊,还是看得懂的!还需要注意的一点:【外模式可以有很多个,但概念模式和内模式都是唯一的】
(4)两个独立性
- 逻辑数据独立性:当概念模式变化时,可以不改变外部模式(只要改变E-C映像),从而不需要改变应用程序,使得基于外模式的应用开发不会受影响。
- 物理数据独立性:(数据和应用程序之间的关系)当内部模式变化时,可以不改变概念模式(只要改变C-I映像),从而不改变外部模式,使得一个业务系统可以用任何一个数据库管理系统来实现。
4.云计算概述
上面的关键词有:虚拟机
虚拟机:
(1)云服务类型
- laaS模型:云端提供服务器、存储、网络
- PaaS模型:云端提供服务器、存储、网络、操作系统、编程语言运行环境、数据库、Web 服务
- SaaS模型:软件即服务
(2)云平台关键功能
- 虚拟化:将异构的硬件资源灵活统一的虚拟资源池
- 云储存:按需服务–>用户密集、服务密集–>数据密集
- 安全认证、回溯审计:私密性、完整性、不可抵赖性
- 分布式计算、资源管理:为不同的并发业务协调调度计算、存储资源。
云储存:
定义与内涵:云存储是一个以数据存储和访问为管理核心的分布式计算系统。
云存储是一种网络存储技术,通过集群应用、网络技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备集成协同,共同对外提供数据存储和访问的功能。
总体结构:
- 存储层:是 FC、NAS、iSCSI 等物理存储设备
- 基础管理层:核心部分。通过集群、分布式文件系统、和网格计算等技术,实现多个设备的协同。
- 应用接口层:对接不同的存储业务类型。