我正在寻找Mumps全局实现的详细定义/讨论。有一份名为"MUMPS Globals及其实现“的文档,但我一直无法找到任何方法来订购它,更不用说访问数字副本了。(它是在75年印刷的)
总而言之,我试图找到一个关于Mumps数据库内部的深入讨论。
发布于 2012-09-27 23:38:17
我假设不同的MUMPS实现之间的数据库内部结构会有很大的不同。所以,我认为你最好的选择是看看它是如何在开源MUMPS实现中完成的:
发布于 2013-01-24 00:45:06
看看这篇论文,弗兰克·布朗的。布朗博士是COMP咨询公司标准流行性鼻炎全球系统的设计师。我是8086汇编语言的实现者!是的,早在1981年。
它本质上是一个带有压缩密钥的简单B-tree。
发布于 2012-09-28 01:06:17
我不太确定你在找什么。Mumps全局变量只是一个稀疏的多维数组。程序员可以在他们认为合适的时候自由地实现他们的数据库策略。例如,客户数据库可以实现为:
^CUSTOMER(custnum,"NAME")=name
^CUSTOMER(custNum,"ADDRESS")=address
^CUSTOMER(CustNum,"PHONE")=phone或者,客户数据库可以实现为:
^CUSTOMER(custNum)=name|address|phoneNum在这里,我使用竖线字符"|“作为客户记录中的分隔符。在大多数mumps实现中,记录字符串长度限制为32k。
在关系意义上,客户全局可以看作是一个表,custNum作为键,name、address和phone作为列。
类似的方案也可以用于orders表:
^ORDERS(orderNum)=date|invoiceNum|totalPrice要将客户与订单关联起来,我们可以使用单独的全局变量:
^custOrders(custNum,orderNum)=""或者,将它们添加到全局客户中:
^CUSTOMER(custNum)=name|address|phone
^CUSTOMER(custNum,orderNum)=""或者甚至将两个表合并为一个全局表:
^CUSTOMER(custNum)=name|address|phone
^CUSTOMER(custNum,orderNum)=date|invoiceNum|totalPrice所使用的策略取决于开发人员,这是非常灵活和强大的。
除了您上面提到的文档之外,我还推荐几个其他文档。关于全局变量的一些基础知识以及它们是什么,我建议:
Extreme Database Programming with MUMPS globals
对于更高级的主题,我推荐:
A Universal NoSQL Engine, Using a Tried and Tested Technology
这两个文档都是由Rob Tweed编写的,他是他的公司M/Gateway Developments的一位流行性喉炎布道者。第一个文档给出了关于mumps全局的良好背景,第二个文档介绍了在包括noSQL在内的各种策略中使用它们。
https://stackoverflow.com/questions/12592322
复制相似问题