【数据库系统概念】第一章 引言

2024-07-30 12:05:28 浏览数 (1)

一、背景

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模型、半结构化数据模型、基于对象数据模型是主要的常用的数据模型
关系模型

​ 在关系模型中,数据以表的形式表示。每个表有多个列,每个列有唯一的名字,表的每一行表示一条信息。

实体-联系(E-R)模型
半结构化数据模型
基于对象数据模型
层次模型
网状模型

7 数据库语言

数据定义语言DDL
数据操作语言DML

8 关系数据库

关系数据库的结构

0 人点赞