Click here to Skip to main content
13,740,700 members
Click here to Skip to main content
Add your own
alternative version

Stats

9.7K views
Posted 5 Jul 2010
Licenced CPOL

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

, 5 Jul 2010
Rate this:
Please Sign up or sign in to vote.
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.

Example:

Contact hobbies

contactid</th /> firstname</th /> lastname</th /> hobbies</th />
1639GeorgeBarnesreading
5629SusanNoblehiking, movies
3388ErwinStarhockey, skiing
5772AliceBuck
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.

References

Disclaimer

  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.

Share/Bookmark

No related posts.

License

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

Share

About the Author

Sabarinathan A
Architect
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 http://sabarinathanarthanari.com

You may also be interested in...

Pro

Comments and Discussions

 
GeneralGreat article!!! Pin
Kelly Blue17-Jun-11 20:47
memberKelly Blue17-Jun-11 20:47 

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.

Permalink | Advertise | Privacy | Cookies | Terms of Use | Mobile
Web05-2016 | 2.8.180920.1 | Last Updated 5 Jul 2010
Article Copyright 2010 by Sabarinathan A
Everything else Copyright © CodeProject, 1999-2018
Layout: fixed | fluid