数据库概述、mysql入门,数据库基础知识扫盲。

一、数据库概述

1.数据库系统发展

数据库系统发展 在目前阶段,存储和管理数据都离不开数据库。例如, 学校需要使用数据库来存储学生和教师的信息;公司需 要使用数据库来存储公司的资料和员工的信息。当数据 存储到数据库后,数据库管理系统就会对这些数据进行 组织和管理。 数据库管理系(DBMS)是数据库的核心软件之 一,是位于用户与操作系统之间的数据管理软件,用 于建立,使用和维护数据库。 数据管理就是对各种数据进行分类、组织、编码、查询 和维护,主要经历了 3 个阶段,即人工管理阶段、文件 系统阶段和数据库系统阶段。每一个阶段都是以减小数 据冗余、增强数据独立性和方便操作数据为目的进行发展。

1. 人工管理阶段 在计算机出现之前,人们主要利用纸张和计算工具(如 算盘和计算尺)来进行数据的记录和计算,依靠大脑来 管理和利用数据。 人工管理阶段的特点如下: 数据不能长期保存 不便于查询数据 数据不能共享,冗余度大 数据不具有独立性

2. 文件系统阶段 在 20 世纪 50 年代后期到 20 世纪 60 年代中期,计算机 中的磁盘直接存取设备开始普及。这时,可以将数据存 储在计算机的磁盘上。这些数据都以文件的形式存储, 然后通过文件系统来管理这些文件。 文件系统通过文件的存储路径和文件名来访问文件中的 数据,我们可以查看、修改、添加和删除这些文件。 相对于人工管理阶段而言,文件系统使数据管理变得简 单,不用再为了一个文件而翻箱倒柜的查找。但是,这 些文件中的数据没有进行结构化管理,查询起来还是不 方便。 文件系统阶段的特点如下: 数据可以长期保存 数据由文件系统来管理 数据冗余大,共享性差 数据独立性差 无法应对突发事故(文件误删,磁盘故障等)

3. 数据库系统阶段 在 20 世纪 60 年代后期,随着网络技术的发展,计算机 软/硬件的进步,出现了数据库技术,该阶段就是所谓的 数据库系统阶段。 数据库系统阶段使用专门的数据库来管理数据,用户可 以在数据库系统中建立数据库,然后在数据库中建立 表,最后将数据存储在这些表中。用户可以直接通过数 据库管理系统来查询表中的数据。 相对于文件系统来说,数据库系统实现了数据结构化。 在文件系统中,独立文件内部的数据一般是有结构的, 但文件之间不存在联系,因此整体来说是没有结构的。 数据库系统虽然也常常分成许多单独的数据文件,但是 它更注意同一数据库中各数据文件之间的相互联系。

数据库系统阶段的特点如下: 数据由数据库管理系统统一管理和控制 数据共享性高,冗余度低 数据独立性强 数据粒度小 数据粒度是数据库中数据的细化程度。细化程度越 高,粒度越小;细化程度越低,粒度越大。

简单来说,数据库就是一个存储数据的仓库,它将数据 按照特定的规律存储在磁盘上。为了方便用户组织和管 理数据,其专门提供了数据库管理系统。通过数据库管 理系统,用户可以有效的组织和管理存储在数据库中的 数据。

2.数据库分类

数据库有两种类型,分别是关系型数据库和非关系型数 据库。

关系型数据库 关系型数据库是建立在关系模型基础上的数据库,借助 于集合代数等数学概念和方法来处理数据库中的数据。 简单说,关系型数据库是由多张能互相连接的表组成的 数据库。

优点:

1. 都是使用表结构,格式一致,易于维护。

2. 使用通用的 SQL 语言操作,使用方便,可用于复杂查 询。

3. 数据存储在磁盘中,安全。

缺点:

1. 读写性能比较差,不能满足海量数据的高效率读写。

2. 不节省空间。因为建立在关系模型上,就要遵循某些 规则,比如数据中某字段值即使为空仍要分配空间。

3. 固定的表结构,灵活度较低。

常见的关系型数据库有 Oracle、DB2、PostgreSQL、 Microsoft SQL Server、Microsoft Access 和 MySQL 等。

非关系型数据库 非关系型数据库又被称为NoSQL(Not Only SQL ),意 为不仅仅是 SQL。通常指数据以对象的形式存储在数据 库中,而对象之间的关系通过每个对象自身的属性来决 定。

优点:

1. 非关系型数据库存储数据的格式可以是 key-value 形 式、文档形式、图片形式等。使用灵活,应用场景广 泛,而关系型数据库则只支持基础类型。

2. 速度快,效率高。 NoSQL 可以使用硬盘或者随机存 储器作为载体,而关系型数据库只能使用硬盘。

3. 海量数据的维护和处理非常轻松。

4. 非关系型数据库具有扩展简单、高并发、高稳定性、 成本低廉的优势。

5. 可以实现数据的分布式处理。

缺点;

1. 非关系型数据库暂时不提供 SQL 支持,学习和使用成 本较高。

2. 非关系数据库没有事务处理,没有保证数据的完整性 和安全性。适合处理海量数据,但是不一定安全。

