数据库入门概述

数据库入门概述

概念说明

数据库是什么?

是一个长期存储在计算机内的、有组织的、可共享的大量数据的集合

它是一个用于存储数据的仓库,可以按照数据结构进行组织、存储和管理。数据库中的数据通常以表格的形式呈现,并按照一定的规则和模式进行存储。

简单理解和比喻:我们编写的execl文件(里面存放我们编写的表格数据),偏向于存储数据

数据库管理系统(DBMS)是什么?

DBMS是一个大型复杂的基础软件系统,位于用户与操作系统之间的一层数据管理软件,为应用程序和用户提供了访问数据库的接口。

DBMS具有数据定义(提供数据库定义语言DDL),数据组织、存储和管理(提供数据操作语言DML),数据库的事务管理和运行管理(安全性等),数据库的建立和维护等功能。(简单理解,提供对数据的增删改查功能,数据一致性、并发性的管理功能、数据库创建和维护的功能等)

现实世界中更多的简称为数据库系统

简单理解和比喻:创建、查询、更新、维护和管理execl的软件,例如office软件、wps软件,这里更偏向于软件

数据库系统是什么?

数据库系统是一个更广泛的术语,它不仅仅包括数据库本身,还包括了整个与数据库相关的系统。

简单来说,数据库系统是一个完整的系统,它包括了计算机硬件、操作系统、数据库管理系统以及其他软件和工具。

为什么有execl这类电子表格,我们还需要开发和使用数据库?

简单列出几点:

1、数据量,execl文档存放的数据量有限,数据库存储的数据量可以理解为无限。

2、并发性,execl文档,只能一个用户进行更新,其他人只能读(打开查看),数据库允许对数据的最大并发访问,(只要不是同一行数据,可以同时并发更新),同时确保数据的完整性。

3、数据一致性,execl中的更新动作都是原子性。数据库中通过事务机制,可以保证一组逻辑上相关的操作要么全部完成,要么全部不做。

4、稳定性,专业的数据库软件实现数据的保存、管理、增删改查等,更加稳定可靠。

5、权限控制,数据库软件具备更精细化的权限控制。

当然,数据库还有很多很多execl不具备的优点,例如更高的性能、更高的用户访问、更适合的开发和调用、更专业的数据备份、数据保护等等,不再一一列举。

数据库系统的目的

收集、存储和检索相关的信息, 以供数据库应用程序使用(增删改查)。

基本数据库模型

***层次型:*层次数据库把数据组织在树状结构中。 每个父记录有一个或多个子记录,类似于文件系统的结构。

***网络型:*网络数据库类似于层次数据库,但有一个区别,即记录之间是多对多的关系,而不是一对多的关系。

上述两种数据模型需要按照严格的、预定义的关系存储数据。不存在任何数据定义语言,更改数据结构非常困难。 同时又缺乏一种简单的查询语言, 除非极度适合该类的场景,其它情况下,我们很少接触和使用到这类数据库。

关系型:

关系数据库将数据存储在一组简单的关系中(简单理解关系就是表格,我们将数据存储在表格中)。

关系是一个元组(数据行)的集合, 一个元组是一些属性值(列)的无序的集合。

表是一个关系的二维表示, 关系由行 (元组) 和列 (属性) 的形式构成。表中的每一行具有相同的列集。

关系数据库是一个将数据存储在关系(表)中的数据库。

NoSQL数据模型:

在传统的关系型数据库(SQL)统治的数据存储领域,NoSQL(Not Only SQL)数据库以其灵活性和可扩展性异军突起。与SQL数据库相比,NoSQL数据库通常不严格遵循表格模式,更易于水平扩展,适合处理大规模数据集。SQL数据库强调ACID(原子性、一致性、隔离性、持久性),而NoSQL则倾向于BASE(基本可用、软状态、最终一致性)原则,以牺牲一定程度的一致性换取高性能。

NoSQL数据模型概览:文档、列族、图形、键值

关系数据库管理系统(RDBMS)

作用

RDBMS将数据移入数据库、在数据库中存储和检索数据(增删改查),以便应用程序能对其进行操作。

逻辑操作

由应用程序指定需要哪些内容。例如,应用程序请求一个查询一行数据,或者向表中插入一条数据等。

物理操作

由RDBMS确定如何操作,并执行该操作。

例如,应用程序对表发出查询后,数据库可能会使用索引来查找请求的行、将数据读入内存,并执行许多其他步骤,最后向用户返回一个结果。

由RDBMS存储和检索数据,因此物理操作对于数据库应用程序是透明的。

从概念来补充理解

1)从概念来理解,我们常说的mysql、oracle等数据库,当我们只选择安装软件时,例如oracle安装时选择仅安装软件,mysql安装时,安装完不初始化(创建库),此时,我们安装的这些软件,我们更偏向于称为数据库软件,可以理解为数据库管理系统

2)当我们创建数据库时,例如oracle dbca创建数据库,mysql初始化(或者初始化后,登录后create database创建库),我们在磁盘上会创建相应的一系列数据文件,例如oracle的数据文件、控制文件、日志文件;mysql体现为ibd类型的文件、日志文件,这些存储在磁盘上的,用于存储我们业务数据的文件(当然也包含数据库初始化后的元数据),这些可以理解为数据库

从数据库补丁和升级角度理解

1)当我们只是进行小补丁、小版本升级时,往往只需要更新数据库软件,例如oracle单个补丁,都不需要更新数据字典(数据库),mysql小版本升级,也只需要软件替换即可,不需要更新数据字典(数据库)。

这一类对数据库软件进行修复的小补丁,一般只涉及软件代码修复和更新,不会涉及元数据的更新(因此无需更新数据库)。

2)当我们进行大补丁集、大版本升级时,需要同时更新数据库软件和数据库内部数据字典信息,例如Oracle psu/ru补丁集,版本升级,MySQL大版本升级,第一步需要更新升级数据库软件(或者替换),然后我们需要继续对数据库进行更新升级(因为大版本升级,数据库的功能、特性方面往往有很大的变动,那么数据库中的数据字典需要跟随调整,来实现这些升级变化)。

相关推荐
BullSmall2 小时前
一套定制化高级 payload 合集
数据库·安全性测试
zbdx不知名菜鸡2 小时前
postgre sql 数据库查询优化
数据库·postgresql
9稳2 小时前
基于PLC的生产线自动升降机设计
开发语言·网络·数据库·嵌入式硬件·plc
四七伵2 小时前
Spring Boot项目中varchar字段为什么不用NULL?告别空指针从建表开始
数据库·后端
Mr.45672 小时前
JDK17+Druid+SpringBoot3+ShardingSphere5 多表分库分表完整实践(MySQL+PostgreSQL)
java·数据库·spring boot·mysql·postgresql
Elastic 中国社区官方博客3 小时前
使用 ES|QL 变量控件将仪表板转变为调查工具
大数据·运维·服务器·数据库·elasticsearch·搜索引擎·全文检索
feng68_3 小时前
Ansible还原数据库节点
linux·运维·数据库·ansible
乐hh3 小时前
清理MySQL数据
数据库·mysql
EasyCVR3 小时前
国标GB28181/RTSP/ONVIF/RTMP视频监控平台EasyCVR视频质量诊断花屏/蓝屏/画面模糊/冻结检测
网络·数据库·音视频