MySQL基础-数据库介绍

news2024/9/20 16:26:59

本文介绍MySQL基础,包括什么是数据库,什么是关系型数据库,数据库和实例区别,数据库分类

文章目录

  • 前言
    • 什么是数据库?
    • 什么是数据库管理系统(DBMS)?
    • 什么是关系型数据库管理系统(RDBMS)?
    • 什么是MySQL数据库?
  • 数据库和实例区别
    • 定义
    • 区别
  • RDBMS 术语
  • 数据库分类
    • 关系数据库
    • 非关系数据库
      • 键值存储数据库
      • 列存储数据库
      • 面向文档数据库
      • 图形数据库

参考文档:

  1. 英文文档
  2. 中文文档
  3. 什么是数据库?
  4. 链接
  5. 数据库分类

前言

在这里插入图片描述

什么是数据库?

数据库是结构化信息或数据的有序集合,一般以电子形式存储在计算机系统中。通常由数据库管理系统 (DBMS) 来控制。在现实中,数据、DBMS 及关联应用一起被称为数据库系统,通常简称为数据库。

为了提高数据处理和查询效率,当今最常见的数据库通常以行和列的形式将数据存储在一系列的表中,支持用户便捷地访问、管理、修改、更新、控制和组织数据。另外,大多数数据库都使用结构化查询语言 (SQL) 来编写和查询数据。

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

数据库通常离不开完备的数据库软件程序,也就是数据库管理系统 (DBMS)。DBMS 充当数据库与其用户或程序之间的接口,允许用户检索、更新和管理信息的组织和优化方式。此外,DBMS 还有助于监督和控制数据库,提供各种管理操作,例如性能监视、调优、备份和恢复。

常见的数据库软件或 DBMS 有 MySQL、Microsoft Access、Microsoft SQL Server、FileMaker Pro、Oracle Database 和 dBASE。

什么是关系型数据库管理系统(RDBMS)?

所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。

RDBMS 即关系数据库管理系统(Relational Database Management System)的特点:

  • 数据以表格的形式出现
  • 每行为各种记录名称
  • 每列为记录名称所对应的数据域
  • 许多的行和列组成一张表单
  • 若干的表单组成database

什么是MySQL数据库?

MySQL 是一种开源的基于 SQL 的关系数据库管理系统

  • 它专门针对 Web 应用进行设计和优化,可以在任何平台上运行。互联网的兴起带来许多新的和不同的需求,MySQL 开始成为 Web 开发人员以及基于 Web 的应用的首选平台。

  • 它可以处理数以百万计的查询和数以千计的事务,因此深受那些需要进行大量资金转账的电商企业的欢迎。随需应变的灵活性是 MySQL 的一项主要特点。

  • 由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。

  • MySQL 是开源的,目前隶属于 Oracle 旗下产品。

  • MySQL 支持大型的数据库。可以处理拥有上千万条记录的大型数据库。

  • MySQL 使用标准的 SQL 数据语言形式。

  • MySQL 可以运行于多个系统上,并且支持多种语言。这些编程语言包括 C、C++、Python、Java、Perl、PHP、Eiffel、Ruby 和 Tcl 等。

  • MySQL 对 PHP 有很好的支持,PHP 是很适合用于 Web 程序开发。

  • MySQL 支持大型数据库,支持 5000 万条记录的数据仓库,32 位系统表文件最大可支持 4GB,64 位系统支持最大的表文件为8TB。

  • MySQL 是可以定制的,采用了 GPL 协议,你可以修改源码来开发自己的 MySQL 系统。

数据库和实例区别

定义

数据库:物理操作系统文件或其他形式文件类型的集合。

实例:MySQL数据库由后台线程以及一个内存共享区组成。

区别

数据库是文件的集合,是依照某种数据模型组织起来并存放于二级存储器中的数据集合。

