第1章 MySQL数据库概述

news2024/11/29 0:42:37

1.1 基本概念

数据库是什么?

存储数据的地方

DB:数据库(Database)

为什么要用数据库?  

因为应用程序产生的数据是在内存中的,如果程序退出或者是断电了,则数据就会消失。使用数据库是为了能够永久保存数据。当然这里指的是非内存数据库。  

用普通文件存储行不行?

把数据写入到硬盘上的文件中,当然可以实现持久化的目标,但是不利于后期的检索和管理等。

MySQL、Oracle、SqlServer是什么?

MySQL、Oracle、SqlServer都是数据库管理系统(DBMS,Database Management System)是一种操纵和管理数据库的大型软件,例如建立、使用和维护数据库。

SQL是什么?

SQL是结构化查询语言(Structure Query Language),专门用来操作/访问数据库的通用语言。

1.2 MySQL数据库管理系统

在互联网行业,MySQL数据库毫无疑问已经是最常用的数据库。MySQL数据库由瑞典MySQL AB公司开发。公司名中的“AB”是瑞典语“aktiebolag”股份公司的首字母缩写。该公司于2008年1月16号被Sun(Stanford University Network)公司收购。然而2009年,SUN公司又被Oracle收购。因此,MySQL数据库现在隶属于Oracle(甲骨文)公司。MySQL中的“My”是其发明者(Michael Widenius,通常称为Monty)根据其女儿的名字来命名的。对这位发明者来说,MySQL数据库就仿佛是他可爱的女儿。

什么是关系型数据库和非关系数据库。

  • MySQL、Oracle、SqlServer等是关系型数据库管理系统。

  • MongoDB、Redis、Elasticsearch等是非关系型数据库管理系统。

关系型数据库,采用关系模型来组织数据,简单来说,

关系模型指的就是二维表格模型。类似于Excel工作表。

非关系型数据库,可看成传统关系型数据库的功能阉割版本,基于键值对存储数据,通过减少很少用的功能,来提高性能。

MySQL的优点有很多,其中主要的优势有如下几点:

  • 可移植性:MySQL数据库几乎支持所有的操作系统,如Linux、Solaris、FreeBSD、Mac和Windows。

  • 免费:MySQL的社区版完全免费,一般中小型网站的开发都选择 MySQL 作为网站数据库。

  • 开源:2000 年,MySQL公布了自己的源代码,并采用GPL(GNU General Public License)许可协议,正式进入开源的世界。开源意味着可以让更多人审阅和贡献源代码,可以吸纳更多优秀人才的代码成果。

  • 关系型数据库:MySQL可以利用标准SQL语法进行查询和操作。

  • 速度快、体积小、容易使用:与其他大型数据库的设置和管理相比,其复杂程度较低,易于学习。MySQL的早期版本(主要使用的是MyISAM引擎)在高并发下显得有些力不从心,随着版本的升级优化(主要使用的是InnoDB引擎),在实践中也证明了高压力下的可用性。从2009年开始,阿里的“去IOE”备受关注,淘宝DBA团队再次从Oracle转向MySQL,其他使用MySQL数据库的公司还有Facebook、Twitter、YouTube、百度、腾讯、去哪儿、魅族等等,自此,MySQL在市场上占据了很大的份额。

  • 安全性和连接性:十分灵活和安全的权限和密码系统,允许基于主机的验证。连接到服务器时,所有的密码传输均采用加密形式,从而保证了密码安全。由于MySQL是网络化的,因此可以在因特网上的任何地方访问,提高数据共享的效率。

  • 丰富的接口:提供了用于C、C++、Java、PHP、Python、Ruby和Eiffel、Perl等语言的API。

  • 灵活:MySQL并不完美,但是却足够灵活,能够适应高要求的环境。同时,MySQL既可以嵌入到应用程序中,也可以支持数据仓库、内容索引和部署软件、高可用的冗余系统、在线事务处理系统等各种应用类型。

  • MySQL最重要、最与众不同的特性是它的存储引擎架构,这种架构的设计将查询处理(Query Processing)及其他系统任务(Server Task)和数据的存储/提取相分离。这种处理和存储分离的设计可以在使用时根据性能、特性,以及其他需求来选择数据存储的方式。MySQL中同一个数据库,不同的表格可以选择不同的存储引擎。其中使用最多的是InnoDB 和MyISAM,MySQL5.5之后InnoDB是默认的存储引擎。

针对不同用户,MySQL提供三个不同的版本。

(1)MySQL Enterprise Server(企业版):能够以更高的性价比为企业提供数据仓库应用,该版本需要付费使用,官方提供电话技术支持。

(2)MySQL Cluster(集群版):MySQL 集群是 MySQL 适合于分布式计算环境的高可用、高冗余版本。它采用了 NDB Cluster 存储引擎,允许在 1 个集群中运行多个 MySQL 服务器。它不能单独使用,需要在社区版或企业版基础上使用。

