为什么要学数据库?
因为它无处不在。
学数据库主要学什么?
数据库是由一堆磁盘+系统组成,目的是为了存放数据,因此要知道怎样设计数据库来存放数据,并且保证数据能在数据库系统上安全运行,此外,面对大数据时代,还需要了解数据库的未来发展方向。
image.png
基础篇
image.png(一)数据库的发展历程
数据库的发展主要经历三个阶段:人工管理阶段、文件系统阶段和数据库系统阶段。这三个阶段循序渐进,每个阶段的发展都是为了解决上一个阶段的痛点。
数据库系统概论.png
从表中可以看出,在三个阶段发展过程中,数据的共享性、独立性从无到有,从有到高,结构化从无到局部,从局部到整体。
(二)为什么是数据库?
数据库,顾名思义是存放数据的仓库,它的形成逻辑为:数据->数据库->数据库管理系统->数据库系统。
1.数据库基本概念
1.1什么是数据?
数据是描述事物的符号记录。
描述事物说明数据用于特定环境,符号说明数据形式多样。因此,具有语义的数字、文字、图片、视频才能被称为数据。
1.2什么是数据库?
长期储存在计算机内、有组织的、可共享的大量数据的集合。
长期性的解决人工管理阶段的数据无法保存的痛点;有组织、可共享解决文件系统阶段数据无整体结构和共享性差的痛点。
1.3什么是数据库管理系统?
数据库管理系统是一款系统软件。
既然数据库存放大量数据,必然需要一款专门的系统对数据库进行管理。需要具备的管理功能有:数据定义、操作;数据组织、存储和管理;数据库的事务、运行管理;数据库的建立和维护;数据库系统之间通信。这些功能包含从数据到数据之间,数据库到数据库之间。
1.4什么是数据库系统?
系统是若干部分相互联系、相互作用,形成的具有某些功能的整体。数据库系统包含的子模块有数据库、数据库管理系统、应用程序、数据库管理员。这个系统像一条工厂生产流水线,应用程序是工厂出售产品的窗口,数据库是多条流水线,数据库管理系统管理这些流水线,数据库管理员则时刻关注流线线的安全可靠性。
2.数据模型
数据从现实世界产出,最后存放在磁盘上,这个过程需要通过建模完成这一过程。
2.1概念模型
数据从现实世界流向信息世界的建模采用概念模型。
建模需要元件,概念模型的元件有实体、属性、码、实体型、实体集、联系。
实体:用于相互区别事物;
属性:描述事物特性;
码:标识实体的属性集;(属性间的关系)
实体型:用实体及属性集刻画某一同类实体;(将实体与属性联系起来)
实体集:同一类型的实体型的集合;(实体间的关系)
联系:不同实体间的关系,包含1:1,1:N,N:M;
2.2逻辑模型
在信息世界,需要采用逻辑模型组织数据、数据之间关系。
构造逻辑模型需要满足三个条件:数据结构、数据操作及数据完整性约束。
逻辑模型常用的模型结构有层次模型、网状模型和关系模型。
2.3物理模型
物理模型下需要对真实数据库进行描述。主要构建数据仓库的物理分布模型,包含数据仓库的软硬件配置,资源情况以及数据仓库模式。
3.数据库系统模式
image.png数据库系统是个有机整体,其上层是用户,下层是存储硬件。为了保证数据的独立性必须对其结构进行特定构造:三级模式结构,由三级模式结构自然形成二级映像。
三级模式结构:外模式、模式、内模式;
二级映像:外模式/模式和模式/内模式;
外模式:是用户模式,它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述;
模式:是逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所用用户的公共数据视图;
内模式:是数据物理结构和存储方式的描述,是数据在数据库内部的组织方式。
外模式/模式:当模式发生改变时,由数据库管理员对外模式/模式做出改变,外模式保持不变。这保持了数据逻辑独立性。
模式/内模式:当数据库的存储结构改变时,由数据库管理员对模式/内模式做出改变,模式保持不变。这保持了数据物理独立性。
4.关系数据库
目前主流的关系数据库满足以上数据模型和数据库系统特征。其关系模型主要由关系数据结构、关系操作集合和关系完整性约束三个构成部分。
4.1关系数据结构
关系数据结构中的基础概念:域、笛卡尔积、关系、元祖、属性;候选码、主码、外码;关系模式、关系、关系数据库。它们是递进关系。
定义.png 联系.png4.2关系操作集合
实现关系操作的两大理论是关系代数及关系演算,基于这两大理论演化出具有关系代数和关系演算双重关系的语言——SQL
关系代数
代数的基本运算有:并、差、笛卡尔积、投影和选择,其余的运算为交、连接和除
4.3关系完整性约束
关系完整性约束从三个维度对关系进行约束:实体完整性、参照完整性和用户定义完整性,分别对应值、属性和语义。
image.png5.数据库安全性
数据库的安全性是指保护数据库以防止不合法使用所造成的数据泄露、更改或破坏。
image.png image.png6.数据库完整性
数据库的完整性是指数据的正确性和相容性。主要体现在实体完整性、参照完整性和用户定义完整性。
数据库的完整性机制应实现以下三个功能:
数据库的完整性机制.png
数据库三大完整性主要通过以下语句来约束:
image.png
网友评论