为什么要学MySQL数据库,它有什么用?

文章目录

  • 一,数据库的作用
  • 二,身边的数据库
  • 三,MySQL适用于哪些场景?
    • 1、Web 网站系统
    • 2、日志记录系统
    • 3、数据仓库系统


一,数据库的作用

随着互联网技术的高速发展,预计2020 年底全世界网民的数量将达到 50 亿。网民数量的增加带动了网上购物、微博,网络视频等产业的发展。那么,随之而来的就是庞大的网络数据量。

大量的数据正在不断产生,那么如何安全有效地存储、检索,管理它们呢?于是对数据的有效存储、高效访问、方便共享和安全控制等问题成为了信息时代一个非常重要的问题。

使用数据库可以高效且条理分明地存储数据,它使人们能够更加迅速和方便地管理数据,主要体现在以下几个方面。

  1. 数据库可以结构化存储大量的数据信息,方便用户进行有效的检索和访问。

数据库可以对数据进行分类保存,并且能够提供快速的查询。例如,我们平时使用百度搜索内容时,百度也是基于数据库和数据分类技术来达到快速搜索的目的。

  1. 数据库可以有效地保持数据信息的一致性、完整性、降低数据冗余。

可以很好地保证数据有效、不被破坏,而且数据库自身有避免重复数据的功能,以此来降低数据的冗余。

  1. 数据库可以满足应用的共享和安全方面的要求,把数据放在数据库中在很多情况下也是出于安全的考虑。

例如,如果把所有员工信息和工资数据都放在磁盘文件上,则工资的保密性就无从谈起。如果把员工信息和工资数据放在数据库中,就可以只允许查询和修改员工信息,而工资信息只允许指定人(如财务人员)查看,从而保证数据的安全性。

  1. 数据库技术能够方便智能化地分析,产生新的有用信息。

例如,超市中把物品销售信息保存在数据库中,每个月销售情况的排名决定了下半月的进货数量。数据库查询的结果实际上产生了新的数据信息。

数据挖掘、联机分析等技术近年来发展非常快,其核心意义在于从一堆数据中分析出有用的信息。

二,身边的数据库

在日常生活中,我们可能没有察觉到经常使用的数据库系统。正式学习数据库之前,先带大家了解一下身边常见的数据库系统应用。

在阅读以下内容时,读者可以先将:

  • 数据库看作一组相关的数据
  • 数据库管理系统(DBMS)看作管理和控制这组数据的软件
  • 数据库系统包括与数据库相互作用的应用程序、DBMS 和数据库在内的所有东西

后面会对上述术语给出更加准确的定义。

下面是生活中一些常见的数据库应用:

1.超市购物

我们在超市购买商品时,就是在访问一个数据库。

结账时,收银员使用条形码阅读器扫描客户购买的每一件商品。这个条形码阅读器连接着一个访问商品数据库的应用程序,该程序根据条形码从商品数据库中找出商品价格,然后从库存中减去本次销售这种商品的数量,并且在屏幕上显示相应的价格。

如果存货量低于设置的临界值,数据库系统将提示进货以补充存货。如果有客户向超市打电话订购商品,售货员可以通过运行应用程序,查看数据库中此商品是否有足够的存货。

2.信用卡消费

使用信用卡购买商品时,售货员要检查客户是否有足够的信用额度。该项检查可以通过打电话进行,也可以通过一个与计算机系统相连接的信用卡阅读器自动进行。无论哪种方式,一定在某个数据库中存有该客户使用信用卡购买商品的所有信息。

为了检查客户的信用情况,需要有一个数据库应用程序,使用信用卡号码可以查询出这个月客户已购买商品的总价格,加上这次希望用信用卡购买的商品的价格,判断是否仍在信用额度之内。并且,如果用户确认购买,则此次购买商品的详细内容会被记录到该数据库中。

应用程序还要访问数据库,在同意购买之前,检查信用卡不属被盗或丢失之列。此外,一般还有一些其它的应用程序负责每月向信用卡持卡人发送信用卡使用记录,并在收到付款之后向信用卡持卡人发送信息。

3.旅行社预订假期行程

当旅客向旅行社咨询假期行程安排时,旅行社将访问多个包含假日和航班详细信息的数据库。

若客户预定行程,数据库系统必须进行所有必要的预定安排。在这种情况下,系统必须确保一个座位不被两个不同的旅行社预定,以及航班的预定座位不超过航班的固定座位。

例如,假设从青海飞往北京的航班上仅剩最后一个座位,却有两个旅行社同时要求预定该座位,系统必须能够分辨和处理这种情况,即允许一个预定继续进行,通知另外一个旅行社已经没有剩余的座位。旅行社通常可能还有另外一个数据库用于开列票据。

4.图书馆

在图书馆中可能存在一个数据库,用来存储图书馆中所有图书的详细资料和读者的详细信息等。

数据库系统还能提供预定服务,即允许读者预定图书,当该书可以借阅时,用邮件或其它方式通知读者。系统还可以向借书的读者发送提醒信息,告知其在规定的期限内尚未归还所借书。

另外,现在所有的图书馆都配备了计算机索引系统,实现了图书的自动查询。使用该系统,可以让读者通过查询书名、作者或出版年份等信息,查找出希望借阅图书的所在位置,以及是否已经借出等信息。

5.购买保险

无论何时,如果想投保某个保险,比如寿险、家庭财产险或汽车保险,保险经纪人都要访问多个保险机构的数据库。

