当前位置: 首页 > news >正文

1.1 数据库系统简介

思维导图:

 

 

1.1.数据库系统简介 

前言:

数据库系统是一个软件系统,用于管理和操作数据库。它提供了一个组织良好、高效并能够方便存取的数据存储机制,并且能够支持各种数据操作、事务管理、并发控制和恢复功能。以下是数据库系统的一些主要特点和组件:

1. **数据的组织与管理**:数据库系统提供了一种高效的方式来存储、检索和管理大量的数据。

2. **数据独立性**:物理数据独立性是指应用程序与存储在磁盘上的数据格式或数据的物理位置分离。逻辑数据独立性是指应用程序与逻辑数据结构(如表、视图等)分离。

3. **数据安全性**:数据库管理系统(DBMS)提供安全功能,如访问控制、加密等,以确保只有授权的用户可以访问数据。

4. **数据一致性与完整性**:DBMS可以实施各种完整性约束,如主键、外键等,以确保数据的一致性和正确性。

5. **事务管理**:事务是一个或多个SQL语句的序列,它作为一个整体执行,以确保数据库的一致性和完整性。DBMS支持ACID属性(原子性、一致性、隔离性、持久性),这些属性确保即使在系统崩溃的情况下,数据库也能保持一致状态。

6. **并发控制**:并发控制机制确保当多个用户同时访问数据库时,数据库的完整性和一致性得到维护。

7. **数据恢复**:在系统崩溃或其他故障情况下,DBMS可以从备份中恢复数据,以减少数据丢失。

8. **查询语言**:大多数数据库系统提供一种查询语言(如SQL),使得用户和程序员可以轻松地查询和修改数据。

9. **视图管理**:数据库系统允许创建视图,这是一个虚拟的表,它是基于一个或多个实际的表。视图可以为用户提供所需的特定视角,而不必显示基础表的所有数据。

10. **数据字典**:这是一个“关于数据库的数据库”,包含了关于数据库结构的元数据。例如,表结构、视图、权限等。

11. **多样化的数据模型**:例如关系模型、面向对象模型、层次模型、网络模型等。

数据库系统在现代企业中发挥着至关重要的作用,支持各种业务应用,从简单的数据记录和检索到复杂的数据分析和决策支持。

1.1.1 数据库技术的发展历史

我的理解

首先,数据库技术的发展可以分为三个主要阶段:人工管理阶段、文件系统阶段和数据库系统阶段。

1. **人工管理阶段(20世纪50年代之前)**:
    - 这一阶段主要发生在计算机刚诞生的时期。那时的计算机被主要用于科学计算。
    - 数据管理非常简单,且通过穿孔卡片或磁带来处理和存储数据。
    - 特点:
        - 数据基本不保存。
        - 缺乏管理数据的软件系统。
        - 没有文件的概念,导致数据冗余。
        - 数据与程序紧密耦合,当数据结构改变时,应用程序也需要修改。

2. **文件系统阶段(20世纪50年代后期至60年代中期)**:
    - 随着技术的发展,现在有了可以直接访问的存储设备如磁盘和磁鼓。
    - 也有了操作系统中的文件系统来管理数据。
    - 特点:
        - 数据可以长期保存。
        - 由文件系统管理数据。
        - 文件格式多样化,提供了多种访问方式。
        - 尽管数据管理有所进步,但数据的共享性和独立性仍然有限。

3. **数据库系统阶段(20世纪60年代之后)**:
    - 由于传统文件系统不能满足日益增长的数据管理需求,数据库管理系统(DBMS)开始应用。
    - 数据库技术允许更高级别的数据管理和共享。
    - 特点:
        - 采用复杂的结构化数据模型。
        - 较高的数据独立性,意味着数据结构的变化不会影响程序的运行。
        - 数据库系统提供了复杂的功能,支持大量数据的处理。

总之,从20世纪50年代到60年代,数据库技术经历了从简单的数据处理和存储到复杂的数据管理系统的演变。随着计算机技术的进步,数据管理变得越来越重要,导致了数据库技术的快速发展和广泛应用。

1. **数据库技术的产生背景**:随着20世纪60年代数据处理自动化的发展,数据处理开始在计算机应用中占主导地位,因此需要更好地管理这些数据。这就催生了数据库技术的产生。

2. **人工管理阶段**:在计算机技术尚未完善之前,即20世纪50年代末之前,计算机的主要任务是进行科学计算。数据是直接从卡片或磁带读取的,没有长期存储,也没有管理数据的软件系统,数据处理是批处理的方式,数据管理十分简单。

