Pages

Chapter 1:Overview of Data Base Management Systems

 Data bases and database systems have become an essential component of everyday life in modern society.
Examples for database Applications:
      Purchases from the supermarket
      Purchases using your credit card 
      Booking a holiday at the travel agents 
      Using the local library 
      Taking out insurance 
      Using the Internet 
      Studying at university 
 Need to store data :
Data originates at one time and used later(i.e.) Store registrations for grading later, Store for future information needs, Governmental regulations requires access to past data, Data used later for auditing, evaluation purpose, Used more than once : save for future use  Limitations of manual methods:
Problems of speed, Problems of accuracy, Problems of consistency and reliability, Problems of poor response time, Problems of work-load handling capability, Problems of meeting ad hoc information needs, Problems of cost, Problems due to human frailties: (misplaced) loyalty, inconsistency, irregularity, difficulties in handling big tasks 
 Why computerized data processing?
Advantage of speed, Advantage of accuracy, Advantage of reliability and consistency, Advantage of storage and retrieval efficiency, Advantage of on-line-access to meet ad-hoc needs, Advantage of cost

Data Base : Collection of related data. By data, we mean known facts that can be recorded and that have implicit meaning. 


Definition of DBMS: A data base management system(DBMS) is a collection of programs that enables users to create and maintain a database. The DBMS is hence a general purpose sof tware  system that facilitate the process of defining, constructing , manipulating and sharing databases among the various users and applications.   Historical development of database Technologies:
      Early Database Applications: The Hierarchical and Network Models were introduced in mid 1960 s and dominated during the seventies. A bulk of the worldwide database processing still occurs using these models.
      Relational Model based Systems: The model that was originally introduced in 1970 was heavily researched and experimented with in IBM and the universities. Relational DBMS Products emerged in the 1980 s.
      Object-oriented applications: OODBMSs were introduced in late 1980 s and early 1990 s to cater to the need of complex data processing in CAD and other applications. Their use has not taken off much.
      Data on the Web and E-commerce Applications: Web contains data in HTML (Hypertext markup language) with links among pages. This has given rise to a new set of applications and E-commerce is using new standards like XML (eXtended  Markup Language).
 Extending Database Capabilities:
New functionality is being added to DBMSs in the following areas:
Scientific Applications, Image Storage and Management, Audio and Video data management, Data Mining, Spatial data management, Time Series and Historical Data Management  Transaction Management:
Ø  A transaction is a collection of operations that performs a single logical function in a database application
Ø  Transaction-management component ensures that the database remains in a consistent (correct) state despite system failures (e.g., power failures and operating system crashes) and transaction failures.
Ø  Concurrency-control manager controls the interaction among the concurrent transactions, to ensure the consistency of the database.
A database transaction is a unit of interaction with a database management system or similar system that is treated in a coherent and reliable way independent of other transactions that must be either entirely completed or aborted. 
In some systems, transactions are also called LUW for Logical Units of Work.
In database products the ability to handle transactions allows A single transaction might require several queries, each reading and/or writing information in the database. When this happens it is usually important to be sure that the database is  not  left with only some of the queries carried out. For example, when doing a money transfer, if the money was debited from one account, it is important that it also be credited to the depositing account. Also, transactions should not interfere with each other.  Storage Management:
Ø  Storage management is a program module that provides the interface between the low-level data stored in the database and the application programs and queries submitted to the system.
Ø  The storage manager is responsible to the following tasks: 
v  interaction with the file manager 
v  efficient storing, retrieving and updating of data
 Database Administrator:
A database administrator (DBA) is a person who is responsible for the environmental aspects of a database. In general, these include:
Ø  Recoverability - Creating and testing Backup
Ø  Integrity - Verifying or helping to verify data integrit
Ø  Security - Defining and/or implementing access controls to the data 
Ø  Availability - Ensuring maximum uptime 
Ø  Performance - Ensuring maximum performance given budgetary constraints 
Ø  Development and testing support - Helping programmers and engineers to efficiently utilize the database. 
The role of a database administrator has changed according to the technology of database management systems (DBMSs) as well as the needs of the owners of the databases.

Types of Databases and Database Applications
      Numeric and Textual Databases (Traditional Database)
      Multimedia Databases (Video clips, pictures, sound message)
      Geographic Information Systems (GIS)(Weather data, map analysis, satellite images)
      Data Warehouses (Decision making)

      Real-time and Active Databases (Internet based (World wide web)) 

Advantages of Using the Database Approach
      Controlling redundancy in data storage and in development and maintenance efforts.
o   Duplication is wasteful. It costs time and money to enter the data more than once.
o   It takes up additional storage space, again with associated costs.
o   Perhaps more importantly, duplication can lead to loss of data integrity. 
      Sharing of data among multiple users.
      Restricting unauthorized access to data.
o When multiple users shares a large database, it is likely that most users will not be authorized to access all information in the database.
      Providing persistent storage for program Objects o A complex object in C++ can be stored permanently in an Object Oriented DBMS. Such an object is said to be persistence, since it survives the termination of the program execution and can later be directly retrieved by another C++ program.
      Providing backup and recovery services.
      Providing multiple interfaces to different classes of users.
      Representing complex relationships among data.

Database Users:
o   Database administrators: responsible for authorizing access to the database, for co-ordinating and monitoring its use, acquiring software, and hardware resources, controlling its use and monitoring efficiency of operations.
o   Database Designers: Responsible to define the content, the structure, the constraints, and functions or

transactions against the database. They must communicate with the end-users and understand their needs.
o   End users : End users are the people whose jobs require  acc ess to the database for querying, updating, and generating reports; the database primarily exists for their use. There are several categories of end users:
 o Casual End User: access database occasionally when needed. But they may need different information each time.
o   Na ve or Parametric End user : they make up a large section of the end-user population. They use previously well-defined functions in the form of  canned transactions against the database. Examples are bank-tellers or reservation clerks who do this activity for an entire shift of operations.
o   Sophisticated End User : These include business analysts, scientists, engineers, others thoroughly familiar with the system capabilities. Many use tools in the form of software packages that work closely with the stored database.
o   Stand-alone End User : Mostly maintain personal databases using ready-to-use packaged applications. An example is a tax program user that creates his or her own internal database.