文章目录
- 一、背景
- 1. 为什么学习数据库?
- 2. 数据库历史
- 二、引言
- 1. 什么是数据库?
- 数据(Data)
- 数据库(DB)
- 数据库管理系统(DBMS)
- 数据库系统(DBS)
- 2. 数据库存在的价值?
- 3.使用文件系统存储数据的缺点
- 4. 抽象(三层)
- 物理层(Physical level)
- 逻辑层(Logical level)
- 视图层(View level)
- 5. 实例与模式
- 6. 数据模型
- 关系模型
- 实体-联系(E-R)模型
- 半结构化数据模型
- 基于对象数据模型
- 层次模型
- 网状模型
- 7 数据库语言
- 数据定义语言DDL
- 数据操作语言DML
- 8 关系数据库
- 关系数据库的结构
- 本文参照:数据库系统概念 | 第一章 && 第二章:引言 && 关系模型
- 仅供零基础考试前预习使用
- 本系列文章中部分图片不知来源于何方~侵删
- 本人对系列文章内容不具备任何解释权~考完即忘,如有疑问请勿评论
一、背景
1. 为什么学习数据库?
-
计算机其实就是存储/IO/CPU三大件
-
计算包含两个东西:数据与算法
database=SQL?
2. 数据库历史
-
IMS层次数据库
-
网状数据库:不适合集合查询
-
关系型数据库(主要介绍)
二、引言
1. 什么是数据库?
数据(Data)
数据库(DB)
数据库管理系统(DBMS)
数据库管理系统(DataBase-Management System, DBMS)由一个互相关联的数据的集合和一组用以访问这些数据的程序组成。这个数据集合通常称作数据库(database),其中包含了关于某个企业的信息。 DBMS的主要目标是要提供一种可以方便、高效地存取数据库信息的途径。
数据库系统(DBS)
2. 数据库存在的价值?
- Data redundancy and inconsistency(冗余与不一致性)
- Difficulty in accessing data (获取数据困难)
- 对于每个任务需要编写新的程序
- Data isolation (数据孤岛)
- 数据与数据间不互通
- Integrity problems (完整性问题)
某些数据天然有限制条件(如,银行卡余额大于0),这些限定应该加到数据本身,而使用文件管理系统只能用代码进行约束
3.使用文件系统存储数据的缺点
-
更新原子性
- A给B 50,A减少但B未增加,凭空损失50
-
多用户并发访问
- 多个用户同时访问相同数据项资源时,用户不应该感受到其他用户也在访问
-
安全问题
- 让用户访问数据,但并不是访问所有数据,(例如,查询成绩只能查询自己的)
4. 抽象(三层)
(由下至上)
物理层(Physical level)
最低层次的抽象,描述数据实际上是怎样存储的。物理层详细描述复杂的底层数据结构。
链式存储,线性存储
逻辑层(Logical level)
比物理层层次稍高的抽象,描述数据库中存储什么数据及这些数据间存在什么关系。这样逻辑层就通过少量相对简单的结构描述了整个数据库。虽然逻辑层的简单结构的实现可能涉及复杂的物理层结构,但逻辑层的用户不必知道这样的复杂性。这称作物理数据独立性( physical data independence)。数据库管理员(DBA)使用抽象的逻辑层,他必须确定数据库中应该保存哪些信息
视图层(View level)
视图层(view level)。最高层次的抽象,只描述整个数据库的某个部分。尽管在逻辑层使用了比较简单的结构,但由于一个大型数据库中所存信息的多样性,仍存在一定程度的复杂性。数据库系统的很多用户并不需要关心所有的信息,而只需要访问数据库的一部分。视图层抽象的定义正是为了使这样的用户与系统的交互更简单。系统可以为同一数据库提供多个视图。
提供窗口,每个用户通过视图访问对应数据
5. 实例与模式
-
实例(Instances):指特定时刻存储在数据库中的信息的集合
-
模式(Schemas):指数据库的总体设计
-
模式相当于编程语言中的变量,int i;i=5;
-
物理模式(physical schemas):在物理层描述数据库的设计
-
逻辑模式(logical schemas):在逻辑层描述数据库的设计。程序员使用逻辑模式来构造数据库应用程序
-
-
子模式(subschemas):描述了数据库的不同视图
-
物理数据的独立性
6. 数据模型
- 定义:描述数据、数据联系、数据语义以及一致性约束的概念工具的集合。
- 常用的数据模型:关系模型、E-R模型、半结构化数据模型、基于对象数据模型是主要的常用的数据模型
关系模型
在关系模型中,数据以表的形式表示。每个表有多个列,每个列有唯一的名字,表的每一行表示一条信息。