3. **文件系统阶段**:在20世纪50年代后期至60年代中期,随着直接存取的存储设备(如磁盘)的出现,操作系统中也开始有了文件系统,不再仅限于批处理,还有实时处理。此时,数据开始可以长期保存,并由文件系统来管理。

4. **数据库系统阶段**:进入20世纪60年代,人们对数据的共享提出了更高的要求,传统的文件系统已经不能满足需求,因此数据库管理系统(DBMS)应运而生。此时的数据库不再是为某个应用服务,而是为整个企业或应用服务,数据管理变得更加复杂。

5. **数据库的当前应用和未来趋势**:随着技术的进步,数据库技术被广泛应用于各个领域,如金融业、航空业、学校等。但由于各行业的需求不断增长,现有数据库技术无法完全满足,因此新一代的数据库技术开始孕育并逐渐应用于各个领域。这一代的数据库支持多种数据模型,并与许多新技术结合。总的来说,随着科技的发展,未来的数据库技术将会有更高的要求。

简而言之,从人工管理、文件系统,到现代的数据库系统,数据库技术已经经历了一个长时间的发展过程。随着科技的进步,我们可以预期未来的数据库技术将更加先进、复杂,并广泛应用于各个领域。

 

1.1.2 数据库系统的基本概念 

这段内容介绍了数据库系统相关的几个核心概念,以下是其要点总结:

1. **数据 (Data)**:数据是数据库中存储的基本对象,包括数字、文字、图形、声音等多种形式。它们可以被计算机识别并存储。数据本身的形式并不能完全传达其意义,因此需要对数据的语义进行解释。

   例子:学生李飞扬的信息如学号、姓名等都是数据。

2. **数据库 (DataBase, DB)**:数据库是一个仓库,存放在计算机存储设备中。数据库中的数据有组织地存储,数据之间相互关联。它是一个长期、有组织、可共享的大量数据的集合。

3. **数据库管理系统 (DataBase Management System, DBMS)**:是用于管理数据库的计算机系统软件,位于应用程序和操作系统之间。它为数据库提供数据定义、建立、维护、查询等功能,同时也控制数据的完整性和安全性。

   常用的DBMS:SQL Server, Access, Oracle, MySQL, DB2, Informix等。

4. **数据库系统 (DataBase System, DBS)**:引入数据库后的计算机系统。它由计算机硬件、数据库、数据库管理系统、应用程序和用户构成。硬件包括主机、存储设备等;软件主要包括操作系统和数据库管理系统。用户可以是数据库管理员、应用程序员或终端用户。

   总结:数据库存放数据;数据库管理系统负责数据的管理和控制;数据库系统是一个整体的计算机应用系统,强调系统的整体性。

图1-4说明了数据库系统在整个计算机系统中的地位

此外,文章中还提到了应用系统、应用开发工具、操作系统和硬件的概念。

 

 

相关文章:

1.1 数据库系统简介

思维导图: 1.1.数据库系统简介 前言: 数据库系统是一个软件系统,用于管理和操作数据库。它提供了一个组织良好、高效并能够方便存取的数据存储机制,并且能够支持各种数据操作、事务管理、并发控制和恢复功能。以下是数据库系统的…...

WebGL 绘制圆点

前言 这篇文章不说WebGL相关概念了,初学者先到网上看看WebGL相关概念。这里着重写一下在vue3前端框架下,如何通过webGL绘制圆点。 着色器代码(画点) 画点相关的着色器代码有顶点着色器和片元着色器,代码如下: 顶点着色器&…...

迅为RK3588开发板Android12 设置系统默认不锁屏

修改 frameworks/base/packages/SettingsProvider/res/values/defaults.xml 文件&#xff0c;修改为如下 所示&#xff1a; - <bool name"def_lockscreen_disabled">false</bool> <bool name"def_lockscreen_disabled">true</bool&…...

香港服务器速度快的原因

1. 传统域名解析过程 了解CDN系统先从域名解析说起。通常&#xff0c;我们在浏览器中输入域名&#xff0c;敲回车后&#xff0c;进入网站进行信息的获取。您分析过输入域名后浏览是如何请求到服务器上的信息&#xff0c;您了解域名解析的过程么&#xff1f; 1.1. 主机解析域…...

过滤器,监听器与拦截器的区别

过滤器&#xff0c;监听器与拦截器的区别 ​ 过滤器和监听器不是Spring MVC中的组件&#xff0c;而是Servlet的组件&#xff0c;由Servlet容器来管理。拦截器是Spring MVC中的组件&#xff0c;由Spring容器来管理 ​ Servlet过滤器与Spring MVC 拦截器在Web应用中所处的层次如…...

