MySQL从零开始:数据库简介

在信息化社会,充分有效地管理和利用各类信息资源,是进行科学研究和决策管理的前提条件。数据库技术是管理信息系统、办公自动化系统、决策支持系统等各类信息系统的核心部分,是进行科学研究和决策管理的重要技术手段。

1

什么是数据库

从字面意思理解,首先数据库是一个存放东西的,里面存的东西是数据。以下解释来自百度百科:

数据库(Database)是按照数据结构来组织、存储和管理数据的建立在计算机存储设备上的仓库

想象一下这个场景:某高中二年级有三个班,期末考试成绩下来了,每个班的学生的成绩都打印在了一张A4纸上,而每个班的成绩单都放在一个档案袋里,最后所有的档案袋都放在李主任那里保管。如下图所示:

01 成绩表类比数据库

每个班的成绩表上记录着该班所有学生的成绩,其内容大概是下面这个样子:

排名

姓名

语文

数学

英语

总分

1

李元芳

99

99

99

297

2

后裔

99

98

98

295

3

孙尚香

95

95

95

285

该表中所有成员的数据结构都相同,也就是按照数据结构来组织、存储和管理数据

档案袋可类比于数据库,成绩表可类比于数据库中的表,而李主任则类比于数据库服务器。开学来了老师们都要联系李主任去拿档案袋,我们在使用数据库时也要首先连接数据库。

2

数据库的分类

数据库通常分为层次式数据库网络式数据库关系式数据库三种。而不同的数据库是按不同的数据结构来联系和组织的。

在当今的互联网中,最常见的数据库模型主要是两种,即关系型数据库非关系型数据库<NOSQL>

2.1 关系型数据库

关系模型就是指二维表格模型,因而一个关系型数据库就是由二维表及其之间的联系组成的一个数据组织。当前主流的关系型数据库有Oracle、DB2、PostgreSQL、Microsoft SQL Server、Microsoft Access、MySQL、浪潮K-DB等。

2.2 非关系型数据库

非关系型数据库,又被称为NoSQL(Not Only SQL ),意为不仅仅是SQL,对NOSQL 最普遍的定义是“非关联型的”,强调Key-Value 存储和文档数据库的优点 。主要代表有MongoDB,Redis、CouchDB等。

3

数据库的组成

数据库是相关数据的集合,一个数据库通常包含如下组成部分:

  • 数据表(Table):简称,由一组数据记录组成,数据库中的数据是以表为单位进行组织的。表实际上是一个二维表格,如上面所讲成绩表。
  • 记录(Record):表中的每一行称为一个记录,它由若干个字段组成。如上面所讲李元芳、后裔、孙尚香的成绩都为一条记录。
  • 字段(Field):也称。表中的每一列称为一个字段,每个字段都有相应的描述信息,如数据类型、数据宽度等。成绩表中 排名姓名语文数学英语总分 都是字段。
  • 索引(Index):为了提高访问数据库的效率,可以对数据库使用索引。索引实际上是一种特殊类型的表,其中含有关键字段的值(由用户定义)和指向实际记录位置的指针,这些值和指针按照特定的顺序(也由用户定义)存储,从而可以以较快的速度查找到所需要的数据记录。
  • 查询(Query):一条 SQL 指令用来从一个或多个表中获取一组指定的记录,或者对某个表执行指定的操作。每条语句都可以看做是一个查询,根据这个查询,可以得到需要的查询结果
  • 过滤器(Filter):它把索引和排序结合起来,用来设置条件,然后根据给定的条件输出所需要的数据。
  • 视图(view):数据的视图指的是查找到(或处理)的记录数和显示(或进行处理)这些记录的顺序。一般情况下,视图由过滤器和索引控制。

4

MySQL简介

作为本系列文章的主角,下面要介绍一下 MySQL

MySQL 是一种开放源代码的关系型数据库管理系统(RDBMS),使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。

随着 MySQL 被 Oracle 收购,MySQL 的用户和开发者开始质疑开源数据库的命运,有一部分人开始寻找 MySQL 的替代品,其中比较主流的有: Percona ServerMariaDBDrizzle。值得一提的是 MariaDB 的创始人正是 MySQL 的创始人。

系列文章预告:MySQL从零开始:MySQL的安装

原文发布于微信公众号 - C与Python实战(CPythonPractice)

原文发表时间:2018-07-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据和云

【云和恩墨大讲堂】复合索引与绑定变量

讲师简介 ? 邓秋爽(小鱼) 云和恩墨专家,有超过5年超大型数据库专业服务经验,擅长oracle 数据库优化、SQL优化和troubleshooting 今晚的...

3616
来自专栏程序员的SOD蜜

评《撸一段 SQL ? 还是撸一段代码? 》

    最近看到一篇博客《撸一段 SQL ? 还是撸一段代码?》,文章举例说明了一个连表查询使用程序code来写可读性可维护性更好,但是回帖意见不一致,我想作者...

2556
来自专栏数据库

MySQL数据库性能优化之四

优化目标 1.减少 IO 次数 IO永远是数据库最容易瓶颈的地方,这是由数据库的职责所决定的,大部分数据库操作中超过90%的时间都是 IO 操作所占用的,减少 ...

2046
来自专栏Linyb极客之路

一位Java工程师的阶段性工作总结

1.1.1、通常的模块分布:一般如果你要实现一个web应用,你从后台将数据展示到前端页面,在一个比较大的公司,你少不了跟其他项目有交集(你调用他的接口,他依赖你...

1063
来自专栏杨建荣的学习笔记

使用shell来定制dbms_sqltune(r7笔记第39天)

在sql调优中使用dbms_sqltune是一个很高效的工具,如果说awr发现了性能问题sql,addm可以给出调优建议,sql monitor能够监控性能问...

3264
来自专栏别先生

增量数据,如果下次增量数据存在重复数据,如何解决。

1、如果增量数据,每次增量数据可能会存在增量数据,如何解决。思路,首先可以复制一个备份表,然后将主表中存在的数据,在备份表中进行删除,然后将备份表插入到主表,最...

831
来自专栏资深Tester

数据库使用经验分享

2225
来自专栏杨建荣的学习笔记

用Oracle的眼光来学习MySQL 5.7的sys(下)(r11笔记第25天)

昨天写了篇分析sys的文章,用Oracle的眼光来学习MySQL 5.7的sys(上)(r11笔记第24天) 收到了一些朋友的反馈,还不错,今天继续努力,再整理...

36313
来自专栏数据和云

Oracle智能之SQL诊断:SQL Tuning Advisor推荐执行计划

编辑手记:在前一段,一篇智能数据库优化的论文引起广泛的关注,其实在 Oracle 数据库中,已经引入了大量自动化和智能化的方法去进行自动调节,包括在 SQL 层...

3015
来自专栏日常学python

教你用Python爬去QQ音乐评论

去年夏天,好像于我而言,重要的事就是毕业来临,从此踏上了搬砖之路,从学校到职场,之间身份的转变,让我又多了一份责任。当然还有一段感情经历,现在回头去看,只能说且...

1151

扫码关注云+社区

领取腾讯云代金券