(3)MySQL Community Server(社区版):在开源GPL许可证之下可以自由的使用。该版本完全免费,但是官方不提供技术支持。在MySQL 社区版开发过程中,同时存在多个发布系列,每个发布处在不同的成熟阶段。

  • MySQL5.7(RC)是当前稳定的发布系列。RC(Release Candidate候选版本)版只针对严重漏洞修复和安全修复重新发布,没有增加会影响该系列的重要功能。从MySQL 5.0、5.1、5.5、5.6直到5.7都基于5这个大版本,升级的小版本。5.0版本中加入了存储过程、服务器端游标、触发器、视图、分布式事务、查询优化器的显著改进以及其他的一些特性。这也为MySQL 5.0之后的版本迈向高性能数据库的发展奠定了基础。

  • MySQL8.0(GA)是最新开发的稳定发布系列。GA(General Availability正式发布的版本)是包含新功能的正式发布版本。这个版本是MySQL数据库又一个开拓时代的开始。

 

1.3 表的关系

在关系数据库管理系统中,很多表之间是有关系的,表之间的关系分为一对一关系、一对多关系和多对多关系。

1.一对一

该关系中第一个表中的一个行只可以与第二个表中的一个行相关,且第二个表中的一个行也只可以与第一个表中的一个行相关。

例如,“员工基本信息表”和“员工紧急情况联系信息表”。“员工基本信息表”中存储的是频繁使用的信息,“员工紧急情况联系信息表”中存储的是不常用的信息,这两个表中的一条记录都代表一个员工的信息。“员工基本信息表”中的一条记录在“员工紧急情况联系信息表”中只能找到唯一的一条对应记录,反过来也一样,即它们是一一对应关系。这两个表存在相同意义的“员工编号”字段,使它们建立了一对一关系。

 

2.一对多

第一个表中的一个行可以与第二个表中的一个或多个行相关,但第二个表中的一个行只可以与第一个表中的一个行相关。

例如,“部门表”和“员工基本信息表”。“部门表”中的一条记录,在“员工基本信息表”中可以找到一条或多条记录对应,但反过来“员工基本信息表”中的一条记录在“部门表”中只能找到一条记录对应,即一个部门可以有多个员工,但是一个员工只能属于一个部门。这两个表存在相同意义的“部门编号”字段,使它们建立了一对多关系。

3.多对多

该关系中第一个表中的一个行可以与第二个表中的一个或多个行相关。第二个表中的一个行也可以与第一个表中的一个或多个行相关。通常两个表的多对多关系会借助第三张表,转换为两个一对多的关系。

例如,选课系统的“学生信息表”和“课程信息表”是多对多关系。一个学生可以选择多门课,一门课程可以被多个学生选择,即“学生信息表”中一条记录可以与“课程信息表”多条记录对应,反过来“课程信息表”的一条记录也可以与“学生信息表”中多条记录对应。它们之间借助第三张“选课信息表”实现关联关系,而“学生信息表”与“选课信息表”是一对多关系,“课程信息表”与“选课信息表”也是一对多关系。“选课信息表”中“学号”字段与“学生信息表”中“学号”字段意义相同。“课程信息表”中“课程编号”字段与“课程信息表”中“课程编号”字段意义相同。

 

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

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

相关文章

【中学教资科目二】02中学课程

02中学课程 第一节 课程概述1.1 课程的分类 第二节 课程组织2.1 课程内容的文本表现形式2.2 课程评价 第三节 基础教育课程改革3.1 基础教育改革的目标3.2 新课改的课程结构 第一节 课程概述 1.1 课程的分类 学校课程有多种类型,其中最利于学生系统掌握人类所取得的…

收费4980的AI批量混剪,素材技术方法工具配套,详细拆解!

前几天有朋友跟我讲,他说有做旅游卡的,他们收费4980元,给500张卡,送AI批量混剪技术,问我们有没有? 批量混剪技术,这个其他早在2022年的时候我们就已经使用了。有开通抖音企业号的朋友都知道&am…

HarmonyOS角落里的知识—Stage模型应用程序

开发态包结构 在DevEco Studio上创建一个项目工程,并尝试创建多个不同类型的Module。根据实际工程中的目录对照本章节进行学习,可以有助于理解开发态的应用程序结构。 图1 项目工程结构示意图(以实际为准) 工程结构主要包含的文…

舒适佩戴,享受沉浸式音乐体验,西圣AVA2耳机体验

平时不管是听音乐,还是打电话,戴上一副耳机都可以让我们获得更好的隐私性,并且在公共场所,比如办公室、车厢里,也可以获得属于自己的空间。现在市面上耳机的选择非常多,音质、续航和佩戴的舒适度是我们选择…

2004年-2022年 全国31省市场分割指数数据

市场分割指数在经济学领域是一个关键的概念,特别是在评估不同区域市场一体化水平时。陆铭等学者深入研究了市场分割问题,并对市场分割指数给出了定义:它是一个衡量在相同时间点不同区域或同一区域在不同时间点的某类商品相对价格差异的指标。…

homework 2024.06.17 math, UI

