Database Management Systems Introduction

Embed Size (px)

Citation preview

  • 8/10/2019 Database Management Systems Introduction

    1/63

    Databases and Database Management

    Systems

    (Based on Chapters 1-2 in Fundamentals of

    Database Sys temsby Elmasri and Navathe, Ed. 3)

  • 8/10/2019 Database Management Systems Introduction

    2/63

    Topics

    Basic Definitions

    Example of a Database

    Main Characteristics of Database Technology Additional Benefits of Database Technology

    When Not to Use a DBMS

    Data Models

    - History of data Models- Network Data Model

    - Hierarchical Data Model

  • 8/10/2019 Database Management Systems Introduction

    3/63

    Topics

    Schemas versus Instances

    Three-Schema Architecture

    Data Independence DBMS Languages

    DBMS Interfaces

    DBMS Component Modules

    Database System Utilities Classification of DBMSs

  • 8/10/2019 Database Management Systems Introduction

    4/63

    1. Basic Definitions

  • 8/10/2019 Database Management Systems Introduction

    5/63

    Database: A collection of related data.

    Data: Known facts that can be recorded and have animplicit meaning.

    Mini-world: Some part of the real world about whichdata is stored in a database. For example, student

    grades and transcripts at a university.

    Database Management System (DBMS): Asoftware package/ system to facilitate the creation

    and maintenance of a computerized database.

    Database System: The DBMS software togetherwith the data itself. Sometimes, the applications arealso included.

  • 8/10/2019 Database Management Systems Introduction

    6/63

    Alternate Definition

    Database: An integrated collection of more-or-less

    permanent data.

    Database Management System (DBMS): A

    software package/ system to facilitate the creation

    and maintenance of a computerized database.

  • 8/10/2019 Database Management Systems Introduction

    7/63

    Concerns of DBMS:integrity

    consistency

    redundancy (its bad, but replication is good!)

    security

  • 8/10/2019 Database Management Systems Introduction

    8/63

    2. Example of a Database

    (with a Conceptual Data Model)

  • 8/10/2019 Database Management Systems Introduction

    9/63

    Mini-world for the example: Part of a UNIVERSITY

    environment.

    Some mini-world entit ies:

    - STUDENTs

    - COURSEs- SECTIONs (of COURSEs)

    - (academic) DEPARTMENTs

    - INSTRUCTORs

  • 8/10/2019 Database Management Systems Introduction

    10/63

  • 8/10/2019 Database Management Systems Introduction

    11/63

  • 8/10/2019 Database Management Systems Introduction

    12/63

  • 8/10/2019 Database Management Systems Introduction

    13/63

    3. Main Characteristics of Database

    Technology

  • 8/10/2019 Database Management Systems Introduction

    14/63

    Self-contained nature of a database system: A DBMS

    catalogstores 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

    program-data independence. Allows changing data

    storage structures and operations without having to

    change the DBMS access programs.

  • 8/10/2019 Database Management Systems Introduction

    15/63

    Data Abstraction: A data modelis used to hidestorage details and present the users with a

    conceptual view of the database.

    Support of multiple views of the data: Each user maysee a different view of the database, which describes

    only the data of interest to that user.

  • 8/10/2019 Database Management Systems Introduction

    16/63

  • 8/10/2019 Database Management Systems Introduction

    17/63

    4. Additional Benefits of Database

    Technology

  • 8/10/2019 Database Management Systems Introduction

    18/63

    Controlling redundancy in data storage and indevelopment and maintenence efforts.

    Sharing of data among multiple users.

    Restricting unauthorized access to data.

    Providing multiple interfaces to different classesof users.

    Representing complex relationships among data.

    Enforcing integrity constraints on the database.

  • 8/10/2019 Database Management Systems Introduction

    19/63

    Providing backup and recovery services.

    Potential for enforcing standards.

    Flexibility to change data structures.

    Reduced application development time.

    Availability of up-to-date information.

    Economies of scale.

  • 8/10/2019 Database Management Systems Introduction

    20/63

    Classes of Database Users

    (A) Workers on the scene:Persons whose jobinvolves daily use of a large database.

    Database administrators (DBAs)

    Database designers

    End users

    Casual users

    Parametric (nave) users

    Sophisticated end users

    System analysts and application programmers

  • 8/10/2019 Database Management Systems Introduction

    21/63

    (B) Workers behind the scene:Persons whose job

    involves design, development, operation andmaintenance of the DBMS software and system

    environment.

    DBMS designers and implementersTool developers

    Operators and maintenance personnel

  • 8/10/2019 Database Management Systems Introduction

    22/63

  • 8/10/2019 Database Management Systems Introduction

    23/63

    5 When not to use a DBMS

  • 8/10/2019 Database Management Systems Introduction

    24/63

    Main inhibitors (costs) of using a DBMS:

    - High initial investment and possible need for

    additional hardware.

    - Overhead for providing generality, security,

    recovery, integrity, and concurrency control.

    When a DBMS may be unnecessary:- If the database and applications are simple, well

    defined, and not expected to change.

    - If there are stringent real-time requirements that

    may not be met because of DBMS overhead.- If access to data by multiple users is not

    required.

  • 8/10/2019 Database Management Systems Introduction

    25/63

    When no DBMS may suffice:- If the database system is not able to handle the

    complexity of data because of modeling limitations

    - If the database users need special operations not

    supported by the DBMS.

  • 8/10/2019 Database Management Systems Introduction

    26/63

    6. Data Models

  • 8/10/2019 Database Management Systems Introduction

    27/63

    Data Model: A set of concepts to describe thestructure of a database,and certainconstraints that

    the database should obey.

    Data Model Operations: Operations for specifyingdatabase retrievals and updates by referring to the

    concepts of the data model.

  • 8/10/2019 Database Management Systems Introduction

    28/63

    Categories of data models:

    Conceptual(high-level, semantic) data models:Provide concepts that are close to the way manyusersperceive data. (Also called entity-basedor

    object-baseddata models.) Physical(low-level, internal) data models: Provide

    concepts that describe details of how data is stored inthe computer.

    Implementation(record-oriented) data models:Provide concepts that fall between the above two,balancing user views with some computer storagedetails.

  • 8/10/2019 Database Management Systems Introduction

    29/63

    6A. HISTORY OF DATA MODELS

  • 8/10/2019 Database Management Systems Introduction

    30/63

    Relational Model: proposed in 1970 by E.F. Codd(IBM), first commercial system in 1981-82. Now inseveral commercial products (ORACLE, SYBASE,

    INFORMIX, CA-INGRES). Network Model: the first one to be implemented

    by Honeywell in 1964-65 (IDS System). Adoptedheavily due to the support by CODASYL

    (CODASYL - DBTG report of 1971). Laterimplemented in a large variety of systems - IDMS(Cullinet - now CA), DMS 1100 (Unisys), IMAGE(H.P.), VAX -DBMS (Digital).

    Hierarchical Data Model : implemented in a joint

    effort by IBM and North American Rockwellaround 1965. Resulted in the IMS family ofsystems. The most popular model. Other systembased on this model: System 2k (SAS inc.)

  • 8/10/2019 Database Management Systems Introduction

    31/63

    Object-oriented Data Model(s) : several models

    have been proposed for implementing in adatabase system. One set comprises models of

    persistent O-O Programming Languages such as

    C++ (e.g., in OBJECTSTORE or VERSANT), and

    Smalltalk (e.g., in GEMSTONE). Additionally,systems like O2, ORION (at MCC - then ITASCA),

    IRIS (at H.P.- used in Open OODB).

    Object-Relational Models : Most Recent Trend.

    Exemplified in ILLUSTRA and UNiSQL systems.

  • 8/10/2019 Database Management Systems Introduction

    32/63

  • 8/10/2019 Database Management Systems Introduction

    33/63

  • 8/10/2019 Database Management Systems Introduction

    34/63

    6B.HIERARCHICAL MODEL

  • 8/10/2019 Database Management Systems Introduction

    35/63

    ADVANTAGES:

    Hierarchical Model is simple to construct and

    operate on

    Corresponds to a number of natural hierarchically

    organized domains - e.g., assemblies in

    manufacturing, personnel organization in

    companies

    Language is simple; uses constructs like GET,

    GET UNIQUE, GET NEXT, GET NEXT WITHINPARENT etc.

  • 8/10/2019 Database Management Systems Introduction

    36/63

    DISADVANTAGES:

    Navigational and procedural nature of processing

    Database is visualized as a linear arrangement of

    records

    . Little scope for "query optimization"

  • 8/10/2019 Database Management Systems Introduction

    37/63

  • 8/10/2019 Database Management Systems Introduction

    38/63

  • 8/10/2019 Database Management Systems Introduction

    39/63

    6C.NETWORK MODEL

  • 8/10/2019 Database Management Systems Introduction

    40/63

    ADVANTAGES:

    Network Model is able to model complexrelationships and represents semantics ofadd/delete on the relationships.

    Can handle most situations for modeling usingrecord types and relationship types.

    Language is navigational; uses constructs likeFIND, FIND member, FIND owner, FIND NEXTwithin set, GET etc. Programmers can do optimalnavigation through the database.

  • 8/10/2019 Database Management Systems Introduction

    41/63

    DISADVANTAGES:

    Navigational and procedural nature of processing

    Database contains a complex array of pointers

    that thread through a set of records.

    Little scope for automated "query optimization"

  • 8/10/2019 Database Management Systems Introduction

    42/63

    7. Schemas versus Instances

  • 8/10/2019 Database Management Systems Introduction

    43/63

    Database Schema: The description of a database.Includes descriptions of the database structure and

    the constraints that should hold on the database.

    Schema Diagram: A diagrammatic display of (someaspects of) a database schema.

  • 8/10/2019 Database Management Systems Introduction

    44/63

    Database Instance: The actual data stored in adatabase at aparticular moment in time. Also called

    database state(or occurrence).

    The database schemachanges very infrequently.The database statechanges every time the

    database is updated . Schemais also called

    intension, whereas stateis called extension.

  • 8/10/2019 Database Management Systems Introduction

    45/63

    8. Three-Schema Architecture

  • 8/10/2019 Database Management Systems Introduction

    46/63

    Proposed to support DBMS characteristicsof:

    - Program-data independence.- Support of multiple viewsof the data.

  • 8/10/2019 Database Management Systems Introduction

    47/63

    Defines DBMS schemas at three levels:

    - Internal schemaat the internal level to describe

    data storage structures and access paths. Typically

    uses aphysical data model.

    - Conceptual schemaat the conceptual level to

    describe the structure and constraints for the whole

    database. Uses a conceptual or an implementation

    data model.

    - External schemasat the external level to

    describe the various user views. Usually uses the

    same data model as the conceptual level.

  • 8/10/2019 Database Management Systems Introduction

    48/63

  • 8/10/2019 Database Management Systems Introduction

    49/63

  • 8/10/2019 Database Management Systems Introduction

    50/63

    9 Data Independence

  • 8/10/2019 Database Management Systems Introduction

    51/63

    Logical Data Independence: The capacity tochange the conceptual schema without having to

    change the external schemas and their applicationprograms.

    Physical Data Independence: The capacity tochange the internal schema without having to changethe conceptual schema.

    When a schema at a lower level is changed, only the

    mappingsbetween this schema and higher-level

    schemas need to be changed in a DBMS that fully

    supports data independence. The higher-level schemas

    themselves are unchanged. Hence, the application

    programs need not be changed since they refer to the

    external schemas.

  • 8/10/2019 Database Management Systems Introduction

    52/63

    10. DBMS Languages

  • 8/10/2019 Database Management Systems Introduction

    53/63

    Data Definition Language(DDL): Used by

    the DBA and database designers to specify

    the conceptual schema of a database. In

    many DBMSs, the DDL is also used to define

    internal and external schemas (views). Insome DBMSs, separate storage definition

    language(SDL) and view definition

    language(VDL) are used to define internal

    and external schemas.

  • 8/10/2019 Database Management Systems Introduction

    54/63

    Data Manipulation Language(DML): Usedto specify database retrievals and updates.

    - DML commands (data sublanguage) can

    be embeddedin a general-purpose

    programming language (host language),

    such as Java, C++, C, COBOL, PL/1 orPASCAL.

    - Alternatively, stand-aloneDML

    commands can be applied directly (query

    language).

  • 8/10/2019 Database Management Systems Introduction

    55/63

    11. DBMS Interfaces

  • 8/10/2019 Database Management Systems Introduction

    56/63

    Stand-alone query language interfaces.

    Programmer interfaces for embedding DML inprogramming languages:

    - Pre-compiler Approach

    - Procedure (Subroutine) Call Approach

    User-friendly interfaces:

    - Menu-based

    - Graphics-based (Point and Click, Drag and Dropetc.)

    - Forms-based

    - Natural language

    - Combinations of the above

    - Speech as Input (?) and Output

    - Web Browser as an interface

  • 8/10/2019 Database Management Systems Introduction

    57/63

    Parametric interfaces using function keys.

    Report generation languages.

    Interfaces for the DBA:

    - Creating accounts, granting authorizations

    - Setting system parameters

    - Changing schemas or access path

  • 8/10/2019 Database Management Systems Introduction

    58/63

  • 8/10/2019 Database Management Systems Introduction

    59/63

    13. Database System Utilities

  • 8/10/2019 Database Management Systems Introduction

    60/63

    To perform certain functions such as:

    - Loading data stored in files into a database.- Back ing up the database periodically on

    tape.

    - Reorganizing database file structures.

    - Repo rt generat ion utilities.

    - Performance mon i tor ing utilities.

    - Other functions, such as sor t ing, user

    moni tor ing, data compression, etc.

  • 8/10/2019 Database Management Systems Introduction

    61/63

    Data dictionary / repository:- Used to store schema descriptions and otherinformation such as design decisions, application

    program descriptions, user information, usage

    standards, etc.

    - Act ive data dictionary is accessed by DBMS

    software and users/DBA.

    - Passive data dictionary is accessed by

    users/DBA only.

  • 8/10/2019 Database Management Systems Introduction

    62/63

    14. Classification of DBMSs

  • 8/10/2019 Database Management Systems Introduction

    63/63

    Based on the data model used:

    - Traditional: Relational, Network, Hierarchical.

    - Emerging: Object-oriented, Object-relational

    Other classifications:

    - Single-user (typically used with micro-computers) vs. multi-user (most DBMSs).

    - Centralized (uses a single computer with onedatabase) vs. distributed (uses multiplecomputers, multiple databases)

    Distributed Database Systems have now come to be known as clientserver based database systems because they do not support a totally

    distributed environment, but rather a set of database servers

    supporting a set of clients.