一、数据库【Database,DB】介绍
- 什么是数据库
- 数据库(Database,DB):按照一定规则存储、管理大量数据的集合,简单说就是电子化的文件柜,用来存放数据,方便增删改查。
- 定义:数据库是存放数据的电子仓库【总结来说】
- 大容量、多用户共享存储:数据库可以存储百万、上亿量级的数据,支持多个用户 / 程序同时访问、共享使用这份数据,不会每人单独存一份副本。
- 通过 API(接口)完成数据增删改查:数据库本身不会直接对外暴露,程序通过 API 接口来创建、读取、管理、复制数据。
- 动态数据来源于数据库,查询后展示到页面:网页 / APP 上大部分动态变化的数据,都存放在数据库。页面想要展示,必须访问数据库获取数据。
二、数据库的类型
- 关系型数据库【RDBMS】
- 关系型数据库:把数据组织成二维表格(行、列)的数据库,表与表之间可以建立关联关系,所以叫关系型。
- 简单来说:数据库中表与表之间存在某种关系,数据存储在不同的表中
- 常见关系型数据库
- MySQL:最流行,开源,网站、后端项目最常用
- Oracle:大型企业、金融,性能强,收费
- SQL Server:微软,Windows 平台项目
- PostgreSQL:开源,功能强大
- 特点
- 数据采用二维表格形式存储,由行(记录)和列(字段)组成。
- 表与表之间通过主键、外键建立关联关系。
- 使用SQL语言实现增删改查操作。
- 支持事务,保障数据一致性。
- 支持多表 JOIN 复杂查询。
- 有完整性约束(主键、非空、外键等),表结构预先定义。
- 非关系型数据库【NoSQL】
- 定义:不严格表格结构,分类
- 键值数据库:Redis(缓存,高性能)
- 文档数据库:MongoDB(存 JSON 格式数据)
- 图数据库:Neo4j(处理关系网络,社交、推荐)
- 列存储:HBase(海量大数据)
- 特点
- 不使用二维表格存储,没有固定表结构,数据格式灵活(键值、文档、图等)
- 没有主键、外键概念,表之间不做强制关联,很少使用联表 JOIN 查询
- 一般不支持复杂事务,牺牲部分一致性,优先保证高性能、高可用
- 读写速度快,适合海量数据、高并发场景
- 数据结构灵活,不需要提前定义字段,可随时新增数据属性
- 容易横向扩展,可以简单加服务器分担压力
- 优点✅️
- 结构灵活,不用预先设计字段
- 高并发、海量数据性能好
- 扩展简单,方便集群部署
- 缺点❌️
- 不支持复杂多表联查
- 大多不支持完整事务,数据一致性弱
- 没有统一 SQL 标准,不同数据库语法不一样
三、mysql介绍
- 定义:mysql是关系型数据库管理系统,我们常说的xxx数据库就是指xx数据库管理系统。
- mysq数据库是有瑞典mysql db公司开发,目前属于oracle 公司,
- 在web应用方面(bs架构上),mysql是最好的关系型数据管理系统
- 特点:
- 体积小
- 开源,免费
- 使用c++编写
- 支持多系统
- 支持多引擎
- msyql与其他工具组合可以搭建免费的网站系统
- mysql的应用结构
- 单点数据库:使用于小规模应用(我们现在学的)
- 复制:适用于中小规模的应用
- 数据库集群,适合大规模的应用;比如:mgr集群,三主三从,一主三从;
- 数据库中术语
- 数据库
- 数据表
- 列
- 行
- 值
- 字段名
- 字符类型
- 冗余
- 主键
- 外键
- 视图
- 索引
- 单表
- 多表
- 存储
posted @
2026-09-08 10:30
一只鹿吖
阅读(
15)
评论()
收藏
举报