clickhouse ssb-dbgen数据构造 及 clickhouse-benchmark简单压测

一、 测试数据构造 1. 数据样例 官方文档有给出一批数据样例。优点是比较真实&#xff0c;缺点是太大了&#xff0c;动辄上百G不适合简单小测试 Anonymized Yandex.Metrica DatasetStar Schema BenchmarkWikiStatTerabyte of Click Logs from CriteoAMPLab Big Data Benchma…...

【数据分析】统计量

1. 均值、众数描述数据的集中趋势度量&#xff0c;四分位差、极差描述数据的离散程度。 2. 标准差、四分位差、异众比率度量离散程度&#xff0c;协方差是度量相关性。 期望值分别为E[X]与E[Y]的两个实随机变量X与Y之间的协方差Cov(X,Y)定义为&#xff1a; 从直观上来看&…...

【通用消息通知服务】0x4 - 目前进展 阶段复盘

【通用消息通知服务】0x4 - 阶段复盘 达成 基本的API已经写完✍️了(消息查看发送, 模板crud,终端crud,发送渠道crud,计划crud,计划执行查看)拆分server, executor, planner三个入口, 方便针对性水平扩展整体架构初步形成&#xff0c;通过队列实现了事件驱动模型和消息订阅发…...

vue若依导出word文件,简单的实现

首先前端导包,注意exportDocx的导包位置要修改成你自己的 import {exportDocx} from /utils/docUtil/docutil.js; import {addDays} from date-fns; import {listGongyi} from "/api/system/detail";然后新建一个测试按钮 <el-col :span"1.5"><…...

【LeetCode75】第四十题 最大层内元素和

目录 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 代码&#xff1a; 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 这道题和LeetCode75的上一题大同小异&#xff0c;都是要我们对二叉树进行层序遍历。 那具体如何层序遍历我再上一题也详细介绍过了&#…...

脱离束缚:数字化工厂中ARM控制器的革命性应用!

近年来&#xff0c;中国数字经济体系已进入高速增长阶段。制造业作为中国经济高质量发展的重要支撑力量&#xff0c;在面临生产成本不断上涨、关键装备和核心零部件“受制于人”等挑战时&#xff0c;建设数字化工厂已成必然。 数字化工厂数据采集出现的问题 在数字工厂的建设…...

queue ide is not exists in YARN

报错内容: 2023-08-17 17:30:31.342 [ERROR] [BaseTaskScheduler-Thread-7 ] o.a.l.o.s.a.AsyncExecTaskRunnerImpl (79) [run] - Failed to execute task astJob_1_codeExec_1 org.apache.linkis.orchestrator.ecm.exception.ECMPluginErrorException: errCode:…...

【C++】UDP通信:客户端向服务端发送消息并接收服务端回应的消息

目录 1 UDP简介 2 通信 3 实践 4 运行结果 1 UDP简介 (1)UDP通信是无连接的,因此不需要connect操作。 (2)UDP通信过程需要指定数据接收端的IP和端口。 (3)UDP不对收到的数据进行排序。 (4)UDP对接收到的数据报不回复确认信息。 (5)如果发生了数据丢失,不会丢一…...

RabbitMq深度学习

什么是RabbitMq? RabbitMQ是一个开源的消息队列中间件&#xff0c;它实现了高级消息队列协议&#xff08;AMQP&#xff09;。它被广泛用于分布式系统中的消息传递和异步通信。RabbitMQ提供了一种可靠的、可扩展的机制来传递消息&#xff0c;使不同的应用程序能够相互之间进行…...

EasyExcel自定义字段对象转换器支持转换实体和集合实体

文章目录 1. 实现ObjectConverter2. 使用3. 测试3.1 导出excel3.2 导入excel 1. 实现ObjectConverter package com.tophant.cloud.common.excel.converters;import cn.hutool.json.JSONUtil; import com.alibaba.excel.converters.Converter; import com.alibaba.excel.enums.…...

Linux重置ROOT密码(CentOS)

解释说明 在CentOS中重置root密码通常需要进入单用户模式&#xff0c;这是一个没有密码限制的特殊模式&#xff0c;允许您以root权限登录系统并更改密码。 重启系统 如果您无法登录到系统&#xff0c;可以通过重启系统来开始这个过程。您可以使用虚拟机控制台、物理服务器控制台…...

【Spring】一文带你彻底搞懂IOC、AOP

