免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3521 | 回复: 2
打印 上一主题 下一主题

谈谈三级数据模式结构与OpenAPI [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-12-17 14:03 |只看该作者 |倒序浏览
本帖最后由 feiyang10086 于 2010-12-17 14:05 编辑

转:一只鱼的异想世界
说在前面的闲话:

    闲话1:话说这些天都在“复习”数据库原理,这是促成我写下这篇东东的原因吧,以后可能就没这干劲了。

    闲话2:一向认为:为考试而学习,为考试而考试,为考试而复习,这样没意思。所以别问我:快考试了还有时间写这些东西?有些东西不写以后就没机会写了。尽量不做应试教育的深度受害者。

    闲话3:之前去参加了淘宝开放平台TOP开发者广州聚会(09.11.19),但过后一直没有坐下来记点什么东西(坏习惯,要改),之前说年初要推出淘宝应用商店,现在淘宝应用商店测试版已经上线(http://app.taobao.com/),应用数量已经突破了300。首页推荐的淘友吧的“一分钟店铺装修”,在上次的聚会上也有见到其团队,也听了古聪(淘友吧的boss)的一些介绍和经验分享。现在看到“一分钟店铺装修”免费一年,有需要的童鞋可以马上去试一下。(注:此处非广告,广告一般不注明)。上次也见到“易拉客”的景爱辉,他也作了介绍和经验分享。

    闲话少叙,关注各类网络开放平台良久,但从网上的各种资料、报道来看,几乎全部都是就OpenAPI论OpenAPI,说了一大堆案例,说开发者怎么开发,应用有多丰富……没有看到从数据库系统的三级模式结构来解释为什么会有开放平台的出现。
    对于开发者来说,从数据库系统的三级模式结构来谈为什么会有网络开放平台,显然是弱智的,无需多加解释。可是对一些门外汉来说,你说了一大堆的OpenAPI,对他来说就只有OpenAPI的大概印象,他是不会理解为什么,或者他根本不会关心为什么。但每一个开发者都是从门外汉开始的,不是么?所以对一些“门外汉”来说,有需要也必要从数据库系统的三级模式结构这个角度来大概理解开放平台。

    这个“需要”不是我吹出来的,事实是这样的,一段时间以来,一直都在关注淘宝开放平台(TOP),发现其实有些人是没有相关知识储备,完全出于个人兴趣、好奇心,就动手做了。

    当然,在TOP上知识储备不多的“开发者”,更多的原本只是一个“淘宝客”,在TOP上做的也就是简单的post和get,对于他们来说,或许最兴奋的就是可以更自由地DIY自己的淘客网站了,而对整个开放平台是个什么样的基本原理不太清楚。
    貌似又说了一大堆闲话。
    数据库系统的三级模式结构如下图所示:




所谓三级模式,就是上面图示的“外模式、模式、内模式”。
    其中,模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述。
    内模式也称存储模式,是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。
    外模式也叫子模式或用户模式,是数据库用户能够看见和使用的局部数据的逻辑结构和特征描述。① 一个数据库可以有多个外模式,同一个外模式也可以为某一用户的多个应用系统使用,但一个应用程序只能使用一个外模式;② 外模式就是用户视图;③ 外模式是保证数据安全性的一个有力措施。

    于是,现在可以很容易地理解,对于开放平台来说,其实文章就出在“外模式”这里。

    此外,数据库系统用二级映像功能实现以上3个层次的联系和转换:用外模式/模式映像保证逻辑独立性;用模式/内模式映像保证物理独立性。

    数据库的外模式面向具体的应用程序,它定义在逻辑模式之上,但独立于存储模式和存储设备。当应用需求发生较大变化,相应外模式不能满足其视图要求时,该外模式就得做相应的改动,所以设计外模式时应充分考虑到应用的扩充性。数据库的二级映像保证了数据库外模式的稳定性,从而从底层保证了应用程序的稳定性,除非应用需求本身发生变化,否则应用程序一般不需要修改。(注:此段“掉书袋”。)

    在这里想说的是:对于各类开放平台来说,开发者其实更多的是从该平台的开放程度,也即开放API的数量、类型等或者说平台提供的外模式(注:不知这样说对不对),以此来设计应用,而无法自己根据用户需求来“为所欲为”,这也是基于开放平台做应用开放的一个局限性。(之前参加TOP开发者聚会,多数开发者也都在反映TOP现在的API太少的问题,当然开放是个过程,淘宝本这谨慎原则不可能一下子开放太多。)

   其实说到底都可以归结为开发环境问题。抛开开放平台不说,平时做的应用开放也都是基于一个开发环境在做。于是,无论开发什么应用,都是基于这个环境下的各种规则,按规则办事而已。而环境是在逐步改善的,我觉得无论是不是开放平台,始终都是按照“使用—反馈—完善—使用”这样的过程在循环往复,不断前进。

    PS:1.之前在中国知网看过一篇论文《数据库系统三级模式结构的不足与改进》(合肥工业大学机械与汽车工程学院宋歌 2006),其中提到数据库系统的四级模式结构,在这里顺便贴个图给大家参观一下:




2.ODBC编程这部分在数据库课上没讲,在这里也顺便贴张图参观一下ODBC(开放数据库互连)应用系统的体系结构(在图的下面两个RDBMS之间、两个ODBC Driver之间分别加个省略号会更好,可能是老外没用省略号的习惯⊙﹏⊙):

论坛徽章:
0
2 [报告]
发表于 2011-02-22 10:53 |只看该作者
还不错啊呵呵
界面引擎

论坛徽章:
0
3 [报告]
发表于 2011-02-22 13:18 |只看该作者
回复 2# macbook3


    谢谢支持啊!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP