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

【周末闲谈】关于“数据库”你又知道多少?

在这里插入图片描述

个人主页:【😊个人主页】
系列专栏:【❤️周末闲谈】

系列目录

✨第一周 二进制VS三进制
✨第二周 文心一言,模仿还是超越?
✨第二周 畅想AR


文章目录

  • 系列目录
  • 前言
  • 数据库
  • 数据库的五大特点
  • 数据库介绍
    • 数据库管理系统(DBMS)
    • 数据库的结构
    • 数据库的操作
    • 数据库的查询优化
    • 数据库的事务处理
  • 数据库的分类
    • 按结构分类:
    • 按存储方式分类:
    • 按应用范围分类:


前言

我们常常谈到数据库可能就会想到Oracle数据库、ACCESS数据库、SQL数据库、MySQL等等,但是我们当谈到数据库的工作原理,相信很多人都是一知半解,今天我们就来聊聊关于数据库我们应该知道的知识。
在这里插入图片描述


数据库

数据库是指一个存储数据的结构化集合,可以通过一定的方式进行访问、管理和更新。数据库通常是由一个或多个表格组成,用来存储数据,并通过查询、排序、过滤等操作来检索、访问和更新数据

数据库是一个按数据结构来存储和管理数据的计算机软件系统。数据库的概念实际包括两层意思:
(1)数据库是一个实体,它是能够合理保管数据的“仓库”,用户在该“仓库”中存放要管理的事务数据,“数据”和“库”两个概念结合成为数据库。
(2)数据库是数据管理的新方法和技术,它能更合适的组织数据、更方便的维护数据、更严密的控制数据和更有效的利用数据。

数据库被广泛应用于许多领域,如商业金融医疗科学和工程等。常见的数据库管理系统包括MySQL、Oracle、SQL Server、PostgreSQL和MongoDB等


数据库的五大特点

  • 可持久化:数据库中的数据可以长期保存,不受计算机的关闭或断电等因素影响。
  • 高效性:数据库的查询、更新和管理操作通常具有高效性能,可以快速地处理大量数据。
  • 数据一致性:数据库可以保证数据的一致性,避免了数据冗余和数据不一致等问题。
  • 数据安全性:数据库提供了多种安全措施来保护数据的安全性,如访问控制、数据加密和备份等。
  • 可扩展性:数据库可以通过添加更多的硬件或软件资源来扩展其容量和性能。

数据库介绍

数据库管理系统(DBMS)

作为数据库的核心组成部分,DBMS负责对数据库进行管理。它提供了访问和管理数据库的接口,包括定义创建修改删除数据库及其中的数据。DBMS还负责实现数据的存储、检索和更新等操作,并提供了对数据的事务处理、数据完整性、安全性和恢复等方面的支持。

数据库的结构

数据库通常由多个表组成,每个表又由多个字段(列)和记录(行)组成。表中的每个记录包含一组相关的数据,而每个字段则包含一个特定的数据类型(如整数、字符、日期等)。

数据库的操作

数据库的操作可以分为两类:查询操作更新操作。查询操作用于检索数据库中的数据,它包括基本查询(如SELECT语句)、多表查询、子查询等。更新操作用于增加、修改和删除数据库中的数据,它包括INSERT、UPDATE和DELETE语句等。

数据库的查询优化

由于现代数据库中的数据量很大,查询优化成为了数据库的一个重要问题。查询优化是指在保证查询结果正确的前提下,尽可能地提高查询效率。为了实现查询优化,数据库需要进行查询分析、索引优化、查询重写等操作。

数据库的事务处理

事务处理是指将一组操作视为一个整体进行处理,以保证数据的一致性和完整性。在数据库中,事务通常由多个更新操作组成。数据库需要提供事务管理机制,包括事务的开始、提交和回滚等操作


数据库的分类

按结构分类:

  • 层次数据库:数据以树形结构组织,每个节点有多个子节点。
  • 网状数据库:数据以网状形式组织,每个节点可以有多个父节点和子节点。
  • 关系数据库:数据以表格形式组织,每个关系包括多个属性,每个属性有一个唯一的列名。
  • 对象数据库:将数据存储为对象,其中包括数据和方法。

按存储方式分类:

  • 基于磁盘的数据库:数据存储在磁盘上。
  • 基于内存的数据库:数据存储在内存中。
  • 分布式数据库:数据存储在多个计算机上。

按应用范围分类:

  • 个人数据库:数据由个人使用和管理,例如 Microsoft Access。
  • 企业级数据库:专为大型企业和组织设计的数据库,例如 Oracle、SQL Server、DB2等。
  • 数据仓库:专门用于存储和分析大量数据以支持企业决策的数据库。
  • 桌面数据库:适合小型项目或个人使用的数据库,例如 SQLite。