数据库实例是程序,是位于用户与操作系统之间的一层数据管理软件,用户对数据库数据的任何操作,包括数据库定义、数据查询、数据维护、数据库运行控制等都是在数据库实例下进行的,应用程序只能通过数据库实例才能和数据库打交道。

RDBMS 术语

  • 数据库: 数据库是一些关联表的集合。
  • 数据表: 表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。
  • : 一列(数据元素) 包含了相同类型的数据, 例如邮政编码的数据。
  • :一行(元组,或记录)是一组相关的数据,例如一条用户订阅的数据。
  • 冗余:存储两倍数据,冗余降低了性能,但提高了数据的安全性。
  • 主键:主键是唯一的。一个数据表中只能包含一个主键。你可以使用主键来查询数据。
  • 外键:外键用于关联两个表。
  • 复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。
  • 索引:使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。
  • 参照完整性: 参照的完整性要求关系中不允许引用不存在的实体。与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。
  • 表头(header):每一列的名称;
  • 列(col):具有相同数据类型的数据的集合;
  • 行(row):每一行用来描述某条记录的具体信息;
  • 值(value):行的具体信息,每个值必须与该列的数据类型相同;
  • 键(key):键的值在当前列中具有唯一性。
    在这里插入图片描述
    在这里插入图片描述

数据库分类

数据库排名:https://db-engines.com/en/ranking
在这里插入图片描述

按照存储介质和数据库结构,可以将数据库分为两类:关系型数据库和非关系型数据库

  • 一般情况下,关系型数据库是将数据存放于磁盘中,非关系型数据库则存放于内存里;
  • 在数据访问性能上看非关系型数据库的效率更高;
  • 在数据安全性、持久性看,关系型数据库有明显优势;
  • 关系型数据库有利于数据的持久化保存与管理

关系数据库

MySQL、MariaDB(MySQL的代替品)、
Percona Server(MySQL的代替品·)、PostgreSQL、
Microsoft Access、Google Fusion Tables、SQLite、DB2、FileMaker、Oracle、SQL Server、INFORMIX、Sybase、dBASE、Clipper、FoxPro、foshub。

非关系数据库

Redis、MongoDB、Memcache、HBase、BigTable、Cassandra、CouchDB、Neo4J。

键值存储数据库

键值数据库就类似传统语言中使用的哈希表。可以通过key来添加、查询或者删除数据库,因为使用key主键访问,所以会获得很高的性能及扩展性。

典型产品:Memcached、Redis、MemcacheDB

列存储数据库

列式存储(column-based)是相对于传统关系型数据库的行式存储(Row-basedstorage)来说的。简单来说两者的区别就是对表中数据的存储形式的差异。

典型产品:HBase、Cassandra等。

面向文档数据库

  • 面向文档数据库会将数据以文档形式存储。
  • 每个文档都是自包含的数据单元,是一系列数据项的集合。
  • 每个数据项都有一个名词与对应值,值既可以是简单的数据类型,如字符串、数字和日期等;也可以是复杂的类型,如有序列表和关联对象。
  • 数据存储的最小单位是文档,同一个表中存储的文档属性可以是不同的,数据可以使用XML、JSON或JSONB等多种形式存储。

典型产品:MongoDB、CouchDB

图形数据库

图形数据库顾名思义,就是一种存储图形关系的数据库。图形数据库是NoSQL数据库的一种类型,它应用图形理论存储实体之间的关系信息。

典型产品:Neo4J、InforGrid

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/512352.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Springboot +Flowable,设置流程变量的方式(一)

一.简介 为什么需要流程变量。 举个例子,假设有如下一个流程,截图如下: 这是一个请假流程,那么谁请假、请几天、起始时间、请假理由等等,这些都需要说明,不然领导审批的依据是啥?那么如何传递…

HTML + CSS (包含移动Web) 笔记

