MySQL数据库基础理论

文章目录

  • MySQL数据库基础理论
    • 一、数据库的基本概念
      • 1.数据库的组成
        • 1.1数据(Data):
        • 1.2表:将不同的记录组织在一起,用来存储具体数据
        • 1.3数据库:
      • 2.数据库管理系统
      • 3.数据库系统
      • 4.DBMS的工作模式
    • 二、数据库系统发展史
      • 1.第一代数据库(人工管理)
      • 2.第二代数据库(文件管理)
      • 3、第三代数据库(数据库系统管理)
    • 三、当今主流数据库
    • 四、关系型数据库和非关系型数据库
      • 1.关系型数据库
        • 1.1 关系型数据库介绍
        • 1.2关系数据库应用
      • 2.非关系数据库介绍
      • 3.关系型数据库和非关系型数据库的区别
        • 3.1关系数据库
        • 3.2关系数据库优缺点
        • 3.3非关系型数据库(NoSQL)
    • 五、MySQL数据库介绍
      • 1.MySQL商业版与社区版
      • 2.MySQL产品阵营
    • 总结

引言:本文讲述的是数据库的相关理念,数据库管理系统是一个由相互关联的数据集合和一组用访问这些数据的程序组成,这个数据集合被称之为数据库其中包含了用户访问的所有信息,都需要存储在里面

一、数据库的基本概念

1.数据库的组成

1.1数据(Data):

描述事务的符号记录称为数据(Data)。包括数字、文字、图形、图像、声音、档案记录等,都是数据;以“记录”形式按统一的格式进行存储

数据是以"记录"的形式按照统一的格式进行存储的,而不是杂乱无章的,相同格式和类型的数据统一存放在一起,而不会把"人和"书"混在一起存储,这样,数据的存储就能够并然有序。

使用一些介质进行存储,例如文字存在文档中,数据库可以完成数据持久化保存+快速提取,

数据如何保存:最外层–>mysql服务–>mysql数据库–>数据表–>记录为行,字段为列–>数据保存在一行行记录中

1.2表:将不同的记录组织在一起,用来存储具体数据

​ 记录:行

​ 字段(属性):列

​ 以行+列的形式就组成了表(数据存储在表中)

​ 关系数据库的表由记录组成,记录由字段组成,字段由字符或数字组成,它可以供各种用户共享,具有最小冗余度和较高的数据独立性,它是统一管理的相关数据的集合

1.3数据库:

​ 表的集合,是存储数据的仓库

​ 以一定的组织方式存储的相互有关的数据集合

2.数据库管理系统

数据库.管理系统是实现对数据库资源有效组织、管理和存取的系统软件,它在操作系统的支持下,支持用户对数据库的各项操作

DBMS主要功能:

①、数据库的建立和维护功能:包括建立数据库的结构和数据的录入与转换、数据库的转储与恢复、数据库的重组与性能监视等功能

②数据定义功能:包括定义全局数据结构、局部逻辑数据结构、存储结构、保密模式及信息格式等功能,保证存储在数据库中的数据正确、有效和相容,以防止不合语义的错误被输入或输出

③、数据操纵功能:包括数据查询统计和数据更新两个方面

④数据库的运行管理功能:这是数据库管理系统的核心部分,包括并发控制、存取控制、数据库内部维护功能

⑤通信功能:DBMS与其他软件系统之间的通信,如Access能与其他office组件进行数据交换

3.数据库系统

数据库系统(DatabaseSystem,DBS)是一个人机系统,一般由硬件、操作系统、数据库、DBMS、应用软件和数据库用户(包括数据库管理员)组成,用户可以通过DBMS操作数据库,也可以通过应用程序操作数据库

4.DBMS的工作模式

①、接受应用程序的数据请求和处理请求

②、将用户的数据请求(高级指令)转换为复杂机器代码(底层指令)

③、实现对数据库的操作

④、从数据库的操作中接受查询结果

⑤、对查询结果进行处理(格式转换)

⑥、将处理结果返回给用户

二、数据库系统发展史

1.第一代数据库(人工管理)

  • 自20世纪60年代起,第一代数据库系统问世
  • 是层次模型与网状模型的数据库系统
  • 为统一管理和共享数据提供了有力的支撑

2.第二代数据库(文件管理)

  • 20世纪70年代初,第二代数据库—关系数据库开始出现
  • 20世纪80年代初,IBM公司的关系数据库系统DB2上市,开始逐步取代层次与网状模型的数据库,成为行业主流
  • 到目前为止,关系数据库系统仍占领数据库应用的主要地位

3、第三代数据库(数据库系统管理)

  • 自20世纪80年代开始,适应不同领域的新型数据库系统不断涌现
  • 面向对象的数据库系统,实用性强、适应面广
  • 20世纪90年代后期,形成了多种数据库系统共同支撑应用的局面
  • 一些新的元素被添加进主流数据库系统中

例如:Oracle支持的“关系对缘”数据库模型,一些新的元素被添加进主流数据库系统中。
引申: SQL + NoSQL组合使用(NoSQL非关系型数据库)
web——》redis ——》mysqlCPU——》缓存—》内存