还存在一些特殊种类的数据库,如文档数据库、列式数据库、时间序列数据库等


在这里插入图片描述

相关文章:

【周末闲谈】关于“数据库”你又知道多少?

个人主页:【😊个人主页】 系列专栏:【❤️周末闲谈】 系列目录 ✨第一周 二进制VS三进制 ✨第二周 文心一言,模仿还是超越? ✨第二周 畅想AR 文章目录 系列目录前言数据库数据库的五大特点数据库介绍数据库管理系统&a…...

C++ 对象生成:构造函数

对象生成:构造函数 一、构造函数特性二、三种构造函数1.无参构造函数2.有参构造函数3.拷贝构造函数 一、构造函数特性 C编译器提供了构造函数供程序生成对象这是一个与类同名的函数,参数可以有多种形式(重载)没有返回类型声明一般…...

RFID如何在汽车混流生产中进行车辆跟踪?

在汽车混流生产中,RFID技术可以对每个车辆进行唯一标识,从而实现车辆生产全程跟踪。实时确定车辆的位置、状态和生产过程,生产管理系统就能够对生产流程进行实时监控和管理,及时发现和解决问题,提高生产效率和质量。 焊…...

差值结构的复合底部

( A, B )---3*30*2---( 1, 0 )( 0, 1 ) 让网络的输入只有3个节点,AB训练集各由6张二值化的图片组成,让A 中有3个点,B中有1个点,且不重合,统计迭代次数并排序。 其中有20组数据 让迭代次数与排斥能成反比,排…...

在Docker 上使用 Nginx 配置https及wss

预先创建挂载文件 /mydata/nginx/conf/nginx.conf /mydata/nginx/cert /mydata/nginx/conf.d /mydata/nginx/html /mydata/nginx/logs运行并且挂载容器 docker run -p 80:80 -p 443:443 --name nginx01 --restartalways \ -v /mydata/nginx/conf/nginx.conf:/etc/nginx/ngi…...

git回退操作

1. 在工作区回退: 此时文件没有经过任何提交 git checkout -- filename2. git add之后回退 git reset HEAD3. git commit 之后回退 git reset --hard commit_id(前4位)其中,commit_id可通过git log查看,例如: qzcryqz MINGW6…...

C++系列-类和对象-静态成员

类和对象-静态成员 静态成员静态成员变量静态成员函数 静态成员 静态成员就是在成员变量或者是成员函数前面加上static关键字。 静态成员变量 所有对象共享同一份数据在编译阶段分配内存类内声明,类外初始化可以通过对象或者类名进行访问。静态成员变量也具有访问…...

SAP MM学习笔记26- SAP中 振替转记(转移过账)和 在库转送(库存转储)2- 品目Code振替转记 和 在库转送

SAP 中在库移动 不仅有入库(GR),出库(GI),也可以是单纯内部的转记或转送。 1,振替转记(转移过账) 2,在库转送(库存转储) 1&#xff…...

【Python机器学习】实验13 基于神经网络的回归-分类实验

文章目录 神经网络例1 基于神经网络的回归(简单例子)1.1 导入包1.2 构造数据集(随机构造的)1.3 构造训练集和测试集1.4 构建神经网络模型1.5 采用训练数据来训练神经网络模型 实验:基于神经网络的分类(鸢尾花数据集)1. 导入包2. 构造数据集3.…...

【数据结构】二叉树的链式结构的实现 -- 详解

一、前置说明 在学习二叉树的基本操作前,需先要创建一棵二叉树,然后才能学习其相关的基本操作。为了降低大家学习成本,此处手动快速创建一棵简单的二叉树,快速进入二叉树操作学习。 typedef char BTDataType;typedef struct Binar…...

【C语言】什么是结构体内存对齐?结构体的大小怎么计算?

目录 1.结构体内存对齐 对偏移量的理解:​ 2.结构体的大小计算 2.1结构体中只有普通的数据类型的大小计算 2.2 结构体中有嵌套的结构体的大小计算 3.修改默认对齐数 4.为什么存在内存对齐? 这篇文章主要介绍结构体内存对齐和如何计算大小。 在学习结构体内存…...

【Redis】Redis中的布隆过滤器

【Redis】Redis中的布隆过滤器 前言 在实际开发中,会遇到很多要判断一个元素是否在某个集合中的业务场景,类似于垃圾邮件的识别,恶意IP地址的访问,缓存穿透等情况。类似于缓存穿透这种情况,有许多的解决方法&#xf…...

接口测试 —— Jmeter 参数加密实现

Jmeter有两种方法可以实现算法加密 1、使用__digest自带函数 参数说明: Digest algorithm:算法摘要,可输入值:MD2、MD5、SHA-1、SHA-224、SHA-256、SHA-384、SHA-512 String to be hashed:要加密的数据 Salt to be…...

Linux c语言字节序

