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:
- 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.
- 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.
- 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.
- Set of Table(s) definition for the required schema
is finalized.
- The database tables are created. Primary, Foreign
keys, database constraints and database integrity rules are
specified at this stage.
- 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.
- 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.
- 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.
- 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.
- 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