A DBMS stands for database management system and presents a logical, structured organization on data. It can be based on several different models of data: Hierarchical, Network, Relational, or Object-oriented. Multiple users are managed for data access. It provides access from multiple locations and with multiple applications. A DBMS provides the following advantages:
- Data security - Provides data access to authenticated users only. ID and password protection control the database. Also, portions of the database can be given to certain users that others may not.
- Data independence - Provides security or insulation between actual data and the application that uses it. The data can change without programs needed to be changed. This is provided by the API, such as SQL.
- Data integrity - Defines the type of data to be used in fields. A DBMS can manage relationships between data types.
- Locking Mechanisms - Important for transaction control and data atomicity. A DBMS will provide data recover options if a failure occurs.
- Application Balancing - balances the load of work within the CPU and also within a network infrastructure.
- Database Logging - A record of database objects as they are modified. It captures every data modification unless otherwise noted. The log can be used to rollback and restore transactions.
The sequence of execution is select from where.
A DBMS can query and maintain massive amounts of data with integrity and consistency. Failure recovery, concurrent access, and data independence are fundamental to a DBMS role.
Types of Databases
A DBMS can support many different types of databases. Databases can be classified according to the number of users, the database locations, and the expected type and extent of use. The number of users determins whether the database is classified as a single-user or multiuser.
Single-user database - supports only one user at a time. If user A is using the database user B or C must wait until user A is through.
Desktop database - A single-user database that runs on a personal computer.
Multiuser database - Supports multiple users at a time. When a multiuser database supports a realtively small numbers (smaller than 50)
Workgroup database - Supports a small number of users (usually fewer than 50) or a specific department within an organization.
Enterprise database - Used by an entire organization (usually 100's of users) across many departments.
Centralized database - Supports data located at a single site.
Distributed database - Supports data distributed across several different sites.
Operational database - A database designed to support the companies day-to-day operations. Also referred to as transactional or production database.
Data Warehouses - focuses on storing data used to generate information required to make tactical or strategic decisions.