当前位置: 首页 > news >正文

[MySQL数据库] 数据库简介

对于刚接触数据库的初学者来说,理解数据库的核心概念、设计原则和操作语言是入门的关键。本文将梳理数据库的基础知识点,帮助你快速建立对数据库的整体认知。

一、数据库核心概念

1️⃣数据(Data)

数据是数据库中存储的基本对象,是描述事物的符号记录,包括数字、文字、图形、图像、声音等。但数据的意义不仅在于形式,更在于其语义(含义)—— 比如 “18” 可能是年龄,也可能是编号,需要结合解释才能明确。

2️⃣数据库(DB)

数据库(DataBase)是长期存储在计算机内、有组织、可共享的数据集合。其特点是:按一定模型组织存储,冗余度小(重复数据少),数据独立性高(不依赖程序),且支持多用户共享。

3️⃣数据库管理系统(DBMS)

DBMS 是位于用户与操作系统之间的数据管理软件,负责数据库的建立、使用和维护。比如我们常用的 MySQL、Oracle 等,都属于 DBMS。

4️⃣数据管理的三个阶段

数据管理随着技术发展经历了三个阶段,对比如下:

阶段应用背景硬件软件处理方式核心特点
人工管理阶段科学计算无直接存取设备无操作系统批处理数据依赖程序,无共享,冗余极大
文件系统阶段科学计算、管理磁盘、磁带文件系统联机实时处理、批处理数据依赖文件系统,共享性差,冗余度大,独立性低
数据库系统阶段大规模管理大容量磁盘DBMS联机实时处理、分布处理等由DBMS 管理,共享性高,冗余度小,具有高度物理独立性和一定逻辑独立性

二、数据模型:抽象现实世界的工具

数据模型是对现实世界数据特征的抽象,分为两类:

1️⃣概念模型(信息模型)

按用户观点建模,用于用户与设计人员沟通,最常用的是实体 - 关系模型(E-R 模型),用 E-R 图表示:

  • 矩形框:实体(如 “学生”“课程”)
  • 菱形框:实体间的关系(如 “选课”)
  • 椭圆形框:属性(如学生的 “学号”“姓名”),主键属性下画横线
  • 连线:实体与属性、关系与属性、关系与实体间用直线连接,标注关系类型(1:1、1:N、M:N)

2️⃣数据库数据模型

是 DBMS 支持的模型,由三部分组成:数据结构(数据的组织方式)、数据操作(增删改查等)、数据约束条件(规则限制)。

常见模型有 4 种:

  • 层次模型:树形结构,如早期 IBM 的 IMS
  • 网状模型:多对多关系,如 CODASYL
  • 关系模型:以二维表(关系)组织数据,是目前主流(如 MySQL、Oracle)
  • 面向对象模型:结合面向对象思想,支持复杂数据类型

其中,层次模型和网状模型统称 “非关系模型”,已逐渐被关系模型取代。

三、数据库设计原则:三大范式

为减少冗余、优化结构,关系型数据库设计需遵循 “范式” 规则,核心是三大范式:

1️⃣第一范式(1NF):确保每列原子性

列不可再分,即 “最小单位”。
例如:“地址” 列若需频繁查询 “城市”,应拆分为 “所在省”“所在市”“详细地址” 三列,而非保留整体 “地址”。

2️⃣第二范式(2NF):每列必须与主键相关

表中只能存一种数据,所有列必须依赖主键(或联合主键)。
例如:订单表若以 “订单编号 + 商品编号” 为联合主键,“商品名称”“价格” 仅依赖 “商品编号”,违反 2NF。需拆分:

  • 订单信息表:存订单编号、客户、所属单位等
  • 订单项目表:存订单编号、商品编号、数量等
  • 商品信息表:存商品编号、名称、价格等

3️⃣第三范式(3NF):列与主键直接相关,不间接相关

避免 “传递依赖”,即列只能依赖主键,不能依赖其他非主键列。
例如:订单表中只需存 “客户编号”(关联客户表),无需存 “客户姓名”“所属公司”(这些属于客户表的属性,通过客户编号关联即可)。

四、SQL 语言:操作数据库的工具

SQL(结构化查询语言)是管理关系型数据库的标准语言,功能强大且易学。

1️⃣SQL 的特点

  • 综合统一:集定义、查询、操纵、控制于一体
  • 高度非过程化:只需说明 “做什么”,无需关注 “怎么做”
  • 两种使用方式:既可直接交互,也可嵌入程序
  • 简洁易学:核心语句少,语法简单

2️⃣SQL 核心分类

  • DDL(数据定义语言):定义数据库结构,如创建 / 删除表、视图、索引(CREATEDROP等)
  • DQL(数据查询语言):查询数据,核心是SELECT语句
  • DML(数据操纵语言):操作数据,如增(INSERT)、删(DELETE)、改(UPDATE
  • DCL(数据控制语言):控制访问权限,如授权(GRANT)、撤销权限(REVOKE
  • DTL(数据事务语言):管理事务,如提交(COMMIT)、回滚(ROLLBACK

总结

数据库是数据管理的核心工具,从基础概念(数据、DB、DBMS)到数据模型(E-R 图、关系模型),再到设计原则(三大范式)和操作语言(SQL),构成了数据库的核心知识体系。对于初学者,理解这些基础并结合实践,能快速入门数据库技术。

http://www.dtcms.com/a/328571.html

相关文章:

  • 【虚拟机】VMwareWorkstation17Pro安装步骤
  • Tricentis Tosca 2025.1 LTS 系统要求
  • 华为OD最新机试真题-国际移动用户识别码(IMSI)匹配-(C卷)
  • Terminal Security: Risks, Detection, and Defense Strategies
  • [激光原理与应用-255]:理论 - 几何光学 - CCD成像过程
  • 维文识别技术:将印刷体或手写体的维文文本转化为计算机可处理的数字信息
  • 网络协议组成要素
  • 网络协议——HTTP协议
  • Java锁机制全景解析:从基础到高级的并发控制艺术
  • Navicat更改MySql表名后IDEA项目启动会找原来的表
  • 树结构无感更新及地图大批量点位上图Ui卡顿优化
  • C++ 类型擦除技术:`std::any` 和 `std::variant` 的深入解析
  • 【C++】哈希
  • 终端安全与网络威胁防护笔记
  • 信号反射规律
  • 内存顺序、CAS和ABA:std::atomic的深度解析
  • 亚马逊POST退场后的增长突围:关联与交叉销售的全链路策略重构
  • 语义分割实验
  • python 实现KPCA核主成分分析
  • Ceph的Crush算法思想
  • word——照片自适应框大小【主要针对需要插入证件照时使用】
  • Linux内核进程管理子系统有什么第二十六回 —— 进程主结构详解(22)
  • 深度学习-卷积神经网络-NIN
  • 数据结构:后缀表达式:结合性 (Associativity) 与一元运算符 (Unary Operators)
  • Linux软件编程(三)文件操作-文件 I/O
  • 笔试——Day36
  • Linux应用软件编程---文件操作3(文件IO及其指令、文件定位函数lseek、文件IO与标准IO的比较、缓冲区)
  • archlinux中VLC无法播放视频的解决办法
  • 【Datawhale夏令营】多模态RAG学习
  • 关于Linux编程3:fread/fwrite/流的定位/文件IO