首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在哪里可以找到Mumps全局变量的实现细节?

在哪里可以找到Mumps全局变量的实现细节?
EN

Stack Overflow用户
提问于 2012-09-26 07:02:02
回答 4查看 886关注 0票数 3

我正在寻找Mumps全局实现的详细定义/讨论。有一份名为"MUMPS Globals及其实现“的文档,但我一直无法找到任何方法来订购它,更不用说访问数字副本了。(它是在75年印刷的)

总而言之,我试图找到一个关于Mumps数据库内部的深入讨论。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-09-27 23:38:17

我假设不同的MUMPS实现之间的数据库内部结构会有很大的不同。所以,我认为你最好的选择是看看它是如何在开源MUMPS实现中完成的:

  • GT.M
  • MUMPS V1
  • MUMPS-MDH
  • GUMP / FreeM
票数 1
EN

Stack Overflow用户

发布于 2013-01-24 00:45:06

看看这篇论文,弗兰克·布朗的。布朗博士是COMP咨询公司标准流行性鼻炎全球系统的设计师。我是8086汇编语言的实现者!是的,早在1981年。

它本质上是一个带有压缩密钥的简单B-tree

票数 3
EN

Stack Overflow用户

发布于 2012-09-28 01:06:17

我不太确定你在找什么。Mumps全局变量只是一个稀疏的多维数组。程序员可以在他们认为合适的时候自由地实现他们的数据库策略。例如,客户数据库可以实现为:

代码语言:javascript
复制
^CUSTOMER(custnum,"NAME")=name
^CUSTOMER(custNum,"ADDRESS")=address
^CUSTOMER(CustNum,"PHONE")=phone

或者,客户数据库可以实现为:

代码语言:javascript
复制
^CUSTOMER(custNum)=name|address|phoneNum

在这里,我使用竖线字符"|“作为客户记录中的分隔符。在大多数mumps实现中,记录字符串长度限制为32k。

在关系意义上,客户全局可以看作是一个表,custNum作为键,name、address和phone作为列。

类似的方案也可以用于orders表:

代码语言:javascript
复制
^ORDERS(orderNum)=date|invoiceNum|totalPrice

要将客户与订单关联起来,我们可以使用单独的全局变量:

代码语言:javascript
复制
^custOrders(custNum,orderNum)=""

或者,将它们添加到全局客户中:

代码语言:javascript
复制
^CUSTOMER(custNum)=name|address|phone
^CUSTOMER(custNum,orderNum)=""

或者甚至将两个表合并为一个全局表:

代码语言:javascript
复制
^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在内的各种策略中使用它们。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12592322

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档