数据库的基本概念
一、基本概念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. 适用场景选择数据结构多变、需要频繁修改字段 → 文档型数据库需要极高读写性能、做缓存 → 键值数据库海量数据离线分析 → 列存储数据库关系复杂的网络数据 → 图数据库强事务、复杂查询、数据一致性要求高 → 关系型数据库

相关新闻

一名学生的作品: 關於DDOS攻擊

一名学生的作品: 關於DDOS攻擊

常見的DDOS攻擊分為三個範疇,分別為容量攻擊(Volumetric Attack)、協定攻擊(Protocol Attack)和應用層攻擊(Application-Layer Attacks)。以下我將會詳細介紹這三個範疇。 關於容量攻擊,比較普遍的是UDP洪水攻擊&#…

2026/9/1 18:54:21 阅读更多 →
NVIDIA Jetson自定义BSP制作指南:从环境定制到量产部署

NVIDIA Jetson自定义BSP制作指南:从环境定制到量产部署

1. 项目缘起:为什么需要自定义BSP?在嵌入式开发,尤其是基于NVIDIA Jetson平台的项目中,我们经常会遇到一个看似简单却至关重要的需求:如何将我们精心配置好的开发环境,包括系统镜像、内核驱动、用户空间库、…

2026/9/1 3:56:55 阅读更多 →
JPEXS Free Flash Decompiler:拯救Flash资产的终极解决方案

JPEXS Free Flash Decompiler:拯救Flash资产的终极解决方案

JPEXS Free Flash Decompiler:拯救Flash资产的终极解决方案 【免费下载链接】jpexs-decompiler JPEXS Free Flash Decompiler 项目地址: https://gitcode.com/gh_mirrors/jp/jpexs-decompiler 在Flash技术逐渐退出历史舞台的今天,你是否面临着大量…

2026/9/2 22:15:16 阅读更多 →

最新新闻

Material UI React组件库完全指南:如何10分钟搭建专业级Material Design界面(2026最新v9版)

Material UI React组件库完全指南:如何10分钟搭建专业级Material Design界面(2026最新v9版)

Material UI React组件库完全指南:如何10分钟搭建专业级Material Design界面(2026最新v9版) 【免费下载链接】material-ui Material UI: Comprehensive React component library that implements Googles Material Design. Free forever. 项…

2026/9/3 10:04:12 阅读更多 →
yuzu 模拟器安装与调优实战:从零配置到流畅运行的完整指南

yuzu 模拟器安装与调优实战:从零配置到流畅运行的完整指南

yuzu 模拟器安装与调优实战:从零配置到流畅运行的完整指南 【免费下载链接】yuzu 任天堂 Switch 模拟器 项目地址: https://gitcode.com/GitHub_Trending/yu/yuzu yuzu 是开源的任天堂 Switch 模拟器,用软件模拟出主机的 CPU、GPU、音频和输入硬件…

2026/9/3 10:04:12 阅读更多 →
给 Kimi Code CLI 加技能的完整教程:npx skills 一次讲清

给 Kimi Code CLI 加技能的完整教程:npx skills 一次讲清

给 Kimi Code CLI 加技能的完整教程:npx skills 一次讲清 【免费下载链接】skills The open agent skills tool - npx skills 项目地址: https://gitcode.com/GitHub_Trending/ad/skills 想让 Kimi Code CLI 按你团队的规范审查 PR、顺手优化 React 性能&…

2026/9/3 10:04:12 阅读更多 →
Fork、Clone、Branch到底是什么?First Contributions用30秒讲透开源贡献核心概念

Fork、Clone、Branch到底是什么?First Contributions用30秒讲透开源贡献核心概念

Fork、Clone、Branch到底是什么?First Contributions用30秒讲透开源贡献核心概念 【免费下载链接】first-contributions 🚀✨ Help beginners to contribute to open source projects 项目地址: https://gitcode.com/gh_mirrors/fi/first-contribution…

2026/9/3 10:04:12 阅读更多 →
npx skills 命令报错修复指南:按使用环节排查的完整清单

npx skills 命令报错修复指南:按使用环节排查的完整清单

npx skills 命令报错修复指南:按使用环节排查的完整清单 【免费下载链接】skills The open agent skills tool - npx skills 项目地址: https://gitcode.com/GitHub_Trending/ad/skills 本文针对 npx skills(The open agent skills 命令行工具&am…

2026/9/3 10:04:12 阅读更多 →
终极指南:10款高效macOS键盘增强工具提升你的工作效率

终极指南:10款高效macOS键盘增强工具提升你的工作效率

终极指南:10款高效macOS键盘增强工具提升你的工作效率 在现代数字化工作环境中,键盘是我们与电脑交互的核心工具。对于macOS用户而言,善用键盘增强工具不仅能大幅提升操作速度,还能减少鼠标依赖,让工作流程更加流畅高…

2026/9/3 10:03:12 阅读更多 →

日新闻

AI智能体辅助JS逆向:从V8环境搭建到补环境实战

AI智能体辅助JS逆向:从V8环境搭建到补环境实战

先别急着点开,这不是劝退文,而是想讲清楚一件事:用 AI 做逆向值不值得学?如果要用,怎么搭一套“V8 环境 AI 智能体”来提升效率。最近逆向圈、爬虫圈都在聊 AI Agent、AST 工程逆向、JS 逆向这些词,很多新手…

2026/9/3 0:00:29 阅读更多 →
安卓设备通过修改机型信息解锁游戏高帧率:原理、操作与风险指南

安卓设备通过修改机型信息解锁游戏高帧率:原理、操作与风险指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/3 0:00:29 阅读更多 →
ARM版OpenJDK 11安装部署全攻略:下载、配置与避坑指南

ARM版OpenJDK 11安装部署全攻略:下载、配置与避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/3 0:00:29 阅读更多 →

周新闻

备战数据库管理工程师校招:索引、事务、备份恢复核心考点解析

备战数据库管理工程师校招:索引、事务、备份恢复核心考点解析

每年校招季我都会接触不少准备数据库方向笔试的同学,看到最多的状态就是:简历上写着“熟悉 MySQL”“了解索引优化”,一碰到数据库管理工程师的笔试卷,却在索引、事务、锁、备份恢复这些题目上翻车。网易这套 2018 校园招聘数据库…

2026/9/3 4:22:22 阅读更多 →
数字电路时序基石:深入理解建立时间与保持时间

数字电路时序基石:深入理解建立时间与保持时间

1. 这不是“背公式”的事:时间参数到底在约束什么你翻过数字电路教材,一定见过这两个词:建立时间(Setup Time)和保持时间(Hold Time)。它们常被并列写在触发器(Flip-Flop&#xff09…

2026/9/3 4:22:01 阅读更多 →
蓝桥杯国赛超声波测距机:从单片机原理到嵌入式系统实战

蓝桥杯国赛超声波测距机:从单片机原理到嵌入式系统实战

1. 项目缘起:从赛题到超声波测距机的诞生第八届蓝桥杯单片机设计与开发国赛的题目,我至今记忆犹新。它没有直接给出一个花哨的名字,而是用“超声波测距机”这个朴实无华的功能描述,精准地勾勒出了考核的核心。对于当时备赛的我而言…

2026/9/3 4:22:59 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/3 4:17:49 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/3 4:18:56 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/3 4:21:44 阅读更多 →