博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用户自定义函数的数据库设计(DEMO)
阅读量:6608 次
发布时间:2019-06-24

本文共 1306 字,大约阅读时间需要 4 分钟。

开始

以图1.来描述DEMO的需求:

图1.

在图1.设计一个DEMO系统能实现从【源数据】至【目标数据】的数据转换,转换过程能让用户通过调用自定义函数来实现。

基本流程图

 

图2.

图2.中的"多次调用"并表示多次调用同一个函数,而是可能存在先后调用不同的函数进行数据转换。

函数f(x)常见的几种情况

图3.

图3.中的列Function,描述各个函数名,列Input描述每函数的输入变量(参数),列Output描述函数的输出变量。其中Output部分,存在两种情况,一种是单一值,另一种是表(记录集)。在列Content描述函数的具体内容,这里使用省略号来描述其内容,如果含有调用其他函数的,就写调用对应的函数名。

 

Chen's 数据库表示法

 

图4.

图4. 中的function是object中的其中一种类型对象,在object的属性object type描述对象类型,值范围是{table,view,function} 。object的属性is custom描述是否是用户自定义的对象(这里is custom=1的时候,object一定是用户自定义函数). function的属性function type 有两个值{scalar, table-valued }.function type与output存在约束关系,当function type = scalar的时候,output属性一定是一个标值,反之就是表值。

物理模型图

图5.

 

数据模拟

图6.

这里模拟两种SQL Server实例环境,一个是本地的"MSTEST-PC\SQL2012DE"和远程的"192.168.163.2\SQLCOM,9101"。因为篇幅问题,这里我只拿两个数据库的一些表、视图、函数来模拟。而且模拟的数据可能与之前的数据库物理模型图有些不一样,我这里只列出一些关键信息的内容(字段),而且有几个表联合一起显示,这犹如UI上面呈现给用户的列表;这样做的目的是,为了更能让数据更直观感,更重要的是方便与其他组织部门沟通。

图7.

 

 

图8.

图8.只有当function type是table-valued function的时候,才有function_return这一部分。当function type 是 scalar function的时候,函数就只返回一个某一类型的值,可以跳跃查看图10.部分的function_output.

图9.

 

图10.

 

图11.

 

图12.

图12. 描述function_content引用到的对象,及哪些对象字段。

 

 

扩展

简短描述几个:

  • 虽然前面描述了用户自定义函数如何设计,涉及到源对象(哪些table,view,function),但少了目标对象(转换后的结果存在在哪里)。
  • 源对象发生改变,那么如何通知用户是否修改自定义函数。
  • 用户自定义函数如何进行版本管理。
  • 如何优化自定义函数。

 

小结

以上的内容只是一个DEMO的需求和有关数据库设计的内容,可能描述的不够详细具体。在前面的内容,大部分我都是用图形描述,而使用文字描述的地方很少。我觉得通过图形,有时候比文字更直接,更有效。

 

 

 

转载地址:http://kwiso.baihongyu.com/

你可能感兴趣的文章
《设计之外——比修图更重要的111件事》—第1部分3 虚心学习
查看>>
Solaris Studio 12.4 Beta update 7/2014
查看>>
EVCache —— Netflix 的分布式内存数据存储
查看>>
《用友ERP-U8(8.72版)标准财务模拟实训》——1.4 系统管理注册和导入演示账套...
查看>>
《Node.js区块链开发》一3.6 总结
查看>>
《UG NX8.0中文版完全自学手册》一2.8 布尔运算
查看>>
移动阅读时代“长文章”生存状态调查
查看>>
springboot docker笔记
查看>>
跟我一起学QT3:电子表格的制作
查看>>
mysql char和varchar区别
查看>>
Modbus RTU 通信工具设计
查看>>
服务化改造实践 | 如何在 Dubbo 中支持 REST
查看>>
Logwatch linux日志监视器解析
查看>>
【第8章】JVM内存管理
查看>>
easyui datagrid plunges 扩展 插件
查看>>
在绿色的河流上
查看>>
关于内存溢出产生的死循环
查看>>
基于ITIL的医院信息化服务管理实践(客户说)
查看>>
ovirt官方安装文档 附录G
查看>>
磁盘故障小案例
查看>>