三、当今主流数据库

SQL Server(微软公司产品):面向Windows操作系统;简单、易用

Oracle(甲骨文公司产品):面向所有主流平台;安全、完善、操作复杂

DB2(IBM公司产品):面向所有主流平台;大型、安全、完善

MySQL(甲骨文公司收购):免费、开源、体积小

四、关系型数据库和非关系型数据库

1.关系型数据库

1.1 关系型数据库介绍

关系数据库系统是基于关系模型的数据库系统

关系模型的数据结构使用简单易懂的二维数据表

每一行称为一条记录,用来描述一个对象的信息;每一行称为一个字段,用来描述对象的一个属性

关系模型可用简单的"实体-关系-属性"来表示

**实体:**也称为实例,对应现实世界中可区别于其他对象的"事件"或"事物";如银行客户、银行账户等

**属性:**实体所具有的某一特性,一个实体可以有多个属性,如"银行客户"实体集中的每个实体均具有姓名、住址、电话等属性

**联系:**实体集之间的对应关系称为联系,也称为关系;如银行客户和银行账户之间存在"储蓄"的关系

所有实体及实体之间联系的集合构成一个关系数据库

1.2关系数据库应用
关系型数据库 应用举例
Oracle,MySQL 12306用户信息系统
SQLServer\Sybase 淘宝账号系统
Informix、access 联通手机号信息系统
DB2、FoxPRO 银行用户账号系统
PostgreSQL 网站用户信息系统

2.非关系数据库介绍

①、非关系数据库也被称作NoSQL(Not Only SQL)

②、存储数据不以关系模型为依据,不需要固定的表格式

非关系型数据库的优点

  • 数据库可高并发读写
  • 对海量数据高效率存储与访问
  • 数据库具有高扩展性与高可用性

3.关系型数据库和非关系型数据库的区别

3.1关系数据库

关系数据库结构是二维数据库表,二维表当中每个字段(列)用来描述对象的一个属性,每个记录(行)用来描述一个对象的信息(完整信息),关系数据库写到哪里也就是存储在硬盘当中读写系统就会受到的Io限制或者瓶颈

3.2关系数据库优缺点

优点:

①、易于维护,都是使用表结构,格式一致

②、使用方便,sQL语言通用,可用于复杂查询

③、复杂操作,支持sQL,可用于一个表以及多个表之间非常复杂的查询

缺点:

①、读写性能较差,尤其是海量数据的高效率读写

②、固定的表结构,灵活度稍欠

③高并发读写需求,传统关系型数据库来说,硬盘I/O是一个很大的瓶颈

3.3非关系型数据库(NoSQL)

MongoDB 、Redis(内存数据库/缓存数据库)K-V键值对、与之类似的Memcache,K-V键值对redis-memecache对比:

**相同点:**存储高热数据(在内存中高速运行)

**不同点:**redis可以做持久化,可以存储对象

非关系型数据库严格上不是一种数据库,应该是一种数据结构化存储方法的集合,可以是文档或者键值对等

优点:

①、格式灵活:存储数据的格式可以是key,value形式,文档形式、图片形式等等;文档形式、图片形式等等

②、使用灵活,应用场景广泛,而关系型数据库则只支持基础类型

③、速度快:nosql可以使用硬盘或者随机存储器作为载体,而关系型数据库只能使用硬盘

④、高扩展性;

⑤、成本低,nosql数据库部署简单,基本都是开源软件

缺点:

①、不提供sql支持,学习和使用成本较高

②、无事务处理

③、数据结构相对复杂,复杂查询方面稍欠

五、MySQL数据库介绍

一款深受欢迎的开源关系型数据库,Orcale旗下的产品;遵守GPL协议,可以免费使用与修改

特点:

  • 性能卓越、服务稳定
  • 开源、无版权限制、成本低
  • 多线程、多用户
  • 基于C/S(客户端/服务器)架构
  • 安全可靠

安全可靠的原因是mysql日志文件能备份,恢复;不怕数据丢失,是mysql最核心部分

1.MySQL商业版与社区版

MySQL 商业版是由MySQL AB公司负载开发与维护,需要付费才能使用

MySQL 社区版是由分散在世界各地的MySQL开发者、爱好者一起开发与维护,可以免费使用

商业版与社区版的区别

①、商业版组织管理与测试环节更加严格,比社区版更稳定

②、商业版不遵守GPL,社区版遵从GPL可以免费使用

③、商业版可获得7*24小时的服务,社区版则没有

2.MySQL产品阵营

①、第一阵营:5.0-5.1阵营,可以说是早期产品的延续

②、第二阵营:5.4-5.7阵营,整合MySQL AB公司、社区和第三方公司开发的存储引擎,从而提高性能

③第三阵营:6.0-7.1阵营,就是MySQL Cluster版本,为适应新时代对数据库的集群需求而开发

**下载网址:**http://www.dev.mysql.com/downloads

总结