目录 首先简单了解一下什么是spring框架 什么是IOC&#xff1f; 什么是依赖注入&#xff08;DI&#xff09;&#xff1f; 控制反转和依赖注入又有什么关系&#xff1f; AOP是什么&#xff1f; SpringAOP的实现 说了这么多抽象概念&#xff0c;举个实例方便理解 首先简单…...

国际旅游网络的大数据分析(数学建模练习题)

题目&#xff1a;国际旅游网络的大数据分析 伴随着大数据时代的到来,数据分析已经深入到现代社会生活中的各个方面。 无论是国家政府部门、企事业单位还是个人&#xff0c;数据分析工作都是进行决策之前的 重要环节。 山东省应用统计学会是在省民政厅注册的学术类社会组织&…...

音视频技术开发周刊 | 308

每周一期&#xff0c;纵览音视频技术领域的干货。 新闻投稿&#xff1a;contributelivevideostack.com。 OpenAI首席科学家最新访谈&#xff1a;对模型创业两点建议、安全与对齐、Transformer够好吗&#xff1f; OpenAI首席科学家Ilya Sutskever最近和他的朋友Sven Strohband进…...

多旋翼飞控底层算法开发系列实验 | 多旋翼动力系统设计实验3

多旋翼动力系统设计实验3 01/多旋翼动力系统简介​​​​​​​ 多旋翼无人机的动力系统通常包括螺旋桨、电机、电调以及电池。动力系统是多旋翼最重要的组成部分&#xff0c;它决定了多旋翼的主要性能&#xff0c;如悬停时间、载重能力、飞行速度和飞行距离等。动力系统的部件…...

基于Uniapp开发HarmonyOS 5.0旅游应用技术实践

一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架&#xff0c;支持"一次开发&#xff0c;多端部署"&#xff0c;可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务&#xff0c;为旅游应用带来&#xf…...

ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放

简介 前面两期文章我们介绍了I2S的读取和写入&#xff0c;一个是通过INMP441麦克风模块采集音频&#xff0c;一个是通过PCM5102A模块播放音频&#xff0c;那如果我们将两者结合起来&#xff0c;将麦克风采集到的音频通过PCM5102A播放&#xff0c;是不是就可以做一个扩音器了呢…...

sqlserver 根据指定字符 解析拼接字符串

DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...

第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词

Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵&#xff0c;其中每行&#xff0c;每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid&#xff0c;其中有多少个 3 3 的 “幻方” 子矩阵&am…...

【JVM面试篇】高频八股汇总——类加载和类加载器

目录 1. 讲一下类加载过程&#xff1f; 2. Java创建对象的过程&#xff1f; 3. 对象的生命周期&#xff1f; 4. 类加载器有哪些&#xff1f; 5. 双亲委派模型的作用&#xff08;好处&#xff09;&#xff1f; 6. 讲一下类的加载和双亲委派原则&#xff1f; 7. 双亲委派模…...

【Android】Android 开发 ADB 常用指令

查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...

Kafka主题运维全指南:从基础配置到故障处理

#作者&#xff1a;张桐瑞 文章目录 主题日常管理1. 修改主题分区。2. 修改主题级别参数。3. 变更副本数。4. 修改主题限速。5.主题分区迁移。6. 常见主题错误处理常见错误1&#xff1a;主题删除失败。常见错误2&#xff1a;__consumer_offsets占用太多的磁盘。 主题日常管理 …...

大数据治理的常见方式

大数据治理的常见方式 大数据治理是确保数据质量、安全性和可用性的系统性方法&#xff0c;以下是几种常见的治理方式&#xff1a; 1. 数据质量管理 核心方法&#xff1a; 数据校验&#xff1a;建立数据校验规则&#xff08;格式、范围、一致性等&#xff09;数据清洗&…...

UE5 音效系统

一.音效管理 音乐一般都是WAV,创建一个背景音乐类SoudClass,一个音效类SoundClass。所有的音乐都分为这两个类。再创建一个总音乐类&#xff0c;将上述两个作为它的子类。 接着我们创建一个音乐混合类SoundMix&#xff0c;将上述三个类翻入其中&#xff0c;通过它管理每个音乐…...

Python第七周作业

Python第七周作业 文章目录 Python第七周作业 1.使用open以只读模式打开文件data.txt&#xff0c;并逐行打印内容 2.使用pathlib模块获取当前脚本的绝对路径&#xff0c;并创建logs目录&#xff08;若不存在&#xff09; 3.递归遍历目录data&#xff0c;输出所有.csv文件的路径…...