A database is an integrated collection of logically related records or files which consolidates
records into a common pool of data records that provides data for many applications. A database is a collection of information that is organized so that it can easily be accessed, managed, and updated.
A Database Management System (DBMS) is software that organizes the storage of data. It controls
the creation, maintenance, and the use of the database tables of an organization and its end users. It allows organizations to place control of organization wide database development in the hands of Database Administrators (DBAs) and other specialist. In large systems, a DBMS allows users and other software to store and retrieve data in a structured way.
Database management systems are categorized according to the database models that they support,
such as the network model or relational model. The model tends to determine the query languages
that are available to access the database. One commonly used query language is SQL, although SQL
syntax and function can vary from one DBMS to another. A great deal of the internal engineering
of a DBMS, is independent of the data model, and is concerned with managing factors such as
performance, concurrency, integrity, and recovery from hardware failures. In these areas there
are large differences between products.
Database Management System`s Components
- Interface Drivers - A user or application program shall initiate either schema modification
or content modification. These drivers are built on top of SQL. They provide methods to prepare
statements execute statements, fetch results, etc. Examples: DDL, DCL, DML, ODBC, and JDBC. Some
vendors provide language specific proprietary interfaces. For example MySQL provides drivers for
PHP, Python, etc.
- SQL Engine - This component is responsible for interpreting and executing the SQL query.
It comprises of three major components
- Transaction Engine - Transactions are sequence of operations that
read or write database elements, which are grouped together.
- Relational Engine - Relational objects such as Table, Index, and Referential integrity constraints are
implemented in this component.
- Storage Engine - This component is responsible to store and retrieve data records. It also provides mechanism to store Meta data information and
control information such as undo logs, redo logs, lock tables, etc.
Primary Tasks of DBMS Packages
- Database Development - It is used to define and organize the content,
relationships, and structure of the data needed to build a database.
- Database Interrogation - It can access the data in a database for information retrieval and report generation.
End users can selectively retrieve and display information and produce printed reports and documents.
- Database Maintenance - It is used to add, delete, update, correct, and protect the data in a database.
- Application Development - It is used to develop prototypes of data entry screens, queries, forms, reports,
tables, and labels for a prototyped application. Or use 4GL or 4th Generation Language or application generator
to develop program codes.
Types of Databases
Operational Database
These databases store detailed data needed to support the operations of the entire organization. They are also called Subject Area
Databases (SADB), Transaction Databases, and Production Databases.
- Customer Databases
- Personal Databases
- Inventory Databases
- Analytical Database
These databases stores data and information extracted from selected operational and external databases. They consist of summarized data
and information most needed by an organizations manager and other end user. They may also be called multidimensional database,
Management database, and Information database.
Data Warehouse
It stores data from current and previous years that has been extracted from the various operational databases of an organization.
It is the central source of data that has been screened, edited, standardized and integrated so that it can be used by managers and other
end user professionals throughout an organization.
Distributed Database
These are databases of local work groups and departments at regional offices, branch offices, manufacturing plants and other work sites.
These databases can include segments of both common operational and common user databases, as well as data generated and used only at a
user’s own site.
End-User Database
These databases consist of a variety of data files developed by end-users at their workstations. Examples of these are collection of
documents in spreadsheets, word processing and even downloaded files.
External Database
These databases where access to external, privately owned online databases or data banks is available for a fee to end users and
organizations from commercial services. Access to a wealth of information from external database is available for a fee from commercial
online services and with or without charge from many sources in the internet.
Hypermedia Databases on the Web
These are set of interconnected multimedia pages at a web-site. It consists of home page and other hyperlinked pages of multimedia or mixed
media such as text, graphic, photographic images, video clips, audio etc.
Navigational database
Traditionally navigational interfaces are procedural, though one could characterize some modern systems like XPath as being
simultaneously navigational and declarative.
In-Memory Databases
It is a database management system that primarily relies on main memory for computer data storage. It is contrasted with database management
systems which employ a disk storage mechanism. Main memory databases are faster than disk-optimized databases since the internal optimization
algorithms are simpler and execute fewer CPU instructions. Accessing data in memory provides faster and more predictable performance than
disk. In applications where response time is critical, such as telecommunications network equipment that operates 9-1-1 emergency systems,
main memory databases are often used.
Document-oriented databases
database or an object database. As opposed to relational databases, document-based databases do not store data in tables with uniform sized
fields for each record. Instead, each record is stored as a document that has certain characteristics. Any number of fields of any length
can be added to a document. Fields can also contain multiple pieces of data.
Real-time databases
It is a processing system designed to handle workloads whose state is constantly changing. This differs from traditional databases
containing persistent data, mostly unaffected by time. For example, a stock market changes very rapidly and is dynamic. Real-time processing
means that a transaction is processed fast enough for the result to come back and be acted on right away. Real-time databases are useful
for accounting, banking, law, medical records, multi-media, process control, reservation systems, and scientific data analysis. As computers
increase in power and can store more data, they are integrating themselves into our society and are employed in many applications.
Security
Database Security denotes the system, processes, and procedures that protect a database from unintended activity.Security is usually
enforced through access control, auditing, and encryption.
- Access control ensures and restricts who can connect and what can be done to the database.
- Auditing logs what action or change has been performed, when and by whom.
Encryption
Since security has become a major issue in recent years, many commercial database vendors provide built-in encryption
mechanisms. Data is encoded natively into the tables and deciphered "on the fly" when a query comes in. Connections can also be secured
and encrypted if required using DSA, MD5, SSL or legacy encryption standard. Enforcing security is one of the major tasks of the DBA.
Applications of Databases
Databases are used in many applications, spanning virtually the entire range of computer software. Databases are the preferred method
of storage for large multiuser applications, where coordination between many users is needed. Even individual users find them convenient,
and many electronic mail programs and personal organizers are based on standard database technology. Software database drivers are
available for most database platforms so that application software can use a common Application Programming Interface to retrieve the
information stored in a database. Two commonly used database APIs are JDBC and ODBC.
More Services