MySQL数据库系列(一)------基础

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
简介: 数据不会随程序结束而消失

一、数据库介绍

        1.1 数据时代

  • 数据不会随程序结束而消失
  • 数据量大
  • 数据共享
  • 大数据  云端

    数据分类

      结构化的数据:即有固定格式和有限长度的数据。

                               比如填报:国籍:中国  民族:汉  性别:男   这都叫结构化数据

 非结构化数据:非结构化的数据愈来愈多,就是不定长、无固定格式的数据

                             例如:网站   有时候非常长  

       有时候几句话就没有了; 例如:语言,视频都是非结构化的数据

       半结构化数据: 比如:XML或者HTML的格式的数据

1.2 数据库的发展史

1.2.1文件管理系统的缺点

  • 编写应用程序不方便
  • 数据冗余不可避免
  • 应用程序依赖性
  • 不支持对文件的并发访问
  • 数据间联系弱
  • 难以按用户视图表示数据
  • 无安全控制功能

 1.2.2数据库系统发展阶段

  • 萌芽阶段:文件系统
     使用磁盘文件来存储数据
  • 初级阶段:第一代数据库
  •   出现了网状模型、层次模型的数据库
  • 中级阶段:第二代数据库
       关系型数据库和结构化查询语言
  • 高级阶段:新一代数据库
       “关系-对象”型数据库

1.3 DBMS 数据库管理系统

  • Database:数据库是数据的汇集,它以一定的组织形式存于存储介质上
  • DBMS:是管理数据库的系统软件,它实现数据库系统的各种功能。是数据库系统的核心
  • DBA:负责数据库的规划、设计、协调、维护和管理等工作
  • 应用程序:指以数据库为基础的应用程序

1.4数据库管理系统的优点

  • 相互关联的数据的集合
  • 较少的数据冗余
  • 程序与数据相互独立
  • 保证数据的安全、可靠
  • 最大限度地保证数据的正确性
  • 数据可以并发使用并能同时保证一致性

1.5数据库管理系统的基本功能

  • 数据定义
  • 数据处理
  • 数据安全
  • 数据备份

1.6数据库系统的架构

  • 单机架构
  • 大型主机/终端架构
  • 主从式架构(C/S)
  • 分布式架构

1.7各种数据库管理系统

1.7.1层次数据库

2345_image_file_copy_3.jpg

 1.7.2网状数据库

2345_image_file_copy_4.jpg

 1.7.3 RDBMS关系型数据库

Relational Database Management System,关系模型最初由IBM公司的英国计算机科学家埃德加·科德(Edgar F. Codd)

于1969年描述,1974年,IBM开始开发系统R,这是一个开发RDBMS原型的研究项目。

然而,第一个商业上可用的RDBMS是甲骨文,于1979年由关系软件(现为甲骨文公司)发布。

 1.7.3.1关系统型数据库相关概念              

     关系Relational :关系就是二维表,其中:表中的行、列次序并不重要

     行row:表中的每一行,又称为一条记录record

     列column:表中的每一列,称为属性,字段,域field

     主键Primary key:PK , 用于惟一确定一个记录的字段,一张表只有一个主键

     域domain:属性的取值范围,如,性别只能是'男'和'女'两个值,人类的年龄只能0-150

  1.7.3.2常用关系数据库

      MySQL: MySQL, MariaDB, Percona Server

   PostgreSQL: 简称为pgsql,EnterpriseDB

      Oracle

      MSSQL

      DB2

1.8 关系型数据库理论


 1.8.1 实体联系模型E-R

    实体Entity:客观存在并可以相互区分的客观事物或抽象事件称为实体,在E-R图中用矩形框表                             示实体,把实体名写在框内

     属性:实体所具有的特征或性质

    联系:联系是数据之间的关联集合,是客观存在的应用语义链

     实体内部的联系:指组成实体的各属性之间的联系。如职工实体中,职工号和部门经理号之间

                                   有一种关联关系

     实体之间的联系:指不同实体之间联系。例:学生选课实体和学生基本信息实体之间

      实体之间的联系:  用菱形框表示

2345_image_file_copy_5.jpg

1.8.2 联系类型

           一对一联系(1:1)

           一对多联系(1:n):外键

            多对多联系(m:n):增加第三张表

1.8.3 数据的操作

          数据提取:在数据集合中提取感兴趣的内容。SELECT

          数据更新:变更数据库中的数据。INSERT、DELETE、UPDATE

1.8.4 数据库规划流程

          收集数据,得到字段

          收集必要且完整的数据项

          转换成数据表的字段

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

1)描述主流的数据库系统 关系型数据库:

           Mysql(Oracle公司)

         SQL server(微软)

           access(微软公司office产品)

           Oracle 、DB2(IBM公司)

           sybase(sybase)

