Database Management System Lecture 3 Models of Database Management Systems Learning Outcome • Compare and contrast the structure of different database management systems • Define hierarchical databases • Define network databases • Define relational databases • Define object-oriented databases List of Topic Hierarchical Databases • The hierarchical data model organizes data in a tree structure (as shown in the Figure) which includes parents and child data segments. Hierarchical Databases (Cont.) • Hierarchical databases were introduced by IBM in the 1960s with the introduction of their IMS DBMS and were popular until the 1970s • It is one of the oldest methods of organizing and storing data Hierarchical Databases (Cont.) • A hierarchical database is organized in pyramid fashion, like the branches of a tree extending downwards • Related fields or records are grouped together so that there are higher-level records and lower-level records Network Databases Model Network Databases Model (Cont) • The network data model was formally defined in 1971 at the Conference on Data Systems Languages (CODASYL). • It is a modified version of the hierarchical model described with the one-to-many parentchild relationship constraint relaxed allowing many-to-many relationships in data Network Databases Model (Cont) • a network database looks more like a cobweb or interconnected network of records • child or member can have more than one parent (or owner). First Generation DBMS: Network and Hierarchical • Required complex programs for even simple queries. Minimal data independence Relational Data Model Relational Data Model (Cont.) • The most widely used data model in DBMSs • It was developed by E. F. Codd at IBM in 1970. • Data in a relational data model is organised in tables. • Each table is composed of a collection of records. Relational Data Model (Cont.) • Each record contains a set of fields. • Tables in a database can have relationships between them. • Each row in a table is unique with no two rows or more having the same values in all its fields Relational Data Model (Cont.) Relational Data Model (Cont.) • Tuple / Row • A single row in the table is called as tuple. Each row represents the data of a single entity. • Attribute / Column • A column stores an attribute of the entity. For example, if details of students are stored then student name is an attribute; course is another attribute and so on. Relational Data Model (Cont.) • Column Name • Each column in the table is given a name. This name is used to refer to value in the column • Table Name • Each table is given a name. This is used to refer to the table. The name depicts the content of the table Object-oriented Databases (OODBMS) Object-oriented Databases (OODBMS) (Cont.) • An OODBMS is the result of combining object oriented programming principles with database management principles. . Object-oriented Databases (OODBMS) (Cont.) • One-to-one mapping between object-oriented programming objects and database objects is achieved in OODBs. • Thus, less overhead can be achieved when storing and retrieving database objects by object-oriented applications Object-oriented Databases (OODBMS) (Cont.) • able to handle many new data types, including graphics, photographs, audio, and video • an object-oriented database can be used to store data from a variety of media sources, such as photographs and text, and produce work, as output, in a multimedia format. Object-oriented Databases (OODBMS) (Cont.) • Object-oriented databases use small, reusable chunks of software called objects • The objects themselves are stored in the object-oriented database Object-oriented Databases (OODBMS) (Cont.) • Each object consists of two elements: 1) a piece of data (e.g., sound, video, text, or graphics) 2) the instructions, or software programs called methods, for what to do with the data Object-oriented Databases (OODBMS) (Cont.) • The instructions contained within the object are used to do something with the data in the object • For example, test scores would be within the object as would the instructions for calculating average test score Object-oriented Databases (OODBMS) (Cont.) • Object-oriented databases have two disadvantages 1) they are more costly to develop 2) most organizations are reluctant to abandon or convert from those databases that they have already invested money in developing and implementing Object-oriented Databases (OODBMS) (Cont.) • benefits to object-oriented databases are • The ability to mix and match reusable objects provides incredible multimedia capability • Healthcare organizations, for example, can store, track, and recall CAT scans, X-rays, electrocardiograms and many other forms of crucial data. Summary • In this lesson, the following topics were discussed: • Compare and contrast the structure of different database management systems. • Define hierarchical databases. • Define network databases. • Define relational databases. • Define object-oriented databases.