一个"收纳箱"带你走进数据库的世界

author author     2022-12-24     675

关键词:

一个"收纳箱"带你走进数据库的世界

一、前言

1.1时势造英雄——数据时代,未来已来

? 如今,我们已然“从IT时代迈入DT时代”,马云也说过:未来的资源不是石油,不是天然气,而是“数据”。这是因为,在信息技术迭代如此之快的时代,会产生各种各样的大量数据、信息,那么伴随而来的问题就是:我们应该如何实现安全、有效地存储、检索以及管理数据?

? 数据时代,对数据的有效存储、高效访问、方便共享和安全控制已经成为目前亟待解决的问题。

1.2问题引出——如何解决上述问题呢?

? 我们使用生活中的一个例子来引出该问题的解决方法。

? 一般来说,家家户户都会有非常多的杂物,其可能种类诸多,数量也多,那么我们可以想到使用一个或多个库房,或者说是储物室,哪怕是收纳箱来存放这些物品。由此,我们可以联想到,对于越来越多,愈加复杂的数据,也可以为它们建立自己的存储空间,并且使之管理高效方便,而这样的存储空间我们将之可以定义为“数据库”。

? 数据库就是用来存放各种各样、繁多冗杂的“数据”的。下面我们具体介绍一下数据库的基本概念以及数据的定义,数据库的结构与种类。

二、数据库的基本概念

2.1数据库的概念

? 数据库,从简单来讲,可以认为是表的集合。而表是由不同的记录组织在一起形成的,而记录则是以“行”为单位的数据结构,一条记录则对应一个“行记录”,我们也可以称之为实体;而表中的每一列就是这个表中的某个属性,或者称之为一个数据项,也叫字段。

2.2数据库的结构

? 上面说到,数据库其实就是表的集合,而表就是记录的组合,记录由字段和实体组成。

(表:将不同的记录组织在一起,就形成了“表”,是用来存储数据的)

2.3数据的定义

? 数据:是描述事物的符号记录,包括数字,文字、图形、图像、声音、档案记录等;以“行记录”的形式按统一的格式进行存储。

? 其实我们可以将数据简单地理解为“有必要价值或特殊意义的信息”。

三、数据库的特点

? 我们可以继续结合上面收纳箱的例子引出数据库的特点。收纳箱,主要就是用来整理收纳物品的,我们可以将一个比较大的收纳箱分为多个区间,其中一个存放文具用品,其中一个存放生活用品等等,这样可以在一定程度上使我们在需要时快速获取,方便使用。

? 那么结合到数据库上,这个大收纳箱就是数据库,各个不同的区间就是各种不一样的表,而其中的物品就是表里面各种各样的数据。

? 而这样的结构和存储方式也可以提现出数据库的特点:

  1. 结构化存储大量的数据信息,方便进行有效的检索与访问;
  2. 有效保持数据信息的一致性、完整性,降低数据冗余;
  3. 满足应用的共享与安全要求(收纳箱可以上锁,只有拥有钥匙的可以使用)

四、数据库的类型

4.1数据库的发展历程

数据库的发展历史算是比较久的了,有兴趣可以了解一下。

数据库的发展是由经典数据模型(网状——层次——关系)发展而来的。

一般会按照下面的方式区分:

4.2数据库按存储类型分为:关系型数据库、非关系型数据库

  1. 关系型数据库:存储的是数值、字符、字符串、布尔值等;
  2. 非关系型数据库:存储的是图片,视频,语音等;

4.3主流数据库清单

? 关系型数据库:mysql(oracle公司),sql server(微软公司) access(微软) oracle(Oracle公司) db2(IBM公司) sybase(sybase)——(支持亿级别并发量,春晚活动) 其典型特点在于是:一种 "实体—关系"("E-R")的模型

? 非关系型数据库(NoSQL):MongoDB Redis(内存数据库/缓存数据库)以K-V key-value 变量—值存储memcache(内存数据库/缓存数据库) HBase(K-V —— 键值对)

4.2.2非关系数据库的优点:
  • 满足数据库高并发读写;
  • 对海量数据高效存储与访问;
  • 高扩展高可用性