文章目录 一、简介二、大小端判断2.1 联合体2.2 指针2.3 网络字节序 一、简介 字节序(Byte Order)指的是在存储和表示多字节数据类型(如整数和浮点数)时,字节的排列顺序。常见的字节序有大端字节序(Big En…...

批量将excel中第5列中内容将人名和电话号码进行分列

使用Python可以使用openpyxl库来实现批量将Excel中第5列的内容分列为人名和电话号码的操作。下面是示例代码: import openpyxl def split_names_and_phone_numbers(file_path, sheet_name): # 加载Excel文件 workbook openpyxl.load_workbook(file_path) …...

WPF DataGrid columns表头根据数据集动态动态生成Demo

思路是这样的&#xff0c;数组集合装表头的信息&#xff0c;遍历这个集合&#xff0c;遍历过程中处理一下数据&#xff0c;然后就把每表头信息添加到dataGrid2.Columns.Add(templateColumn); 1&#xff0c;页面Xaml代码&#xff1a; <DataGrid x:Name"dataGrid" …...

1339. 分裂二叉树的最大乘积

链接&#xff1a; ​​​​​​1339. 分裂二叉树的最大乘积 题解&#xff1a; /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* …...

【C++】Stack和Queue

欢迎来到Cefler的博客&#x1f601; &#x1f54c;博客主页&#xff1a;那个传说中的man的主页 &#x1f3e0;个人专栏&#xff1a;题目解析 &#x1f30e;推荐文章&#xff1a;题目大解析3 目录 &#x1f449;&#x1f3fb;Stack Constructor&#x1f449;&#x1f3fb;Stack …...

Maven之tomcat7-maven-plugin 版本低的问题

tomcat7-maven-plugin 版本『低』的问题 相较于当前最新版的 tomcat 10 而言&#xff0c;tomcat7-maven-plugin 确实看起来很显老旧。但是&#xff0c;这个问题并不是问题&#xff0c;至少不是大问题。 原因 1&#xff1a;tomcat7-maven-plugin 仅用于我们&#xff08;程序员&…...

在项目中如何解除idea和Git的绑定

在项目中如何解除idea和Git的绑定 1、点击File--->Settings...(CtrlAltS)--->Version Control--->Directory Mappings--->点击取消Git的注册根路径&#xff1a; 2、回到idea界面就没有Git了&#xff1a; 3、给这个项目初始化 这样就可以重新绑定远程仓库了&#x…...

前端倒计时误差!

提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...

【位运算】消失的两个数字(hard)

消失的两个数字&#xff08;hard&#xff09; 题⽬描述&#xff1a;解法&#xff08;位运算&#xff09;&#xff1a;Java 算法代码&#xff1a;更简便代码 题⽬链接&#xff1a;⾯试题 17.19. 消失的两个数字 题⽬描述&#xff1a; 给定⼀个数组&#xff0c;包含从 1 到 N 所有…...

AtCoder 第409​场初级竞赛 A~E题解

A Conflict 【题目链接】 原题链接&#xff1a;A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串&#xff0c;只有在同时为 o 时输出 Yes 并结束程序&#xff0c;否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...

【git】把本地更改提交远程新分支feature_g

创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...

CMake控制VS2022项目文件分组

我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...

3-11单元格区域边界定位(End属性)学习笔记

返回一个Range 对象&#xff0c;只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意&#xff1a;它移动的位置必须是相连的有内容的单元格…...

HashMap中的put方法执行流程(流程图)

1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中&#xff0c;其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下&#xff1a; 初始判断与哈希计算&#xff1a; 首先&#xff0c;putVal 方法会检查当前的 table&#xff08;也就…...

Git 3天2K星标:Datawhale 的 Happy-LLM 项目介绍(附教程)

引言 在人工智能飞速发展的今天&#xff0c;大语言模型&#xff08;Large Language Models, LLMs&#xff09;已成为技术领域的焦点。从智能写作到代码生成&#xff0c;LLM 的应用场景不断扩展&#xff0c;深刻改变了我们的工作和生活方式。然而&#xff0c;理解这些模型的内部…...

省略号和可变参数模板

本文主要介绍如何展开可变参数的参数包 1.C语言的va_list展开可变参数 #include <iostream> #include <cstdarg>void printNumbers(int count, ...) {// 声明va_list类型的变量va_list args;// 使用va_start将可变参数写入变量argsva_start(args, count);for (in…...

深入理解Optional:处理空指针异常

1. 使用Optional处理可能为空的集合 在Java开发中&#xff0c;集合判空是一个常见但容易出错的场景。传统方式虽然可行&#xff0c;但存在一些潜在问题&#xff1a; // 传统判空方式 if (!CollectionUtils.isEmpty(userInfoList)) {for (UserInfo userInfo : userInfoList) {…...