Purpose of Database Management System
Database and database management systems have become an essential component of everyday life in modern society. Here we discuss the purpose of database management system.
Databases play a critical role in almost all areas where computers are used, including business, engineering, medicine, law, education, and library science, to name a few.
A database is an integrated collection of logically related data consolidated into a common pool that provides data for many applications. Data are known facts that can be recorded and that have implicit meaning. For example, the names, telephone numbers, and addresses of people recorded in an address book or stored on a storage medium constitute a database.
A database management system ( DBMS ) is a collection of interrelated data and a set of programs to access those data. The collection of data, usually referred to as the database, contains information relevant to an enterprise. The primary goal of a DBMS is to provide a way to store and retrieve database information that is both convenient and efficient.
The database system is designed to manage large bodies of information. Management of data involves both defining structures for the storage of information and providing a mechanism for the manipulation of information. In addition, the database system must ensure the safety of the information stored, despite system crashes or attempts at unauthorized access. If the data are to be shared among several users, the system must avoid possible anomalous results.
Purpose of Database Management System – Why DBMS
A database management system is a collection of programs that enables users to create and maintain a database. A DBMS is therefore a general-purpose software system that facilities the process of defining, constructing, manipulating, and sharing databases for various applications.
Defining a database involves specifying that datatypes, structures, and constraints for data to be stored in the database. constructing the database is the process of storing the data itself on some storage medium that is controlled by DBMS.
Manipulation of a database includes such function as querying the database to retrieve specific data, updating the database to reflects changes in the mini-world, and generating reports from the data. Sharing a database allows multiple users and programs to access the database concurrently.
Other important functions provided by the DBMS includes protecting the database and maintaining it over a long period of time. Protection includes both systems protection against hardware or software malfunction ( or crashes ) and security protection against unauthorized or malicious access.
A typical large database may have a life cycle of many years, so the DBMS must be able to maintain the database system by allowing the system to involve as requirements change over time. The database and DBMS together are called a database system.
Disadvantages of File Processing Systems over DBMS
We should discuss the disadvantages of file processing systems before talking about the purpose of database management system. Before database management systems came along, organizations usually stored information in file processing systems supported by a conventional operating system.
The system stores permanent records in various files, and it needs different application programs to extract records from and add records to the appropriate files. Some points are given below:
- data redundancy and inconsistency
- difficulty in accessing files
- data isolation
- integrity problems
- atomicity problems
- concurrent access anomalies
- security problems
Advantages of DBMS
Discussing the advantages of DBMS helps to understand the purpose of database management system. A number of characteristics distinguish the database approach from the traditional approach of programming with data files. The advantages of DBMS includes:
- self- describing the nature of a database system
- insulation between programs and data and data abstraction
- controlling redundancy
- restricting unauthorized access
- providing persistent storage for program objects
- providing storage structures for efficient query processing
- providing backup and recovery
- providing multiple user interfaces
- representing complex relationships among data
- enforcing integrity constraints
- support of multiple views of the data
- sharing of data and multi-user translation processing
- potential for enforcing standards
- reduced application development time
- the availability of up-to-date information
- economies of scale
Disadvantages of DBMS
The disadvantages of using DBMS includes:
- cost of DBMS
- additional hardware costs
- cost of conversion
- higher impact of a failure
A database environment is a collective system of components that comprise and regulates the group of data, management, and use of data, which consist of software, hardware, people, techniques of handling database, and the data also.
Here the hardware in a database environment means the computers and the computer peripherals that are being used to manage a database, and software means the whole thing from the operating system(OS) to the application programs that include database software like M.S Access or SQL Server.
The people in the database environment include those people who administrate and use the system. The techniques are the rules, concepts, and instructions given to both the people and software along with the data and the group of facts and information positioned within the database environment.
Schemas and Instances
The databases change over time as information is inserted and deleted. The collection of information stored in the database at a particular moment is called an instance of the database. The overall design of the database is called the database schema. Schemas are changed infrequently, if at all.
A database schema corresponds to the variable declarations in a program. Each variable has a particular value at a given instant. The values of the variables in a program at a point in time correspond to an instance of a schema
Database systems have several schemas, partitioned according to the levels of abstraction. The physical schema describes the database design at the physical level, while the logical schema describes the database design at the logical level. A database may also have several schemas at the view level (subschemas), that describe different views of the database.
Three – Schema Architecture of DBMS
The ANSI/SPARC ( Systems planning and Requirements Committee ) DBMS architecture divided into three levels. The goal of the three- schema architecture, is to separate the user applications and the physical database. In this architecture, schemas can be defined at the following three levels:
- Internal Level: The internal level (physical level ) is the one closest to physical storage. That is., it is the one concerned with the way the data is physically stored. The internal level has an internal schema, which describes the physical storage structure of the database. The internal schema uses a physical data model and describes the complete details of data storage and access paths for the database.
- Conceptual Level: The conceptual level ( community logical level or logical level ) has a conceptual schema, which describes the structure of the whole database for a community of users. The conceptual schema hides the details of the physical storage structures and concentrates on describing entities, data types, relationships, user operations, and constraints. A high-level data model or an implementation data model can be used at this level.
- External Level: The external level ( user logical level or view level ) is the one closest to the users, that is., it is the one concerned with the way the data s seen by the individual users. The external level includes a number of external schemas or user views. Each external schema describes the part of the database that a particular user group is interested in and hides the rest of the database from that user group. A high-level data model or an implementation data model can be used at its level.
A database system provides a data definition language ( DDL ) to specify database schema and a data manipulation language (DML ) to express database queries and updates. In practice, the DDL and DML are not 2 separate languages; instead, they simply form parts of a single database language, such as widely used SQL language.
Data Definition Language – DDL
In DBMSs where no strict separation of the level is maintained, the data definition language is used by DBA and by database designers to define both conceptual and internal schemas for the database.
DDL allows the DBA or user to describe and name the entities, attributes, and relationships required for the application, together with any associated integrity and security constraints.
Data Manipulation Language – DML
A data manipulation language (DML ) is a language that enables users to access or manipulate data as organized by the appropriate data model. The type of access are:
- Retrieval of information stored in the database
- Insertion of new information into the database
- Deletion of information from the database
- Modification of information stored in the database
Another language, the storage definition language ( SDL ) is used to specify the internal schema. The mappings between the two schemas may be specified in either one of the languages. For a true three-schema architecture, we would need three languages, the view definition language ( VDL ), to specify user views and their mapping to the conceptual schema, but in most DBMSs, the DDL is used to define both conceptual and external schemas.
Underlying the structure of a database is the data model: a collection of conceptual tools for describing data, data relationships, data semantics, and consistency constraints. A data model provides a way to describe the design of a database at the physical, logical, and view levels. There are a number of different data models that are:
Flat files are ordinary operating system files, that records in a file containing no information to communicate the file structure or any relationship among the records to the application that uses the file.
Any information about the structure or meaning of the data in the file must be included in each application that uses the file or must be known to each human who reads the file.
A hierarchical database is one of the oldest database models used by enterprises in the past. Information Management System developed by IBM for mainframe computer platform was one of the first hierarchical databases.
The hierarchical database is a collection of records that are perceived as organized to conform to the upside-down tree structure. The user perceives the hierarchical database as a hierarchy of segments.
A segment is the equivalent of a file system’s record type. In a hierarchical data model, the relationships between the files or records form a hierarchy. There is a one-to-many ( 1:m ) association among record instances, moving from the root to the lowest level of the tree.
The network data model was eventually standardized as CODASYL ( Conference on Data Systems Languages ) model. The network data model is similar to a hierarchical model except that a record can have multiple parents.
In network terminology, a relationship is called an owner-member relationship or set. The owner and member records are equivalent to parent and child records, respectively, in a hierarchical model. In the network model, a member can appear in more than one set and thus may have several owners, and therefore, it facilitates many-to-many ( n:m ) relationships.
The relational model uses a collection of tables to represent both data and the relationships among those data. Each table has multiple columns, and each column has a unique name. Tables are also known as relations. It is an example of a record based model.
Each table contains records of a particular type. Each record type defines a fixed number of fields or attributes. The columns of the table correspond to the attributes of the record type.
The entity-relationship ( E-R ) data model uses a collection of basic objects, called entities, and relationships among these objects. An entity is a “thing” or “object” in the real world that is distinguishable from other objects.
It is a high-level conceptual data model. It was developed to facilitate the database description by allowing the specification of schema that represents the overall logical structure of a database.
In the object-oriented data model, both data and their relationship are contained in a single structure known as an object. An object is an abstraction of a real-world entity. Objects that share similar characteristics are grouped into classes.
A class is a collection of similar objects with shared structure (attribute) and behavior ( methods ). Attributes describe the properties of an object. A method is a piece of application program logic that operates on a particular object.
Object Relational model provides a blend of desirable features from the object world, such as the storage of complex data types, with the relative simplicity and ease-of-use of the relational model.