Characteristics of the Database Approach (Difference between traditional file processing and database approach) Redundancy Self-Describing nature of a database system: complete definition or description of the database structure and constraints are stored in the system catalog and the information stored in the catalog is called meta-data. Insulation between Programs and Data, and Data Abstraction: (structure) program-data independence, program-operation independence, data abstraction: the characteristics that allow program-data independence, program-operation independence. Multiple views of the data Sharing of data and multiuser transaction processing : concurrency control (on-line transaction processing(OLTP) application) 4/24/2017
Advantages of Using a DBMS Controlling Redundancy: duplication, wastage of storage space, inconsistent Restricting Unauthorized Access Providing Persistent Storage for Program Objects and Data Structures: object-oriented database. OODB are compatible with C++, Java. Permitting Inferencing and Actions Using Deduction Rules: deduction database system (declarative language), active database system (event-condition-action) Providing Multiple User Interfaces Representing Complex Relationships Among Data Enforcing Integrity Constraints: change in the code due to constraint enforced. Providing Backup and Recovery 4/24/2017
Actors on the scene Database Administrator (DBA): Administering database, DBMS and related software. Database Designers: Identifying data, choosing appropriate structure to represent and store this data. Interacting with users. End users Casual end users Naïve or parametric end users: Bank teller, Reservation Clerk. Sophisticated end users: engineers, scientists, business analyst. Stand alone users System Analysts and Application Programmers (Software engineers): determine requirements of end users (specification), implement, test, debug and document 4/24/2017
Workers behind the scene DBMS system designers and implementers: who design and implement the DBMS modules and interfaces as a software package. Tool developers: develops software packages that facilitate database system design and use, and help improve performance. Operators and maintenance personnel 4/24/2017
When Not to Use a DBMS overhead costs are too great high initial investment generality overhead of security, concurrency control, recovery, integrity Using Regular file: data and applications are simple, well-defined, not expected to change stringent real-time constraints multi-user environment not needed 4/24/2017
Simplified Database System Environment User/Programs Database System Application Programs/Queries DBMS Software Software to Process Queries/Programs Software to Access Stored data Stored Database Definition (Meta- Data) Stored Database Simplified Database System Environment 4/24/2017
Components of a DBMS Programmer User DBA DBMS Application Programs Queries Database Schema DBMS DML preprocessor Query processor DDL compiler Program object code Database manager Dictionary manager Access methods File manager Database and system catalog System buffers 4/24/2017
Database Manager: is a program module which provides the interface between the low-level data stored in the database and the application programs and queries submitted to the system. Responsibility: Interaction with the file manager: storing, retrieving and updating of data in the database Integrity enforcement: checking for conditions. Security enforcement: enforcing constraints on the users. Backup and recovery: Concurrency Control File manager: It may be a general purpose file system provided by the underlying OS or it may be a specialized file system that knows about the particular ways in which the data of the database is stored. Which manages the allocation of space on the disk storage and the data structure used to represent information stored on the disk. 4/24/2017
Implications of the database Approach Standards enforcement: DBA can enforce standard naming conventions, etc Reduced application development time: adding new functionality to an existing database is “easy” Flexibility: adding new data and making some types of changes is “easy” Up-to-date information: due to sharable characteristic economies of scale: due to sharable resources the whole organization can make one investment 4/24/2017
Example: University Database 4/24/2017
4/24/2017