MySQL数据库(关系型数据库和非关系型数据库的对比,数据库相关概念和常用的设计规则)

MySQL数据库的概述

为什么需要使用数据库:

  • 满足持久化的需求,(将数据保存到可掉电式存储设备中以便之后使用),数据持久化意味着将内存中的数据保存到硬盘上加以“固化”
  • 持久化的主要作用:将内存中的数据存储在关系型数据库中

数据库与数据库管理系统

数据库的相关概念
  • 数据库 database (DB) 即存储数据的仓库,本质就是一个文件系统,存储一系列有组织的数据
  • 数据库管理系统 (DBMS)是一种操作和管理数据库的大型软件,用于建立,使用和维护数据库,对数据库进行统一的管理和控制
  • 结构化查询语言(SQL)专门用来与数据库通信的语言

数据库和数据库管理系统的关系

常见的数据库管理系统

MySQL是开放源代码的关系型数据库管理系统

关系型数据库和非关系型数据库之间的区别(RDBMS vs 非RDBMS)

RDBMS是当前主流DBMS的选择

关系型数据库 RDBMS
  • 关系型数据库是最古老的数据库类型,将复杂的数据结构归结成简单的二元关系(即二维表格形式)
  • 关系型数据库以(row)和(column)的形式存储数据。这一系列的行和列被称为(table),一组表组成了一个(database)
  • 表与表之间的数据记录会存在关系。现实世界的各种实体以及实体之间的各种联系均用关系模型来表示。关系型数据库,就是建立在关系模型基础上的数据库
  • 优势:
    • 复杂查询,在一个表以及多个表之间复杂的数据查询
    • 事务支持,对于安全性能很高的数据访问要求得以实现
非关系型数据库 非RDBMS(NoSQL)

非RDBMS,可以看成是传统关系型数据库的功能轻量版本,基于键值对存储数据,不需要经过SQL层解析,性能非常高。同时减少不常用的功能,进一步提高性能

键值型数据库

键值型数据库通过key-value键值的方式进行存储数据,其中key和value可以是简单的对象,也可以是复杂的对象。

key作为唯一的标识符,优点:查找速度快。缺点:无法像关系型数据库使用条件过滤(where)。

典型的使用场景:内存缓存。redis是典型的键值型数据库

文档型数据库

文档型数据库可用来存放并获取文档,可以是XML,JSON等格式。在数据库中文档作为处理信息的基本单位,一个文档就相当于一条记录。文档数据库所存放的文档,就相当于键值数据库中所存放的值。典型的数数据库:MongoDB

搜索引擎数据库

搜索引擎数据库应用在搜索引擎领域的数据存储形式,并以特定格式进行存储,核心原理“倒排索引”

典型数据库:Solr,ELasticsearch

列式数据库

列式数据库是将数据按照列存储到数据库中,这样做的好处可以大量降低系统的I/O,适合于分布式文件系统,但不足在于功能相对有限 典型数据库:HBase

图形数据库

图形数据库,存储图形关系的数据库,利用图这种数据结构存储实体(对象)之间的关系,数据模型主要以节点和边(关系)来实现,特点是能高效解决复杂的关系问题。

典型产品:Neo4j,InfoGrid

关系型数据库的设计规则

  • 关系型数据库的典型数据结构是 数据表,这些数据表组成都是结构化的
  • 一个数据库中可以有多个表,每个表都有自己的名字。用以表示自己,表名具有唯一性
  • 表具有一些特征,这些特征定义了数据在表中如何存储,类似于“类”设计
ORM思想(Object Relational Mapping)
  • 数据库中的一个表 ------> java或python中的类
  • 表中的一条数据 -------> 类中的一个对象(或实体)
  • 表中的一个列 ----------> 类中的一个字段,属性(field)
ER模型(entity-relationship)
  • 实体集:对应于数据库中的一个表
  • 实体(记录):对应于数据库表中的一行
  • 属性(字段):对应于数据库表中的一列
  • 联系集
表的关联关系

表与表之间的数据记录存在关系。主要有四类关系

  • 一对一关联
    • 建表原则
      • 外键唯一:主表的主键和从表的外键(唯一),形成主外键关系,外键唯一
      • 外键是主键:主表的主键和从表的主键,形成主外键关系
  • 一对多关联
    • 在从表(多方)创建一个字段,字段作为外键指向主表(一方)的主键
  • 多对多关联
    • 要表示多对多关系,必须创建第三个表,该表通常称为联接表,其将多对多关系划分为两个一对多关系,将这两个表的主键都插入第三个表中
  • 自我引用
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值