Database Management System
A structured, organized set of data is known as database. In computing terminology, a database refers to a software used to store set of related data and organize that data. Think of it as a file cabinet where you store data in different sections called tables. When you need a particular file you look into that particular section (table) and get the file (data) you need.
A Database Management System (DBMS) is a software package that carries out many different tasks including the provision of facilities to enable the user to access and modify information in the database. The database is an intermediate link between the physical database, computer and the operating system and the users.
The Primary purpose of a DBMS which is basically a collection of programs is to allow a user to store, update, retrieve or delete data and thus make it easy to maintain and retrieve information from a database. The DBMS relieves the user from knowing how the data is stored physically and complex algorithms used for performing operations on the database. It only concentrates on how the operations are to be performed to retrieve the data from the database.To provide the various facilities to different types of users, a DBMS normally provides one or more specialized programming languages called database languages.
The various common examples of DBMS are Oracle, Access, SQL Server, Sybase, FoxPro, MySQL, Microsoft SQL etc.
Coming to the basic functions of DBMS:
- Create tables, files, databases and data dictionaries.
- Specify the storage structure of each table on disk.
- Integrity constraints on various tables.
- Security and authorization information of each table.
- Specify the structure of each table.
- Overall design of the database.
As for the functions of DBMS:
- DBMS free the programmers from the need to worry about the organization and location of the data i.e. it shields the users from complex hardware level details of the software.
- DBMS can organize process and present data elements from the database. This capability enables decision makers to search and query database contents in order to extract answers that are not available in regular reports.
- Programming is speeded up because programmer can concentrate on logic of the application.
- It includes special user friendly query languages which are easy to understand by non programming users of the system.
ADVANTAGES OF DBMS:
The DBMS (Database Management System) is preferred ever the conventional file processing system due to the following advantages:
Controlling Data Redundancy - In the conventional file processing system, every user group maintains its own files for handling its data files. This may lead to:
- Duplication of same data in different files.
- Wastage of storage space, since duplicated data is stored.
- Errors may be generated due to updation of the same data in different files.
- Time in entering data again and again is wasted.
- Computer Resources are needlessly used.
- It is very difficult to combine information.
- Elimination of Inconsistency - In the file processing system information is duplicated through out the system. So changes made in one file may be necessary be carried over to another file. This may lead to inconsistent data. So we need to remove this duplication of data in multiple file to eliminate inconsistency.
- Better service to the users - A DBMS is often used to provide better services to the users. Several systems are combined to form one centralized database. Centralizing the data in the database means that user can obtain new and combined information easily that would have been impossible to obtain otherwise.
- Flexibility of the System is Improved - Since changes are often necessary to the contents of the data stored in any system, these changes are made more easily in a centralized database.
- Integrity can be improved- Since data of the organization using database approach is organized and would be used by a number of users at a time. It is essential to enforce integrity constraints.The data might need to be duplicated in multiple files so updating or changes may sometimes lead to entry of incorrect data in some files where it exists.
- Security can be improved- In conventional systems, applications are developed in a temporary manner. Often different system of an organization would access different components of the operational data, in such an environment enforcing security can be quiet difficult. Setting up of a database makes it easier to enforce security restrictions since data is now centralized. It is easier to control who has access to what parts of the database.
Although there are very few drawbacks of DBMS:
Overall cost of developing and maintaining systems is Large- It is much easier to respond to unanticipated requests when data is organized in a database than when it is stored in a conventional file system. The initial cost of setting up of a database can be large, one normal expects the overall cost of setting up of a database.
It is the responsibility of database designers to communicate with all prospective of the database users in order to understand their requirements so that they can create a design that meets their requirements.
It is a very important component of the database system. Most of the organizations generate, store and process large amount of data. The data acts a bridge between the machine parts i.e. hardware and software and the users which directly access it or access it through some application programs.
The hardware consists of the secondary storage devices such as magnetic disks, optical disks (CD-ROM), magnetic tapes etc. on which data is stored together with the Input/Output devices (mouse, keyboard, printers), processors, main memory etc. which are used for storing and retrieving the data in a fast and efficient manner. Since database can range from those of a single user with a desktop computer to those on mainframe computers with thousand of users, therefore proper care should be taken for choosing appropriate hardware devices for a required database.
The Software part consists of DBMS which acts as a bridge between the user and the database or in other words, software that interacts with the users, application programs, and database and files system of a particular storage media (hard disk) to insert, update, delete and retrieve data. For performing these operations such as insertion, deletion and updation we can either use the Query Languages like SQL, QUEL, or application softwares such as Developer etc.
Users are the people who interact with the database through applications or utilities. The various categories of end users are:
Casual End Users - These Users occasionally access the database but may need different information each time. They use sophisticated database Query language to specify their requests. For example: High level Managers who access the data weekly or biweekly.
• Native End Users - These users frequently query and update the database using standard types of Queries. The operations that can be performed by this class of users are very limited and effect precise portion of the database.
The Various Applications using DBMS are:
- Super Market Product Inventory System
- Stock Trading Systems
- Computerized Library Systems
The various commercially available database Management Systems.
- For the small organizations-MS-Access, File Maker Pro etc.
- For the enterprise (client/server) - Oracle, SQL Server, FoxPro, Sybase, Paradox, Dbase etc.
SQL(Relational Database) and NoSQL(Non-Relational Database):
In the world of Database Technology, there are two main types of databases: SQL and NOSQL or, relational databases and non-relational databases. The difference speaks to how they are built, the type of information they store, and how they store it.
Relational databases are structured, like phone books that store phone numbers and addresses.
Non relational databases are document oriented and distributed, like file folders that hold everything from a person's address and phone number to their Facebook likes and online shopping preferences.
SQL (Relational Database):
First, let’s take a look at one of the main features that separates these two systems: the way they structure data. A relational database or, an SQL database, named for the language it's written in, Structured Query Language (SQL) . SQL is more rigid and a structured way of storing data, like a phone book.
For a relational database to be effective, the data you are storing in it, has to be structured in a very organized way. A well designed schema minimizes data redundancy and prevents tables from becoming out of sync, which is a critical feature for many businesses, especially those that record financial transactions. A poorly designed schema can result in organizational headaches or create problems due to its rigidity.
For example, a column designed to store U.S. phone numbers might require 10 digits because that is the standard for phone numbers in the U.S. This has the advantage of rejecting any invalid values (only if a number is missing an area code). However, if you need to change the schema (for instance, if you need to include an international phone number entry with more than 10 digits), then the entire database needs to be edited. Which means excellent organization of data results in a compromise in flexibility with a relational database.
Structured Query Language is a programming language used by database architects to design relational databases. In an SQL database like MySQL, Sybase, Oracle, SQL executes queries, retrieves data, and edits data by updating, deleting, or creating new records.
NoSQL (Non relational database):
NoSQL databases are document orientated. This way, non-structured data (such as articles, photos, social media data, videos, or content within a blog post) can be stored in a single document that can be easily found but isn't necessarily categorized into fields like a relational database does. It's more intuitive, but note that storing data in bulk like this requires extra processing effort and more storage than highly organized SQL data.
Reasons to use SQL or NoSQL database:
When it comes to database technology, there's no size that fits for all solution. Tha's why many businesses rely on both relational and non relational databases for different tasks. Even as NoSQL databases gain popularity for their speed and scalability, there are still situations where a highly structured SQL database may be preferable.