【MySQL】数据库概述

目录

一、为什么使用数据库?

二、数据库与数据库管理系统

2.1 相关概念

2.2 两者关系

三、 MySQL介绍

四、 RDBMS和非RDBMS

4.1 关系型数据库(RDBMS)

4.2 非关系型数据库(非RDBMS)

五、关系型数据库设计规则

5.1 表、记录、字段

5.2 表的关联关系

5.2.1 一对一关联

5.2.2 一对多关联

5.2.3 多对多关联

5.2.4 自我引用


一、为什么使用数据库?

我们知道内存中的数据一旦机器掉电其数据就会丢失,为此我们可将数据保存到可掉电式的存储设备中如硬盘上的数据库中,从而实现数据的持久化存储。

二、数据库与数据库管理系统

2.1 相关概念

DB: 数据库(Database)

用来存储数据的仓库,其本质就是一个文件系统。保存了一系列有组织的数据。

DBMS:数据库管理系统(Database Management System)

用来管理和操作数据库的大型软件,通过此软件可以建立、使用和维护数据库,对数据库进行统一管理和控制。用户通过数据库管理系统来访问数据库表内的数据。

SQL:机构化查询语言(Structured Query Language)

数据管理员通过SQL代码在数据库管理系统上操作数据库的语言。是数据库管理系统操作数据库的一种工具(代码语言)。

2.2 两者关系

数据库管理系统(DBMS)可以管理多个数据库,一般开发人员会针对每个应用创建一个数据库,为保存应用中实体的数据一般会在数据库中创建多个表,以保存程序中实体用户的数据。

三、 MySQL介绍

MySQL是一个开发源代码的关系型数据库管理系统,可以处理上千万条记录的数据库。32位系统表文件最大支持4GB,64位系统支持最大的表文件8TB。MySQL使用SQL语言来操作数据库。一般大型企业使用收费的Oracle数据库、中小型企业使用免费的MySQL数库。

四、 RDBMS和非RDBMS

4.1 关系型数据库(RDBMS)

关系型数据库将复杂的数据结构归结为简单的二元关系即二维表格的形式。

  • 关系型数据库以行和列的形式存储数据便以用户理解,一系列的行和列被称为表,多个表组合到一起就构成了一个数据库。
  • 表与表之间的数据记录都是有关系的。现实世界中的各种实体以及实体之间的各种联系均用关系模型(各表之间数据记录之间的联系被称为关系模型)来表示。关系型数据库就是建立在关系模型基础上的数据库。
  • 可以使用SQL语句在多表之间做复杂的数据查询。
  • 对安全性要求很高的数据也可以使用关系型数据库访问。
4.2 非关系型数据库(非RDBMS)

非关系型数据库是以键值对的形式来存储数据的、不需要SQL层的解析,性能非常好,同时减少了一些不常用的功能。NoSQL泛指非关系型数据库,包括有:键值型数据库、文档型数据库、搜索型数据库和列存储等,还有图形数据库。

五、关系型数据库设计规则

  • 关系型数据库的数据结构就是数据表
  • 数据都是放在表中的,表都是放在库中
  • 一个数据库可以放多张表,每个表都有相对应的名字用来唯一标识自己
  • 表都会有一些特性、这些特性来规定数据在表中如何存储。
5.1 表、记录、字段
  • E-R(实体-联系)模型中三个主要概念是:实体集、属性、联系集(表之间实体与实体之间的联系)。

数据库中的一个表------->java或python中的一个类(或实体集)

数据库中的一行数据即记录----->类的一个对象(或实体)

数据库中的一列即字段----->类中的一个属性

5.2 表的关联关系

在数据库中表之间的数据记录有关系、在现实世界中各实体对象之间也存在各种联系,我们可以使用关系模型(表)表示出来。

四种:一对一关联、一对多关联、多对多关联、自我引用。

5.2.1 一对一关联
  • 表中的一条记录(实体)对应另外一张表中的一条记录即为一对一关系。
  • 记录之间一对一关系的两张表完全可以合并到一张表中,因此在实际开发中应用不多。 
5.2.2 一对多关联
  • 表中的一条记录对应另一张表中的多条记录

5.2.3 多对多关联
  • 表中的一条记录对应另个表的多条记录同时另个表中的一条记录又对应本表中的多条记录。
  • 要表示多对多关系,必须创建第三个联接表,它将多对多关系划分为两个一对多的关系。将这两个表的主键都插入第三个表中。

 备注:多对多的关系在选课信息表中体现了出来(中间表)

5.2.4 自我引用
  • 一张表中记录的某条字段(属性值)指向的还是自己这张表中的某个记录被称为自我引用即表中记录的某字段引用的还是这个表中的记录(自己人找自己人即表找表本身)。

@声明:“山月润无声”博主知识水平有限,以上文章如有不妥之处,欢迎广大IT爱好者指正,小弟定当虚心受教!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

OCPP 1.6 接入实现文档

一、简介 OCPP(Open Charge Point Protocol)是一个开放的通信协议,用于充电站(Charge Point)与中央系统(Central System,如充电站管理系统或服务提供商平台)之间的通讯。本篇文档将…

Matlab论文插图绘制模板第137期—极坐标分组气泡图

在之前的文章中,分享了Matlab极坐标气泡图的绘制模板: 进一步,再来分享一下极坐标分组气泡图。 先来看一下成品效果: ​ 特别提示:本期内容『数据代码』已上传资源群中,加群的朋友请自行下载。有需要的朋…

有哪些适合程序员的副业

如果你经常玩知乎、看公众号(软件、工具、互联网这几类的)你就会发现,好多资源连接都变成了夸克网盘、迅雷网盘的资源链接。 例如:天涯神贴,基本上全是夸克、UC、迅雷网盘的资源链接。 有资源的前提下,迅雷…

并发编程(2)管程(悲观锁)

4 共享模型之管程 本章内容 共享问题synchronized线程安全分析Monitorwait/notify线程状态转换活跃性Lock 4.1 共享带来的问题 4.1.1 小故事 老王(操作系统)有一个功能强大的算盘(CPU),现在想把它租出去&#xff…

2024年阿里云服务器优惠价格表,值得买云主机清单

2024阿里云服务器优惠活动政策整理,轻量2核2G3M服务器61元一年、2核4G4M带宽165元1年,云服务器4核16G10M带宽26元1个月、149元半年,阿里云ECS云服务器2核2G3M新老用户均可99元一年续费不涨价,企业用户2核4G5M带宽199元一年&#x…

PLC_博图系列☞基本指令“赋值”

PLC_博图系列☞基本指令“赋值” 文章目录 PLC_博图系列☞基本指令“赋值”背景介绍:赋值说明参数示例 关键字: PLC、 西门子、 博图、 Siemens 、 赋值 背景介绍 这是一篇关于PLC编程的文章,特别是关于西门子的博图软件。我并不是专业的…

Vite+Vue3+Ant Design3.2报错: Cannot read properties of null (reading ‘isCE‘)

最近的ViteVue3Ant Design Vue3.2开发的项目莫名其妙的报错: Uncaught (in promise) TypeError: Cannot read properties of null (reading isCE) 一直找不到原因出在哪,害的我费了好多时间调试 ,百度上也找了各个解决方法,有说使…

如何实现一个规则研究区域内数据的提取(matlab)

在利用经验正交分解(EOF)进行某一个研究区域分析时,我们需要将研究区域转换成N*M的矩阵,其中N为空间维度,M为时间维度,这意味着我们之前的数据加上时间维度是三维的,即(lon,lat,rg&a…

2024年面试季,大前端相关开发者不妨了解一下鸿蒙开发岗

搜狐:我宣布与华为达成鸿蒙全面合作! 美团:我宣布与华为达成鸿蒙全面合作! 360 :我宣布与华为达成鸿蒙全面合作! 高德:我宣布与华为达成鸿蒙全面合作! 新浪:我宣布与华为…

java使用poi简单操作excel

文章目录 引言插入行/列合并单元格以及设置居中换行 引言 编程开发中,我们可能会接到某些需求,例如导出某某某列表数据,或者做一份报表,这时候就需要我们的poi出场了,至于一些规则数据的导出,直接使用easy…

游戏服务器价格对比分析,2024高主频高性能服务器租用价格

游戏服务器租用多少钱一年?1个月游戏服务器费用多少?阿里云4核16G10M游戏服务器26元1个月、149元半年,腾讯云4核16G游戏服务器32元、312元一年,华为云26元,京东云主机也是26元起,游戏服务器配置从4核16G、4…

Linux学习方法-框架学习法——Linux驱动架构的演进

配套视频学习链接:https://www.bilibili.com/video/BV1HE411w7by?p4&vd_sourced488bc722b90657aaa06a1e8647eddfc 目录 Linux驱动演进的过程 Linux驱动的原始架构(Linux V2.4) 平台总线架构(platform) Linux设备树 Linux驱动演进的趋势 Linux驱动演进的过程…

最新攻略揭秘!多微信一键转发朋友圈,快速推广

现如今,微信朋友圈已然成为很多企业和个人的重要推广渠道之一。而如何快速推广朋友圈内容,吸引更多关注和转发,成为许多人关注的焦点。 今天就给大家分享一个可以实现一键转发朋友圈的工具——微信管理系统,帮助你快速提升内容曝…

#gStore-weekly | workbench功能详解之知识更新

gStore workbench作为gStore的可视化管理工具,不仅提供了可视化查询功能,还提供了可视化的知识更新功能,用户可以在可视化界面上进行知识的新增、修改和删除等操作,让我们的知识管理更加清晰和便捷。 1.查询知识 登录workbenc…

深信服技术认证“SCCA-C”划重点:深信服超融合HCI

为帮助大家更加系统化地学习云计算知识,高效通过云计算工程师认证,深信服特推出“SCCA-C认证备考秘笈”,共十期内容。“考试重点”内容框架,帮助大家快速get重点知识 划重点来啦 *点击图片放大展示 深信服云计算认证(S…

TDesign Vue Next Starter中后台项目的生产环境部署与CSP内容安全策略、CORS跨源资源共享和服务后端开发

TDesign Vue Next Starter中后台项目的生产环境部署与CSP内容安全策略、CORS跨源资源共享和服务后端开发 目录 TDesign Vue Next Starter中后台项目的生产环境部署与CSP内容安全策略、CORS跨源资源共享和服务后端开发 一、TDesign Vue Next Starter中后台项目模板 1.1、项目…

​​​​​​​Sora:OpenAI的革命性AI视频模型与其对未来影像创作的影响

随着深度学习技术和计算能力的进步,人工智能不仅在图像识别、自然语言处理等领域取得了卓越成就,同时也在不断突破视频处理和生成的边界。在这一背景下,OpenAI推出了Sora——一种新型的AI视频模型,标志着AI在视频内容创作领域的又…

后端程序员入门react笔记(四)-综合运用,写一个小demo

样式模块化 有时候我们会遇到这样的问题,有两个css对一个class声明了样式,这样的话后引入的css会覆盖前面的css样式,导致样式冲突,那么我们怎么解决这种问题呢,我们可以使用样式的模块化,我们起名一个inde…

Shell好用的工具: cut

目标 使用cut可以切割提取指定列\字符\字节的数据 介绍 cut 译为“剪切, 切割” , 是一个强大文本处理工具,它可以将文本按列进行划分的文本处理。cut命令逐行读入文本,然后按列划分字段并进行提取、输出等操作。 语法 cut [options] filename opti…

Vue(学习笔记)

什么是Vue Vue是一套构建用户界面的渐进式框架 构建用户界面: 基于数据渲染出用户可以看到的界面 渐进式: 所谓渐进式就是循序渐进,不一定非得把Vue中的所有API都学完才能开发Vue,可以学一点开发一点 创建Vue实例 比如就上面…
最新文章