数据库的基本概念 一、基本概念1. 数据Data数据是描述事物的符号记录是数据库中存储的基本对象。表现形式数字、文字、图形、图像、音频、视频等数据的含义称为语义数据与其语义不可分2. 表Table表是数据库中数据组织的基本单位由行和列构成的二维结构。列Column / 字段表中的每一列代表一种属性具有固定的数据类型行Row / 记录表中的每一行代表一条完整的数据记录同一表中所有记录遵循相同的字段结构3. 数据库Database, DB数据库是长期存储在计算机内、有组织、可共享的大量数据的集合。数据按一定数据模型组织、描述和存储具有较小冗余度、较高数据独立性和易扩展性可为各种用户共享4. 数据库管理系统DBMS数据库管理系统是位于用户与操作系统之间的一层数据管理软件用于科学地组织和存储数据、高效地获取和维护数据。核心功能数据定义功能DDL数据操纵功能DML数据库运行管理数据库的建立和维护功能常见产品MySQL、Oracle、SQL Server、PostgreSQL、MongoDB 等5. 数据库系统DBS数据库系统是指在计算机系统中引入数据库后的系统一般由数据库、数据库管理系统、应用系统、数据库管理员DBA和用户构成。层次关系数据 → 表 → 数据库 → DBMS → 数据库系统DBS数据库体系结构图二、数据库发展史(了解)1. 人工管理阶段20 世纪 50 年代中期以前时代背景计算机主要用于科学计算硬件无磁盘等持久存储设备软件层面没有操作系统与专门的数据管理软件。核心特点数据不长期保存随计算任务随用随输入数据完全由应用程序自行管理程序与数据一一绑定数据无法共享不同程序间数据完全独立冗余度极高数据不具备独立性数据结构修改必须同步修改对应程序。局限性数据管理效率极低完全依附于程序无法形成统一的数据资产。2. 文件系统阶段20 世纪 50 年代末 — 60 年代中期时代背景硬件出现磁盘、磁鼓等持久存储设备操作系统诞生了专门的文件系统管理功能。核心特点数据可长期保存在外存中以文件形式独立存在由文件系统统一管理数据的存取程序通过文件名访问数据单条记录内部具备结构但文件之间无关联。局限性数据共享性差不同业务仍需独立文件冗余度大数据独立性差文件逻辑结构修改必须修改应用程序无法体现数据之间的联系不支持跨文件的关联查询。3. 数据库系统阶段20 世纪 60 年代后期至今1第一代层次与网状数据库背景企业数据规模快速增长迫切需要集中、共享的数据管理能力。层次模型1968 年 IBM 推出 IMSInformation Management System采用树形层次结构表示数据与关系支持一对多关联。网状模型1969 年 DBTG 提出网状数据模型标准支持多对多关联数据访问采用 “导航式” 方式。历史意义首次实现了数据的集中管理与共享奠定了数据库技术的基础但结构复杂、数据独立性差、开发维护门槛高。2第二代关系型数据库主流时代理论奠基1970 年 IBM 研究员 E.F.Codd 发表《大型共享数据库数据的关系模型》提出关系数据模型奠定了关系型数据库的数学基础。技术落地70 年代 IBM 推出 System R 原型、加州大学伯克利分校开发 Ingres 系统SQL 语言随之诞生并逐步成为标准。商业爆发80 年代起 Oracle、DB2、SQL Server 等商业数据库相继问世关系型数据库成为企业级应用的绝对主流。开源普及90 年代至 2000 年后MySQL、PostgreSQL 等开源数据库崛起伴随互联网浪潮成为 Web 应用的标配。核心优势严谨的数学理论支撑、简单直观的二维表模型、统一的 SQL 标准、完善的事务与一致性保障。3第三代后关系型时代NoSQL 与 NewSQL兴起背景Web2.0 与大数据时代到来高并发、海量数据、半结构化数据、快速迭代等新需求暴露出关系型数据库扩展性不足、性能瓶颈、结构不灵活等问题。NoSQL 崛起2009 年 NoSQL 概念正式提出非关系型数据库快速发展形成键值、文档、列存储、图数据库四大主流方向主打高扩展、高性能、灵活模型。NewSQL 出现2010 年后 NewSQL 诞生兼顾关系型数据库的 ACID 事务、SQL 能力与 NoSQL 的水平扩展能力代表产品如 TiDB、OceanBase。近年趋势云原生数据库、分布式数据库、时序数据库、向量数据库、湖仓一体等细分方向快速发展数据库技术向多场景、云化、智能化演进。三、关系型数据库1. 基本定义关系型数据库是建立在关系模型基础上的数据库借助于集合代数等数学概念和方法来处理数据。数据以二维表的形式存储表与表之间通过关联关系建立联系使用结构化查询语言SQL进行操作2. 核心概念概念说明主键Primary Key唯一标识表中每条记录的字段不能为空且不能重复外键Foreign Key引用另一张表主键的字段用于建立表与表之间的关联索引Index提高数据查询速度的数据结构视图View虚拟表由一条查询语句定义事务Transaction一组原子性的 SQL 操作要么全部成功要么全部失败3. ACID 事务特性原子性Atomicity事务是不可分割的最小工作单元一致性Consistency事务执行前后数据完整性约束不被破坏隔离性Isolation多个并发事务之间互不干扰持久性Durability事务一旦提交对数据的修改永久生效4. 常见关系型数据库MySQL开源免费互联网行业最广泛使用PostgreSQL功能强大的开源数据库支持复杂查询Oracle商业数据库龙头企业级应用首选SQL Server微软出品与 .NET 生态深度集成SQLite轻量级嵌入式数据库常用于移动端5. 优缺点优点易于理解二维表结构贴近逻辑思维支持复杂查询SQL 表达能力强数据一致性强事务支持完善技术成熟生态完善缺点海量数据下读写性能较差横向扩展困难扩容成本高表结构修改不灵活不适合频繁变更场景四、非关系型数据库NoSQL1. 基本定义NoSQLNot Only SQL泛指非关系型数据库主要用于应对大数据、高并发、灵活数据模型等传统关系型数据库难以胜任的场景。不保证 ACID 特性不使用 SQL 作为查询语言数据模型灵活易于水平扩展2. 主要分类与代表产品1键值Key-Value数据库数据模型键值对集合通过 Key 快速查找 Value典型产品Redis、Memcached适用场景缓存、会话管理、排行榜2文档Document数据库数据模型以文档如 JSON、BSON为基本存储单元典型产品MongoDB、CouchDB适用场景内容管理、日志存储、数据结构多变的业务3列存储Column-family数据库数据模型按列族组织数据同一列族数据存放在一起典型产品HBase、Cassandra适用场景海量数据存储、大数据分析4图Graph数据库数据模型以节点、边、属性表示实体与关系典型产品Neo4j、Neo4j Aura适用场景社交网络、知识图谱、推荐系统3. CAP 定理分布式系统中三个特性无法同时满足最多只能满足两个一致性Consistency所有节点在同一时间看到相同的数据可用性Availability每次请求都能获得非错误响应分区容错性Partition tolerance系统遇到网络分区故障仍能运行实际分布式系统中 P 是前提通常在 C 和 A 之间权衡。4. 优缺点优点数据模型灵活支持半结构化与非结构化数据高并发读写性能优异水平扩展能力强可通过增加节点扩容成本较低多为开源产品缺点不支持标准 SQL学习成本高事务支持弱数据一致性保障不足功能相对单一复杂查询能力弱技术生态不如关系型数据库成熟5. 适用场景选择数据结构多变、需要频繁修改字段 → 文档型数据库需要极高读写性能、做缓存 → 键值数据库海量数据离线分析 → 列存储数据库关系复杂的网络数据 → 图数据库强事务、复杂查询、数据一致性要求高 → 关系型数据库