Table of Contents
Definition of DBMS
A database management system (DBMS) is a system that permits access to data, creates and maintains a database. The target of DBMS is to supply a convenient and effective method of defining, storing, and retrieving the knowledge contained within the database. The DBMS interfaces with other application programs, in order that the information contained within the database is often employed by multiple applications and users. The database system allows these users to access and manipulate the information contained within the database in a convenient and effective manner. Additionally, the DBMS exerts centralized control of the database, prevents fraudulent or unauthorized users from accessing the information, and ensures the privacy of the information.
An organization may have accurate and reliable data for effective decision-making. To the present end, the organization maintains records on the varied facets of its operations by building appropriate models of the various classes of objects of interest. These models record relationships between objects and capture their essential properties. Such related data is named a database. A database system is an integrated collection of knowledge and a group of programs to access those data.
It is clear that the traditional file processing system has many drawbacks. Hence, an alternate system, i.e. database system, which is predicated on a database approach, is desired because it might eliminate all the drawbacks of the traditional file processing system to define the database system.
The file may be a two-dimensional table summarizing the multiple instances of a group of fields of an entity. The information may be an assortment of interconnected files, whereas the management system may be an assortment of information, information utilities (DBMS software), and information dictionary/directory operated by user groups/application developers and administered by the information directors. Thus, the information system is basically a management system that’s free from all the drawbacks of the traditional file process system. Within the information system, information is freelance of programs.
As mentioned earlier, the information system can have reduced redundancy of knowledge and numerous alternative edges as given below
- Reduced data redundancy: Since the database approach suggests a single centralized database, the amount of redundancy of data will be minimal and it will have various other related benefits.
- Consistency of data: Because of the decreased information redundancy, the existence of constant data in several files can be minimised. As a consequence, data consistency will be achieved.
- Increased information sharing: Since the information approach ends up in an integrated centralized system, the constant file will be utilized in completely different applications. This enhances the information sharing feature.
- The higher set of standards: Since completely different files of the information hardened at a time, there’ll be a higher set of standards in terms of process field names, field dimension, field type.
- Cost of software/hardware and migration: The cost of the software system is a major drawback. In addition to the cost of purchasing or designing the kit, the hardware must be modified to allow for the complex programs and the workspaces required for their execution and storage.
- The quality of backup and recovery: Due to the lack of duplication, the database must be sufficiently backed up so that data can be retrieved in the event of a malfunction. Backup and recovery operations are fairly complex in a DBMS environment and this is worsened in a concurrent multi-user database system.
DBMS Data Models
Data models are broadly categorized into three types
- Object-based data model
- E-R Model
- Object-Oriented Model
- Semantic Model
- Functional model
- Physical data model
- Unifying Model
- Frame-based data Model
- Record based or logical data model
Types of DBMS
There are four structural types of database management systems:
- Hierarchical database.
- Network database.
- Relational database.
- Object-oriented databases.
1. Hierarchical Model
A database with many one-to-many relationships is organized using the Hierarchical Data Model. The system is based on the rule that one parent can have several children, but each child can only have one parent. Since the 1950s, the hierarchical database model has been one of the most common. The model is structured like a tree, with records serving as nodes and fields serving as branches.
2. Network database
The key difference between hierarchical and network models is that network models can handle one-to-one(1:1), one-to-many (1: M), and many-to-many(M: M) relationships, while hierarchical models can only handle one-to-many(1: M) relationships. The Network Model substitutes a graph for the hierarchical tree, allowing for more general connections between nodes. It enables a record to have multiple parents. A relationship in a Network Database is a set, with each set consisting of an owner record (equal to parent in a hierarchical model) and a member record (equal to child record in the hierarchical model).
3. Relational database
The data in a relational model is organised into rows and columns, which is referred to as a relation or table. These databases use common data numbers or a main field to bind to data in different files. Data is stored in relational databases in various tables, each with a key field that primarily defines each row. Both hierarchical and network database architectures are less stable than relational databases. Tables or files loaded with data are referred to as connections in relational databases. A row or record is denoted by a tuple, and columns are referred to as attributes or fields.
4. Object-oriented databases
Object Oriented Databases include many of the features of the object-oriented paradigm, allowing us to construct classes, arrange objects, structure an inheritance hierarchy, and call methods from other classes.
Consider the following scenario: we need to create a database for a college; the real-world people associated with the college are college, students, lecturers, courses, subjects, and grades, among others. Once we’ve compiled a list of all the people, we’ll look at their relationships and attempt to map them all. We also list the attributes associated with each object, such as the student entity.
Student id, name, lecturer name, course name, marks in various subjects, grade levels, and so on are among the attributes. We aren’t concerned with the data value stored, the size of each data, or anything else. At this time, we just know about the individuals involved, their attributes, and their mapping.
An Object-Oriented Database can be built in one of two ways:
1) A system for storing, retrieving, and managing objects generated by programs written in one or more languages. Languages that are object-oriented, such as C++ or Java.
A relational database can be used to store and handle objects, but it does not understand them. To convert objects into tiples of a connection, a middle layer called an object manager or object-oriented software is used.
2) Intended to offer object-oriented features to non-object-oriented users.
C or Pascal are examples of object-oriented programming languages (OOPLs).
This second method converts non-OOPLs to OOPLs. To map user-created objects into Database System objects, a translation layer is needed.