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

news/2024/11/30 13:46:26/

文章目录

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

关系模型

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

实体-联系(E-R)模型

半结构化数据模型

基于对象数据模型

层次模型

网状模型

在这里插入图片描述

7 数据库语言

数据定义语言DDL

在这里插入图片描述

数据操作语言DML

在这里插入图片描述

8 关系数据库

关系数据库的结构


http://www.ppmy.cn/news/1290576.html

相关文章

react中概念性总结(一)

目录 React中组件性能优化的方案有哪些? 说说你是如何提高组件的渲染效率,如何避免不必要的render? 说说React中Jsx的原理? 说说真实DOM和虚拟DOM之间区别?有什么优缺点? 说说React中事件机制? 合成事…

python封装接口自动化测试套件 !

在Python中,我们可以使用requests库来实现接口自动化测试,并使用unittest或pytest等测试框架来组织和运行测试套件。以下是一个基本的接口自动化测试套件封装示例: 首先,我们需要安装所需的库: pip install requests …

晶体谐振器专业术语的基础知识-晶发电子

共振频率 在晶体谐振器的共振特性中,共振频率是两点阻抗变为电阻时的较低频率点。 阻抗Z变为电阻元件时,两点之间的频率。在这两点上,相为0。其中频率较低的点称为共振频率。另外一个点称为反共振频率。 等效电路 下图所示的是由电阻、电感…

LeetCode刷题笔记之栈与队列

一、队列与栈相互转换 1. 232【用栈实现队列】 题目: 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty): 实现 MyQueue 类: void push(int x) 将元素 x 推到队列的末…

前端工程化回顾-vite 构建神器

1.构建vite 项目 pnpm create vite2.常用的配置: 1.公共资源路径配置: base: ./, 默认是/2.路径别名配置: resolve: {alias: {: path.resolve(__dirname, ./src),ass: path.resolve(__dirname, ./src/assets),comp: path.resolve(__dirnam…

C++:通过erase删除map的键值对

map是经常使用的数据结构,erase可以删除map中的键值对。 可以通过以下几种方式使用erase 1.通过迭代器进行删除 #include <iostream> #include <map> #include <string> using namespace std;void pMap(const string& w, const auto& m) {cout&l…

Python基础-06(while循环、break、continue)

文章目录 前言一、while循环二、break&#xff08;中断&#xff09;和continue&#xff08;跳过&#xff09;1.break2.continue 总结 前言 上章是关于if关键字&#xff0c;属于条件控制语句或者称为流程控制语句&#xff0c;就好比于一个分岔路口&#xff0c;哪个路口符合条件…

原码、反码、补码,计算机中负数的表示

原码&#xff1a;将一个整数&#xff0c;转换成二进制&#xff0c;就是其原码。 如单字节的5的原码为&#xff1a;0000 0101&#xff1b;-5的原码为1000 0101。 反码&#xff1a;正数的反码就是其原码&#xff1b;负数的反码是将原码中&#xff0c;除符号位以外&#xff0c;每一…