MultiValue - MultiValue

MultiValue это тип NoSQL и многомерная база данных, как правило, считается синонимом PICK, базы данных, первоначально разработанной как Выберите операционную систему.

Базы данных MultiValue включают коммерческие продукты от Ракетное программное обеспечение, Зумасис,[1] Откровение, Ледибридж, InterSystems, Информационные решения Northgate, ONgroup,[2] и другие компании. Эти базы данных отличаются от реляционная база данных в том, что у них есть функции, которые поддерживают и поощряют использование атрибутов, которые могут принимать список значений, а не все атрибуты, являющиеся однозначными. Их часто относят к МАМПЫ в категории постреляционные базы данных, хотя на самом деле модель данных предшествует реляционная модель. В отличие от инструментов SQL-СУБД, к большинству баз данных MultiValue можно обращаться как с, так и без SQL.

История

Дон Нельсон разработал модель данных MultiValue в начале и середине 1960-х годов.[3] Дик Пик, разработчик в TRW, работал над первой реализацией этой модели для армии США в 1965 году. Пик считал, что это программное обеспечение является общественным достоянием, поскольку оно было написано для военных. Это был лишь первый спор относительно баз данных MultiValue, который рассматривался в судах.[4]

Кен Симмс написал DataBASIC, иногда известный как S-BASIC, в середине 70-х годов. Это было основано на Дартмутский ОСНОВНОЙ, но имел расширенные функции для управления данными. Симмс много играл Звездный путь во время развития языка, чтобы язык функционировал к его удовлетворению.[5]

Три реализации MultiValue, PICK версии R77, Microdata Reality[6] 3.x и Prime Information 1.0 были очень похожи. Несмотря на попытки стандартизации, в частности со стороны International Spectrum и Ассоциации производителей спектра, которые разработали логотип для всех,[7] для реализаций MultiValue нет стандартов. Впоследствии эти вкусы разошлись, хотя и с некоторым перекрестием. Эти потоки разработки базы данных MultiValue можно классифицировать как потоки, происходящие из ВЫБИРАТЬ R83, один из Микроданные Реальность и один из основной Информация.[8] Из-за различий в некоторых реализациях предусмотрена поддержка нескольких разновидностей языков. Попытку документировать сходства и различия можно найти в Справочнике по пост-реляционным базам данных (PRDB).[9]

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

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

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

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

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

  • база данных или схема называется "учетной записью"
  • таблица или коллекция называется "файлом"
  • столбец или поле называется полем или «атрибутом», который состоит из «атрибутов с несколькими значениями» и «атрибутов подзначений» для хранения нескольких значений в одном и том же атрибуте.
  • строка или документ называется "записью" или "элементом"

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

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

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

MultiValue DataBASIC

Словно Ява язык программирования, типичный компилятор Data / BASIC компилируется в P-код, или байт-код, и выполняется на P-машине, за исключением jBASE.[нужна цитата ] У него столько же различных реализаций (компиляторов), сколько и баз данных MultiValue.

подобно PHP язык программирования, язык Data / BASIC выполняет все операции по приведению типов для программиста.

Язык запросов MultiValue

Язык запросов MultiValue, известный как АНГЛИЙСКИЙ, ACCESS, AQL, UniQuery, Retrieve, CMQL, и многие другие названия, соответствующие различным реализациям MultiValue, отличается от SQL в нескольких отношениях. Каждый запрос выполняется в отношении одного словаря в схеме, который можно понимать как виртуальный файл или портал в базу данных, через который можно просматривать данные.

СПИСОК ЛЮДЕЙ, EMAIL_ADDRESSES LAST_NAME FIRST_NAME, которым LAST_NAME нравится "Van ..."

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

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

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

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

внешняя ссылка