【MySQL新手到通关】第一章 数据库概述

news2024/12/23 23:10:52

文章目录

  • 1. 为什么要使用数据库
  • 2. 数据库与数据库管理系统
    • 2.1 数据库的相关概念
    • 2.2 数据库与数据库管理系统的关系
  • 3. MySQL介绍
    • 3.1 概述
    • 3.2 关于MySQL 8.0
    • 3.3 为什么选择 MySQL
    • 3.4 Oracle vs MySQL
  • 4. RDBMS 与 非RDBMS
    • 4.1 关系型数据库
      • 4.1.1 实质
      • 4.1.2 优势
    • 4.2 非关系型数据库(非RDBMS)
      • 4.2.1 介绍
      • 4.2.2 有哪些非关系型数据库
    • 4.3 小结
  • 5. 关系型数据库设计规则
    • 5.1 表、记录、字段
    • 5.2 表的关联关系


在这里插入图片描述


在这里插入图片描述

1. 为什么要使用数据库

  • 持久化(persistence):把数据保存到可掉电式存储设备中以供之后使用。大多数情况下,特别是企
    业级应用,数据持久化意味着将内存中的数据保存到硬盘上加以”固化”,而持久化的实现过程大多
    通过各种关系数据库来完成。
  • 持久化的主要作用是将内存中的数据存储在关系型数据库中,当然也可以存储在磁盘文件、XML数
    据文件中。


在这里插入图片描述

2. 数据库与数据库管理系统

2.1 数据库的相关概念

在这里插入图片描述


2.2 数据库与数据库管理系统的关系

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

数据库管理系统、数据库和表的关系如图所示:
在这里插入图片描述



在这里插入图片描述

3. MySQL介绍

在这里插入图片描述

3.1 概述

  • MySQL是一个开放源代码的关系型数据库管理系统 ,由瑞典MySQL AB(创始人Michael
    Widenius)公司1995年开发,迅速成为开源数据库的 No.1。
  • 2008被 Sun 收购(10亿美金),2009年Sun被
    Oracle 收购。 MariaDB 应运而生。(MySQL 的 创造者担心 MySQL 有闭源的风险,因此创建了 MySQL 的分支项目
    MariaDB)
  • MySQL6.x 版本之后分为 社区版 和 商业版 。
  • MySQL是一种关联数据库管理系统,将数据保存在不同的表中,而不是将所有数据放在一个大仓 库内,这样就增加了速度并提高了灵活性。
  • MySQL是开源的,所以你不需要支付额外的费用。 MySQL是可以定制的,采用了 GPL(GNU General Public
    License) 协议,你可以修改源码来 开发自己的MySQL系统。 MySQL支持大型的数据库。可以处理拥有上千万条记录的大型数据库。
  • MySQL支持大型数据库,支持5000万条记录的数据仓库,32位系统表文件最大可支持 4GB ,64位 系统支持最大的表文件为 8TB 。
  • MySQL使用 标准的SQL数据语言 形式。
  • MySQL可以允许运行于多个系统上,并且支持多种语言。这些编程语言包括C、C++、Python、 Java、Perl、PHP和Ruby等。

3.2 关于MySQL 8.0

MySQL从5.7版本直接跳跃发布了8.0版本 ,可见这是一个令人兴奋的里程碑版本。MySQL 8版本在功能
上做了显著的改进与增强,开发者对MySQL的源代码进行了重构,最突出的一点是多MySQL
Optimizer优化器进行了改进。不仅在速度上得到了改善,还为用户带来了更好的性能和更棒的体验。


3.3 为什么选择 MySQL

  1. 开放源代码,使用成本低。
  2. 性能卓越,服务稳定。
  3. 软件体积小,使用简单,并且易于维护。
  4. 历史悠久,社区用户非常活跃,遇到问题可以寻求帮助。
  5. 许多互联网公司在用,经过了时间的验证。

3.4 Oracle vs MySQL

