Introduction to Data Base Management System Instructor: Faisal Anwer, DCS, AMU SOURCE: Database Systems: Models, Languages, Design, and Application programming(6th Edition) by Ramez Elmasi, Shamkant B. Navathe + Database System Concepts (English) 6th Edition by Abraham Silberschatz , S. Sudarshan , Henry F. Korth + Freely Accessible Web Resources Contents Basic Definition Database-system Applications Approach before Database System Basic Definition of DBMS and DBMS Functionality Database System Components Database Approach of a System Main Characteristics of the Database Approach Database Users Advantages of Using the Database Approach Additional Implications of Using the Database Approach Historical development of Database Systems Decision of using DBMS approach. Basic Definitions Data: Known facts that can be recorded and have an implicit meaning. Database: An organized collection of related data. Mini-world: Part of the real world about which data is stored in a database. Database Management System (DBMS): ◦ Specially designed software applications that facilitate the creation and maintenance of a computerized database. Database-System Applications Enterprise Information ◦ Sales ◦ Accounting ◦ Human resources and others Banking and Finance ◦ Banking: For customer information, loans and banking transactions ◦ Credit and transactions: For purchases on credit cards and generation of monthly statements. ◦ And others Universities Airlines Telecommunications and others Approach before Database systems Permanent files. application programs manipulate the data files. Disadvantages: ◦ Data Redundancy ◦ Data inconsistency ◦ Integrity problems ◦ Security problems ◦ Concurrent – access anomalies …Approach before Database systems Basic Definitions ◦ DBMS: It is a general-purpose software system that facilitates the processes of defining, constructing, manipulating, and sharing databases among various users and applications. The primary goal of the DBMS is to provide an environment that is both convenient and efficient for user to retrieve and store information ◦ Database System: The DBMS software together with the data itself is called database system. DBMS Functionality Define a database Construct or Load the Database Manipulating the database Concurrent Processing and Sharing Other features: ◦ Protection or Security measures to prevent unauthorized access ◦ Presentation and Visualization of data Database approach of a system With the database approach, we can have the traditional banking system as shown in the following picture Example of a Database (with a Conceptual Data Model) UNIVERSITY environment. Some entities: STUDENTs DEPARTMENTs (academic) PROGRAMMES COURSEs INSTRUCTORs Example of a Database (with a Conceptual Data Model) Some relationships: ◦ COURSES are of specific PROGRAMMES ◦ STUDENTs take PROGRAMME ◦ PROGRAMME have prerequisite PROGRAMME ◦ INSTRUCTORs teach COURSES ◦ PROGRAMMES are offered by DEPARTMENTs ◦ STUDENTs ENROLL in DEPARTMENTs Note: The above could be expressed in the ENTITYRELATIONSHIP data model. Main Characteristics of the Database Approach Self-describing nature of a database system: A DBMS catalog stores the description of the database. The description is called meta-data. This allows the DBMS software to work with different databases. Insulation between programs and data: Called programdata independence. Allows changing data storage structures and operations without having to change the DBMS access programs. Main Characteristics of the Database Approach (cont…) Data Abstraction: A data model is used to hide storage details and present the users with a conceptual view of the database. Support of multiple views of the data: Each user may see a different view of the database, which describes only the data of interest to that user. Sharing of data and multiuser transaction processing : allowing a set of concurrent users to retrieve and to update the database. Concurrency control within the DBMS guarantees that each transaction is correctly executed or completely aborted. Database Users Users may be divided into o Actors on the Scene: Those who actually use and control the content. o Workers Behind the Scene: Those who enable the database to be developed and the DBMS software to be designed and implemented. Database Users Actors on the Scene people whose jobs require managing, designing and access to the database for querying, updating, and generating reports; the database primarily exists for their use. Database administrators: responsible for authorizing access to the database, for coordinating and monitoring its use, acquiring software, and hardware resources as needed, controlling its use and monitoring efficiency of operations. DBA is accountable for problems such as breach of security or poor response time. Database Designers: responsible for identifying the data to be stored in the database, the structure, the constraints, and functions against the database. They must communicate with the end-users and understand their needs. End-users: they use the data for queries, reports and some of them actually update the database content. System Analyst and application programmers(Software Engineers) : System Analysts determine the requirements of end users, especially naïve and parametric end users. Application programmers implement these specifications as programs. Categories of End-users Casual : access database occasionally when needed such as middle and high level managers. Naïve or Parametric : they make up a large section of the end-user population. Their main job function revolves around constantly querying and updating the database using standard types of queries and updates. Examples are reservation clerks who do this activity for an entire shift of operations. Sophisticated : 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. Stand-alone : mostly maintain personal databases using ready-touse packaged applications. An example is a tax program user that creates his or her own internal database. Database Users Workers Behind the Scene Associated with the design, development, and operation of the DBMS software and system environment. Tool developers : (Design and implement tools)- Software packages that facilitate database modeling and design, database system design, and improved performance. DBMS system designers and implementers : Design and implement the DBMS modules and interfaces as a software package. Advantages of Using the Database Approach Controlling redundancy in data storage. Assuring data consistency. Sharing of data among multiple users. Restricting unauthorized access to data. Providing Storage Structures for efficient Query Processing Providing backup and recovery services. Providing multiple interfaces to different classes of users. Representing complex relationships among data. Enforcing integrity constraints on the database. Additional Implications of Using the Database Approach Potential for enforcing standards: this is very crucial for the success of database applications in large organizations Standards refer to data item names, display formats, report structures, meta-data (description of data) etc. Reduced application development time: incremental time to add each new application is reduced. Availability of up-to-date information: very important for on-line transaction systems such as airline, hotel, car reservations. Historical Development of Database Technology 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 based application uses HTML (Hypertext markup language) to create documents with links among other documents. In the 1990s, electronic commerce (e-commerce) emerged as a major application on the Web. Parts of the information in web pages are dynamically extracted from databases. Currently, eXtended Markup Language (XML) is considered to be the primary standard for interchanging data among various types of databases and Web pages. When not to use a DBMS Main inhibitors (costs) of using a DBMS: High initial investment and possible need for additional hardware. Overhead for providing generality, security, concurrency control, recovery, and integrity functions. When a DBMS may be unnecessary: If the database and applications are simple, well defined, and not expected to change. If access to data by multiple users is not required. Summary DBMS is a specially designed software applications that facilitate the creation and maintenance of a computerized database. Now a days almost all the enterprises are using DBMS to manage their data. It has distinctive advantages over file handling system. Several users are actually involved in databases system.