stringtranslate.com

Многозначная база данных

База данных 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 , но имел расширенные возможности по управлению данными. Симмс много играл в «Звездный путь» , развивая язык, чтобы языковая функция удовлетворяла его. [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]

Маркетинговые группы и другие представители отрасли на протяжении многих лет классифицировали базы данных MultiValue как дореляционные, постреляционные, реляционные и встроенные, а недоброжелатели часто классифицировали их как устаревшие. Теперь его можно классифицировать как NoSQL . С моделью данных, которая хорошо согласуется с JSON и XML и обеспечивает доступ с использованием SQL или без него.

Одна разумная гипотеза для этой модели данных, просуществующей 50 лет, [9] с новыми реализациями модели базы данных даже в 21 веке, заключается в том, что она обеспечивает недорогие решения для баз данных. Исторически сложилось так, что отраслевые тесты привязаны к транзакциям SQL, и эту гипотезу было трудно проверить, хотя существует множество случаев неудачных попыток внедрить функциональность приложения MultiValue в структуру реляционной базы данных .

Несмотря на более чем 40-летнюю историю внедрений, начиная с TRW , многие в индустрии MultiValue остались в курсе, так что различные реализации MultiValue теперь используют объектно-ориентированные версии Data/BASIC, поддерживают AJAX- фреймворки, и поскольку никому не нужны Чтобы использовать SQL (но некоторые могут) с этими базами данных, они подходят под эгидой NoSQL . Фактически, разработчики MultiValue были первыми, кто приобрел доменные имена nosql, вероятно, до того, как другие продукты баз данных также классифицировали свои предложения как NoSQL. MultiValue — это проверенная модель данных, в которой конкурируют несколько поставщиков. На протяжении многих лет он постоянно совершенствовался.

Пример модели данных

В системе баз данных MultiValue:

Данные хранятся в двух отдельных файлах: «файл» для хранения необработанных данных и «словарь» для хранения формата отображения необработанных данных.

Например, предположим, что есть файл (таблица) под названием «PERSON». В этом файле есть атрибут «eMailAddress». Поле eMailAddress может хранить переменное количество значений адреса электронной почты в одной записи. Список [[email protected], [email protected], [email protected]] можно сохранить и получить к нему доступ с помощью одного запроса при доступе к связанной записи.

Достижение того же отношения (один ко многим) в традиционной системе реляционной базы данных потребует создания дополнительной таблицы для хранения переменного количества адресов электронной почты, связанных с одной записью «ЧЕЛОВЕК». Однако современные системы реляционных баз данных также поддерживают эту многозначную модель данных. Например, в PostgreSQL столбец может быть массивом любого базового типа.

Многозначные данныеBASIC

Как и язык программирования 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 НРАВИТСЯ "Ван..."

В приведенном выше заявлении будут перечислены все адреса электронной почты каждого человека, чья фамилия начинается с «Ван». Для каждого человека будет выводиться одна запись, в нескольких строках будут указаны несколько адресов электронной почты (без повторения других данных о человеке).

Смотрите также

Рекомендации

  1. ^ "ОНгруппа". www.ongroup.com .
  2. ^ Нельсон, Дон (1965). «Общий язык и система информационного поиска (GIRLS)» (PDF) . {{cite journal}}: Требуется цитировать журнал |journal=( помощь )
  3. ^ «Выпускники микроданных». www.microdata-alumni.org .
  4. ^ Сиск, Джонатан (1987). ВЫБЕРИТЕ БАЗОВЫЙ: Руководство программиста. Вкладка «Книги».
  5. ^ «Дом». www.northgate-is.com .
  6. ^ «Многозначный символ».
  7. ^ Волтуис, Рассвет (2002). «Многозначное генеалогическое древо» (PDF) . {{cite journal}}: Требуется цитировать журнал |journal=( помощь )
  8. ^ «Справочник по постреляционной базе данных».
  9. ^ Нельсон, Дон (1964). «Обобщенный язык и система информационного поиска (GIRLS)» (PDF) . {{cite journal}}: Требуется цитировать журнал |journal=( помощь )

Внешние ссылки