Oracle 更适合大型跨国企业的使用,因为他们对费用不敏感,但是对性能要求以及安全性有更高的要
求。
MySQL 由于其体积小、速度快、总体拥有成本低,可处理上千万条记录的大型数据库,尤其是开放源
码这一特点
,使得很多互联网公司、中小型网站选择了MySQL作为网站数据库(Facebook,Twitter,
YouTube,阿里巴巴/蚂蚁金服,去哪儿,美团外卖,腾讯)。



在这里插入图片描述

4. RDBMS 与 非RDBMS

从排名中我们能看出来,关系型数据库绝对是 DBMS 的主流,其中使用最多的 DBMS 分别是 Oracle、
MySQL 和 SQL Server。这些都是关系型数据库(RDBMS)。

4.1 关系型数据库

4.1.1 实质

  • 这种类型的数据库是 最古老 的数据库类型,关系型数据库模型是把复杂的数据结构归结为简单的
    二元关系 (即二维表格形式)。
    在这里插入图片描述

  • 关系型数据库以 行(row) 和 列(column) 的形式存储数据,以便于用户理解。这一系列的行和列被
    称为 表(table) ,一组表组成了一个库(database)。

  • 表与表之间的数据记录有关系(relationship)。现实世界中的各种实体以及实体之间的各种联系均
    用 关系模型 来表示。关系型数据库,就是建立在 关系模型 基础上的数据库。

  • SQL 就是关系型数据库的查询语言。

4.1.2 优势

  • 复杂查询
    可以用SQL语句方便的在一个表以及多个表之间做非常复杂的数据查询。
  • 事务支持
    使得对于安全性能很高的数据访问要求得以实现。

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

4.2.1 介绍

非关系型数据库,可看成传统关系型数据库的功能 阉割版本 ,基于键值对存储数据,不需要经过SQL层
的解析, 性能非常高 。同时,通过减少不常用的功能,进一步提高性能。
目前基本上大部分主流的非关系型数据库都是免费的。

4.2.2 有哪些非关系型数据库

相比于 SQL,NoSQL 泛指非关系型数据库,包括了榜单上的键值型数据库、文档型数据库、搜索引擎
和列存储等,除此以外还包括图形数据库。也只有用 NoSQL 一词才能将这些技术囊括进来。


4.3 小结

NoSQL 的分类很多,即便如此,在 DBMS 排名中,还是 SQL 阵营的比重更大,影响力前 5 的 DBMS
中有 4 个是关系型数据库,而排名前 20 的 DBMS 中也有 12 个是关系型数据库。所以说,掌握 SQL 是
非常有必要的。整套课程将围绕 SQL 展开。



在这里插入图片描述

5. 关系型数据库设计规则

  • 关系型数据库的典型数据结构就是 数据表 ,这些数据表的组成都是结构化的(Structured)。
  • 将数据放到表中,表再放到库中。
  • 一个数据库中可以有多个表,每个表都有一个名字,用来标识自己。表名具有唯一性。
  • 表具有一些特性,这些特性定义了数据在表中如何存储,类似Java和Python中 “类”的设计。

5.1 表、记录、字段

  • E-R(entity-relationship,实体-联系)模型中有三个主要概念是: 实体集 、 属性 、 联系集 。
  • 一个实体集(class)对应于数据库中的一个表(table),一个实体(instance)则对应于数据库
    表中的一行(row),也称为一条记录(record)。一个属性(attribute)对应于数据库表中的一
    列(column),也称为一个字段(field)。
    在这里插入图片描述

ORM思想 (Object Relational Mapping)体现:
数据库中的一个表 <—> Java或Python中的一个类
表中的一条数据 <—> 类中的一个对象(或实体)
表中的一个列 <----> 类中的一个字段、属性(field)

