|
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.
A relational database management system
(RDBMS) is a program that lets you create, update,
and administer a relational database. Most commercial
RDBMS's use the Structured Query Language (SQL)
to access the database, although SQL was invented
after the development of the relational model
and is not necessary for its use.
Despite repeated challenges by competing
technologies, as well as the claim by some experts
that no current RDBMS has fully implemented relational
principles, the majority of new corporate databases
are still being created and managed with an RDBMS.
The leading RDBMS products are: Oracle,
IBM's DB2 and Microsoft's SQL Server.
DBMS
A database management system (DBMS) is computer
software designed for the purpose of managing
databases. Typical examples of DBMSs include Oracle,
DB2, Microsoft Access, Microsoft SQL Server, PostgreSQL,
MySQL, FileMaker and Sybase Adaptive Server Enterprise.
DBMSs are typically used by Database administrators
in the creation of Database systems.
DBMS includes:
A modeling language to define the
schema of each database hosted in the DBMS, according
to the DBMS data model.
The four most common types of organizations are
the hierarchical, network, relational and object
models. Inverted lists and other methods are also
used. A given database management system may provide
one or more of the four models. The optimal structure
depends on the natural organization of the application's
data, and on the application's requirements (which
include transaction rate (speed), reliability,
maintainability, scalability, and cost).
The dominant model in use today is the ad hoc
one embedded in SQL, despite the objections of
purists who believe this model is a corruption
of the relational model, since it violates several
of its fundamental principles for the sake of
practicality and performance. Many DBMSs also
support the Open Database Connectivity API that
supports a standard way for programmers to access
the DBMS.
Data structures (fields, records, files and objects)
optimized to deal with very large amounts of data
stored on a permanent data storage device (which
implies relatively slow access compared to volatile
main memory).
A database query language and report writer to
allow users to interactively interrogate the database,
analyze its data and update it according to the
users privileges on data.
It also controls the security of the database.
Data security prevents unauthorized users from
viewing or updating the database. Using passwords,
users are allowed access to the entire database
or subsets of it called subschemas. For example,
an employee database can contain all the data
about an individual employee, but one group of
users may be authorized to view only payroll data,
while others are allowed access to only work history
and medical data.
If the DBMS provides a way to interactively enter
and update the database, as well as interrogate
it, this capability allows for managing personal
databases. However, it may not leave an audit
trail of actions or provide the kinds of controls
necessary in a multi-user organization. These
controls are only available when a set of application
programs are customized for each data entry and
updating function.
A transaction mechanism, that ideally would guarantee
the ACID properties, in order to ensure data integrity,
despite concurrent user accesses (concurrency
control), and faults (fault tolerance).
It also maintains the integrity of the data in
the database.
The DBMS can maintain the integrity of the database
by not allowing more than one user to update the
same record at the same time. The DBMS can help
prevent duplicate records via unique index constraints;
for example, no two customers with the same customer
numbers (key fields) can be entered into the database.
See ACID properties for more information (Redundancy
avoidance).
The DBMS accepts requests for data from the application
program and instructs the operating system to
transfer the appropriate data.
When a DBMS is used, information systems
can be changed much more easily as the organization's
information requirements change. New categories
of data can be added to the database without disruption
to the existing system.
Organizations may use one kind of
DBMS for daily transaction processing and then
move the detail onto another computer that uses
another DBMS better suited for random inquiries
and analysis. Overall systems design decisions
are performed by data administrators and systems
analysts. Detailed database design is performed
by database administrators.
Database servers are specially designed
computers that hold the actual databases and run
only the DBMS and related software. Database servers
are usually multiprocessor computers, with RAID
disk arrays used for stable storage. Connected
to one or more servers via a high-speed channel,
hardware database accelerators are also used in
large volume transaction processing environments.
DBMS's are found at the heart of most
database applications. Sometimes DBMSs are built
around a private multitasking kernel with built-in
networking support although nowadays these functions
are left to the operating system.
Advantages
of DBMS
Backup and replication:
Copies of attributes need to be made regularly
in case primary disks or other equipment fails.
A periodic copy of attributes may also be created
for a distant organization that cannot readily
access the original. DBMS usually provide utilities
to facilitate the process of extracting and disseminating
attribute sets.
When data is replicated between database servers,
so that the information remains consistent throughout
the database system and users cannot tell or even
know which server in the DBMS they are using,
the system is said to exhibit replication transparency.
Rule enforcement:
Often one wants to apply rules to attributes so
that the attributes are clean and reliable. For
example, we may have a rule that says each car
can have only one engine associated with it (identified
by Engine Number). If somebody tries to associate
a second engine with a given car, we want the
DBMS to deny such a request and display an error
message. However, with changes in the model specification
such as, in this example, hybrid gas-electric
cars, rules may need to change. Ideally such rules
should be able to be added and removed as needed
without significant data layout redesign.
Security:
Often it is desirable to limit who can see or
change which attributes or groups of attributes.
This may be managed directly by individual, or
by the assignment of individuals and privileges
to groups, or (in the most elaborate models) through
the assignment of individuals and groups to roles
which are then granted entitlements.
Computation:
There are common computations requested on attributes
such as counting, summing, averaging, sorting,
grouping, cross-referencing, etc. Rather than
have each computer application implement these
from scratch, they can rely on the DBMS to supply
such calculations.
Change and access logging:
Often one wants to know who accessed what attributes,
what was changed, and when it was changed. Logging
services allow this by keeping a record of access
occurrences and changes.
Automated optimization:
If there are frequently occurring usage patterns
or requests, some DBMS can adjust themselves to
improve the speed of those interactions. In some
cases the DBMS will merely provide tools to monitor
performance, allowing a human expert to make the
necessary adjustments after reviewing the statistics
collected.....
Meta-data repository
Database:
A database is a collection of information
that is organized so that it can easily be accessed,
managed, and updated. In one view, databases can
be classified according to types of content: bibliographic,
full-text, numeric, and images.
In computing, databases are sometimes classified
according to their organizational approach. The
most prevalent approach is the relational database,
a tabular database in which data is defined so
that it can be reorganized and accessed in a number
of different ways. A distributed database is one
that can be dispersed or replicated among different
points in a network. An object-oriented programming
database is one that is congruent with the data
defined in object classes and subclasses.
Computer databases typically contain
aggregations of data records or files, such as
sales transactions, product catalogs and inventories,
and customer profiles. Typically, a database manager
provides users the capabilities of controlling
read/write access, specifying report generation,
and analyzing usage. Databases and database managers
are prevalent in large mainframe systems, but
are also present in smaller distributed workstation
and mid-range systems such as the AS/400 and on
personal computers. SQL (Structured Query Language)
is a standard language for making interactive
queries from and updating a database such as IBM's
DB2, Microsoft's Access, and database products
from Oracle, Sybase, and Computer Associates.
|