3. 功能没有关系型数据库完善。 常见的非关系型数据库有 Neo4j、MongoDB、Redis、 Memcached、MemcacheDB 和 HBase 等。

3.关系数据库常用词汇

SQL:结构化查询语言(Structured Query Language) 简称SQL

DBA 数据库管理员(Database Administrator,简称 DBA)

DB 数据库 DBMS 数据库管理系统 DBS 数据库系统

DDL 关系数据库 数据定义语言 语言DDL(Data Definition Language)

DML(data manipulation language):它们是 SELECT、UPDATE、INSERT、DELETE,就象它的名字 一样,这4条命令是用来对数据库里的数据进行操作的语 言

DDL(data definition language): DDL比DML要多,主要的命令有CREATE、ALTER、 DROP等,DDL主要是用在定义或改变表(TABLE)的结 构,数据类型,表之间的链接和约束等初始化工作上, 他们大多在建立表时使用

DCL(Data Control Language): 是数据库控制功能。是用来设置或更改数据库用户或角 色权限的语句,包括(grant,deny,revoke等)语句。在 默认状态下,只有sysadmin,dbcreator,db_owner或 db_securityadmin等人员才有权力执行DCL

RDBMS:关系数据库管理系统 Relational Database Management System

二、MySQL入门

1.MySQL概述

MySQL是一个[关系型数据库管理系统],由瑞典MySQL AB 公司开发,2008年被sun公司收购,2009sun又被 oracle收购,所以属于 Oracle 旗下产品。MySQL 是最 流行的关系型数据库管理系统之一,在 WEB 应用方面, MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件 之一。

MySQL是一种关系型数据库管理系统,关系数据库将数 据保存在不同的表中,而不是将所有数据放在一个大仓 库内,这样就增加了速度并提高了灵活性。 MySQL所使用的 SQL 语言是用于访问数据库的最常用标 准化语言。

MySQL 软件采用了双授权政策,分为社区版 和商业版,由于其体积小、速度快、总体拥有成本低, 尤其是开放源码这一特点,一般中小型网站的开发都选 择 MySQL 作为网站数据库。

1. MySQL Community Server(社区版):该版本 是自由下载且完全免费的,但是官方不提供技术支 持。 社区版在技术方面会加入许多新的未经严格测试的 特性 社区版没有实时图形监控器支持,没有任何技术支 持服务

2. MySQL Enterprise Server(企业版):该版本是 收费的,而且不能下载,但是该版本拥有完善的技 术支持(官方提供电话技术支持)。 企业版经过严格测试认证,更加稳定、安全、可 靠,性能也比社区版好 企业版提供了企业级实时图形监控器,有完善的技 术支持服务。

注意:MySQL Cluster 主要用于架设群服务器, 需要在社区服务或企业版的基础上使用。

2.MySQL分支

MySQL是历史上最受欢迎的免费开源程序之一。它是成 千上万个网站的数据库骨干,并且可以将它(和Linux) 作为过去20多年里Internet呈指数级增长的一个有力证明。在很长的一段时间里,在开发人员自己的生 产环境中,没有任何值得信任的MySQL分支。但是,这 种情况很快就发生了改变。有几个分支引起了许多人的 关注。

1. XtraDB XtraDB存储引擎是由Percona开发的一款MySQL数据 库的高性能存储引擎,其目的是用来代替InnoDB存 储引擎,可用于需要更高性能的环境

2. Percona

3. MariaDB (是mysql非常重要的分支,是mysql原创作者开发)

4. Drizzle

3.MySQL适用于哪些场景

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

任何产品都不可能是万能的,也不可能适用于所有的应 用场景。那么 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 产品会更有优势。

4.RDBMS 术语

在我们开始学习MySQL 数据库前,让我们先了解下 RDBMS的一些术语:

数据库: 数据库是一些关联表的集合。

数据表: 表是数据的矩阵。在一个数据库中的表看起 来像一个简单的电子表格。

列: 一列(数据元素) 包含了相同类型的数据, 例如邮政 编码的数据。

行:一行(=元组,或记录)是一组相关的数据,例 如一条用户订阅的数据。

冗余:存储两倍数据,冗余降低了性能,但提高了数 据的安全性。

主键:主键是唯一的。一个数据表中只能包含一个主 键。你可以使用主键来查询数据。

外键:外键用于关联两个表。 复合键:复合键(组合键)将多个列作为一个索引 键,一般用于复合索引。

索引:使用索引可快速访问数据库表中的特定信息。 索引是对数据库表中一列或多列的值进行排序的一种 结构。类似于书籍的目录。

参照完整性: 参照的完整性要求关系中不允许引用不 存在的实体。与实体完整性是关系模型必须满足的完 整性约束条件,目的是保证数据的一致性。

MySQL 为关系型数据库(Relational Database Management System), 这种所谓的"关系型"可以理解 为"表格"的概念, 一个关系型数据库由一个或数个表格组 成, 如图所示的一个表格

 

5.MySQL下载安装卸载,MySQL官方手册

MySQL下载安装参考链接:MySQL8.0详细安装教程,下载,安装,配置,登录测试

MySQL官方手册:MySQL :: MySQL 8.0 参考手册

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值