ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

数据库概论 - 数据库的介绍

2022-10-16 15:10:10  阅读:283  来源: 互联网

标签:数据 数据库 介绍


1、数据库的介绍

1.1 数据库学啥?

  1. 数据库的基本操作(以SQL语句为核心),SQL是一门编程语言,使用比较简单
  2. 数据库的底层原理(主要针对常见面试题)
  3. 数据库编程(使用Java语言操作数据库)

1.2 数据库到底是啥?

数据库是一个软件(一类软件),这一类软件功能就是”管理数据”,也就是组织并存储数据的软件

1.3 与数据结构的关系

数据库:软件

数据结构:学科

数据库软件在实现过程中,是非常依赖数据结构的,实现数据库软件的内部,会广泛的使用到各种数据结构~

数据结构这门学科就是在讨论具体如何组织和管理数据~ 管理的目的就是为了进行”增删改查”

1.4 分类

1.4.1 关系型数据库

  1. 定义:数据的组织形式使用“表”作为结构,类似于excel。首先得有⼀个表头,表头中约定了有很多列,以及每⼀列的类型,插入的数据就是表中的一行。这一行里的每⼀列都需要和表头结构对应。
  2. 对于数据的“约束”(对于数据合法性的校验)比较强
  3. 适用于大部分场景 MySQL,Oracle,SQL Server,SQLite

1.4.2 非关系型数据库

  1. 非关系型数据库(也叫NoSQL):数据的组织形式使用“键值对”作为结构。类似于Map
  2. 存储的时候都是需要制定key和value,每组数据的value中都需要包含哪些字段,没有明确要求,对于数据的约束更低
  3. 相比于关系数据库,牺牲了⼀部分的功能,但是换来了更高的效率以及更强的水平扩展能力 更适用于分布式系统中

1.5 一个电脑的基本组成(题外话)

  1. 外存:分为软盘、硬盘、光盘、硬盘、U盘(flash),其中现在最常用的就是硬盘以及U盘
  2. 内存和外存的区别: 内存的存储空间较小(8G,16G),外存的存储空间较大(512G,1T) 内存的访问速度快,外存的访问速度慢(大概要差3-4个数量级) 这里的外存特指机械硬盘,硬盘也有机械硬盘和SSD,机械硬盘它受限于机械硬盘的物理结构,导致他的存储速度,已经快十年没有发展了。但是SSD固态硬盘访问速度很快,比机械硬盘快很多,最好的固态硬盘,快赶上最垃圾的内存了~不过一般的SSD还是会比内存慢上许多的 内存成本高,外存成本低 内存中的数据断电后消失,外存中的数据断电后还在 也不是绝对的.只不过一般机械硬盘存储数据的保存时间是几年~十几年之间
  3. 当前世界上的绝大部分计算机(99%以上)都是按照上述结构来进行构建的~

1.6 祖师爷:冯诺依曼以及图灵(题外话)

给大家讲讲两位祖师爷的光辉历史

Part I:冯诺依曼

冯诺依曼体系结构,叫做“冯诺依曼”大佬提出来的,可以说是20世纪最NB的全才,它是一个数学家,还是物理学家,还是化学家,计算机之父,在二战中,还参与了曼哈顿计划,他们一起来研究原子弹。 那年,有一天,冯诺依曼大佬,去坐火车~(绿皮车),对面有个小伙是 “普林斯顿大学的研究员”,研究一个用来”计算的机器“,但是遇到一些瓶颈,搞不下来了~~~冯诺依曼大佬去溜达溜达,研究了一段时间,就牵头把第一代计算机给研究出来了! 计算机使用二进制,也是冯大佬提出来的~

Part II:图灵

图灵奠定了计算机的理论基础 图灵也参与了二战~最大的贡献,破解了德军的电报加密系统,这直接促进了诺曼底登陆 但是遗憾的是英年早逝~据说是收到了英国皇室的迫害~

1.7 存储位置

一般情况下,MySQL的数据是保存在硬盘上的~ (”持久化存储的“方式),但是也有少数数据库,是把数据存在内存上的(比如:Redis,Tair…)

所以在实际的大型开发中,最容易出现问题的,就是数据库.

相比之下,咱们之前学习的数据结构~尤其是之前写的代码,数据基本都是在内存中保存的~(代码中创建的变量,就保存到对应内存空间)

1.8 常用数据库软件介绍

  1. Oracle:最好的数据库,毋庸置疑 最好的数据库 就是 Oracle,不⽤他的理由:贵!普通学生用不起,⼀些中小型公司也用不起,甚至一些大厂也不太用得起,真正用得起的都是财大气粗的金主,比如银行。 银行的特点: 数据特别重要 不差钱 贵主要不是贵在软件使用上,而是花钱买的是⼀份平安,放心,更是⼀个背锅侠(出问题了有人赖),出了问题Oracle的技 支持会上门服务,所以花钱买的是服务。 相比之下MySQL 比较适合咱们使用,开源免费,白嫖⼀时爽,一直白嫖⼀直爽~ 而且,Oracle基本都需要在配置超高的计算机上运行!(夸张的说,国家级的计算机才适合用)
  2. MySQL:开源免费,使用体验感也十分不错 国内,最开始的时候,MySQL的市场份额很低,还是以Oracle为主 阿里牵头,掀起⼀场“去Oracle”的革命。当时MySQL是⼀个备选,阿里那时候也在自研数据库 最开始替换的时候,问题很多,好在无数大佬们前仆后继,去踩坑去填坑,MySQL也经历了⼀段快速发展过程。最终 MySQL也就相对稳定搞笑了,就称为了当前非常主流的数据库。 但是MySQL的高速发展,也抢占了不少Oracle的市场份额。 Oracle为了遏制MySQL的发展,釜底抽薪,给MySQL买下了,买完之后立刻MySQL就不开源了(虽然暂时还是免费) 同时Oracle也是Java的爸爸 Oracle 这个公司特别爱搞事情~ Google当年整Android,本来是想用Python。正好那个时候Python之父从谷歌离职了,谷歌就把语言切换到了Java。 随着Android风生水起,大家都眼红的不要不要的了,Oracle这时候灵机一动,就把Java给买下来了,然后Oracle就把谷歌 上了法庭,你要想用Java开发安卓,你得给钱(讹人!)谷歌败诉,只能赔钱 于是谷歌一气之下准备发展下⼀代移动端系统,搭载的开发语⾔Dart(谷歌自研的语⾔),搭载的框架Flutter等。 Mariadb,仍然是开源免费的。Mariadb和原来的MySQL之间都是兼容的,当前学习的时候用哪个都行
  3. SQL Server:也不错,营销策略害了他 SQL Server 微软出品的数据库 其实是⼀个很好的很强大的数据库,然而没人用 最主要的原因: 收费的,而且也不太便宜 早期的SQL Server和Windows平台是捆绑的,但是那时候主流服务器系统都是Linux 正因为这样的营销错略,导致错失市场份额 SQL Server的市场份额被MySQL抢占了 C#的市场份额也被Java抢占了 后来微软反应过来了,也做出了调整,让SQL Server 和 C#都能⽀持跨平台,但是为时已晚
  4. SQLite:世界上装机量最大的数据库 安卓手机自带的数据库,小巧轻量

还有其他数据库,比如SQLite,HBase,MongoDB,Redis等等

以后在实际工作中,数据库用得最多的,还是MySQL,各个数据库之间,差别也不大,“一通百通”

标签:数据,数据库,介绍
来源:

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有