Is a collection of programs that manages the database structure and controls access to the data stored in the database?

INTRODUCTION

What is a Database Management System?

A database-management system (DBMS) is a collection of interrelated data and a set of programs to access those data. This is a collection of related data with an implicit meaning and hence is a database. 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.

By data, we mean known facts that can be recorded and that have implicit meaning. 

For example, consider the names, telephone numbers, and addresses of the people you know. You may have recorded this data in an indexed address book, or you may have stored it on a diskette, using a personal computer and software such as DBASE IV or V, Microsoft ACCESS, or EXCEL. 

A datum – a unit of data – is a symbol or a set of symbols which is used to represent something. This relationship between symbols and what they represent is the essence of what we mean by information. 

Hence, information is interpreted data – data supplied with semantics. 

Knowledge refers to the practical use of information. While information can be transported, stored or shared without many difficulties the same can not be said about knowledge. Knowledge necessarily involves a personal experience. 

Purpose of Database Systems

Database systems are designed to manage large bodies of information. Management of data involves both defining structures for storage of information and providing mechanisms 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 data are to be shared among several users, the system must avoid possible anomalous results. 

1. Manages very large amounts of data.

2. Supports effecient access to very large amounts of data.

3. Supports concurrent access to v.l.a.d.

4. Supports secure, atomic access to v.l.a.d.

File System vs Database System

The earliest business computer systems were used to process business records and produce information. They were generally faster and more accurate than equivalent manual systems. These systems stored groups of records in separate files, and so they were called file processing systems. In a typical file processing systems, each department has its own files, designed specifically for those applications. The department itself working with the data processing staff, sets policies or standards for the format and maintenance of its files. 

Programs are dependent on the files and vice-versa; that is, when the physical format of the file is changed, the program has also to be changed. Although the traditional file oriented approach to information processing is still widely used, it does have some very important disadvantages.

Drawbacks of using file systems to store data: 

    1. Data redundancy and inconsistency

        ✔ Multiple file formats, duplication of information in different files 

    2. Difficulty in accessing data 

        ✔ Need to write a new program to carry out each new task 

    3. Data isolation — multiple files and formats

    4. Integrity problems 

        ✔ Integrity constraints (e.g. account balance > 0) become part of program code 

        ✔ Hard to add new constraints or change existing ones

    5. Atomicity of updates 

        ✔ Failures may leave database in an inconsistent state with partial updates carried out 

        ✔ E.g. transfer of funds from one account to another should either complete or not happen at all 

    6. Concurrent access by multiple users

        ✔ Concurrent accessed needed for performance 

        ✔ Uncontrolled concurrent accesses can lead to inconsistencies

                E.g. two people reading a balance and updating it at the same time 

    7. Security problems

Database systems offer solutions to all the above problems

Consider part of a savings-bank enterprise that keeps information about all customers and savings accounts. One way to keep the information on a computer is to store it in operating system files. To allow users to manipulate the information, the system has a number of application programs that manipulate the files, including 

    A program to debit or credit an account 

    A program to add a new account 

    A program to find the balance of an account 

    A program to generate monthly statements 

System programmers wrote these application programs to meet the needs of the bank. New application programs are added to the system as the need arises. For example, suppose that the savings bank decides to offer checking accounts. As a result, the bank creates new permanent files that contain information about all the checking accounts maintained in the bank, and it may have to write new application programs to deal with situations that do not arise in savings accounts, such as overdrafts. Thus, as time goes by, the system acquires more files and more application programs. 

Characteristics of Database 

The database approach has some very characteristic features which are discussed in detail below: 

    1. Concurrent Use 

        A database system allows several users to access the database concurrently. Answering different questions from different users with the same            (base) data is a central aspect of an information system. Such concurrent use of data increases the economy of a system. An example for                concurrent use is the travel database of a bigger travel agency. The employees of different branches can access the database concurrently and         book journeys for their clients. Each travel agent sees on his interface if there are still seats available for a specific journey or if it is already fully         booked. 

2. Structured and Described Data 

        A fundamental feature of the database approach is that the database systems does not only contain the data but also the complete definition            and description of these data. These descriptions are basically details about the extent, the structure, the type and the format of all data and,         additionally, the relationship between the data. This kind of stored data is called metadata ("data about data"). 

    3. Separation of Data and Applications 

        As described in the feature structured data the structure of a database is described through metadata which is also stored in the database. An         application software does not need any knowledge about the physical data storage like encoding, format, storage place, etc. It only                        communicates with the management system f a database (DBMS) via a standardised interface with the help of a standardised language like SQL.         The access to the data and the metadata is entirely done by the DBMS. In this way all the applications can be totally seperated from the data.         Therefore database internal reorganisations or improvement of efficiency do not have any influence on the application software. 

4. Data Integrity 

        Data integrity is a byword for the quality and the reliability of the data of a database system. In a broader sense data integrity includes also the         protection of the database from unauthorised access (confidentiality) and unauthorised changes. Data reflect facts of the real world. database. 

