数据库学习笔记—基础知识

数据库学习笔记—基础知识

一、基本概念

  1. DB:数据库(Database)
    存储数据的仓库,本质上是一个文件系统,其保存了一系列有组织的数据。
  2. DBMS:数据库管理系统(Database Management System)
    一种操作和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控制。用户通过数据库管理系统访问数据库中表内的数据。
  3. 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 总结

  • 关系型数据库适合结构化数据、强一致性和复杂查询的场景。
  • 非关系型数据库适合非结构化数据、高并发、高性能和灵活数据模型的场景。
特性 关系型数据库 非关系型数据库
数据模型 表格(行和列) 键值对、文档、列族、图等
查询语言
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值