fbpx
Wikipedia

MultiValue database

A MultiValue database is a type of NoSQL and multidimensional database, typically considered synonymous with PICK, a database originally developed as the Pick operating system.

MultiValue databases include commercial products from Rocket Software, Revelation, InterSystems, Northgate Information Solutions, ONgroup,[1] and other companies. These databases differ from a relational database in that they have features that support and encourage the use of attributes which can take a list of values, rather than all attributes being single-valued. They are often categorized with MUMPS within the category of post-relational databases, although the data model actually pre-dates the relational model. Unlike SQL-DBMS tools, most MultiValue databases can be accessed both with or without SQL.

History edit

Don Nelson designed the MultiValue data model in the early to mid-1960s.[2] Dick Pick, a developer at TRW, worked on the first implementation of this model for the US Army in 1965. Pick considered the software to be in the public domain because it was written for the military. This was but the first dispute regarding MultiValue databases that was addressed by the courts.[3]

Ken Simms wrote DataBASIC, sometimes known as S-BASIC, in the mid-1970s. It was based on Dartmouth BASIC, but had enhanced features for data management. Simms played a lot of Star Trek while developing the language, in order to have the language function to his satisfaction.[4]

Three of the implementations of MultiValue - PICK version R77, Microdata Reality[5] 3.x, and Prime Information 1.0 - were very similar. In spite of attempts to standardize, particularly by International Spectrum and the Spectrum Manufacturers Association, who designed a logo for all to use,[6] there are no standards across MultiValue implementations. Subsequently, these flavors diverged, although with some cross-over. These streams of MultiValue database development could be classified as one stemming from PICK R83, one from Microdata Reality, and one from Prime Information.[7] Because of the differences, some implementations have provisions for supporting several flavors of the languages. An attempt to document the similarities and differences can be found at the Post-Relational Database Reference (PRDB).[8]

Marketing groups and others in the industry over the years have classified MultiValue databases as pre-relational, post-relational, relational, and embedded, with detractors often classifying it as legacy. It could now be classified as NoSQL. With a data model that aligns well with JSON and XML and that permits access with or without the use of SQL.

One reasonable hypothesis for this data model lasting 50 years,[9] with new database implementations of the model even in the 21st century is that it provides inexpensive database solutions. Historically, with industry benchmarks tied to SQL transactions, this has been a difficult hypothesis to test, although there are considerable anecdotes of failed attempts to get the functionality of a MultiValue application into a relational database framework.

In spite of a history of more than 40 years of implementations, starting with TRW, many in the MultiValue industry have remained current so that various MultiValue implementations now employ object-oriented versions of Data/BASIC, support AJAX frameworks, and because no one needs to use SQL (but some can) with these databases, they fit under the NoSQL umbrella. In fact, MultiValue developers were the first to acquire nosql domain names, likely prior to other database products classifying their offerings as NoSQL as well. MultiValue is a seasoned data model with several vendors competing in the MultiValue space. It has been continuously enhanced over the years.

Data model example edit

In a MultiValue database system:

  • a database or schema is called an "account"
  • a table or collection is called a "file"
  • a column or field is called a field or an "attribute", which is composed of "multi-value attributes" and "sub-value attributes" to store multiple values in the same attribute.
  • a row or document is called a "record" or "item"

Data is stored using two separate files: a "file" to store raw data and a "dictionary" to store the format for displaying the raw data.

For example, assume there's a file (table) called "PERSON". In this file, there is an attribute called "eMailAddress". The eMailAddress field can store a variable number of email address values in a single record. The list [joe@example.com, jdb@example.net, joe_bacde@example.org] can be stored and accessed via a single query when accessing the associated record.

Achieving the same (one-to-many) relationship within a traditional relational database system would include creating an additional table to store the variable number of email addresses associated with a single "PERSON" record. However, modern relational database systems support this multi-value data model too. For example, in PostgreSQL, a column can be an array of any base type.

MultiValue DataBASIC edit