5. Transactions 

        A transaction is a bundle of actions which are done within a database to bring it from one 7 consistent state to a new consistent state. In                between the data are inevitable inconsistent. A transaction is atomic what means that it cannot be divided up any further. Within a transaction         all or none of the actions need to be carried out. Doing only a part of the actions would lead to an inconsistent database state. One example of         a transaction is the transfer of an amount of money from one bank account to another. The debit of the money from one account and the credit         of it to another account makes together a consistent transaction. This transaction is also atomic. The debit or credit alone would both lead to an         inconsistent state. After finishing the transaction (debit and credit) the changes to both accounts become persistent and the one who gave the         money has now less money on his account while the receiver has now a higher balance.

6. Data Persistence 

        Data persistence means that in a DBMS all data is maintained as long as it is not deleted explicitly. The life span of data needs to be determined         directly or indirectly be the user and must not be dependent on system features. Additionally data once stored in a database must not be lost.            Changes of a database which are done by a transaction are persistent. When a transaction is finished even a system crash cannot put the data         in danger.

Advantages and Disadvantages of a DBMS 

Using a DBMS to manage data has many advantages: 

1. Data independence

        Application programs should be as independent as possible from details of data representation and storage. The DBMS can provide an abstract            view of the data to insulate application code from such details. 

2. Efficient data access

        A DBMS utilizes a variety of sophisticated techniques to store and retrieve data efficiently. This feature is especially important if the data is                stored on external storage devices. 

    3. Data integrity and security

        If data is always accessed through the DBMS, the DBMS can enforce integrity constraints on the data. For example, before inserting salary                information for an employee, the DBMS can check that the department budget is not exceeded. Also, the DBMS can enforce access controls that         govern what data is visible to different classes of users.

    4. Data administration

        When several users share the data, centralizing the administration of data can offer significant improvements. Experienced professionals who            understand the nature of the data being managed, and how different groups of users use it, can be responsible for organizing the data                    representation to minimize redundancy and finetuning the storage of the data to make retrieval efficient. 

    5. Concurrent access and crash recovery

        A DBMS schedules concurrent accesses to the data in such a manner that users can think of the data as being accessed by only one user at a            time. Further, the DBMS protects users from the effects of system failures. 

    6. Reduced application development time        

        Clearly, the DBMS supports many important functions that are common to many applications accessing data stored in the DBMS. This, in                    conjunction with the high-level interface to the data, facilitates quick development of applications. Such applications are also likely to be more            robust than applications developed from scratch because many important tasks are handled by the DBMS instead of being implemented by the            application. 

Given all these advantages, is there ever a reason not to use a DBMS? 

A DBMS is a complex piece of software, optimized for certain kinds of workloads (e.g., answering complex queries or handling many concurrent requests), and its performance may not be adequate for certain specialized applications. Examples include applications with tight real-time constraints or applications with just a few well-designed critical operations for which efficient custom code must be written. Another reason for not using a DBMS is that an application may need to manipulate the data in ways not supported by the query language. In such a situation, the abstract view of the data presented by the DBMS does not match the application's needs, and actually gets in the way. As an example, relational databases do not support flexible analysis of text data (although vendors are now extending their products in this direction). If specialized performance or data manipulation requirements are central to an application, the application may choose not to use a DBMS, especially if the added benefits of a DBMS (e.g., flexible querying, security, concurrent access, and crash recovery) are not required. In most situations calling for large-scale data management, however, DBMSs have become an indispensable tool. 

Disadvantages of a DBMS 

1. Danger of a Overkill

        For small and simple applications for single users a database system is often not advisable. 

2. Complexity
        A database system creates additional complexity and requirements. The supply and operation of a database management system with several            users and databases is quite costly and demanding. 

3. Qualified Personnel

        The professional operation of a database system requires appropriately trained staff. Without a qualified database administrator nothing will work         for long. 

4. Costs

        Through the use of a database system new costs are generated for the system itselfs but also for additional hardware and the more complex            handling of the system. 

5. Lower Efficiency

        A database system is a multi-use software which is often less efficient than specialised software which is produced and optimised exactly for one         problem. 

What is the program that manages and controls access to the database?

A database management system (DBMS) is system software for creating and managing databases. A DBMS makes it possible for end users to create, protect, read, update and delete data in a database.

Which database structure is a collection of database?

Difference between Database and Data Structure :.

Which control is used to store the data in database?

A data control language (DCL) is a syntax similar to a computer programming language used to control access to data stored in a database (authorization). In particular, it is a component of Structured Query Language (SQL).

Is a collection of programs that manages and controls the computer?

operating system (OS), program that manages a computer's resources, especially the allocation of those resources among other programs. Typical resources include the central processing unit (CPU), computer memory, file storage, input/output (I/O) devices, and network connections.