【MySQL】第一章 数据库的概述
本文主要探讨了数据库的重要性及其分类。使用数据库的核心目的是实现数据持久化,避免程序结束后数据丢失。数据库管理系统(DBMS)通过结构化查询语言(SQL)来管理和维护数据。数据库分为关系型(DBMS)和非关系型(RDBMS)两类:关系型数据库以表格形式存储数据,支持复杂查询和事务处理;非关系型数据库包括键值型、文档型、搜索引擎、列式存储和图数据库等,各自适用于不同场景。文章还介绍了数据库设计规则,
一,为什么要使用数据库
在写这类语言的小项目的时候,点击运行直到结束程序,里面的数据在过程中都是会改变的,没有持久化,这样就会导致一些我们想去保留一些数据无法保留
这样就引出了为什么需要使用数据库
对于项目的制作,我们有需求对于数据的持久化,就是当电脑断电了又或者结束了程序,不能让数据消失需要保留
因此数据持久化意味着将内存中的数据保存到硬盘上加以”固化”,而持久化的实现过程大多通过各种关系数据库来完成
持久化的主要作用是将内存中的数据存储在关系型数据库中,当然也可以存储在磁盘文件、XML数据文件
综上所述:对于为什么需要使用数据库的使用,原因之一是为了使得数据持久化,原因之二是为了利用数据库的存储关系去管理对应的数据
对于为什么内存为什么会导致电脑断电之后无法保存数据,这个是计算机组成原理的内容,可以看博主的计算机组成原理的笔记
二,数据库与数据库管理系统
在了解为什么需要使用数据库的使用,之后需了解一些数据库的相关的概念
DB:数据库
(2) 数据库和数据库管理系统的关系
一个数据库管理系统可以管理多个数据库,一个数据库可以管理多个表
三,数据库的比对
(1) MySQL
MySQL由于其体积小、速度快、总体拥有成本低,可处理上千万条记录的大型数据库,尤其是开放源码,这一特点,使得很多互联网公司、中小型网站选择了MySQL作为网站数据库
(2) Oracle
Oracle是更适合跨国企业使用,对于性能和安全性要求很高
四,DBMS 与 非RDBMS
在众多数据库中,分为很多很多类型,比如
参考数据库的排行榜,不难看到前面排名高的都是关系型数据库,下面的也有别的,如Document,文件型数据库
对此,就将数据库分为关系型数据库(DBMS)和非关系型数据库(RDBMS)
(1) DBMS
该数据库的优势
旁边是Key,然后对于Key去右边寻找Value
(2) 文档型数据库
此类数据库可存放并获取文档,可以是XML、JSON等格式。在数据库中文档作为处理信息的基本单位,一个文档就相当于一条记录。文档数据库所存放的文档,就相当于键值数据库所存放“值”。MongoDB是最流行的文档型数据库。此外,还有CouchDB等。
列式数据库是相对于行式存储的数据库,Oracle、MySQL、SQLServer等数据库都是采用的行式存储(Row-based),而列式数据库是将数据按照列存储到数据库中,这样做的好处是可以大量降低系统的I/O,适合于分布式文件系统,不足在于功能相对有限
当按行存储的时候,其实有些数据是并不需要进行查找的,比如查找一行的时候,4,5,2都是不需要进行查找的,这个时候就浪费了大量的IO,但是列存储不一样,他是按列不断地查找,极大减少了IO
(5) 图数据库
图形数据库顾名思义,就是一种存储图形关系的数据库。它利用了图这种数据结构存储了实体(对象)之间的关系。关系型数据用于存储明确关系的数据,但对于复杂关系的数据存储却有些力不从心。如社交网络中人物之间的关系,如果用关系型数据库则非常复杂,用图形数据库将非常简单
五,关系型数据库的设计规则
(1) 表 字段 记录

表是由字段和记录组成的
字段相当于是属性,记录为实体和对象,如上图所示
四种关系:一对一关联、一对多关联、多对多关联、自我引用
一对一和一对多的关系就不需要进行解释了,很好理解
一对一关系示意图
多对多关系示意图

要表示多对多关系,必须创建第三个表,该表通常称为联接表,它将多对多关系划分为两个一对多关系。将这两个表的主键都插入到第三个表中
学生信息表:一行代表一个学生的信息(学号、姓名、手机号码、班级、系别...)
课程信息表:一行代表一个课程的信息(课程编号、授课老师、简介...)
选课信息表:一个学生可以选多门课,一门课可以被多个学生选择 ----- 联接表
五,总结

更多推荐
所有评论(0)