4.3浅谈Redis和memcache的异同(大家作为简单了解即可)

  1. 相同点:存储高热数据库(反复使用频率高)

  2. 不同点:Redis可以做持久化保存,可以存储对象(存储Java中对象的信息),而memcache缓存的内容在内存中数据容易丢失

补充点:

  • redis数据库的日志文件主要就是用于数据恢复的

  • Oracle数据库的日志:重做日志组(轮循写入并且有同步备份数据库服务器)

五、关系数据库

? 关系数据库系统是基于关系模型的数据库系统,是关系模型应用到数据库领域的实例化。

5.1什么是关系模型?

? 关系模型建立在关系代数的理论基础上,也就是什么所说的"实体—关系"(E-R)图来直接表示,其包含了实体、关系和属性三个要素。

? 实体:也就是实例,对应于现实世界中可以区别于其他对象的“事件”或“事物”;

? 属性:实体所具有的某种特性,一个实体可以有多个属性;

? 联系:多个相同类型及共享相同性质的实体组成的集合之间的对应关系。

可能不是特别好理解,咱们还是来简单举个例子:

实体——银行客户或者银行账户;

属性——银行客户中的姓名、住址、联系方式等;

联系——银行客户和银行账户之间存在着“储蓄”的关系。

5.2主键和外键

数据表中的每行记录都必须是唯一的,而不允许出现完全相同的记录,通过定义主键(主关键字,Primary Key)可以保证记录的唯一性。

键,即关键字,它是关系模型中一个非常重要的元素。

5.2.1主键

主键唯一标识表中的行数据,一个主键对应一行数据。主键由一个或多个字段组成,其值具有唯一性,且不允许取null值。一个表只能有一个主键。

5.2.2外键

外键,就是以表里唯一一个和其他表有关联的字段,起到约束作用。外键一般在定义字段的时候创建。

一张表中的外键一定是另外一张表中的主键,主键不可以重复、外键可以重复;

补充:候选键:除了主键和外键以外的键

六、总结

? 本文主要是通过生活中简单的一个收纳箱的例子来了解数据库的概念、分类、结构、作用以及特性等方面的知识。

带你走进rsync的世界

 导读Rsync(remotesynchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件,也可以使用Rsync同步本地硬盘中的不同目录。rsync共有3种使用方法,在配置rsync也是有6个步骤的。下面我们就从rsync的介绍,rsync... 查看详情

瞄一眼,带你走进sparksql的世界

...得作者同意授权。)最近想来,大数据相关技术与传统型数据库技术很多都是相互融合、互相借鉴的。传统型数据库强势在于其久经考验的SQL优化器经验,弱势在于分布式领域的高可用性、容错性、扩展性等,假以时日,让其经... 查看详情

带你走进微处理架构的世界

...过采用微处理结构模式解决了上述问题。其思路不是开发一个巨大的单体式的应用,而是将应用分解为小的、互相连接的微服务。微服务正在博客、社交媒体讨论组和会议演讲中获得越来越多的关注,在Gartner的2014HypeCycle上它的... 查看详情

miox带你走进动态路由的世界——51信用卡前端团队

...回退逻辑问题。这几天在网上看到了51信用卡团队开源了一个Miox,可以有效的解决这些痛点,于是乎我就做了一些尝试,确实很不错,star增速也表明了业界对其的认可!由于自己能力有限,不能很好地解读Miox,于是我就把Miox作... 查看详情

《手牵手带你走进python世界》系列五(代码片段)

importrequestsfrombs4importBeautifulSoupimportdatetimeimportpandasaspdimportmatplotlib.pyplotaspltimportreimportjiebaimportnumpyasnpfromwordcloudimportWordCloud,ImageColorGeneratorurl="https://co 查看详情

万字解析:带你走进五子棋(普通版)和三子棋的世界(c语言)(代码片段)

今天,我们来再来实现一个大家都不陌生的小项目:三子棋。1,三子棋1,思路分析写一个小项目,必不可少的是思路的构建。写一个游戏,我们首先需要一个菜单,这是最基本的,让用户来选择是... 查看详情

漫游语音识别技术——带你走进语音识别技术的世界

