Database management system is required to create, manage and delete database. It helps in efficient retrieval, insertion and deletion of data in the database. Let’s have a brief introduction about the database management system.
Basics of Database
Data: In simple words data is raw, isolated facts about an entity or an object which is stored in recorded form. For example, text, audio, image, video etc.
Information: Information is a processed, meaningful and usable data. 5 is a data or information? What processing can be applied to number 5 so that it becomes an information? Decision of what qualifies as data and what as information also depends on the fact that who is the reading the data.
For example, Railway database system is never referred as information management system. We always call it database management system as it contains data about different trains and routes. The train which I want to book seat in is considered as information for me rest is data.
Database: It is a systematic collection of similar or related data. If the data is not related, we cannot extract the relevant information from it. Database makes data management easy. For example, video is data, but YouTube is a database. Image is data but Instagram is a database.
Database Management System: It is a program which enables the user to create, manipulate and delete database. It is also used for controlled access to database.
Charles Bachman invented first random-access database management system, the Integrated Data Store (IDS) also known as Navigational Database Management System.
Why do we need Database Management System?
There are disadvantages of using file system:
- Data redundancy: It is referred as data duplication. Same piece of data is stored in different files. Suppose we are managing data of some university, where students are enrolled for different courses and same data is present in different files .This leads to storage cost and poor access time.
- Data Inconsistency: Data redundancy will lead to data inconsistency. For example, student is enrolled for two courses and address of student is stored in different files. If the address of student is changed and updated only in one file, then data is said to be inconsistent. Different values of address is present at different places in the system.
- Difficulty in accessing data: Because the data is scattered, it is difficult to access the required data.
- Data Isolation: As the data is scattered and present at different places in different files in the system, it is difficult to write new application program to retrieve data. Changing files will lead to writing new application programs.
- Security problems: Data should be secure and avoid unauthorized access to users. For example, students in a university should not be allowed to access pay details of the faculty members.
- Atomicity problem: Atomicity in transaction means “All or Nothing”. Either all the instructions should be executed for a given process or nothing should be executed. In file processing system it is difficult to achieve atomicity.
- Concurrent access anomalies: It is difficult to allow concurrent access to multiple user in file processing system.
Database Models
Database model is a way to represent logical structure of the database including relationships and constraints. It determines how data can be stored and accessed.
There are many kinds of database models. User can choose any of these to describe the data. Moreover, different database models can be applied to different stages of database design.
Types of database models
- Hierarchical Model: This a parent-child relationship of storing and managing data. It is a tree like structure with nodes representing records and branches as fields. Windows registry in windows is an example of hierarchical database.
- Network Model: It is a kind of graphical representation of database which uses many-to-many relations and results in complex data structures. It is a variation of hierarchical model. Raw device mapping (RDM) server is an example of network model.
- Navigational Model: It is a combination of both the hierarchical and network model. Navigational database uses “pointers” and “paths” to navigate among data records. If there is no path or link between nodes, then database will lead to an error. Example of navigational database is Document Object Model (DOM).
- Relational Model: It stores the data in the form of rows and columns also called as tables or relations. Besides this, every relational model should follow Codd’s Rules.
- Entity-Relationship Model: This model gives the relationship between real world entities. It is often used to describe the database conceptually. Common form of E-R diagram is star schema.
- Object Oriented Model: This type of database stores new datatypes. It stores the data in the form of objects. There are several kinds of object-oriented databases like multimedia database, hypertext database etc. PostgreSQL is an example of Object-oriented database.
Other less commonly used database models are listed below:
- Inverted file model
- Flat model
- Multidimensional model
- Context model
- Associative model
- Semantic Model