A的宽度225 B的宽度150 这样画出来就比较标准, 225 * 2 150 * 3 2A 3B

技术驱动会展:展位导航系统的架构与实现

随着会展行业的快速发展,大型会展中心面临着如何提升参展者体验、提高招商效率的挑战。针对客户反馈的展馆面积大、展位查找困难等问题,维小帮提出一套智慧会展导航解决方案,旨在通过先进的室内导航技术提升会展中心的运营效率和参展者的满意…

驱动芯片退饱和保护(DESAT)

短路测试和双脉冲测试。 功率模块的短路承受能力的评估分为短路时间评估和短路能量评估两大类。短路时间由短路检测时间与短路关断时间共同构成 短路检测需要兼顾时效性与抗扰性能,要求系统能够及时响应,避免功率模块损坏。同时能够屏蔽开关过程的干扰…

JAVA每日总结day6.21

ok了家人们,今天我们学习了面向对象中关键字的使用和抽象类,话不多说,我们一起看看吧,(今天终于星期五了,芜湖!!!) 一,this和super关键字 1&…

【C++ | 重载运算符】一文弄懂C++运算符重载,怎样声明、定义运算符,重载为友元函数

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 ⏰发布时间⏰:2024-06-21 2…

从艳彩山水到艳彩艺术 薛永年:郭泰来艳彩艺术填补了中国美术史的空白

薛永年先生 自6月12日开展以来,郭泰来现代艺术大展杭州如火如荼地进行着,吸引了众多艺术爱好者和专业人士前往。毫不夸张地说,总统和清洁工人都能在他的作品中找到自己心中的那一块共振带并与之产生强烈的共鸣,这便是郭泰来先生的…

如何禁止学生开启windows防火墙

信息课上,学生最喜欢开启windows防火墙来脱离电子教室的控制,如何禁止学生开启Windows防火墙,可以从以下几个方面入手: 一、使用组策略编辑器 打开组策略编辑器:按下WinR键,输入gpedit.msc并回车&#xf…

眼在手上标定结果应用:像素坐标转机械臂世界坐标

像素坐标转世界坐标主要用到如下的公式:其中boar2camera矩阵可由通过拍摄的标定板图片直接求解,为相机内参矩阵 camera_matrix: rows: 3 cols: 3 data: [428.3066849046146, 0, 675.2344606795484, 0, 431.0838735333736, 405.3373367752419, 0, 0, 1] …

cron.timezone

系统 date 数据库 show timezone插件 show cron.timezonealter system set cron.timezonePRC;show cron.timezone

NSSCTF-Web题目13

目录 [SWPUCTF 2022 新生赛]js_sign 1、题目 2、知识点 3、思路 [MoeCTF 2021]Do you know HTTP 1、题目 2、知识点 3、思路 [SWPUCTF 2022 新生赛]js_sign 1、题目 2、知识点 base64编码、敲击码(tap code) 3、思路 页面没有什么,…

fataadmin导出Exel文件图片太大

// 导出图片过大处理 exportOptions: {ignoreColumn: [0, operate],onBeforeSaveToFile: function (data, fileName, type, charset, encoding, bom) {return $.fn.bootstrapTable.defaults.extend.savestatus;},onCellHtmlHyperlink: function ($cell, rowIndex, colIndex, hr…

vue2 + Lodop 制作可视化设计页面 实现打印设计功能(一)

前言: 此功能的来源来自于当时需要制作一个便于客户操作的打印设计功能,然后就有了这个项目。这个帖子主要是用于分享与谈论,相互学习。 目标: 能在vue页面中拖拽组件支持批量操作拖动通过拖拽组件列表里的组件到page进行添加实…

四,SSM整合-前后端分离(实现分页+前后端校验)

分页与校验 实现功能07-分页显示列表需求分析/图解思路分析代码实现完成测试 实现功能08-带条件查询分页显示列表需求分析/图解思路分析代码实现 实现功能09-添加家居表单前端校验需求分析/图解思路分析代码实现 实现功能10-添加家居表单后端校验需求分析/图解思路分析代码实现…

普通变频器位置闭环控制(S7-1200PLC工艺对象模拟量轴)

1、S7-1200PLC控制V90总线伺服通过工艺对象实现定位控制 S7-1200PLC和V90总线伺服通过工艺对象实现定位控制(标准报文3应用)_1200报文3控制v90-CSDN博客文章浏览阅读182次。V90伺服驱动器调试软件SINAMICS V-ASSISTANT Commissioning tool下载地址如下:西门子官网选型|资料CS…

【Kafka】Kafka Broker工作流程、节点服役与退役、副本、文件存储、高效读写数据-08

【Kafka】Kafka Broker工作流程、节点服役与退役、副本、文件存储、高效读写数据 1. Kafka Broker 工作流程1.1 Zookeeper 存储的 Kafka 信息1.2 Kafka Broker总体工作流程1.2.1 Controller介绍 1.3 Broker 重要参数 2. 节点服役与退役3. Kafka副本 1. Kafka Broker 工作流程 …