Monday 7 November 2016

Relational Database Management System (RDBMS)

A relational database management system (RDBMS) is a database management system (DBMS) that is based on the relational model as introduced by E. F. Codd. Most popular commercial and open source databases currently in use are based on the relational database model. A short definition of an RDBMS may be a DBMS in which data is stored in the form of tables and the relationship among the data is also stored in the form of tables.
Historical usage of the term: . F. Codd introduced the term in his seminal paper "A Relational Model of Data for Large Shared Data Banks", published in 1970. In this paper and later papers he defined what he meant by relational. One well-known definition of what constitutes a relational database system is Codd's 12 rules. However, many of the early implementations of the relational model did not conform to all of Codd's rules, so the term gradually came to describe a broader class of database systems. At a minimum, these systems:
  • presented the data to the user as relations (a presentation in tabular form, i.e. as a collection of tables with each table consisting of a set of rows and columns, can satisfy this property)
  • provided relational operators to manipulate the data in tabular form
The first systems that were relatively faithful implementations of the relational model were from the University of Michigan; Micro DBMS (1969) and from IBM UK Scientific Centre at Peterlee; IS1 (1970–72) and its followon PRTV (1973–79). The first system sold as an RDBMS was Multics Relational Data Store, first sold in 1978. Others have been Berkeley Ingres QUEL and IBM BS12.
The most popular definition of an RDBMS is a product that presents a view of data as a collection of rows and columns, even if it is not based strictly upon relational theory. By this definition, RDBMS products typically implement some but not all of Codd's 12 rules. A second, theory-based school of thought argues that if a database does not implement all of Codd's rules (or the current understanding on the relational model, as expressed by Christopher J Date, Hugh Darwen and others), it is not relational. This view, shared by many theorists and other strict adherents to Codd's principles, would disqualify most DBMSs as not relational. For clarification, they often refer to some RDBMSs as Truly-Relational Database Management Systems (TRDBMS), naming others Pseudo-Relational Database Management Systems (PRDBMS). As of 2009, most commercial relational DBMSes employ SQL as their query language. Alternative query languages have been proposed and implemented, notably the pre-1996 implementation of Berkeley Ingres QUEL.

Market structure: While relational database systems remain the dominant choice for both transactional and analytical applications, newer structures are competing with RDBMSs in data warehouse applications including column-oriented and correlation database systems.

RDBMS Concepts
There are following concepts of Relational Database Management System (RDBMS):

a) File Manager: The allocation of space on the disk and the way that the data is organized and represented in storage.

b) Database Manager: This component act as an interface between the users and the data in the database.

c) Query Optimizer: It supports the optimization of complex queries involving nested queries or joins.

d) Data Dictionary: Stores information about data.

e) DML Precompiler: Contains information about the files created and other such information.

f) DDL Compiler: Contains information about the files created and other such information.

Life Cycle
The life cycle of a relational database is the cycle of development and changes that a relational database goes through during the course of its life. The cycle typically consists of several stages. There is a possibility that the database designer/developer can go back to any of the previous stages. This represents an admission that a full understanding of a problem and its solution is likely to evolve as the various stages of design and implementation proceed.

Process: The typical eleven stages involved in the life cycle of a relational database are as follows:
  1. The designer must try to obtain as complete as possible an understanding of the real world problem that is going to be helped by the introduction of a database. This understanding of the nature of the problem and the constraints and outline feasible solutions is often performed using some systems analysis methodology.
  2. The entity relationship diagram is drawn, and this diagram in its modified form serves as an essential part of the logical schema. Attributes of the entity types so produced are then added. Primary and foreign keys are specified.
  3. Normalization is used to check the entity-relationship model. Some splitting and even recombination of entity types may result from normalization and the entity relationship model will have to be updated accordingly. The entity relationship model and the table definitions resulting from normalization should be consistent.
  4. Set of Table(s) definition for the required schema is finalized.
  5. The database tables are created. Primary, Foreign keys, database constraints and database integrity rules are specified at this stage.
  6. At this stage, the file organization is performed. File organization is the way the database relations are to be stored on the storage medium. The file organization is decided on the basis of maximum speed of access, the type of access required and storage space considerations. There are two factors to consider; firstly how the records are to be physically mapped onto the storage medium, and secondly which indexes are to be used and if so, which fields (attributes, columns) are to be indexed. Indexes are designed to increase the speed of access to required records. Views can also be defined at this stage. Views are used to limit access to parts of database only, when used in conjunction with access privileges. Views also make programming simpler.
  7. The designer will be able to design the required queries at this stage. The designer should have a good idea of the main types of query and reports the database will have to accommodate.
  8. At this stage, application screens are designed. The application screens are used to capture the input information that will be kept in the database. Screen design is partially determined by the data items that must be input and output by particular applications and partially in human-computer interface terms. When designing screens, special consideration is given to the suggestions given by the application end users. There are published standards which can be exactly followed for screens design or organization can develop their own screen design standards as per their requirements.
  9. Report design is another area where input from users is paramount. They will specify what they want to see on the reports and the format of the reports and in the case of regular reports, when they should be produced. Nowadays most of the application design tools provide easy to use friendly tools for quick reports development. e.g. report builder in Oracle, Crystal Reports, R&R Report Writer etc.
  10. Testing is performed at this stage. Application screens, various functions offered by the application screens, data validations through screens and reports are tested and it serves as the ultimate test of the correctness of the database schema and the viability of the system as a whole. It is recommended to create a test database separate of the production database. The test database will be useful for testing any schema changes and new and modified application before applying the changes to the production (live) database. Careful testing of the system before handover will minimize the expense of later modifications to the schema and major applications.
The final stage is Handover. This is the stage where the users receive the finished database and applications and begin data entry. In practice, it is likely that the core of the system will be handed over to users and later extensions to the system will be implemented. 

No comments:

Post a Comment