数据库概述

目录

一、为什么使用数据库?

二、数据库与数据库管理系统

[2.1 相关概念](#2.1 相关概念)

[2.2 两者关系](#2.2 两者关系)

[三、 MySQL介绍](#三、 MySQL介绍)

[四、 RDBMS和非RDBMS](#四、 RDBMS和非RDBMS)

[4.1 关系型数据库(RDBMS)](#4.1 关系型数据库(RDBMS))

[4.2 非关系型数据库(非RDBMS)](#4.2 非关系型数据库(非RDBMS))

五、关系型数据库设计规则

[5.1 表、记录、字段](#5.1 表、记录、字段)

[5.2 表的关联关系](#5.2 表的关联关系)

[5.2.1 一对一关联](#5.2.1 一对一关联)

[5.2.2 一对多关联](#5.2.2 一对多关联)

[5.2.3 多对多关联](#5.2.3 多对多关联)

[5.2.4 自我引用](#5.2.4 自我引用)


一、为什么使用数据库?

我们知道内存中的数据一旦机器掉电其数据就会丢失,为此我们可将数据保存到可掉电式的存储设备中如硬盘上的数据库中,从而实现数据的持久化存储。

二、数据库与数据库管理系统

2.1 相关概念

DB: 数据库(Database)

用来存储数据的仓库,其本质就是一个文件系统。保存了一系列有组织的数据。

DBMS:数据库管理系统(Database Management System)

用来管理和操作数据库的大型软件,通过此软件可以建立、使用和维护数据库,对数据库进行统一管理和控制。用户通过数据库管理系统来访问数据库表内的数据。

SQL:机构化查询语言(Structured Query Language)

数据管理员通过SQL代码在数据库管理系统上操作数据库的语言。是数据库管理系统操作数据库的一种工具(代码语言)。

2.2 两者关系

数据库管理系统(DBMS)可以管理多个数据库,一般开发人员会针对每个应用创建一个数据库,为保存应用中实体的数据一般会在数据库中创建多个表,以保存程序中实体用户的数据。

三、 MySQL介绍

MySQL是一个开发源代码的关系型数据库管理系统,可以处理上千万条记录的数据库。32位系统表文件最大支持4GB,64位系统支持最大的表文件8TB。MySQL使用SQL语言来操作数据库。一般大型企业使用收费的Oracle数据库、中小型企业使用免费的MySQL数库。

四、 RDBMS和非RDBMS

4.1 关系型数据库(RDBMS)

关系型数据库将复杂的数据结构归结为简单的二元关系即二维表格的形式。

  • 关系型数据库以行和列的形式存储数据便以用户理解,一系列的行和列被称为表,多个表组合到一起就构成了一个数据库。
  • 表与表之间的数据记录都是有关系的。现实世界中的各种实体以及实体之间的各种联系均用关系模型(各表之间数据记录之间的联系被称为关系模型)来表示。关系型数据库就是建立在关系模型基础上的数据库。
  • 可以使用SQL语句在多表之间做复杂的数据查询。
  • 对安全性要求很高的数据也可以使用关系型数据库访问。
4.2 非关系型数据库(非RDBMS)

非关系型数据库是以键值对的形式来存储数据的、不需要SQL层的解析,性能非常好,同时减少了一些不常用的功能。NoSQL泛指非关系型数据库,包括有:键值型数据库、文档型数据库、搜索型数据库和列存储等,还有图形数据库。

五、关系型数据库设计规则

  • 关系型数据库的数据结构就是数据表
  • 数据都是放在表中的,表都是放在库中
  • 一个数据库可以放多张表,每个表都有相对应的名字用来唯一标识自己
  • 表都会有一些特性、这些特性来规定数据在表中如何存储。
5.1 表、记录、字段
  • E-R(实体-联系)模型中三个主要概念是:实体集、属性、联系集(表之间实体与实体之间的联系)。

数据库中的一个表------->java或python中的一个类(或实体集)

数据库中的一行数据即记录----->类的一个对象(或实体)

数据库中的一列即字段----->类中的一个属性

5.2 表的关联关系

在数据库中表之间的数据记录有关系、在现实世界中各实体对象之间也存在各种联系,我们可以使用关系模型(表)表示出来。

四种:一对一关联、一对多关联、多对多关联、自我引用。

5.2.1 一对一关联
  • 表中的一条记录(实体)对应另外一张表中的一条记录即为一对一关系。
  • 记录之间一对一关系的两张表完全可以合并到一张表中,因此在实际开发中应用不多。
5.2.2 一对多关联
  • 表中的一条记录对应另一张表中的多条记录
5.2.3 多对多关联
  • 表中的一条记录对应另个表的多条记录同时另个表中的一条记录又对应本表中的多条记录。
  • 要表示多对多关系,必须创建第三个联接表,它将多对多关系划分为两个一对多的关系。将这两个表的主键都插入第三个表中。

备注:多对多的关系在选课信息表中体现了出来(中间表)

5.2.4 自我引用
  • 一张表中记录的某条字段(属性值)指向的还是自己这张表中的某个记录被称为自我引用即表中记录的某字段引用的还是这个表中的记录(自己人找自己人即表找表本身)。

@声明:"山月润无声"博主知识水平有限,以上文章如有不妥之处,欢迎广大IT爱好者指正,小弟定当虚心受教!

相关推荐
数据组小组2 小时前
免费数据库管理工具深度横评:NineData 社区版、Bytebase 社区版、Archery,2026 年开发者该选哪个?
数据库·测试·数据库管理工具·数据复制·迁移工具·ninedata社区版·naivicat平替
IT_陈寒2 小时前
SpringBoot实战:5个让你的API性能翻倍的隐藏技巧
前端·人工智能·后端
梦想很大很大3 小时前
拒绝“盲猜式”调优:在 Go Gin 项目中落地 OpenTelemetry 链路追踪
运维·后端·go
唐叔在学习3 小时前
就算没有服务器,我照样能够同步数据
后端·python·程序员
爱可生开源社区4 小时前
MiniMax M2.5 的 SQL 能力令人惊艳!
sql·llm
用户68545375977694 小时前
同步成本换并行度:多线程、协程、分片、MapReduce 怎么选才不踩坑
后端
javaTodo4 小时前
Claude Code 记忆机制详解:从 CLAUDE.md 到 Auto Memory,六层体系全拆解
后端
LSTM974 小时前
使用 C# 和 Spire.PDF 从 HTML 模板生成 PDF 的实用指南
后端
JaguarJack4 小时前
为什么 PHP 闭包要加 static?
后端·php·服务端
BingoGo5 小时前
为什么 PHP 闭包要加 static?
后端