数据库学习笔记—基础知识
一、基本概念
- DB:数据库(Database)
存储数据的仓库,本质上是一个文件系统,其保存了一系列有组织的数据。 - DBMS:数据库管理系统(Database Management System)
一种操作和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控制。用户通过数据库管理系统访问数据库中表内的数据。 - SQL:结构化查询语言(Structured Query Languag)
专门用来与数据库通信的语言。
二、数据库与数据库管理系统的关系

| 维度 | 数据库(DB) | 数据库管理系统(DBMS) |
|---|---|---|
| 角色 | 存储数据的容器 | 管理数据的软件工具 |
| 核心任务 | 持久化保存结构化数据 | 提供数据操作接口、优化、安全控制 |
| 依赖关系 | 依赖DBMS进行管理 | 依赖数据库作为操作对象 |
| 用户交互 | 用户不直接操作数据库文件 | 用户通过DBMS访问数据库 |
三、关系型数据库和非关系型数据库
3.1 关系型数据库
3.1.1 概念
关系型数据库是基于关系模型(Relational Model)的数据库,使用表格(Table)来存储数据。表格由行(Row)和列(Column)组成,行表示记录,列表示字段。
3.1.2 特点
- 结构化数据:
数据以表格形式存储,结构固定,适合存储结构化数据。 - SQL支持:
使用SQL(Structured Query Language)进行数据操作和查询。 - 数据一致性:
支持ACID(原子性、一致性、隔离性、持久性)事务,确保数据完整性。 - 表与表之间的关系:
通过主键(Primary Key)和外键(Foreign Key)建立表与表之间的关系。 - 扩展性:
通常垂直扩展(增加硬件资源),水平扩展(分布式)较复杂。
3.1.3 常见关系型数据库
MySQL、PostgreSQL、Oracle、SQL Server、SQLite
3.1.4 适用场景
- 需要强一致性和事务支持的场景(如银行系统、财务系统)。
- 数据结构固定、关系复杂的场景(如ERP系统、CRM系统)。
3.2 非关系型数据库
3.2.1 概念
非关系型数据库是一种不基于关系模型的数据库,适用于存储非结构化或半结构化数据。NoSQL的含义是“Not Only SQL”,表示它不仅限于SQL。
3.2.2 特点
- 灵活的数据模型:
支持键值对(Key-Value)、文档(Document)、列族(Column Family)、图(Graph)等多种数据模型。 - 高扩展性:
通常支持水平扩展(分布式),适合处理大规模数据。 - 高性能:
针对特定场景优化,读写性能高。 - 弱一致性:
通常遵循BASE(Basically Available, Soft state, Eventually consistent)原则,强调高可用性和最终一致性。 - 无固定模式:
数据结构灵活,适合存储非结构化或半结构化数据。
3.2.3 常见非关系型数据库
- 键值存储:Redis、Memcached
- 文档存储:MongoDB、CouchDB
- 列族存储:Cassandra、HBase
- 图数据库:Neo4j、ArangoDB
3.2.4 适用场景
- 需要高并发和高性能的场景(如社交网络、实时分析)。
- 数据结构灵活、变化频繁的场景(如日志存储、内容管理系统)。
- 大规模分布式系统(如物联网、大数据处理)。
3.3 总结
- 关系型数据库适合结构化数据、强一致性和复杂查询的场景。
- 非关系型数据库适合非结构化数据、高并发、高性能和灵活数据模型的场景。
| 特性 | 关系型数据库 | 非关系型数据库 |
|---|---|---|
| 数据模型 | 表格(行和列) | 键值对、文档、列族、图等 |
| 查询语言 |

最低0.47元/天 解锁文章
11万+

被折叠的 条评论
为什么被折叠?



