In the previous article, we covered what a DBMS is. In this article, we will go over the features of DBMS and its components: language and system architecture. Let’s talk about the terms first.
- Data: A description of a value and its value that can represent the quantitative/qualitative characteristics of a fact (also known as metadata)
- Database: A set of data used by an application system in an organization.
- Schema: Representing the logical structure and relationship of data in a database
- Transaction: A unit of operations that change the state of a database (performing a logical function), a series of bundles of operations that must be performed at once.
- Database Management System (DBMS): A software package for the configuration, storage, management, and use of data stored in a database. i.e.) Oracle, MySQL… etc.
- Database system: A computer-based system that stores and manages information in a database and provides it with the form of information required by the user.
■ Database Management System
The existing system, the File Processing System, had problems of data dependency, data redundancy, integrity, and concurrent sharing. Database management systems improve these shortcomings and have the following characteristics:
1. Real time access
The database must be accessible in real time because it must handle the requirements of continuous and unstructured users, and must process data (insert, delete, renew, etc.) in a dynamic state.
2. Self-describing
The data in DBMS has a data value and an extended description of the data (metadata). The structure of the data can be changed more easily because there is metadata that defines the relationships or attributes of the data, namely ‘constraint’.
For example, if data was previously searched for an ‘address or a specific location’, the structure of the data can be easily changed because it can now be retrieved as ‘content of the data’.
3. Application and data independence
Because DBMS consists of a three-level structure, applications and data are logically and physically separated. (The levels in the external–conceptual mapping mentioned in the last article show logical data independence, and the level in the concept–internal mapping show physical data independence.)
There are many advantages to data being independent.
1) Changing the data structure of the lower level does not affect the upper level.
2) Even if the database structure changes, it does not affect the program.
3) Changing the representation or storage location of the data does not affect the program.
That means it’s easy to maintain, minimize data redundancy, and respond faster to user requirements!
4. Multi-view
The advantage of the three-level structure of DBMS is that data can be selected and displayed differently (external schema) in different view to view. This allows you to access the data you want without having to consider the complexity of your data structure.
5. Transaction processing
In a file processing system, simultaneous access by multiple users results in inconsistent data management. For example, at the same time, user A and user B access data 1. At this time, the simultaneous work should be handled without being twisted and shared, but the file processing system does not provide these functions properly.
On the other hand, databases can be processed on a ‘transaction’ basis to consistently handle multiple requests for data manipulation.
■ Disadvantages of DBMS
DBMS also has disadvantages. The system is complex and the cost is relatively high. It is also difficult to back up and restore data.
However, every database model has also evolved to properly compensate for these disadvantages! There are hierarchical, networked, and relational models, and the most commonly used today is relational models, which we will deal with in more detail next time.
■ Database Languages – SQL and DDL, DML, DCL
The language of the current database is standardized in Structured Query Language (SQL), which is close to natural language (similar to human language). The syntax of SQL is defined as follows:
1. Data Definition Language (DDL)
It is a language for creating, modifying, and deleting objects (structures) in a database. It is the language spoken by database designers and administrators.
i.e.) CREATE, ALTER, RENAME, TRUNCATE
2. Data Management Language (DML)
It is a language in which users access structured data and manipulate the search, insertion, deletion, and modification of data. It is used by database users to effectively process stored data.
i.e.) SELECT, UPDATE, DELETE
3. Data Control Language (DCL)
It is a language that gives database access/authorization. It is used to define data security, integrity, etc.
i.e.) GRANT, REVOKE
■ Database Management System Types
The architecture of the database system is divided into three main categories. These three things should be chosen according to the circumstances rather than saying one is better than others.
1. Centralized Databse System
A single server works on behalf of multiple clients. There is a disadvantage that one DBMS is overloaded because it does everything.
2. Distributed Database System
The database is physically distributed on the network system, but authorized users can access it as one database. Compared to a centralized method, it can handle large amounts and is easy to expand servers, but the system itself is complicated, increasing development costs and making it difficult to control.
3. Client-Server Database System
A method of managing requests by partitioning them into clients and servers. It has the advantage of low maintenance costs because it distributes the load of application programs. It is known to be somewhat vulnerable to security. There are two hierarchies with direct client-server connection and three hierarchies with additional application servers.