【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.mzph.cn/news/698523.shtml

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

相关文章

YOLOv9 | 利用YOLOv9训练自己的数据集 -> 推理、验证(源码解读 + 手撕结构图)

一、本文介绍 本文给大家带来的是全新的SOTA模型YOLOv9的基础使用教程,需要注意的是YOLOv9发布时间为2024年2月21日,截至最近的日期也没有过去几天,从其实验结果上来看,其效果无论是精度和参数量都要大于过去的一些实时检测模型&…

必看2024年注册阿里云新用户可享受的优惠大合集

阿里云新用户优惠活动价格很便宜,先注册阿里云账号,然后完成 账号完成实名认证 阿里云新用户优惠活动和价格表来了2024阿里云服务器优惠活动政策整理,轻量2核2G3M服务器61元一年、2核4G4M带宽165元1年,云服务器4核16G10M带宽26元…

C#与VisionPro联合开发——跳转页面

1、跳转页面并打开相机 From1 所有代码展示 using System; using System.IO; using System.Windows.Forms; //引入VisionPro命名空间 using Cognex.VisionPro;namespace ConnectCamera {public partial class Form1 : Form {public Form1() {InitializeComponent();}CogAcqFif…

消息中间件之RocketMQ源码分析(十四)

Broker内存映射机制与高效磁盘 RocketMQ在存储涉及中通过内存映射、顺序写文件等方式实现了高吞吐。 RocketMQ的基本数据结构: CommitLog:RocketMQ对存储消息的物理文件的抽象实现,也就是对物理CommitLog文件的具体实现。MappedFile:CommitLog文件在内存中的映射文…

Pandas时间序列数据补全

一、问题 时间序列数据缺失,将其补全。 如下图所示,数据存在缺失秒级的情况 二、方法 1、需要将时间戳字段设置成 df 的索引 2、使用df.resample()方法 (1)上采样(将上一条数据作为当前缺失数据) resample()中的参数&#x…

多输入时序预测|GWO-CNN-LSTM|灰狼算法优化的卷积-长短期神经网络时序预测(Matlab)

目录 一、程序及算法内容介绍: 基本内容: 亮点与优势: 二、实际运行效果: 三、算法介绍: 灰狼优化算法: 卷积神经网络-长短期记忆网络: 四、完整程序下载: 一、程序及算法内容…

K8S—Pod详解

目录 一 Pod基础概念 1.1 Pod是什么 1.2 为什么要使用Pod?Pod在K8S集群中的使用方式? 1.3 基础容器pause 二 Pod的分类 2.1 自主式Pod和控制器管理的Pod 2.2 容器的分类 2.2.1 基础容器(infrastructure container) 2.2.2…

【Vuforia+Unity】AR03-圆柱体物体识别(Cylinder Targets)

1.创建数据库模型 这个是让我们把生活中类似圆柱体和圆锥体的物体进行AR识别所选择的模型 Bottom Diameter:底部直径 Top Diameter:顶部直径 Side Length:圆柱侧面长度 请注意,您不必上传所有三个部分的图片,但您需要先为侧面曲面关联一个图像&#…

流程图:理解、创建与优化的视觉工具

流程图:理解、创建与优化的视觉工具 引言 在日常生活和工作中,我们经常遇到需要描述一系列步骤或过程的情况。这些步骤可能是制作一杯咖啡、完成一个项目,或者是解决一个复杂的数学问题。流程图,作为一种强大的视觉工具&#xf…

【Docker实操】部署php项目

概述 最终达成的容器部署结构和原理如下图: 一、获取nginx、php官方镜像 docker pull nginx //拉取nginx官方镜像 docker pull php:7.4-fpm //拉取php官方镜像需要获取其他可用的php版本,可以上【docker hub】搜索【php】,所有的【xxx-fp…

【工具】阿莫智能设备之脱机烧录器K202C-1

注意,本文档仅仅是介绍烧录器的资料构成,并非烧录器的说明书,详细请看各对说明书及视频。 1. 资料图解 首先需要下载资料,通常稳定发布版本可以从 www.amomcu.cn 下载, 也可以向我们客服获取最新版本, 获…

六.生成makefile文件 并基于makefile文件编译opencv

1.点击【Generate】 生成makefile文件 2.进入目录下编译opencv源码,mingw32-make -j 8 3..编译出现报错 4.取消[WITH_OPENCL_D3D11_NV]选项,再次【configure】【generate】 然后再次编译:mingw32-make -j 8

科技守护大唐遗宝,预防保护传承千年

​ 一、“大唐遗宝——何家村窖藏出土文物展” 陕西历史博物馆的“唐朝遗宝——何家村窖藏出土文物展”算得上是博物馆展览的典范。展览不仅在于展现了数量之多、等级之高、种类之全,更在于对唐朝历史文化的深入揭露。 走入大唐财产展厅,好像穿越千年前…

推理任务稳定提点大揭秘:力大砖飞背后的科学

博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — 面试准备的宝典!《IDEA开发秘籍》 — 提升你的IDEA技能!《100天精通鸿蒙》 …

功率MOSFET体二极管的连续载流能力

功率MOSFET体二极管的连续载流能力 1.概述2.MOSFET 漏源电压限制3.体二极管电流能力4.计算案例5.降额 tips:资料主要来自网络,仅供学习使用。 在电力电子领域或者在大功率应用场境下,我们经常会用到开关管功率MOSFET以及其内部的二极管。 那…

安全生产:AI视频智能分析网关V4如何应用在企业安全生产场景中?

随着科技的不断进步,视频智能分析技术在安全生产领域中的应用越来越广泛。这种技术通过计算机视觉和人工智能算法,可以对监控视频进行自动分析和处理,以实现多种功能,如目标检测、行为识别、异常预警等。今天我们以TSINGSEE青犀AI…

Boom 3D for Mac 破解版(3D环绕立体声音效增强软件)2.0.2中文支持M3

Mac上想要听一场极致的音乐或看一场畅快淋漓的电影?这些Boom 3D for Mac都可以帮您实现,是一款Mac音效增强工具,可以将二维度的音效转换成三维度,让您彻底的享受一下极致的听觉盛宴! Boom 3D 2.0.2 Mac版主打音乐播放器…

centos7 arm服务器编译安装onnxruntime-gpu

前言 ONNX Runtime是适用于Linux,Windows和Mac上ONNX格式的机器学习模型的高性能推理引擎,但在arm服务器上,onnxruntime只有CPU版的,GPU版的没有,因此需要自行去编译GPU版本的才可以。 环境准备 1、python3.8 2、cmake:2.26.0版本以上,可以直接下载aarch64版本的进行…

[VulnHub靶机渗透] HA: Narak

🍬 博主介绍👨‍🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~ ✨主攻领域:【渗透领域】【应急响应】 【java】 【VulnHub靶场复现】【面试分析】 🎉点赞➕评论➕收藏 …

JAVA代码审计之XSS漏洞

Part1 漏洞案例demo&#xff1a; 没有java代码审计XSS漏洞拿赏金的案例。 所以将就看看demo吧 漏洞原理&#xff1a;关于XSS漏洞的漏洞原理核心其实没啥好说的&#xff0c;网上一查一大堆 反射性XSS漏洞 <% page language"java" contentType"text/html; c…