What is DMBS
What is DBMS?
A database management system (DBMS) is system software for creating and managing databases. The DBMS provides users and programmers with a systematic way to create, retrieve, update and manage data. A DBMS makes it possible for end users to create, read, update and delete data in a database. There are many different types of database management systems, ranging from small systems that run on personal computers to huge systems that run on mainframes.
Database is a collection of related data
Data is a collection of facts and figures that can be processed to produce information.
History of DBMS
- 1960’s-1970’s: The emergence of the first type of DBMS, the hierarchical DBMS. IBM had the first model, developed on IBM 360 and their (DBMS) was called IMS (Information Management System), originally it was written for the Apollo program.
- The emergence of the network DBMS. Charles Bachmanndeveloped first DBMS at Honeywell, Integrated Data Store (IDS) then a group called CODASYL (Conference/Committee on Data Systems Languages) who is responsible for the creation of COBOL (an acronym for common business-oriented language) is a compiled English-like computer programming language designed for business use), had that system standardized.
- 1970’s- 1990’s: The emergence of the relational DBMS (RDBMS) on the hands of Edgar Codd. He worked at IBM, and he was unhappy with the navigational model of the CODASYL APPROACH.
The DBMS provides a central store of data that can be accessed by multiple users in a controlled manner. The DBMS manages three important things
- the data.
- the database engine that allows data to be accessed, locked and modified.
- the database schema, which defines the database’s logical structure.
Some DBMS examples include MySQL, Microsoft Access, SQL Server, FileMaker, Oracle, RDBMS, dBASE, Clipper, and FoxPro.
Its a Query Language − DBMS is equipped with query language, which makes it more efficient to retrieve and manipulate data. A user can apply as many and as different filtering options as required to retrieve a set of data.
Typical database administration tasks supported by the DBMS include
- change management.
- performance monitoring/tuning.
- backup and recovery.
- Data abstraction and independence
- Data security
- A locking mechanism for concurrent access
- The ability to swiftly recover from crashes and errors, including restartability and recoverability
- Robust data integrity capabilities
- Logging and auditing of activity
- Uniform administration procedures for data
The following are examples of database applications:
A typical DBMS users with different rights and permissions who use it for different purposes.
- Administrators − Administrators maintain the DBMS and are responsible for administrating the database.
- Database administrator – To ensure the data integrity, maintain data structure, backup/restore, creating structure/table etc
- Designers/Programmers − Designers are the group of people who actually work on the designing part of the database.
- End Users/Data entry operators − End users are those who actually feed the data into the system.
A relational database management system (RDBMS)
This is a program that lets you create, update, and administer a relational database. Most commercial RDBMS’s use the Structured Query Language (SQL) to access the database. Relational databases are powerful because they require few assumptions about how data is related or how it will be extracted from the database. As a result, the same database can be viewed in many different ways. The leading RDBMS products are Oracle, IBM’s DB2 and Microsoft’s SQL Server.
In 1970, Edgar F. Codd, a British computer scientist with IBM, published “A Relational Model of Data for Large Shared Data Banks.” Codd’s groundbreaking work would define the basic rules for relational data storage, which can be simplified as:
- Data must be stored and presented as relations, i.e., tables that have relationships with each other, e.g., primary/foreign keys.
- To manipulate the data stored in tables, a system should provide relational operators – code that enables the relationship to be tested between two entities. A good example is the WHERE clause of a SELECT statement, i.e., the SQL statement SELECT * FROM CUSTOMER_MASTER WHERE CUSTOMER_SURNAME = ’Smith’ will query the CUSTOMER_MASTER table and return all customers with a surname of Smith.
Codd later published another paper that outlined the 12 rules that all databases must follow to qualify as relational. Many modern database systems do not follow all 12 rules, but these systems are considered relational because they conform to at least two of the 12 rules.
The relational database model is based on the Relational Algebra. Which means that operations in the relational database model are based on Select, Project, Join, Intersect, Union, Difference, and Product. Here is a brief description of each operation:
- Select: Shows values for all rows found a table that meet a given criteria.
- Project: Shows values for all selected attributes.
- Join: Will combine information from one or more tables.
- Intersect: Shows all rows that are found in both tables.
- Union: Combines all rows from multiple tables and removes the duplicate rows.
- Difference: Shows all rows from one table that are not contained in another table.
- Product: Combines all rows from two or more tables (does contain duplicates).
Databases are very commonly used in everyday life. The relational model of databases provides a very simple way of looking at data structured into tables, and there are straightforward techniques.
- Create table for a relationship.
- Add the primary keys of all participating Entities as fields of table with their respective data types.
- If relationship has any attribute, add each attribute as field of table.
- Declare a primary key composing all the primary keys of participating entities.
- Declare all foreign key constraints.