Я не совсем уверен, что вам нужно. Глобальные объекты эпидемического паротита - это просто разреженный многомерный массив. Программист может реализовать свою стратегию базы данных по своему усмотрению. Например, база данных клиентов может быть реализована как:
^CUSTOMER(custnum,"NAME")=name
^CUSTOMER(custNum,"ADDRESS")=address
^CUSTOMER(CustNum,"PHONE")=phone
в качестве альтернативы база данных клиентов может быть реализована как:
^CUSTOMER(custNum)=name|address|phoneNum
Здесь я использовал вертикальную черту "|" в качестве разделителя в записи о клиенте. В большинстве реализаций свинки длина строки записи ограничена 32 КБ.
В реляционном смысле глобал CUSTOMER можно рассматривать как таблицу с custNum в качестве ключа и именем, адресом и телефоном в качестве столбцов.
Похожую схему можно использовать для таблицы заказов:
^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
Используемая стратегия зависит от разработчика, она является чрезвычайно гибкой и мощной.
Есть еще пара документов, которые я бы порекомендовал в дополнение к документу, на который вы ссылаетесь выше. Для некоторых основ о глобальных объектах и о том, что они из себя представляют, я бы порекомендовал:
Экстремальное программирование баз данных с глобальными MUMPS
Для более продвинутой темы я рекомендую:
Универсальный движок NoSQL, использующий опробованный и проверенные технологии
Автором обоих документов является Роб Твид, который является своего рода проповедником паротита в своей компании M / Gateway События. Первый документ дает хорошее представление о глобальных объектах эпидемического паротита, а второй - об их использовании в различных стратегиях, включая noSQL.
person
igotmumps
schedule
27.09.2012