前有古人,后有小王,大家好,我是你们爱思考的小王学长,今天我来带大家漫游一下当下发展火热的语音识别技术,通俗易懂、干货满满、一定要学到最后呦!一看到语音识别,不知道大家有没有想... 查看详情

java基础教程带你走进java的世界(代码片段)

Java教程Java简介什么是Java?Java是由SunMicrosystems公司于1995年5月推出的Java面向对象程序设计语言和Java平台的总称。Java分为三个体系:JavaSE(J2SE,Java2PlatformStandardEdition,java平台标准版)JavaEE(J2E 查看详情

java基础教程带你走进java的世界(代码片段)

Java教程Java简介什么是Java?Java是由SunMicrosystems公司于1995年5月推出的Java面向对象程序设计语言和Java平台的总称。Java分为三个体系:JavaSE(J2SE,Java2PlatformStandardEdition,java平台标准版)JavaEE(J2E 查看详情

凌辰:移动互联网营时代,钱脉通创客带你走进创客世界!

前言:当下,除了空气、水电是人类必需的元素,还有一个必不可少的就是互联网。互联网赋予人类无限的可能,让个人力量增强、个人价值释放。而如今我们每个人都身处移动互联网时代。伴随着移动通信的发展、微信微博等... 查看详情

(深入篇)漫游语音识别技术—带你走进语音识别技术的世界(代码片段)

前有古人,后有小王,大家好,我是你们爱思考的小王学长,今天咱们继续漫游语音识别技术哈,今天内容稍微专业一些,大家可以结合上一篇漫游语音识别技术一起学习。上篇我们简单了解了语音识别技... 查看详情

带你走进cookie,session,token的世界(代码片段)

前言无状态的HTTP协议一天,你有个需求,你要去超市买一瓶可乐。到了超市买了可乐,你告诉售货员,下次给我准备下雷碧,我下次来拿。第二次,你去超市拿雷碧,售货员说他不记得你什么时候说要... 查看详情

一篇文章带你走进cookie,session,token的世界

...,下次你带着纸条来,买上了超市给你准备的雷碧cookie是一个非常具体的东西,指的就是浏览器里面能永久存储的一种数据。跟服务器没啥关系,仅仅是浏览器实现的一种数据存储功能。cookie由服务器生成,发送给浏览器,浏览... 查看详情

小牛带你走进spring的事务

...一致性,正如金钱转账,金钱总数不会增加也不会减少。数据库事务管理有四个特性(ACID):特性描述原子性(Atomicity)事务作为一个整体被执行,要么全部被执行,要么都不执行。一致性(Consistency)事务应确保数据 查看详情

全网首发,一篇文章带你走进pycharm的世界----别再问我pycharm的安装和环境配置了!!!万字只为君一笑,赶紧收藏起来吧

欢迎来到我的世界:Pycharmpycharm的前世今生欢迎来到我的世界:Pycharm一.为啥要用Pycharm二.安装哪一款Pycharm三.怎样获取专业版的Pycharm四.Python版本的选择AnacondaPython五.Pycharm的安装六.Pycharm的环境配置接下来,最伟大的... 查看详情

新霸哥带你轻松玩转oracle数据库

  接触过软件开发的朋友可能都会知道oracle,在开发的过程中,数据存储都可能会用到oracle的,因为oracle具有处理速度快,安全级别特别的高。但是有一个缺点就是比较的贵,只有一个大型的公司才有可能接触到的,看到这里... 查看详情

☀️☀️☀️不会还有人学不会c语言中的指针和数组吧?chris带你走进并玩转指针与数组的世界☀️☀️☀️(代码片段)

...存储到指定的内存地址🎮一、✨指针基本概念✨先从一个小例子开始#incl 查看详情

❤️大学三年沉淀,把我的学习经验分享给你,爆肝万字带你走进编程世界!❤️(代码片段)

Hello,大家好,我是Alex。时光匆匆,暑假过的很快,转眼又到了大学的开学季,我也是又混进了我们学院的新生群,发现大家对计算机充满着迷之向往,啊哈哈哈,不过没有人带着入门还是很容易... 查看详情