MySQL——数据库
1.1、为什么学习数据库
1、岗位需求
2、现在的世界,大数据时代 ~,得数据库者得天下。
3、被迫需求: 存数据
4、数据库是所有软件体系中最核心的存在
1.2、什么是数据库
数据库 (DataBase,简称DB)
概念:数据仓库,软件,安装在操作系统 (window ,linux, mac、….) 之上! SQL,可以存储大量的数据。
作用:存储数据,管理数据
1.3、数据库分类
1.3.1、关系型数据库:(SQL)
通过表和表之间,行和列之间的关系进行数据的存储, 例如:学员信息表,考勤表,…..
- MySQL
MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL 是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
MySQL 是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL 所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。
- Oracle
Oracle 是 1983 年推出的世界上第一个开放式商品化关系型数据库管理系统。它采用标准的 SQL 结构化查询语言,支持多种数据类型,提供面向对象存储的数据支持,具有第四代语言开发工具,支持 Unix、Windows NT、OS/2、Novell 等多种平台。除此之外,它还具有很好的并行处理功能。Oracle 产品主要由 Oracle 服务器产品、Oracle 开发工具、Oracle 应用软件组成,也有基于微机的数据库产品。主要满足对银行、金融、保险等企业、事业开发大型数据库的需求。
- Microsoft SQL Server
SQL Server 是 Microsoft 公司推出的关系型数据库管理系统。具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行 Microsoft Windows 98 的膝上型电脑到运行 Microsoft Windows 2012 的大型多处理器的服务器等多种平台使用。
Microsoft SQL Server 是一个全面的数据库平台,使用集成的商业智能 (BI) 工具提供了企业级的数据管理。Microsoft SQL Server 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。
- DB2
DB2 是美国 IBM 公司开发的一套关系型数据库管理系统,它主要的运行环境为 UNIX(包括 IBM 自家的 AIX)、Linux、IBM i(旧称 OS/400)、z/OS,以及 Windows 服务器版本。
DB2 主要应用于大型应用系统,具有较好的可伸缩性,可支持从大型机到单用户环境,应用于所有常见的服务器操作系统平台下。 DB2 提供了高层次的数据利用性、完整性、安全性、可恢复性,以及小规模到大规模应用程序的执行能力,具有与平台无关的基本功能和 SQL 命令。
DB2 采用了数据分级技术,能够使大型机数据很方便地下载到 LAN 数据库服务器,使得客户机 / 服务器用户和基于 LAN 的应用程序可以访问大型机数据,并使数据库本地化及远程连接透明化。
DB2 以拥有一个非常完备的查询优化器而著称,其外部连接改善了查询性能,并支持多任务并行查询。 DB2 具有很好的网络支持能力,每个子系统可以连接十几万个分布式用户,可同时激活上千个活动线程,对大型分布式应用系统尤为适用。
- SQLite
SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的 C 库中。它是 D.RichardHipp 建立的公有领域项目。它的设计目标是嵌入式的,而且已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百 K 的内存就够了。它能够支持 Windows/Linux/Unix 等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java 等,还有 ODBC 接口,同样比起 Mysql、PostgreSQL 这两款开源的世界著名数据库管理系统来讲,它的处理速度比他们都快。SQLite 第一个Alpha 版本诞生于 2000 年 5 月。 至 2019 年已经有 19 个年头,SQLite 也迎来了一个版本 SQLite 3 已经发布。
不像常见的客户 - 服务器范例,SQLite引擎不是个程序与之通信的独立进程,而是连接到程序中成为它的一个主要部分。所以主要的通信协议是在编程语言内的直接 API 调用。这在消耗总量、延迟时间和整体简单性上有积极的作用。整个数据库 (定义、表、索引和数据本身) 都在宿主主机上存储在一个单一的文件中。它的简单的设计是通过在开始一个事务的时候锁定整个数据文件而完成的。
1.3.2、非关系型数据库:(NoSQL)
非关系型数据库, 对象存储,通过对象的自身的属性来决定。
- Redis
Redis 是一个 key-value存储系统。和 Memcached 类似,它支持存储的 value 类型相对更多,包括 string(字符串)、list(链表)、set( 集合)、zset(sorted set -- 有序集合) 和 hash(哈希类型)。这些数据类型都支持 push/pop、add/remove 及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis 支持各种不同方式的排序。与 memcached 一样,为了保证效率,数据都是缓存在内存中。区别的是 redis 会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了 master-slave(主从) 同步。
Redis 支持主从同步。数据可以从主服务器向任意数量的从服务器上同步,从服务器可以是关联其他从服务器的主服务器。这使得 Redis 可执行单层树复制。存盘可以有意无意的对数据进行写操作。由于完全实现了发布 / 订阅机制,使得从数据库在任何地方同步树时,可订阅一个频道并接收主服务器完整的消息发布记录。同步对读取操作的可扩展性和数据冗余很有帮助。
- MongDB
MongoDB 是一个基于分布式文件存储 [1] 的数据库。由C++语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。
MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo 最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
1.3.3、DBMS(数据库管理系统)
英文名:Database Management System
- 数据库的管理软件,科学有效的管理我们的数据。维护和获取数据;
- 它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过DBMS访问数据库中的数据,数据库管理员也通过DBMS进行数据库的维护工作。它可以支持多个应用程序和用户用不同的方法在同时或不同时刻去建立,修改和询问数据库。大部分DBMS提供数据定义语言DDL(Data Definition Language)和数据操作语言DML(Data Manipulation Language),供用户定义数据库的模式结构与权限约束,实现对数据的追加、删除等操作
感谢您的阅读,如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮。本文欢迎各位转载,但是转载文章之后必须在文章页面中给出作者和原文连接。