Developing a Database Management System

Valid XHTML 1.0!

Developing a Database Management System

Developing a Database Management System (DBMS) is a process of deciding which is best for the particular database. This is a question that is the basis of database design. The five database architectures that are in existence are the Hierarchical database model, Network database model, Relational database model, Object-oriented database model, and Multidimensional database model, respectively.

The Hierarchical database model that arranges its files in a pyramid or trees fashion. It arranges the files from the top down, where the top is root, and the proceeding is just intermediate type branch files, and the bottom files are known as leaves. The organization could be better described like a family tree. The Hierarchical database model is an old model that is seldom used today. It exceeds at high-volume processing, but deters, as new models are more versatile. To create a data structure assigned the name 'drug'; the following script example would create it: set |drg = 'drug'.

The Network database model is also an archaic DBMS. It is very versatile in its functions. But tends to be very slow, from the pointers it uses to relate similar files together. This also will require high amounts of storage space and maintenance time. A network data structure can be regarded as an extended form of the hierarchic data structure. The principal distinction between the two being that in a hierarchic structure, a child record has exactly one parent whereas in a network structure, a may have thousands of boxes. The Network database model is still very popular today. Its set backs are that it requires a lot of programming, database design knowledge, and time. But it does give advantages to organizations that have the technological expertise.

The most popular data base model is the Relational database model. It uses primary keys and foreign keys to reference other rows in a database. Relational database is based on branches of mathematics including set theory, relational algebra and relational calculus. It requires data to have a simplified structure, at least to first normal form (1NF), preferably at least 3NF. Some criticisms of the Relational Database Model are that it is inefficient, there is inadequate semantic support, and there is no formal support for multimedia. The Relational database uses the Structured Query Language (SQL).

The Object-oriented database model is another of the modern database applications. It is the newest of the database architectures. In this model, attributes and methods that operate on those attributes are encapsulated in structures called object classes. Relationships between object nesting or encapsulating one object within another shows classes. The major advantage with the Object-oriented database model is that it supports complex, video, and sound data as well as simple forms of data. Unfortunately it doesn't presently have a broad area of usage. It uses a lot of C++ language and is dubbed using Vervant Software. Consequently, large organizations are just getting some experience using this with complex and event-driven programming.

The application that is used in data warehousing is the Multidimensional database model. This database has two equivalent ways of viewing data. First it views data in a multidimensional fashion. It has each cell contain simpler attributes and the dimensions are ways to categorize the raw data. The second way it uses to view data is with a star schema. At the center is a fact table, equivalent to the cell in the multidimensional view. This table contains all the raw attributes and a composite key made up of the primary keys of all the surrounding dimensions. The surrounding dimension table defines each of the processes of categorizing data. The Multidimensional database's key issue is that it identifies in advance the lowest common denominator of data, and also the dimensions or categories by which the users wants to recapitulate the raw facts.


Sources

Hierarchial Database Model. http://www.cs.pitt.edu/~chang/156/14hier.html
Network model overview. http://www.compapp.dcu.ie/databases/f033.html
Introduction to Relational Database. http://ironbark.ucnv.edu.au/staff/olle/subject/database/lecture/intreldb.html
Jose's Database Programming Corner: The Relational Database Model. http://www.citilink.com/~jgarrick/vbasic/database/rdbms.html
McFadden/Hoffer/Prescott (1999). Modern Database Management. Reading, Massachusetts.

Next »




Updated: July 21, 2003; Joe Gakenheimer