前言 主要还是比较的一些html css&#xff1b;当然也有一些css样式时平时开发中经常用到的&#xff0c;但是我不晓得的&#xff0c;所以还是记录一下吧&#xff1b;给孩子点点关注吧&#xff01;&#x1f62d; 壹、HTML 一、标签 1.1 标题标签 块级元素 <h1> 好好…

go-micro框架-01-启动微服务及微服务间的调用

文章目录 1. 环境准备1.1 安装protoc1.2 安装 go-micro 2. 创建微服务项目2.1 创建第一个服务2.2 初始化2.3 同法再创建2个服务2.4 初始化项目 3. 微服务间调用4. 使用 consul4.1 启动consul4.2 修改代码 1. 环境准备 1.1 安装protoc https://github.com/protocolbuffers/pro…

webpack: 5 报错,错误

webpack-报错&#xff1a;Uncaught ReferenceError: $ is not defined (webpack) webpack打包jquery的插件&#xff08;EasyLazyLoad&#xff09;时&#xff0c;报错 方法一&#xff1a; //多个js文件用到jquery&#xff0c;用这种方法 在jquery.min.js的做最后写上下面的代码…

中交路桥科技浅谈:边坡稳定的影响因素及边坡主要监测内容

边坡稳定的影响因素 岩&#xff08;土&#xff09;性质的影响&#xff1a;包括岩石的坚硬程度、抗风化能力、抗软化能力、强度、组成、透水性等&#xff1b; 岩土结构的影响&#xff1a;表现为节理裂缝的发育程度及其分布规律、结构面的胶结情况、软弱面和破碎带的分布与边坡…

记录--ThreeJs手搓一个罗盘特效

这里给大家分享我在网上总结出来的一些知识&#xff0c;希望对大家有所帮助 先上效果 前言 最近在学Three.js.,对着文档看了一周多&#xff0c;正好赶上码上掘金的活动&#xff0c;就顺便写了一个小demo&#xff0c;手搓一个罗盘特效。 太极 先来看一下太极的实现方式&#xff…

教你一招轻松搞定大量视频滚动字幕

如果你也想批量快速的给大量视频画面添加上滚动字幕的话&#xff0c;那你一定要看这个教程&#xff0c;今天小编要给大家分享一个可以批量给大量视频添加滚动字幕的简单方法&#xff0c;有需要的小伙伴们可以一起来看看具体的操作步骤&#xff01; 首先我们来看看用这个工具添加…

c语言-指针

指针详解 ​ 这段时间在看 Linux内核&#xff0c;深觉C语言功底不扎实&#xff0c;很多代码都看不太懂&#xff0c;深入学习巩固C语言的知识很有必要。先从指针开始。 什么是指针 ​ C语言里&#xff0c;变量存放在内存中&#xff0c;而内存其实就是一组有序字节组成的数组&…

跨域时怎么处理 cookie?

前言 一个请求从发出到返回&#xff0c;需要浏览器和服务端的协调配合。浏览器要把自己的请求参数带给服务端&#xff0c;服务端校验参数之后&#xff0c;除了返回数据&#xff0c;也可能会顺便把请求是否缓存&#xff0c;cookie等信息告诉浏览器。当请求是跨域请求的时候&…

uniapp仿淘宝购物车demo

项目是基于uview2.0的ui组件&#xff0c;并且在一定程度上修改过原本组件的代码&#xff08;app-navbar是使用u-navbar在进行二次封装的组件&#xff1b;u-number-box也进行了修改&#xff09;&#xff0c;符合项目需求&#xff08;这个看个人项目需求在进行修改&#xff09; u…

【 在线音乐平台(onlinemusic) 】

文章目录 一、核心功能二、效果演示三、创建项目四、数据库设计及配置数据库4.1 数据库和表设计4.2 配置连接数据库 五、创建配置类六、具体功能实现6.1 注册模块6.2 登录模块拓展&#xff1a;登录注册加密(MD5&#xff0c;BCrypt) 6.3 退出模块6.4 上传音乐模块知识拓展1&…