数据库系统会根据所提供的客户个人详细信息,如姓名、家庭住址、年龄等情况,来确定保险的金额。保险经纪人可通过查阅多个数据库,找到一个能给客户最大实惠的保险。

6.网上购物

我们平时使用的购物网站都是通过数据库应用驱动的,例如,淘宝、京东、当当等。

当当中有好多在线书店,它允许客户在不同的种类(例如计算机类或者管理类)中浏览和购买书籍。还可以按作者的姓名来浏览书籍。无论何种情形,该组织的网络服务器中都存在一个数据库,含有所有书籍的详细信息(书名、作者、价格、销售记录、出版社、简介和详细描述等),以及是否有存货、书籍运送情况、库存量和订购等信息。

在数据库中书籍可被交叉引用。例如,一本书可能被列在多个种类下,比如同时列在计算机、程序语言、畅销书和推荐书籍名下。

我们可以在线购买一本或多本书籍。当当网会通过数据库保存先前交易的记录(历史订单),包括购买的书名、送货地址和支付价格等详细信息,为网站的用户提供个性化服务。

7.大学

如果你正在大学就读,学校会有一个用来存储学生所有信息的数据库系统(学生管理系统),包括注册的课程、获得的各类奖学金、往年已选择的课程和今年正在选择的课程以及考试成绩信息等。可能还有一个数据库用来存储在大学中工作员工的详细信息。

上述是生活中常见数据库的应用,你肯定还会遇见其它更多的数据库系统。虽然我们今天对这些应用司空见惯,但其实数据库系统是相当复杂的技术,到现在已经历经了六十多年的发展。

三,MySQL适用于哪些场景?

MySQL 是目前世界上最流行的开源关系数据库,大多应用于互联网行业。比如,在国内,大家所熟知的百度、腾讯、淘宝、京东、网易、新浪等,国外的 Google、Facebook、Twitter、GitHub 等都在使用 MySQL。社交、电商、游戏的核心存储往往也是 MySQL。
为什么要学MySQL数据库,它有什么用?_第1张图片

任何产品都不可能是万能的,也不可能适用于所有的应用场景。那么 MySQL 到底适用于哪些场景又不适用于哪些场景呢?

1、Web 网站系统

Web 网站开发者是 MySQL 最大的客户群,也是 MySQL 发展史上最为重要的支撑力量。

MySQL 之所以能成为 Web 网站开发者们最青睐的数据库管理系统,是因为 MySQL 数据库的安装配置都非常简单,使用过程中的维护也不像很多大型商业数据库管理系统那么复杂,而且性能出色。还有一个非常重要的原因就是 MySQL 是开放源代码的,完全可以免费使用。

2、日志记录系统

MySQL 数据库的插入和查询性能都非常的高效,如果设计的好,在使用 MyISAM 存储引擎的时候,两者可以做到互不锁定,达到很高的并发性能。所以,对需要大量的插入和查询日志记录的系统来说,MySQL 是非常不错的选择。比如处理用户的登录日志,操作日志等,都是非常适合的应用场景。

3、数据仓库系统

随着现在数据仓库数据量的飞速增长,我们需要的存储空间越来越大。数据量的不断增长,使数据的统计分析变得越来越低效,也越来越困难。下面是几个主要的解决思路。

1)采用昂贵的高性能主机以提高计算性能,用高端存储设备提高 I/O 性能,效果理想,但是成本非常高;

2)通过将数据复制到多台使用大容量硬盘的廉价 PC Server 上,以提高整体计算性能和 I/O 能力,效果尚可,存储空间有一定限制,成本低廉;

3)通过将数据水平拆分,使用多台廉价的 PC Server 和本地磁盘来存放数据,每台机器上面都只有所有数据的一部分,解决了数据量的问题,所有 PC Server 一起并行计算,也解决了计算能力问题,通过中间代理程序调配各台机器的运算任务,既可以解决计算性能问题又可以解决 I/O 性能问题,成本也很低廉。

在上面的三个方案中,第二和第三个的实现,MySQL 都有较大的优势。通过 MySQL 的简单复制功能,可以很好的将数据从一台主机复制到另外一台 ,不仅仅在局域网内可以复制,在广域网同样可以。

当然,很多人可能会说,其他的数据库同样也可以做到,不是只有 MySQL 有这样的功能。确实,很多数据库同样能做到,但是 MySQL 是免费的,其他数据库大多都是按照主机数量或者 cpu 数量来收费,当我们使用大量的 PC Server 的时候,License 费用相当惊人。所以第一个方案,基本上所有数据库系统都能够实现,但是其高昂的成本不是每一个公司都能够承担的。
4、嵌入式系统
嵌入式环境对软件系统最大的限制是硬件资源非常有限,在嵌入式环境下运行的软件系统,必须是轻量级低消耗的软件。

MySQL 在资源的使用方面的伸缩性非常大,可以在资源非常充裕的环境下运行,也可以在资源非常少的环境下正常运行。它对于嵌入式环境来说,是一种非常合适的数据库系统,而且 MySQL 有专门针对于嵌入式环境的版本。

并且,MySQL 的定位是通用数据库,各种类型的应用一般都能利用到 MySQL 存取数据的优势。业内生产实践证明,MySQL 更适合中小型企业。以目前的软硬件产品水平来看,如果数据超过几个 TB 将难以高效利用 MySQL。

MySQL 可以作为传统的关系型数据库产品使用,也可以当作一个 key-value 产品来使用。由于它具有优秀的灾难恢复功能,因此相对于目前市场上的一些 key-value 产品会更有优势。

你可能感兴趣的:(MySQL,数据库,mysql,学习目的)