Like the Java programming language, the typical Data/BASIC compiler compiles to P-code, or bytecode, and runs in a P-machine, with jBASE being a notable exception.[citation needed] It has as many different implementations (compilers) as there are MultiValue databases.

Like PHP programming language, the Data/BASIC language does all the typecasting for the programmer.

MultiValue Query Language edit

Known as ENGLISH, ACCESS, AQL, UniQuery, Retrieve, CMQL, and by many other names over the years, corresponding to the different MultiValue implementations, the MultiValue query language differs from SQL in several respects. Each query is issued against a single dictionary within the schema, which could be understood as a virtual file or a portal to the database through which to view the data.

LIST PEOPLE LAST_NAME FIRST_NAME EMAIL_ADDRESSES WITH LAST_NAME LIKE "Van..."

The above statement would list all e-mail addresses for each person whose last name starts with "Van". A single entry would be output for each person, with multiple lines showing the multiple e-mail addresses (without repeating other data about the person).

See also edit

References edit

  1. ^ "ONgroup". www.ongroup.com.
  2. ^ Nelson, Don (1965). "General Information Retrieval Language and System (GIRLS)" (PDF). {{cite journal}}: Cite journal requires |journal= (help)
  3. ^ "Microdata Alumni". www.microdata-alumni.org.
  4. ^ Sisk, Jonathan (1987). PICK BASIC: A Programmer's Guide. Tab Books.
  5. ^ "Home". www.northgate-is.com.
  6. ^ "MultiValue Symbol".
  7. ^ Wolthuis, Dawn (2002). "MultiValue Family Tree" (PDF). {{cite journal}}: Cite journal requires |journal= (help)
  8. ^ "Post-Relational Database Reference".
  9. ^ Nelson, Don (1964). "Generalized Information Retrieval Language and System (GIRLS)" (PDF). {{cite journal}}: Cite journal requires |journal= (help)

External links edit

  • DB-Engines Ranking of Multivalue DBMS by popularity, updated monthly
  • Zeobase: A free multivalue database

