Category: 

What Is a Relational Model?

Article Details
  • Written By: Jo Dunaway
  • Edited By: S. Pike
  • Last Modified Date: 29 September 2016
  • Copyright Protected:
    2003-2016
    Conjecture Corporation
  • Print this Article
Free Widgets for your Site/Blog
Roughly one-fifth of the world's stock of gold - worth over $200 billion USD - is stored under the streets of London.  more...

September 30 ,  1949 :  The Berlin Air Lift ended.  more...

The relational model is a simple, yet concise, framework for storage, retrieval and database management, and as of 2011, it is the most widely used framework in use by databases for the last 40 years. The first actual use of the database model was in 1969, when its founder, Dr. Edgar F. Codd, wrote a report for his employer, IBM, and used the basic structure of relational model to develop his report. The report was received with amazement. Dr. Codd was promptly enabled to fully flesh out not only the basic structure, but also the operations of what was to become Relational Model for databases. A query language, structured query language (SQL) was built around the relational model for use in querying data in relational databases built on the framework.

Ad

All programmers and program developers are educated in the relational model's concepts and operations and can program around its structure. As a relational model uses predicate logic in a declarative method and is based upon mathematical terms of a two-way logic of true and false, any data related by this logic is subsequently operated on by relational calculus and relational algebra. These mathematical operations make data not only easily queried, but also easily updated by means of a few steps in adding a row to a table. Using variables to quantify information with data values, the relational model also uses specific keys to apply constraints upon the use and querying of information. From the beginning, Dr. Codd used attributes to specify data types, and consistency was built into the relational model, which has encouraged it to become the most widely evolved database management tool.

In operation, information in a relational model database becomes broken down into small components allowable for restructuring in many ways to form bigger pictures, depending upon the variables queried in relation to the data and linking up many of the smaller components in relation to each other. These small components are called entities and organized in a table of columns and rows. Information can be entered using any format and is stored based on a set of logic rules following specified design principles. Unique keys identify entities and preserve referential integrity and, thus, a query will always find the same result as there is no duplication of information. As this structure makes the relational database so flexible, programmers can write for the database to be accessible to multiple divergent applications.

Many commercial and open source products have been built around the relational model since the late 1960s and most use the SQL query language to correspond to the predicate logic components in a relational database. Though it is not necessary to use all of the features of SQL, which is capable of three-value logic, nevertheless it can easily query a relational database. There are at least 30 languages other than SQL, however, that are capable of database management and querying of a relational database. SQL was merely the first language used with the initial relational model database developed.

Ad

You might also Like

Recommended

Discuss this Article

Post your comments

exception 'Exception' with message 'error writing captcha: Duplicate entry '2147483647' for key 'PRIMARY'' in /ssd/www/wisegeek/public_html/_core/classes/public/Captcha.php:44
Stack trace:
#0 /ssd/www/wisegeek/public_html/_core/controls/public/ControlDiscussionPostBox.php(324): Captcha->createCaptcha()
#1 /ssd/www/wisegeek/public_html/framework/classes/Control.php(104): ControlDiscussionPostBox->preRender(false)
#2 /ssd/www/wisegeek/public_html/framework/classes/Control.php(149): Control->render()
#3 /ssd/www/wisegeek/public_html/tpl/default-nocustom-lu/pages/public/article/article.htm(526): Control->__toString()
#4 /ssd/www/wisegeek/public_html/framework/classes/Control.php(300): require('/ssd/www/wisege...')
#5 /ssd/www/wisegeek/public_html/framework/classes/Control.php(309): Control->requireTpl('pages/public/ar...', Object(PageArticleCom), true)
#6 /ssd/www/wisegeek/public_html/framework/classes/Control.php(131): Control->renderTpl('pages/public/ar...', Object(PageArticleCom))
#7 /ssd/www/wisegeek/public_html/framework/classes/FormDataControl.php(87): Control->renderTemplate()
#8 /ssd/www/wisegeek/public_html/framework/classes/Control.php(109): FormDataControl->renderTemplate()
#9 /ssd/www/wisegeek/public_html/framework/classes/ScriptPage.php(50): Control->render(false)
#10 /ssd/www/wisegeek/public_html/framework/classes/Control.php(149): ScriptPage->render()
#11 /ssd/www/wisegeek/public_html/framework/classes/Page.php(97): Control->__toString()
#12 /ssd/www/wisegeek/public_html/_core/classes/public/PublicFrontController.php(443): Page->processRequest()
#13 /ssd/www/wisegeek/public_html/_core/classes/public/PublicFrontController.php(7): PublicFrontController->renderPage()
#14 /ssd/www/wisegeek/public_html/index.php(11): PublicFrontController::run()
#15 {main}