零基础小白学习数据库(1)初识数据库
1.为什么我们要使用数据库?
持久化:使用数据库的原因主要是可以让数据持久化,即把数据保存到可掉电式存储设备中,数据的持久化其实就是意味着,**把内存中的数据保存到硬盘加以固化**。使用持久化就必须要有相关的介质,比如说存储到文件中(.doc/.jpg)还有一些其它的介质,以及数据库中。
非数据库存储缺点:大量的数据存储还是存储到数据库当中较好,当然存储到其他文件中也是可以的,但如果存储到其他文件中,不仅效率非常的差,且如果数据量大,我们要查找其中一条数据,时间消耗是非常大的,如果放在数据库中,我们的数据库就有多种的优化手段,可以快速查找到记录。
生活中的数据持久化:例如手机当中的微信登录,开始登录需要输入账户密码,或者是手机号验证,这时候如果把微信从后台划掉了,依旧还是可以登录成功,或者是至少会保留你刚刚数据的账号密码,这就是数据持久化,包括相关的聊天内容各种信息,这都是数据持久化。
2.数据库(DB)和数据库管理系统(DBMS)
2.1数据库的概念
2.2数据库和数据库管理系统的关系
一个数据库管理系统可以管理多个数据库,一个数据库可以建多个表,数据库管理系统和数据库的关系如图:
2.3常见数据库管理系统排名
全世界数据库系统有将近400种,市面上常见的数据库管理软件Oracle、MySQL、MS SQL Server、DB2等,下图为==2022年==数据库受欢迎统计结果:
排名第一是Oracle但是和第二MySQL两个是非常接近的,但是MySQL已经被Oracle收购了!!
2.4常见数据库介绍
==Oracle==
1979年诞生,他是**商用的**RDBMS(关系型数据库管理系统)带Relational的都是关系型数据库管理系统
2009年收购了MySQL
==SQL Server==
1989年微软开发的大型商业数据库
==DB2==
IBM公司的数据库产品,是收费的,常运用于银行系统
==PostgreSQL==
稳定性极强,最符合SQL标准,开放源码,具备商业级质量
==SQLite==
嵌入式小型数据库,应用在手机端
==MySQL==
是一个开放源代码的关系型数据库管理系统。MariaDB是MySQL创作者担心MySQL被闭源所以创建了MariaDB
==GreatDB==
GreatDB是万里开源自主开发的高性能关系型数据库软件,完整支持事务特性,产品稳定性强、高可靠方案完备,实现了面向国产化软硬件平台定向性能优化,是企业级应用的理想产品,满足多行业场景。
2.5MySQL简述
优点:
体积小、速度快、成本低、可以处理千万条记录的大型数据库、开放源代码、性能卓越、服务稳定
3.RDBMS和非RDBMS
从排名里面分析,关系型数据库是主流
3.1关系型数据库RDBMS
实质
最古老的数据库类型,把复杂的数据结构归结为简单的二元关系(既二维表格型式)
关系型数据库以行和列这行和列的组合称为表,一组表成了一个库
优势
复杂查询
可以用SQL语句方便在一个表以及多表之间做复查的数据查询
事务支持
使得对安全性能很高的数据访问要求得以实现。
3.2非关系型数据库
可以理解为关系型数据库的阉割版本于键值对存储数据,不需要经过SQL层的解析,减少不常用功能性能非常高。
3.2.1键值型数据库
典型使用场景是内存缓存,Redis是最流行的键值型数据库。
3.2.2文档型数据库
此数据库可以存放文档、可以是XML或者是JSON等格式。MongDB是最流行的文档数据库。
3.2.3搜索引擎数据库
是在搜索引擎领域的数据存储形式,由于搜索引擎会爬取大量数据,所以已特定的格式进行存储,这样在检索的时候才可以保证最优解。核心原理是**倒排索引**。
3.2.4列式数据库
Oracle、MySQL等数据库都是采用行存储。而列式按照列存储到数据库中,好处是降低I/O,减少数据的冗余,适合分布式文件系统,不足就是功能有限。
3.2.5图形数据库
利用了图这种数据结构存储了实体(对象)之间的关系。例如人物和人物之间的关系就可以用图形数据库。