multivalue, database, this, article, needs, additional, citations, verification, please, help, improve, this, article, adding, citations, reliable, sources, unsourced, material, challenged, removed, find, sources, news, newspapers, books, scholar, jstor, april. This article needs additional citations for verification Please help improve this article by adding citations to reliable sources Unsourced material may be challenged and removed Find sources MultiValue database news newspapers books scholar JSTOR April 2018 Learn how and when to remove this template message A MultiValue database is a type of NoSQL and multidimensional database typically considered synonymous with PICK a database originally developed as the Pick operating system MultiValue databases include commercial products from Rocket Software Revelation InterSystems Northgate Information Solutions ONgroup 1 and other companies These databases differ from a relational database in that they have features that support and encourage the use of attributes which can take a list of values rather than all attributes being single valued They are often categorized with MUMPS within the category of post relational databases although the data model actually pre dates the relational model Unlike SQL DBMS tools most MultiValue databases can be accessed both with or without SQL Contents 1 History 2 Data model example 3 MultiValue DataBASIC 4 MultiValue Query Language 5 See also 6 References 7 External linksHistory editDon Nelson designed the MultiValue data model in the early to mid 1960s 2 Dick Pick a developer at TRW worked on the first implementation of this model for the US Army in 1965 Pick considered the software to be in the public domain because it was written for the military This was but the first dispute regarding MultiValue databases that was addressed by the courts 3 Ken Simms wrote DataBASIC sometimes known as S BASIC in the mid 1970s It was based on Dartmouth BASIC but had enhanced features for data management Simms played a lot of Star Trek while developing the language in order to have the language function to his satisfaction 4 Three of the implementations of MultiValue PICK version R77 Microdata Reality 5 3 x and Prime Information 1 0 were very similar In spite of attempts to standardize particularly by International Spectrum and the Spectrum Manufacturers Association who designed a logo for all to use 6 there are no standards across MultiValue implementations Subsequently these flavors diverged although with some cross over These streams of MultiValue database development could be classified as one stemming from PICK R83 one from Microdata Reality and one from Prime Information 7 Because of the differences some implementations have provisions for supporting several flavors of the languages An attempt to document the similarities and differences can be found at the Post Relational Database Reference PRDB 8 Marketing groups and others in the industry over the years have classified MultiValue databases as pre relational post relational relational and embedded with detractors often classifying it as legacy It could now be classified as NoSQL With a data model that aligns well with JSON and XML and that permits access with or without the use of SQL One reasonable hypothesis for this data model lasting 50 years 9 with new database implementations of the model even in the 21st century is that it provides inexpensive database solutions Historically with industry benchmarks tied to SQL transactions this has been a difficult hypothesis to test although there are considerable anecdotes of failed attempts to get the functionality of a MultiValue application into a relational database framework In spite of a history of more than 40 years of implementations starting with TRW many in the MultiValue industry have remained current so that various MultiValue implementations now employ object oriented versions of Data BASIC support AJAX frameworks and because no one needs to use SQL but some can with these databases they fit under the NoSQL umbrella In fact MultiValue developers were the first to acquire nosql domain names likely prior to other database products classifying their offerings as NoSQL as well MultiValue is a seasoned data model with several vendors competing in the MultiValue space It has been continuously enhanced over the years Data model example editIn a MultiValue database system a database or schema is called an account a table or collection is called a file a column or field is called a field or an attribute which is composed of multi value attributes and sub value attributes to store multiple values in the same attribute a row or document is called a record or item Data is stored using two separate files a file to store raw data and a dictionary to store the format for displaying the raw data For example assume there s a file table called PERSON In this file there is an attribute called eMailAddress The eMailAddress field can store a variable number of email address values in a single record The list joe example com jdb example net joe bacde example org can be stored and accessed via a single query when accessing the associated record Achieving the same one to many relationship within a traditional relational database system would include creating an additional table to store the variable number of email addresses associated with a single PERSON record However modern relational database systems support this multi value data model too For example in PostgreSQL a column can be an array of any base type MultiValue DataBASIC editLike the Java programming language the typical Data BASIC compiler compiles to P code or bytecode and runs in a P machine with jBASE being a notable exception citation needed It has as many different implementations compilers as there are MultiValue databases Like PHP programming language the Data BASIC language does all the typecasting for the programmer MultiValue Query Language editKnown as ENGLISH ACCESS AQL UniQuery Retrieve CMQL and by many other names over the years corresponding to the different MultiValue implementations the MultiValue query language differs from SQL in several respects Each query is issued against a single dictionary within the schema which could be understood as a virtual file or a portal to the database through which to view the data LIST PEOPLE LAST NAME FIRST NAME EMAIL ADDRESSES WITH LAST NAME LIKE Van The above statement would list all e mail addresses for each person whose last name starts with Van A single entry would be output for each person with multiple lines showing the multiple e mail addresses without repeating other data about the person See also editRocket U2 UniVerse and UniData OpenQM by Ladybridge Systems Reality by Northgate IS Cache by InterSystemsReferences edit ONgroup www ongroup com Nelson Don 1965 General Information Retrieval Language and System GIRLS PDF a href Template Cite journal html title Template Cite journal cite journal a Cite journal requires journal help Microdata Alumni www microdata alumni org Sisk Jonathan 1987 PICK BASIC A Programmer s Guide Tab Books Home www northgate is com MultiValue Symbol Wolthuis Dawn 2002 MultiValue Family Tree PDF a href Template Cite journal html title Template Cite journal cite journal a Cite journal requires journal help Post Relational Database Reference Nelson Don 1964 Generalized Information Retrieval Language and System GIRLS PDF a href Template Cite journal html title Template Cite journal cite journal a Cite journal requires journal help External links editDB Engines Ranking of Multivalue DBMS by popularity updated monthlyZeobase A free multivalue database Retrieved from https en wikipedia org w index php title MultiValue database amp oldid 1095282150, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.