Friday, January 6, 2012

Database Models

Flat-File  Database Model

  • ideal for small amounts of data
  • human readable or edited by hand
  • good for simple lists
  • more costly in time and processing power
  • data split up using a common delimiter like comma or TAB
  • one line per records
  • very prone to corruption
  • no inherent locking mechanisms

Relational Database Model

  • MySQL, Microsoft SQL Server ,  Oracle, Access , Portgress SQL 
  • Tables represent real world objects, 
  • each field is an attribute of the object
  • table - students
  • field - firstname. lastname, Class, Age, Village
  • record- Nimal, Perera, 12A, 17, Penideniya

  • tables can be linked to each other (students --> subjects  , subjects > teachers,  students ---> marks <----Subjects <---- Teachers
  • databases designed efficiently
  • no duplication of any data; 
  • maintain database integrity.
  • Can be huge saving in file size, 
  • deals with large volumes of data. 
  • have  "built in" functions to help retrieve, sort and edit the data 
  • RDBMS - relational database management system
  • developed by E.F. Codd. 
  • A relational database allows the definition of data structures, storage and retrieval operations and integrity constraints. 
  • data and relations between them are organised in tables. 
  • A table is a collection of records and each record in a table contains the same fields. 
  • based on the Relational Algebra and set theory

Hierarchical  Database Model
  • Organizes data in a tree structure (parent and child data)
  • Data in a series of records, which have a set of field values attached to it. 
  • have record types. These record types are the equivalent of tables in the relational model,
  • individual records is the equivalent of rows. 
  • To create links between these record types,uses Parent Child Relationships. 
  • 1:N mapping between record types. 
  • uses Binary trees, like 

  • an organization  stores information on an employee ( name, employee number, department, salary) 
  • an store information about an employee's children, (name and date of birth)
  • The employee and children data forms a parent, child hierarchy
  • If an employee has three children, three child segments associated with one employee segment.
  • restricts a child segment to having only one parent segment. 
  • popular in late 1960s - 1970s.  (IBM)

Network Database

  • Some data modeled with more than one parent per child. 
  • permitts modeling of many-to-many relationships in data.
  • The data model is a simple network 
  • The CODASYL network model is based on mathematical set theory. 

Object/Relational Databases

  •  adds new object storage capabilities to the relational systems at the core of modern information systems. 
  • to integrate management of traditional fielded data with complex objects 
  • (geospatial data, audio, video, images, and applets)
  •  tabular structures and data definition languages (DDLs) w
  • SQL3, ODBC, JDBC (IBM, Informix, Sun and Oracle )

Object-Oriented Database Model

  • adds database functionality to object programming languages. 
  • useful when we have complex relationships between data
  • C++, Smalltalk and Java 
  • The power of the OODB comes from persistent data in databases, and transient data in executing programs.
  • object DBMSs have no performance overhead to store or retrieve interrelated objects.
  • mapping of object programming language objects to database objects 
  • provides higher performance
  • better management of the complex interrelationships between objects. 
  • financial portfolio risk analysis systems
  • telecommunications service applications
  • world wide web document structures, 
  • design and manufacturing systems
  • hospital patient record systems 

1 comment: