Многозначная база данных
Эта статья нуждается в дополнительных цитатах для проверки . ( апрель 2018 г. ) |
База данных MultiValue — это тип NoSQL и многомерной базы данных , обычно считающейся синонимом PICK , базы данных, первоначально разработанной как операционная система Pick .
Базы данных MultiValue включают коммерческие продукты Rocket Software , Revelation, InterSystems , Northgate Information Solutions , ONgroup, [1] и другие компании. Эти базы данных отличаются от реляционных баз данных тем, что у них есть функции, которые поддерживают и поощряют использование атрибутов, которые могут принимать список значений, а не все атрибуты, имеющие однозначные значения. Их часто относят к MUMPS к категории постреляционных баз данных , хотя модель данных фактически предшествует реляционной модели . В отличие от инструментов SQL-СУБД, к большинству баз данных MultiValue можно получить доступ как с использованием SQL, так и без него .
История [ править ]
Дон Нельсон разработал модель данных MultiValue в начале-середине 1960-х годов. [2] Дик Пик , разработчик компании TRW , работал над первой реализацией этой модели для армии США в 1965 году. Пик считал, что программное обеспечение находится в свободном доступе, поскольку оно было написано для военных. Это был лишь первый спор относительно баз данных MultiValue, рассмотренный судами. [3]
Кен Симмс написал DataBASIC, иногда известный как S-BASIC, в середине 1970-х годов. Он был основан на Dartmouth BASIC , но имел расширенные возможности по управлению данными. Симмс много играл в «Звездный путь» (раннюю текстовую компьютерную игру, изначально написанную на Dartmouth BASIC), пока разрабатывал язык, чтобы гарантировать, что DataBASIC работает так, как ему хотелось. [4]
Три реализации MultiValue — версия PICK R77, Microdata Reality [5] 3.x и Prime Information 1.0 — были очень похожи. Несмотря на попытки стандартизации, в частности со стороны International Spectrum и Ассоциации производителей спектра, которые разработали логотип для всеобщего использования, [6] в реализациях MultiValue нет стандартов. Впоследствии эти вкусы разошлись, хотя и с некоторым пересечением. Эти потоки разработки баз данных MultiValue можно классифицировать как один, вытекающий из PICK R83, один из Microdata Reality и один из Prime Information. [7] Из-за различий в некоторых реализациях предусмотрена поддержка нескольких разновидностей языков. Попытку документировать сходства и различия можно найти в Справочнике по постреляционной базе данных (PRDB). [8]
Одна разумная гипотеза для этой модели данных продолжительностью 50 лет: [9] с новыми реализациями модели баз данных даже в 21 веке заключается в том, что она обеспечивает недорогие решения для баз данных.
Пример модели данных [ править ]
В системе баз данных MultiValue:
- база данных или схема называется «учетной записью»
- таблица или коллекция называется «файлом»
- столбец или поле называется полем или «атрибутом», который состоит из «атрибутов с несколькими значениями» и «атрибутов подзначений» для хранения нескольких значений в одном и том же атрибуте.
- строка или документ называется «записью» или «элементом»
Данные хранятся в двух отдельных файлах: «файл» для хранения необработанных данных и «словарь» для хранения формата отображения необработанных данных.
Например, предположим, что есть файл (таблица) под названием «PERSON». В этом файле есть атрибут «eMailAddress». Поле eMailAddress может хранить переменное количество значений адреса электронной почты в одной записи. Список [ [электронная почта защищена] , [электронная почта защищена] , [электронная почта защищена] ] может быть сохранена и доступна с помощью одного запроса при доступе к связанной записи.
Достижение того же отношения (один ко многим) в традиционной системе реляционной базы данных потребует создания дополнительной таблицы для хранения переменного количества адресов электронной почты, связанных с одной записью «ЧЕЛОВЕК». Однако современные системы реляционных баз данных также поддерживают эту многозначную модель данных. Например, в PostgreSQL столбец может быть массивом любого базового типа.
MultiValue DataBASIC [ править ]
Как и язык программирования Java , типичный компилятор Data/BASIC компилируется в P-код или байт-код и запускается на P-машине, причем jBASE является заметным исключением. [ нужна ссылка ] Он имеет столько же различных реализаций (компиляторов), сколько существует баз данных MultiValue.
Как и язык программирования PHP , язык Data/BASIC выполняет всю работу по приведению типов для программиста.
Язык многозначных запросов [ править ]
Язык запросов MultiValue, известный на протяжении многих лет как ENGLISH, ACCESS, AQL, UniQuery, Retrive, CMQL и под многими другими названиями, соответствующими различным реализациям MultiValue, отличается от SQL в нескольких отношениях. Каждый запрос выполняется к одному словарю в схеме, который можно понимать как виртуальный файл или портал в базу данных, через который можно просматривать данные.
- СПИСОК ЛЮДЕЙ LAST_NAME FIRST_NAME EMAIL_ADDRESS AND LAST_NAME НРАВИТСЯ "Ван..."
В приведенном выше заявлении будут перечислены все адреса электронной почты каждого человека, чья фамилия начинается с «Ван». Для каждого человека будет выводиться одна запись, в нескольких строках будут указаны несколько адресов электронной почты (без повторения других данных о человеке).
См. также [ править ]
- Ракета U2 (UniVerse и UniData)
- OpenQM от Ladybridge Systems
- Реальность от Northgate-IS
- Caché от InterSystems
Ссылки [ править ]
- ^ «ОНгрупп» . www.ongroup.com .
- ^ Нельсон, Дон (1965). «Общий язык и система информационного поиска (GIRLS)» (PDF) .
{{cite journal}}
: Для цитирования журнала требуется|journal=
( помощь ) - ^ «Выпускники микроданных» . www.microdata-alumni.org .
- ^ Сиск, Джонатан (1987). PICK BASIC: Руководство программиста . Вкладка «Книги».
- ^ "Дом" . www.northgate-is.com .
- ^ «Многозначный символ» .
- ^ Волтуис, Рассвет (2002). «Многозначное генеалогическое древо» (PDF) .
{{cite journal}}
: Для цитирования журнала требуется|journal=
( помощь ) - ^ «Справочник по постреляционной базе данных» .
- ^ Нельсон, Дон (1964). «Обобщенный язык и система информационного поиска (GIRLS)» (PDF) .
{{cite journal}}
: Для цитирования журнала требуется|journal=
( помощь )
Внешние ссылки [ править ]
- Рейтинг многоцелевых СУБД DB-Engines по популярности, обновляемый ежемесячно