Relational Database Model

931 Words2 Pages

Comparing and Contrasting the Relational Database Model and OO Model
The relational database model is based upon tables or relations. In this model, the physical implementation of the database is abstracted away from the user. Users query the database using a high-level query language, such as SQL. The relations are made up of columns, which have headings indicating the attribute represented by that column. Tables have key fields, which can be used to identify unique records. Keys relate tables to each other. The rows of the relation are also called tuples, and there is one tuple component for each attribute – or column – in that relation. A relation or table name, along with those relation’s attributes, make up the relational schema. Relational Database models are server-centric.
When designing a Relational Database, you must create a table for each entity type, choose or invent a primary key for each table; add foreign keys to represent one-to-many relationships; create new tables to represent many-to-many relationships; define referential integrity constraints; evaluate schema quality and make necessary improvements; and choose appropriate data types and value restrictions for each field (if necessary).
The real power of relational systems lies in the ability to perform complex queries over the data. Relational systems are well understood, and can be highly optimized in terms of queries, scalability, and storage. There is a uniqueness of table rows and primary keys, as well as ease of implementing future data model changes – flexibility and maintainability. To build an effective and efficient application in the relational model, the developer must have a comprehensive knowledge of the tables, and any relationships among them.
Object oriented database management systems are viewed as an alternative approach to meeting the demands of more complex data types. The need to handle complex object-centric data as the main data element is the driving force behind Object Oriented database models. These systems attempt to extend Object Oriented programming languages, techniques, and tools to provide a means to support data management tasks. Object Oriented models are client centric. Object Oriented databases uses attributes containing object identifiers to find objects that are related to other objects.
When designing an Object Oriented model, you must first determine which classes require persistent storage; define persistent classes; represent relationships among persistent classes; and choose appropriate data types and value restrictions for each field.
Object Oriented database models approach from the opposite direction (a programming language itself) to solve the problem of handling complex data types.

More about Relational Database Model

Open Document