Database Management System Notes
CHAPTER 1: Database and Database Users
  1. Data
            Data means facts that can be recorded and that have implicit meaning.
  2. Database
          Database is the collection of coherent, meaningful data organized in
     structured format.
     (eg. University database in which info is kept on students – name, year etc.
  3. Database Management System
          A DBMS is a collection of programs that enables users to create and
     maintain a database.
          A general-purpose software system that facilitates the process of
     defining, constructing, manipulating, and sharing databases among various
     users and application.
     (eg .MySQL, Microsoft Access)
  4. Database System
           Integrated System of hardware, software, data, people and
     procedures. It defines and regulates the collection storage management
     and use of data within a database management.
  5. Four Main Types of Actions involve in Database
     They are -
       i. Defining
      ii. Constructing
     iii. Manipulating
     iv. Sharing
6. Defining
          involves specific the data types, structures, and constraints of the
   data to be stored in the database.
7. Constructing
         Is the process of storing the data on some storage medium that is
   controlled by the DBMS.
8. Manipulating
         Includes functions such as querying the database to retrieve specific
   data, updating the database to reflect changes in the mini world and
   generating reports from the data.
9. Sharing
              Allows multiple user and programs to access the database
   simultaneously.
10.Metadata
       The database definition or descriptive information is stored by the
   DBMS in the form of catalog or dictionary and it is called meta-data.
11.Main Characteristics of Database Approach
        i.   Self-describing nature of a database system
       ii.   Insulation between programs and data and data abstraction
      iii.   Support of multiple views of data
      iv.    Sharing data and multiusers transaction processing
12.Self-describing nature of database system
        Database system contains not only database itself but also a complete
   definition or description of database structure and constraints stored in a
   DBMS catalog (contains information such as structure of each file, the type
   and storage format of each data item and various constraints on the data).
   The information in the catalog is called meta-data. Data about data used by
   DBMS software and databases users to get info about database structure
   data definition separate from application programs
13.Program data independence
            DBMS access application programs written are independent of
   database structure i.e change in structure will not affect existing programs.
14.Data Abstraction
             The characteristics that allows program-data independence and
   program-operation independence is called data abstraction. It provides
   users with conceptual representation of data that does not include many
   details of how the data is stored or how the operations are implemented.
15.Data Model
          Data model is the type of data abstraction that is used to provide
   conceptual representation using logical constructs which may be easier to
   understand than actual computer storage concepts. It is not related to
   actual storage of data.
16.Support Multiple view of data
           Different may require different perspective or view of the database.
   A view may be a subset of the database or it may contain virtual data – that
   is derived from the database files but not is explicitly stored.
17.Sharing of data and multiuser transaction processing
           Database allows multiple users so data must be shared. Access to
shared data must be monitored to ensure that multiple accesses do not
corrupt the data (by using concurrency control software).
Eg. Assign a seat on bus ticket online reservation system
18.Actors on the scene
         i. Database Administrators
        ii. Database Designers
       iii. End Users
       iv. System Analysts and Application Programmers
19.Database Administrators (DBA)
           Administers the database, DBMS and related software resources.
   They are responsible for authorizing access to the database, coordinating
   and managing use and acquiring software and hardware as needed. DBA is
   accountable security and poor system response time (assisted by staff)
20.Database Designers
             Design the structure of the database and also responsible for
identifying the data to be stored and how to store it in the database. It also
communicates with users to determine what data to be stored and what views
to provide.
21.End Users
       People who access data through app software for querying, updating
and generating reports.
21.Four Types of End users
      i. Casual end users
     ii. Naïve or parametric end users
    iii. Sophisticated end users
    iv. Standalone users
22. Casual End Users
         Occasionally access the database, but they may need different
   information each time.
23.Naïve Users
         Their main job function revolving around constantly querying and
updating the database, using standard types of queries and updates called
canned transactions.
24.Sophisticated end users
            Includes engineers, scientists and other professionals who
   familiarize themselves with the facilities of the DBMS in order to implement
   their own applications to meet their complex requirements.
25.Standalone Users
          Maintain personal database by using ready-made program packages
   that provide easy-to-use menu-based or graphics-based interfaces.
26.Programmers/Analysts
           Design and produce the application software for canned programs
   to be used by users.
27.Canned transactions
          Standard types of queries and updates which are carefully
programmed and tested to assist naïve users in querying and updating the
database.
28.Workers behind the scene
      Those who are associated with design, development and operation of
the DBMS software and system environment.
29.DBMS system designers and implementers
       Design and implement the DBMS modules and interfaces as software
package. (DBMS is complex software consist of may components, modules)
30.Tool Developers
         Design and implement tools. (Tools – software package that facilitate
database modeling and design, database system design and improved
performance.)
31.Operators and maintenance personnel
         Responsible for the actual running and maintenance of the hardware
and software environment for the database system.
32.Deductive Database Systems
         Are to provide capabilities for defining deduction rules for inferencing
   new information from the stored database facts.
33..Advantages of using DBMS approach
       i. Controlling redundancy,
      ii. Restricting unauthorized access
    iii. Providing persistent storage for program objects
     iv. Database inferencing
      v. Representing complex relationships
     vi. Enforcing integrity constraints
    vii. Providing backup and recovery
   viii. Providing multiple user interface
     ix. Providing storage structures and search techniques for efficient
          query processing
    Controlling redundancy: redundancy means storing the same data multiple
   times. In DBMS, data is stored in a central place for use by many
   applications and users. Thus, a single storage location helps maintain
   consistency of data.
   Security : DBMS allows only authorized users to access certain data by
   permitting views to the particular user.
  Persistent Storage : Unlike in programming language, DBMS data remains
  persistent after the program using it is complete.
  Database Inferencing : Some DBMS define rules for deriving data
  Multiple user interfaces : DBMS should provide a variety of user interfaces
  to fit the sophistication of the user. These include query languages for
  causal users, programming language interfaces for application
  programmers, forms and commands codes for parametric users and menu-
  driven interfaces and natural languages interfaces for standalone users.
  Representing complex relationships : DBMS represents related data and
  retrieves and updates related data efficiently.
  Enforcing integrity constraints : constraints can be defined that must hold
  in order for the data to be considered correct.
  Backup and Recovery – in case of system failure, recover to a consistent
  state using backup data.
34.When not to use DBMS
       i. Simple application which are for just one time use
      ii. Multi-user access is not needed
     iii. Stringent real-time requirements
       DBMS is costly