井井客

搜索

聊一聊数据库

大致聊一聊数据库,没有深入的东西,文章放在生活琐事栏目中也没问题。可以看作本人突然想写点什么而留下的印记吧。

聊一聊数据库

说到数据库,有点近乡情怯,不知道这样比喻可不可以。之前在学校时想做一名DBA,然后现在正在做一名前端开发人员,其实有点点尴尬和遗憾在里面。

正题谈到数据库,现在可以大致分两类:关系数据库与非关系数据库。

说到关系数据库必然说到Oracle,正是关系型数据库成就了Oracle行业大佬的位置,不过它并不是一款免费软件。

另外一款我们熟悉且免费的关系型数据库就是mysql,已经被Oracle收购,幸运的是目前它仍是免费软件。

而我在学校学习的是Microsoft SQL Server也是关系型数据库,不过实际中好像用的不多。

理解关系型数据库前需要知道库中数据是用表进行存储,这个表就和我们在公司前台领物品时需要登记日期、姓名、领取物品等信息的表格差不多。表中有若干这样的自定义自段,而每一行代表一条数据。

假设有个学校关于人员的数据库表是这样设计的:教职工表、学生表、班级表。(这只是一个简单的假设)

班级表有若干条班级信息记录,每条班级信息有一个班级ID,教职工表则有若干条教职工信息,其中会有一个字段如所教班正对应班级表中的班级ID,学生表就是学生信息以及所在班级ID(同教职工表)。

这样关系其实就出来了,浅一层的关系就是我们能够知道教职工/学生所在班级信息,深究的话我们知道这个教职工教了哪些学生。

当然现实中数据库表可能设计的更复杂,它更像一张大网,将表与表连接在一起。而就像上面的例子中,如果班级ID变化,那涉及到的职工表与学生表也要修改,维护也就需要花费更多成本了。

可以说关系型数据库有利有弊吧。

再有非关系型数据库,因为接触不多,只稍微聊聊我知道的两个:redis和mongDB。

这两者都是通过key-value的形式保存数据,虽然都标榜为内存数据库,但实际上mongDB的数据是存放在硬盘中。

而在数据存储上最大的区别是mongDB允许值嵌套,就和我们的JSON差不多了。

而redis则是提供了list、set、zset、hash等数据结构(但是我都没用过啦)。

差不多就到这里了~欢迎一起交流学习

文章TAG:SQL

作者:井井客原创来源:原创
本文标题:聊一聊数据库
本文链接:/c/31329.html

上一篇:gulp.js入门篇
下一篇:JS如何控制连续触发事件

文章分类

相关阅读

随便看看