上述文章内容主要讲述了数据库的基本概念,数据库系统发展历史,当前主流数据库有哪些;关系数据库喝非关系数据库的区别以及MySQL数据库,描述主流的数据库系统

MySQL数据库基础理论相关推荐

  1. MySQL | 数据库基础理论、六大设计范式详解

    从本篇博文开始,会陆续介绍MySQL数据库的相关内容,分为以下几个部分: 数据库基础理论 基本CURD操作(常用SQL) 索引及其底层实现原理 MySQL体系结构与存储引擎 MySQL优化之SQL和索 ...

  2. 马哥教育第二十二天IO模型理论、数据库基础理论、LAMP平台理论基础及mysql部署...

    1.IO模型理论基础详解:                  http或https都是基于tcp协议完成通讯.在tcp中使用socket通讯模型,在domain中界定socket是如何定义.     ...

  3. mysql数据库建仓范式_存mysql个数

    MySQL学习笔记之数据类型详解 注:以下内容针对MySQL5.0及以上版本 MySQL的数据类型非常多,选择正确的数据类型对于获得高性能至关重要,本文是我结合网上看到的一些blog加上<高性能 ...

  4. 【数据库】数据库基础理论

    数据库基础理论 一.数据库 二.数据库管理系统(DBMS) 三.数据库系统(DBMS)的组成 四.数据库系统的特点 五.数据库应用系统 六.数据库系统的体系结构 七.概念模型 八.常用的数据模型 关系 ...

  5. .net连接mysql数据_.net连接MYSQL数据库的方法及示例!

    连接MYSQL数据库的方法及示例 方法一: 使用MYSQL推出的MySQL Connector/Net is an ADO.NET driver for MySQL 该组件为MYSQL为ADO.NET ...

  6. MySQL数据库+命令大全+常用操作

    格式:mysql -h主机地址 -u用户名 -p用户密码 1. 例:连接到本机上的MYSQL 首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命令mysql -uroot -p,回车后提示 ...

  7. mysql数据库是一个软件呐_15款好用的mysql管理软件

    1. Induction Induction是一款用于理解数据关系的开源管理工具,它可用来探索行/列,运行查询和数据可视化等方面.该工具支持多种数据库,包括PostgreSQL,MySQL,SQLit ...

  8. c语言连接数据库例子,c语言操作mysql数据库小例子_互帮互助(C language MySQL database operation example _ mutual help).doc...

    这是精心收集的精品经典资料,值得下载保存阅读! c语言操作mysql数据库小例子_互帮互助(C language MySQL database operation example _ mutual h ...

  9. C语言对mysql数据库的操作

    C语言对mysql数据库的操作 原文:C语言对mysql数据库的操作 这已经是一相当老的话题.不过今天我才首次使用,把今天的一些体会写下来,也许能给一些新手带来一定的帮助,更重要的是供自己今后忘记的怎 ...

  10. JDBC连接MySQL数据库及演示样例

    JDBC是Sun公司制定的一个能够用Java语言连接数据库的技术. 一.JDBC基础知识         JDBC(Java Data Base Connectivity,java数据库连接)是一种用 ...

最新文章

  1. 机器学习——python实现SVM模型w,b的查看
  2. 查找发布地图的 REST URL并查询相关信息
  3. iOS - UITextField
  4. [NOIP2015] 提高组 洛谷P2661 信息传递
  5. MTK 驱动开发(26)---背光灯
  6. 无人驾驶(大安全概念)
  7. oracle DataGuard停机和启动顺序
  8. web服务-Axis2的安装
  9. 玩转docker、Swarm、Kubernetes
  10. 在win2012上安装OfficeScan12控制台显示IIS服务未启动的解决办法
  11. 白话理解傅里叶变换原理(时域频域)
  12. 关于颜色的十六进制对照表
  13. hilbert方程组matlab,数值分析(Hilbert矩阵)病态线性方程组的求解Matlab程序
  14. 学习笔记-WinRM
  15. Java之多线程Runnable(2)卖烤鸭-yellowcong
  16. 集成百度ORC 识别报 Fatal signal 11 (SIGSEGV) (RenderThread) 错误(已解决)
  17. linux硬盘自动停转,求助硬盘异常系统自动挂起导致宕机
  18. 腾讯小程序服务器忙,使用腾讯云助手小程序管理腾讯云服务器
  19. JAVA好管家,一天一个shell命令 linux好管家-进程-ps命令详解
  20. unzip:  cannot find or open Ubuntu系统下解压文件失败的解决办法

热门文章

  1. 记录-如何测试服务器是否支持ipv6
  2. Ackerman阿克曼函数的递归与非递归(栈)实现
  3. 数据可视化方向的毕业设计详细思路
  4. tune声场测试软件_SIA SmaartLive(声场测试软件) V7.2.1 官方版
  5. nginx源码包安装
  6. 【计算机网络】TCP协议详解
  7. 数独超难题目_号称世界上最难的一道数独题,你敢来挑战吗?据说答案只有一种...
  8. easyui-combobox之setText与setValue先后之分
  9. JPA环境下使用Hibernate二级缓存
  10. Pascal VOC Dataset 下载地址