RabbitMQ详解(六):RabbitMQ集群搭建

集群 官方参考文档&#xff1a;https://www.rabbitmq.com/clustering.html RabbitMQ这款消息队列中间件产品本身是基于Erlang编写&#xff0c;Erlang语言天生具备分布式特性&#xff08;通过同步Erlang集群各节点的magic cookie来实现&#xff09;。因此&#xff0c;RabbitMQ天…

什么是柔性玻璃?

柔性玻璃(Flexible glass)是一种新型薄膜玻璃基板(Thin film glass substrate)材料&#xff0c;厚度极薄可以弯曲。 柔性玻璃定义有广义和狭义之分&#xff1a; 广义柔性玻璃泛指所有制成微米尺寸具有可弯曲特性的玻璃材料&#xff0c;如玻璃纤维、光纤、玻璃棉、玻璃布等。这些…

第10课【STM32 USB通讯协议实战】HID键盘+CDC虚拟串口组合设备

目录 前言USB设备类别未定义设备设备描述符/配置描述符分析如何配置从机类型如何配置设备专用的描述符如何配置从机端点 HID设备特点设备描述符/配置描述符分析HID报文描述符短条目前缀可选数据表现形式 层次结构实例分析总结 CDC设备特点设备描述符/配置描述符分析设备类特定请…

【LED子系统】四、核心层详解(一)

个人主页&#xff1a;董哥聊技术 我是董哥&#xff0c;嵌入式领域新星创作者 创作理念&#xff1a;专注分享高质量嵌入式文章&#xff0c;让大家读有所得&#xff01; 文章目录 1、前言2、leds_init分析2.1 相关数据结构2.1.1 class 2.2 实现流程 3、leds_class_dev_pm_ops分析…

Mysql出现问题:ERROR 1062 (23000): Duplicate entry ‘‘ for key ‘PRIMARY‘解决方案

回城传送–》《数据库问题解决方案》 ❤️作者主页:小虚竹 ❤️作者简介:大家好,我是小虚竹。Java领域优质创作者🏆,CSDN博客专家🏆,华为云享专家🏆,掘金年度人气作者🏆,阿里云专家博主🏆,51CTO专家博主🏆 ❤️技术活,该赏 ❤️点赞 👍 收藏 ⭐再看,养成…

QT中的模态对话框及非模态对话框

QT中的模态对话框及非模态对话框 [1] QT中的模态对话框及非模态对话框[2] Qt工作笔记-主界面往模式对话框emit信号&#xff0c;有注意的问题正常情况下&#xff1a;不正常情况下&#xff1a;下面给出正常情况下的代码&#xff1a; [1] QT中的模态对话框及非模态对话框 原文链接…

KVM软件安装/Guest OS图形模式安装

KVM软件安装 首先你的Linux操作系统得带有图形化界面 虚拟机开启硬件虚拟化 关闭防火墙和selinux [rootserver-d ~]# systemctl stop firewalld [rootserver-d ~]# systemctl disable firewalld Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.ser…

RK3568修改调试串口的波特率

概述 使用了临滴 RK3568 开发板,其调试串口的默认波特率是 1500000 &#xff0c;但并不是所有的 USB 转 TTL 都能使用这么高的波特率&#xff0c;所以我们就将波特率修改为 115200 这个比较通用的波特率。 RK3568 调试串口修改波特率的方法 ddr 运行阶段串口波特率的修改 ddr…

linux利用定时任务提权

背景&#xff1a; 运维为了防止数据丢失等&#xff0c;写个定时任务进行数据的打包压缩。由于数据打包压缩命令为tar&#xff0c;tar可以尝试加参数调用其他命令执行。 压缩命令&#xff1a;tar zxf 1.tar.gz /var/www/* 查看定时任务&#xff1a;cat /etc/crontab root权限下…