Click here to Skip to main content
15,669,603 members
Articles / Containers / Virtual Machine
Technical Blog
Posted 5 Jul 2010



Migrating OpenInsight(Multivalue) Database to Oracle(RDBMS) -1

Rate me:
Please Sign up or sign in to vote.
5.00/5 (1 vote)
5 Jul 2010CPOL4 min read
A post about how to migrate OpenInsight(Multivalue) Database to Oracle(RDBMS) -1

What’s OpenInsight?

OpenInsight is a repository-based applications development environment that enables development teams to work collaboratively to design, develop, deploy and scale high-performance business solutions on leading messaging and client/server platforms. OpenInsight is a Windows-based application development environment that can reside on either Windows or Linux servers when used in conjunction with our network product Universal Driver 4.5. Arev32, Character to OpenInsight (CTO), the U2 Connector, WebOI and the Bravo Dashboard are all included in OpenInsight 9.0 Server Edition and above. More info.

What’s Multi-Value Database?

MultiValue Databases are a type of multidimensional database, typically considered synonymous with PICK, a database originally developed as the Pick operating system.

An efficient and flexible database technology designed to work in a virtual machine, but one that predates relational (SQL) databases. Current terminology includes multidimensional and post relational.

MultiValue databases differ from traditional relational database in that they have features that support and encourage the use of attributes having a list of values, rather than all attributes having a single value. They are often categorized with MUMPS within the category of post-relational databases, although the data model actually pre-dates the relational model. More info.


Contact hobbies

contactid firstname lastname hobbies
5629SusanNoblehiking, movies
3388ErwinStarhockey, skiing
1911FrankBordersphotography, travel, art
4848HannaDiedrichgourmet cooking

In this case, there are many distinct values entered for it in the same column of the table. This is called a multivalued attribute.

How Is It Different from RDBMS?

Compared to relational (SQL) databases… … MultiValue (MV) has:

  • For each database table (file in MV):
    Each field (attribute in MV) within a record/row (item in MV) can have repeating data elements (values in MV) and each value can have multiple sub-values – for relational databases, each field is fixed to one value.
  • Each attribute, value and sub-value is dynamic in length – for relational databases, each field has a fixed length.
  • A more “natural language like” and efficient built-in enquiry and reporting tool…
    … refer to the MV Query example below for comparison with a relational database.
  • Inbuilt database environment features that typically mean little to no ongoing maintenance – for relational databases, they have always needed dedicated Database Administrators (DBAs). More info.

Multi-Value Database Structure

  • MultiValue is a technology that understands three dimensional data directly. Most applications that use MultiValue technology understand three-dimensional data structures refer to them as Fields, Values, and Subvalues.
  • A field, or column, is the same as it would be in a normalized database.
  • A Value is a further breakdown of a column. For example, in a normalized database there might be columns defined for Address1, Address2, Address3. In a MultiValue database, there would be a definition for a column named Address, and stored in that column would be either one, two, three, or more values. These different values would be delimited by a special character known as a Value Mark.
  • A Subvalue is a further breakdown of a value. For example, if there is a column defined for Phone, and there is a value called Home, there may be two sub values for the home phone number- perhaps the main number and a home office phone number.
  • Another distinct advantage to the MultiValue world is that the tables are extremely flexible. Columns can usually just be added to the database definition and used immediately. There is no need to shut down the database, lock out the users, add the column, and rebuild the database. A new column is simply added to a dictionary and that column is then immediately available.
  • MultiValue databases also have calculated columns. These columns, which actually contain small programs that are run when the fields contents are needed, allow real-time calculation of values. For example, in a MultiValue database, a person’s age wouldn’t be stored, the person’s birth date would be stored. There would be a column named AGE, but it would be a calculated column. The calculation in the column would take the current date, subtract from it the person’s date of birth, and then display the age. More info.



  1. All data and information provided on this page is for informational purposes only. The writings belong to their corresponding authors as mentioned in links and references. The information in this weblog is provided “AS IS” and confers no rights.

  2. The opinions expressed herein are my own personal opinions and do not represent my employer’s view in any way.


No related posts.


This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Written By
India India
I have been programming for last 20 years on various platforms including .NET, Visual Basic 6, Oracle and SQL server.

I decided to write articles when I have free time hoping to share my thoughts with you.

To know more about me visit

Comments and Discussions

GeneralGreat article!!! Pin
Kelly Blue17-Jun-11 20:47
Kelly Blue17-Jun-11 20:47 
Thanks for the post.
I am learning Oracle and MySQL Oracle Example with ready made code examples.

Kelly Blue
University of Technology, Sydney, Australia

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.