5.2 表的关联关系

  1. 一对一
    在实际的开发中应用不多,因为一对一可以创建成一张表。

  2. 一对多
    常见实例场景: 客户表和订单表 , 分类表和商品表 , 部门表和员工表 。
    举例:
    员工表:编号、姓名、…、所属部门
    部门表:编号、名称、简介

  3. 多对多
    要表示多对多关系,必须创建第三个表,该表通常称为 联接表 ,它将多对多关系划分为两个一对多关
    系。将这两个表的主键都插入到第三个表中。
    举例:
    学生-课程
    产品-订单


在这里插入图片描述

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

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

相关文章

基于QEMU的RISC-V架构linux系统开发(二)——RISC-V的Linux内核移植

1.在国内linux镜像源&#xff08;网易&#xff09;linux内核稳定版本V5.15.73&#xff08;注意&#xff1a;因为buildroot不支持最新版本&#xff0c;因此不下载最新版本&#xff09;的版本源码&#xff0c;链接如下所示&#xff1a; http://mirrors.163.com/kernel/v5.x/ 图1…

Linux 常用远程连接工具你用过几个?

想必大家对linux不陌生&#xff0c;但是一提起如何远程连接它可能一头雾水&#xff0c;今天通过下面的几个工具来简单探讨一下常用的linux远程连接工具的使用&#xff0c;希望对你的日常使用有所帮助。 1、Xshell 介绍&#xff1a; xshell 是一个非常强大的安全终端模拟软件…

如何借助Kafka持久化存储K8S事件数据?

大家应该对 Kubernetes Events 并不陌生&#xff0c;特别是当你使用 kubectl describe 命令或 Event API 资源来了解集群中的故障时。 $ kubectl get events15m Warning FailedCreate …

c语言笔试题整理

1、请填写 bool , float, 指针变量 与 “零值” 比较的 if 语句。 提示&#xff1a;这里“零值”可以是0, 0.0 , FALSE 或者“空指针”。 例如int 变量n 与“零值”比较的if 语句为&#xff1a; if ( n 0 ) if ( n ! 0 ) 以此类推。 (1&#xff09;请写出bool flag 与“零值…

陪诊系统源码|陪诊系统开发|陪诊小程序源码

随着医疗技术的不断发展&#xff0c;陪诊已经成为了一个非常普遍的现象。随之而来的&#xff0c;就是一款名为“陪诊小程序”的应用产品的诞生。这款小程序通过互联网技术来提供陪诊服务&#xff0c;包含了很多实用功能。下面&#xff0c;我们就来详细介绍一下陪诊小程序的功能…

【历史上的今天】5 月 22 日:Windows 3.0 发布;虚幻引擎诞生;《吃豆人》问世

整理 | 王启隆 透过「历史上的今天」&#xff0c;从过去看未来&#xff0c;从现在亦可以改变未来。 今天是 2023 年 5 月 22 日&#xff0c;在 1994 年的今天&#xff0c;知名中文论坛曙光 BBS 站开通。1994 年 4 月 20 日&#xff0c;建立在中科院和北京大学、清华大学之间的…

Spring 官方建议的在 Spring Boot 应用中如何做单元测试

Spring Boot 提供了丰富的测试功能&#xff0c;主要由以下两个模块组成&#xff1a; ● spring-boot-test&#xff1a;提供测试核心功能。 ● spring-boot-test-autoconfigure&#xff1a;提供对测试的自动配置。 Spring Boot 提供了一个 spring-boot-starter-test一站式启动…

springboot+vue私人健身与教练预约管理系统(源码+文档)

风定落花生&#xff0c;歌声逐流水&#xff0c;大家好我是风歌&#xff0c;混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的私人健身与教练预约管理系统。项目源码以及部署相关请联系风歌&#xff0c;文末附上联系信息 。 &#x1f495;&#x1f495;作者&…

【Java】常见内存溢出OOM

文章目录 前言一、定义二、 为什么会OOM&#xff1f;三、JVM内存模型四、OOM常见类型4.1 java堆内存溢出4.2 方法区溢出4.3 JAVA虚拟机栈溢出 五、OOM分析--heapdump总结 前言 一、定义 内存溢出&#xff1a; out of memory&#xff0c;OOM&#xff0c;全称“Out Of Memory”&…