2)关系型数据库和非关系型数据库的区别

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

其他 关系型数据库最典型的数据结构是表,由二维表及其之间的联系所组成的一个数据组织

优点:

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

2、使用方便:SQL语言通用,可用于复杂查询;

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

缺点:

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

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

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

缓存加速软件

非关系型数据库(NoSQL):

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

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

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

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

优点:

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

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

3、高扩展性与高可用性;

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

缺点:

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

2、无事务处理;

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

三、数据库的基本概念

3.1 使用数据库的必要性

   使用数据库可以高效且条理分明地存储数据,使人们能够更加迅速、方便地管理数据。

      数据库具有以下特点。

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

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

     3.可以满足应用的共享和安全方面的要求。

     数据库技术是计算机科学的核心技术之一,具有完备的理论基础。对数据库基本概念的掌握,将有助于对数据库的理解。

3.2数据库基本概念

   3.2.1 数据(Data)
   
描述事物的符号记录

    包括数字,文字、图形、图像、声音、档案记录等

    以“记录”形式按统一的格式进行存储

    3.2.2 表

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

    3.2.3数据库

      表的集合,是存储数据的仓库  以一定的组织方式存储的相互有关的数据集合

    3.2.4 数据库管理系统(DBMS)

    数据库管理系统(Database Management System,DBMS)是实现对数据库资源有效组织、 管理和存取的系统软件。它在操作系统的支持下,支持用户对数据库的各项操作。DBMS 主要包括以下功能。

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

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

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

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

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

    3.2.5 数据库系统

       是一个人机系统,由硬件、OS、数据库、DBMS、应用软件和数据库用户组成

       用户可以通过DBMS或应用程序操作数据库

 3.3 访问数据库的流程

2345_image_file_copy_6.jpg

过程:

  1. 应用程序把查询SQL语句发给服务器端执行。
  2. 服务器解析请求的SQL语句。
  3. 语句执行。

PS:

  1. 确保SQL语法正确;
  2. 确保SQL语义上的正确性即对象是否存在;
  3. 数据库用户是否具有相应的访问权限。


相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
Java 关系型数据库 MySQL
MySQL数据库基础
文章主要介绍MySQL数据库中一些常见的操作,为专栏文章,系列介绍
158 0
MySQL数据库基础
|
SQL 存储 关系型数据库
MySQL常用基础 - 小白必看(二)
概念:是一个数据定义语言 该语言部分包括: 1、对数据库的常用操作 2、对表结构的常用操作
125 0
MySQL常用基础 - 小白必看(二)
|
关系型数据库 MySQL 数据格式
【0基础学习mysql】之DML-表中数据的操作
【0基础学习mysql】之DML-表中数据的操作
138 0
【0基础学习mysql】之DML-表中数据的操作
|
关系型数据库 MySQL Java
MySQL数据库基础数据入门级[图文详解]
MySQL数据库基础数据入门级[图文详解]
MySQL数据库基础数据入门级[图文详解]
|
SQL 存储 人工智能
华为大佬的“百万级”MySQL笔记,基础+优化+架构一键搞定
前言 MySQL不用多说,大家都知道它是目前最为活跃热门的开源数据库,由于成本低,操作简易的特点,所以在互联网企业中被广泛使用,即使是头部的BATJ。由此可见,想要在互联网行业混得风生水起,或者说想要进入BATJ等一线互联网公司,那么熟练掌握MySQL必定是一块必要的敲门砖。 对于MySQL的使用,可能很多刚开始工作的开发人员还是挺陌生的,但要想学习又不知道从何开始,技术的落后自然会让人感到焦虑。实际上,学习MySQL,找对方法就能轻松搞定。 今天,特将华为大佬整理的“百万级”MySQL笔记分享给你们,从基础到优化再到架构,带你轻松上手,一键搞定。
|
存储 SQL JSON
|
关系型数据库 MySQL
MySQL基础(二)下
MySQL基础(二)下
128 0
MySQL基础(二)下
|
存储 SQL JSON
MySQL基础(二)中
MySQL基础(二)中
107 0
MySQL基础(二)中
|
存储 SQL NoSQL
MySQL基础(二)上
MySQL基础(二)上
178 0
MySQL基础(二)上
|
SQL 存储 关系型数据库
MySQL基本的SELECT语句,SQL语言概述,基础和重要不冲突,完整详细可收藏
MySQL基本的SELECT语句,SQL语言概述,基础和重要不冲突,完整详细可收藏
202 0
MySQL基本的SELECT语句,SQL语言概述,基础和重要不冲突,完整详细可收藏