所在的位置: 数据库 >> 基本简介 >> 数据库是什么

数据库是什么

今天我试着问8岁的女儿:“你知道IPad上的游戏是怎么记住你玩的进度的?”“就像书签一样,找到书签就翻到上次看到的地方了!”“那游戏里的东西存在哪儿呢?”“IPad里呀!像一个仓库什么的”

和我们的时代不同,8岁的小孩已经开始接触电脑了,在电脑上玩游戏,用搜索引擎搜索视频,会编辑简单的文字,所以完全可以直接告诉孩子数据库是什么,但关键是我们能准确的描述“数据库是什么吗?”

我用自己浅薄的知识试着解读一下:

结构化存储数据(为了方便查找)

对数据操作(增删改)进行控制和管理,维护数据一致性

提供用户共享访问接口

回到这个问题,比如可以这样回答:

图书馆就是一个数据库:图书馆的每本书都有一个编号,编号表示了书的类别和顺序号,同类别的书放在一个书架上,然后书按顺序摆在它所属的书架上,这么做的好处是方便查找书。

图书馆管理员就是访问接口:你想找一本书时,他先找到这本书的类别和顺序号,然后他就到指定的书架上按顺序找到那本书,交给你。

你和其他人提出的借书请求就是外部程序,一本书可以借给你也可以借给别人,但是图书馆管理员知道书的状态并负责把书放回原位。

还可以这样回答:

数据库就是在电脑里按照一定规律存放数据的仓库,比如你玩的“摩尔庄园”游戏里的每件东西都有一个编号存在它所属的格子里,打开游戏时,游戏程序要把格子里的东西取出来摆成你上回玩的那个进度。

决定搞个中国特色的答案!我觉得可以和小朋友这样讲啊:

电脑里面存了好多好多数据。数据就像各种各样中药,在没有数据库之前,中药就是一包包这样杂乱无章地堆放着(unorganizeddata),找也不好找(inaccessible)。如果你是药店的掌柜,你怎么来管理这些药呢?

聪明的古人就想了办法:把所有的中药都放到柜子里面(datatable),柜子里面都是大小一样的小盒子(organizeddatamodel),每个盒子(arow/record)都在外面标签上写上药名,按笔划排序帮助快速查找(index/primarykey),比如你要找三七,那么一定是三笔的头几个——现在找东西是不是方便多了?

如果要找一味温热的药,按名字找可就不大灵了,除了打开抽屉一个一个舔过去,还有什么办法快速找到吗?对啦,就是在抽屉上涂上颜色,比如温热的用粉红色,凉性的用蓝色(secondarykey),你还可以用不同大小的抽屉代表药的其他属性(anothersecondarykey)

如果有的药卖空了没有货怎么办?把整个抽屉拿走(deletearow)!如果新增加一种药怎么办?找一个空抽屉放上新药贴个标签呗(addarow)!如果整柜子中药都过期了怎么最快处理?把柜子搬走(dropatable),换个新柜子(createatable),再往里面添加新鲜中药。

如果有一种药量特别大,放在另外一个抽屉大一点儿的柜子里怎么办呢(splittedtable)?在这个抽屉里放一张纸条,写上“此药在后堂第三个柜子第二个抽屉”(Foreignkey/linkedtable)。

电脑也是这么管理里面的数据的!(当然,这种讲法同样可以让不懂数据库有technophobia的萌妹纸懵滴弟们快速入门,其实数据库里面的绝大部分概念用中药铺子的类比来讲都非常容易理解。

优秀







































白癜风咋治
最专业的白癜风医院



转载请注明:http://www.xcqg58.com/jbjj/3120.html