西门子S7-1200 PLC之间无线PROFINET通信

西门子S7-1200 PLC 使用Profinet通讯时&#xff0c;一个做Profinet IO控制器&#xff0c;一个做Profinet IO设备。一个Profinet IO控制器可以最多支持16个Profinet IO设备&#xff0c;Profinet通讯不使用通讯指令&#xff0c;只需要配置好数据传输地址&#xff0c;就能够实现数…

睿铂在广东,自然资源部经济管理科学研究所“多测合一”项目分享

引言 DG4 Pros倾斜摄影相机作为睿铂旗舰系列产品&#xff0c;它的硬件与软件配置都无愧于其顶级倾斜相机的称号。在它的帮助下&#xff0c;客户得以挑战很多以往受限于设备技术条件&#xff0c;实施起来非常困难的项目。 本次&#xff0c;自然资源部经济管理科学研究所&#…

App Store上线APP流程

现在App Store上已经有数百万款应用&#xff0c;因此对于App的规范要求也越来越高&#xff0c;对于新上线的APP需要满足这些规则并不是件容易的事。今天和大家分享这方面的知识&#xff0c;希望大家喜欢。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff…

Mysql中存储引擎的区别及比较

MyISAM存储引擎 MyISAM基于ISAM存储引擎&#xff0c;并对其进行扩展。它是在Web、数据仓储和其他应用环境下最常使用的存储引擎之一。MyISAM拥有较高的插入、查询速度&#xff0c;但不支持事务。 MyISAM主要特性有&#xff1a; 1、大文件&#xff08;达到63位文件长度&#…

AI人工智能随机森林分类器的原理、优缺点、应用场景和实现方法

随机森林分类器&#xff08;Random Forest Classifier&#xff09;是一种常用的机器学习算法&#xff0c;它是基于决策树的一种集成学习方法。在人工智能&#xff08;Artificial Intelligence&#xff0c;简称AI&#xff09;领域中&#xff0c;随机森林分类器是一种高效的算法&…

艺术签名免费设计的方法分享,快来收下

在今天的数字时代&#xff0c;艺术签名已经成为一个流行的趋势。无论是在社交媒体上&#xff0c;还是在个人品牌推广中&#xff0c;艺术签名都是一个重要的元素。但是&#xff0c;对于很多人来说&#xff0c;设计一个独特的艺术签名可能需要付出昂贵的代价。然而&#xff0c;有…

flstudio21更新内容介绍FL水果2023旗舰版下载

昨天为大家展示了 FL STUDIO21 新增的插件&#xff0c;今天让我们看一看还有哪些新变化&#xff1f;FL Studio中文版惯称水果, 是一个完整的电音软件音乐制作环境或数字音频工作站。是现在流行的数字音频工作站之一,包括撰写,整理,记录,编辑,电音,混音和掌握专业品质的音乐。 0…

Open Ai 常见接口参数说明以及常见报错总结

&#x1f4cb; 个人简介 &#x1f496; 作者简介&#xff1a;大家好&#xff0c;我是阿牛&#xff0c;全栈领域优质创作者。&#x1f61c;&#x1f4dd; 个人主页&#xff1a;馆主阿牛&#x1f525;&#x1f389; 支持我&#xff1a;点赞&#x1f44d;收藏⭐️留言&#x1f4d…

【SPSS】生存-寿命表分析详细操作教程(附案例实战)

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…

Plc能否通过以太网网关实现无线数据交互?

西门子S7-1200 PLC 使用Profinet通讯时&#xff0c;一个做Profinet IO控制器&#xff0c;一个做Profinet IO设备。一个Profinet IO控制器可以最多支持16个Profinet IO设备&#xff0c;Profinet通讯不使用通讯指令&#xff0c;只需要配置好数据传输地址&#xff0c;就能够实现数…