Compare and Contrast Between Relational Database Model and OO Model Relational database model is based on tables or relationships. In this model, the physical implementation of the database is taken away from the user. Users query the database using a high-level query language, such as SQL. Relationships are made up of columns, which have headers that indicate the attribute represented by that column. Tables have key fields that can be used to identify unique records. Keys relate tables to each other. The rows of the relationship are also called tuples, and there is a tuple component for each attribute – or column – in that relationship. A relationship or table name, along with the attributes of that relationship, make up the relational schema. Relational database models are server-centric. When designing a relational database, you need to 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 the quality of the scheme and make necessary improvements; and choose appropriate data types and value restrictions for each field (if necessary). The true power of relational systems lies in the ability to execute complex queries on data. Relational systems are well understood and can be highly optimized in terms of querying, scalability, and storage. There is a uniqueness of the table rows and primary keys, as well as the ease of implementing future changes to the data model: flexibility and maintainability. To build an effective and efficient application in the relational model, the developer must have complete knowledge of the tables and all the relationships between them. Object-oriented database management systems are seen as an alternative approach to meeting the needs of more complex data types. The need to handle complex object-centric data as the primary 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 customer-centric. Object-oriented databases use 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 between 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.
tags