SlideShare uma empresa Scribd logo
1 de 135
Database Concepts
© Leo Mark
DATABASE CONCEPTS

                          Leo Mark
                    College of Computing
                        Georgia Tech

                        (January 1999)

Database Concepts
© Leo Mark
Course Contents
                    Introduction
                    Database Terminology
                    Data Model Overview
                    Database Architecture
                    Database Management System Architecture
                    Database Capabilities
                    People That Work With Databases
                    The Database Market
                    Emerging Database Technologies
                    What You Will Be Able To Learn More About

Database Concepts
© Leo Mark
INTRODUCTION
             What a Database Is and Is Not
             Models of Reality
             Why use Models?
             A Map Is a Model of Reality
             A Message to Map Makers
             When to Use a DBMS?
             Data Modeling
             Process Modeling
             Database Design
             Abstraction
Database Concepts
© Leo Mark
What a Database Is and Is Not
      The word database is commonly used to refer
      to any of the following:
          your personal address book in a Word document
          a collection of Word documents
          a collection of Excel Spreadsheets
          a very large flat file on which you run some
          statistical analysis functions
          data collected, maintained, and used in airline
          reservation
          data used to support the launch of a space shuttle
Database Concepts
© Leo Mark
Models of Reality
                                DML
                                      DATABASE SYSTEM
             REALITY
             • structures                DATABASE
             • processes        DDL




       A database is a model of structures of reality
       The use of a database reflect processes of reality
       A database system is a software system which
       supports the definition and use of a database
       DDL: Data Definition Language
       DML: Data Manipulation Language
Database Concepts
© Leo Mark
Why Use Models?
             Models can be useful when we want to
             examine or manage part of the real world
             The costs of using a model are often
             considerably lower than the costs of using or
             experimenting with the real world itself
             Examples:
              – airplane simulator
              – nuclear power plant simulator
              – flood warning system
              – model of US economy
              – model of a heat reservoir
              – map
Database Concepts
© Leo Mark
A Map Is a Model of Reality




Database Concepts
© Leo Mark
A Message to Map Makers
             A model is a means of communication
             Users of a model must have a certain amount
             of knowledge in common
             A model on emphasized selected aspects
             A model is described in some language
             A model can be erroneous
             A message to map makers: “Highways are
             not painted red, rivers don’t have county lines
             running down the middle, and you can’t see
             contour lines on a mountain” [Kent 78]
Database Concepts
© Leo Mark
Use a DBMS when                    Do not use a
   this is important                 DBMS when
      persistent storage of data    the initial investment in
      centralized control of data   hardware, software, and
      control of redundancy         training is too high
      control of consistency and    the generality a DBMS
      integrity                     provides is not needed
                                    the overhead for security,
      multiple user support
                                    concurrency control, and
      sharing of data               recovery is too high
      data documentation            data and applications are
      data independence             simple and stable
      control of access and         real-time requirements
      security                      cannot be met by it
      backup and recovery           multiple user access is not
Database Concepts
© Leo Mark
                                    needed
Data Modeling

                                             DATABASE SYSTEM
              REALITY
              • structures                       MODEL
              • processes
                             data modeling



            The model represents a perception of structures of
            reality
            The data modeling process is to fix a perception of
            structures of reality and represent this perception
            In the data modeling process we select aspects and
            we abstract
Database Concepts
© Leo Mark
Process Modeling
                                                  DATABASE SYSTEM
              REALITY          process modeling
              • structures                            MODEL
              • processes



            The use of the model reflects processes of reality
            Processes may be represented by programs with
            embedded database queries and updates
            Processes may be represented by ad-hoc database
            queries and updates at run-time
                     DML                             DML
              PROG




Database Concepts
© Leo Mark
Database Design

        The purpose of database design is to create a
        database which

                    is a model of structures of reality
                    supports queries and updates modeling
                    processes of reality
                    runs efficiently




Database Concepts
© Leo Mark
Abstraction
       It is very important that the language used for
       data representation supports abstraction

        We will discuss three kinds of abstraction:

                       Classification
                       Aggregation
                       Generalization



Database Concepts
© Leo Mark
Classification
         In a classification we form a concept in a way
         which allows us to decide whether or not a
         given phenomena is a member of the extension
         of the concept.


                        CUSTOMER




              Tom Ed Nick ... Liz Joe Louise
Database Concepts
© Leo Mark
Aggregation
      In an aggregation we form a concept from existing
      concepts. The phenomena that are members of
      the new concept’s extension are composed of
      phenomena from the extensions of the existing
      concepts


                        AIRPLANE

              WING                         COCKPIT

                          ENGINE
Database Concepts
© Leo Mark
Generalization
     In a generalization we form a new concept by
     emphasizing common aspects of existing concepts,
     leaving out special aspects


                      CUSTOMER

                      BUSINESS         ECONOMY
          1 CLASS
             ST
                       CLASS             CLASS



Database Concepts
© Leo Mark
Generalization (cont.)
       Subclasses may overlap
                            CUSTOMER


                                       BUSINESS
                                1 CLASS
                                ST
                                        CLASS

         Subclasses may have multiple superclasses
                    MOTORIZED             AIRBORNE
                     VEHICLES             VEHICLES



           TRUCKS           HELICOPTERS              GLIDERS
Database Concepts
© Leo Mark
Relationships Between Abstractions
                          aggregation                        generalization
                    T                   T                                         T
                                                                              intension




                                            classification
                                                                              extension
                    O                   O                                        O
                    Abstraction                              Concretization
                    classification                           exemplification
                    aggregation                              decomposition
                    generalization                           specialization
Database Concepts
© Leo Mark
DATABASE TERMINOLOGY
             Data Models
             Keys and Identifiers
             Integrity and Consistency
             Triggers and Stored Procedures
             Null Values
             Normalization
             Surrogates - Things and Names




Database Concepts
© Leo Mark
Data Model
          A data model consists of notations for expressing:


                        data structures
                        integrity constraints
                        operations




Database Concepts
© Leo Mark
Data Model - Data Structures
     All data models have notation for defining:
                        attribute types
                        entity types
                        relationship types



         FLIGHT-SCHEDULE                               DEPT-AIRPORT

          FLIGHT#       AIRLINE      WEEKDAY   PRICE   FLIGHT#   AIRPORT-CODE

              101         delta        mo        156      101          atl

              545       american       we        110      912          cph

              912     scandinavian      fr       450      545          lax

              242         usair        mo        231
Database Concepts
© Leo Mark
Data Model - Constraints
     Constraints express rules that cannot be expressed by the

     data structures alone:apply to database state
        Static constraints
        Dynamic constraints apply to change of database state
        E.g., “All FLIGHT-SCHEDULE entities must have precisely
        one DEPT-AIRPORT relationship

         FLIGHT-SCHEDULE                             DEPT-AIRPORT

          FLIGHT#     AIRLINE      WEEKDAY   PRICE   FLIGHT#   AIRPORT-CODE

              101       delta        mo        156      101          atl

              545     american       we        110      912          cph

              912   scandinavian      fr       450      545          lax

              242       usair        mo        231      242          bos
Database Concepts
© Leo Mark
Data Model - Operations
     Operations support change and retrieval of data:
          insert FLIGHT-SCHEDULE(97, delta, tu, 258);
          insert DEPT-AIRPORT(97, atl);
           select FLIGHT#, WEEKDAY
          from FLIGHT-SCHEDULE
          where AIRLINE=‘delta’;

         FLIGHT-SCHEDULE                             DEPT-AIRPORT

          FLIGHT#     AIRLINE      WEEKDAY   PRICE   FLIGHT#   AIRPORT-CODE

              101       delta        mo        156      101          atl

              545     american       we        110      912          cph

              912   scandinavian      fr       450      545          lax

              242       usair        mo        231      242          bos
Database Concepts
              97        delta         tu       258      97           atl
© Leo Mark
Data Model - Operations from Programs
                                    FLIGHT-SCHEDULE
   declare C cursor for
                                    FLIGHT#     AIRLINE      WEEKDAY   PRICE
   select FLIGHT#, WEEKDAY             101        delta        mo        156
   from FLIGHT-SCHEDULE                545      american       we        110
   where AIRLINE=‘delta’;              912    scandinavian      fr       450

                                       242        usair        mo        231

   open C;                             97         delta         tu       258

   repeat
      fetch C into :FLIGHT#, :WEEKDAY;
      do your thing;
   until done;
   close C;

Database Concepts
© Leo Mark
Keys and Identifiers
     Keys (or identifiers) are uniqueness constraints
       A key on FLIGHT# in FLIGHT-SCHEDULE will force all
       FLIGHT#’s to be unique in FLIGHT-SCHEDULE
       Consider the following keys on DEPT-AIRPORT:
       FLIGHT#      AIRPORT-CODE       FLIGHT#   AIRPORT-CODE     FLIGHT#   AIRPORT-CODE   FLIGHT#    AIRPORT-CODE




         FLIGHT-SCHEDULE                                                        DEPT-AIRPORT

          FLIGHT#           AIRLINE         WEEKDAY         PRICE               FLIGHT#    AIRPORT-CODE

                 101           delta             mo             156                 101              atl

                 545         american            we             110                 912              cph

                 912      scandinavian           fr             450                 545              lax

                 242           usair             mo             231                 242              bos
Database Concepts
© Leo Mark
Integrity and Consistency
         Integrity: does the model reflect reality well?
         Consistency: is the model without internal conflicts?

         a FLIGHT# in FLIGHT-SCHEDULE cannot be null because it
         models the existence of an entity in the real world
         a FLIGHT# in DEPT-AIRPORT must exist in FLIGHT-SCHEDULE
         because it doesn’t make sense for a non-existing FLIGHT-
         SCHEDULE entity to have a DEPT-AIRPORT

         FLIGHT-SCHEDULE                             DEPT-AIRPORT

          FLIGHT#     AIRLINE      WEEKDAY   PRICE   FLIGHT#   AIRPORT-CODE

             101        delta        mo        156      101          atl

             545      american       we        110      912          cph

             912    scandinavian      fr       450      545          lax

Database Concepts
              242       usair        mo        231      242          bos
© Leo Mark
Triggers and Stored Procedures
          Triggers can be defined to enforce constraints on a
          database, e.g.,

          DEFINE TRIGGER DELETE-FLIGHT-SCHEDULE
          ON DELETE FROM FLIGHT-SCHEDULE WHERE FLIGHT#=‘X’
          ACTION DELETE FROM DEPT-AIRPORT WHERE FLIGHT#=‘X’;


        FLIGHT-SCHEDULE                              DEPT-AIRPORT

         FLIGHT#     AIRLINE       WEEKDAY   PRICE   FLIGHT#   AIRPORT-CODE

             101        delta        mo        156      101          atl

             545      american       we        110      912          cph

             912    scandinavian      fr       450      545          lax

             242        usair        mo        231      242          bos


Database Concepts
© Leo Mark
Null Values
             CUSTOMER

             CUSTOMER#        NAME        MAIDEN NAME   DRAFT STATUS
             123-45-6789   Lisa Smith    Lisa Jones      inapplicable
             234-56-7890 George Foreman inapplicable        drafted
             345-67-8901   unknown       Mary Blake      inapplicable


          Null-value unknown reflects that the attribute does
          apply, but the value is currently unknown. That’s ok!
          Null-value inapplicable indicates that the attribute does
          not apply. That’s bad!
          Null-value inapplicable results from the direct use of
          “catch all forms” in database design.
          “Catch all forms” are ok in reality, but detrimental in
          database design.
Database Concepts
© Leo Mark
Normalization
  FLIGHT-SCHEDULE                                          FLIGHT-WEEKDAY

  FLIGHT#           AIRLINE     WEEKDAYS        PRICE       FLIGHT#      WEEKDAY
         un
      101   n   orm delta         mo,fr            156        101             mo
                   ali
      545             zed
                   american      mo,we,fr          110        545             mo

      912        scandinavian       fr             450        912                 fr

                                                              101                 fr

 FLIGHT-SCHEDULE                                              545             we

                                                              545                 fr
  FLIGHT#           AIRLINE     WEEKDAY         PRICE                                      ju
                                                                                             st
      101            delta         mo              156
                                                                                       rig
                                                          FLIGHT-SCHEDULE                 ht
      545           american       mo              110                                      !
                                                          FLIGHT#      AIRLINE              PRICE
      912        scandinavian       fr      red    450
                                                un          101           delta                 156
      101            delta          fr             da
                                                    156
                                                     nt     545         american                110
      545           american       we              110
                                                            912       scandinavian              450
      545           american        fr             110
Database Concepts
© Leo Mark
Surrogates - Things and Names
                    reality
             name             custom#          customer
                                                custom#   name   addr

         customer             addr
                                         name-based representation

                    reality
             name             custom#   customer
                                        customer custom# name addr

             customer         addr
                                        surrogate-based representation

      name-based: a thing is what we know about it
      surrogate-based: “Das ding an sich” [Kant]
      surrogates are system-generated, unique, internal identifiers
Database Concepts
© Leo Mark
DATA MODEL OVERVIEW
                        ER-Model
                        Hierarchical Model
                        Network Model
                        Inverted Model - ADABAS
                        Relational Model
                        Object-Oriented Model(s)




Database Concepts
© Leo Mark
ER-Model

                       Data Structures
                       Integrity Constraints
                       Operations

           The ER-Model is extremely successful as a
           database design model
           Translation algorithms to many data models
           Commercial database design tools, e.g., ERwin
           No generally accepted query language
           No database system is based on the model
Database Concepts
© Leo Mark
ER-Model - Data Structures
                     entity type



                                       composite

                                        attribute
                    relationship

                        type



                      attribute
                                        subset
                                      relationship
                                         type
                    multivalued

                      attribute


                     derived
Database Concepts    attribute
© Leo Mark
ER-Model - Integrity Constraints
        E1        1                n                        A
                            R               E2



   cardinality: 1:n for E1:E2 in R                    key attribute
                                (min,max)
        E1                                                 E
                            R               E2



    (min,max) participation of E2 in R
                                                 E1        E2          E3

       E1                   R               E2        d    disjoint

                                                      x    exclusion
  total participation of E2 in R
                                                      p    partition
        E1                  R               E2



Database Concepts type
    weak entity          E2; identifying
© Leo Mark
ER Model - Example                                                 visa
                                                                                             required

                                             dept                      domestic            international
                                             time                       flight                flight
                      airport    airport
                                                        dept
                      name        code                                             p
                                                       airport                                     weekdays
                                              1                         n
                      airport                                                      flight
                                 airport
                       addr                                                       schedule
                                                        arriv
                                                  1                     n
                                                       airport                         1
                                zip                                                                    flight#
      street         city                   arriv
                                            time                                  instance
                                                                                    of
                                customer#                        date
                                                                                         n
                    customer                          reserva-                     flight
                                                  n                n
                                 customer                                         instance
                     name                               tion



                                                                  seat#
Database Concepts
© Leo Mark
ER-Model - Operations
             Several navigational query languages have
             been proposed
             A closed query language as powerful as
             relational languages has not been developed
             None of the proposed query languages has
             been generally accepted




Database Concepts
© Leo Mark
Hierarchical Model
                       Data Structures
                       Integrity Constraints
                       Operations

          Commercial systems include IBM’s IMS, MRI’s
          System-2000 (now sold by SAS), and CDC’s
          MARS IV




Database Concepts
© Leo Mark
Hierarchical Model - Data Structures
                           flight-sched
                            flight#


             flight-inst            dept-airp      arriv-airp
                date               airport-code   airport-code
    customer
     customer#             customer name
      record types: flight-schedule, flight-instance, etc.
      field types: flight#, date, customer#, etc.
      parent-child relationship types (1:n only!!):
      (flight-sched,flight-inst), (flight-inst,customer)
      one record type is the root, all other record types is
      a child of one parent record type only
      substantial duplication of customer instances
      asymmetrical model of n:m relationship types
Database Concepts
© Leo Mark
Hierarchical Model - Data Structures
                 - virtual records
 customer                                flight-sched
  customer#         customer name         flight#

                         P
                                    flight-inst    dept-airp      arriv-airp
                                       date       airport-code   airport-code

                                     customer-
                                      pointer


      duplication of customer instances avoided
      still asymmetrical model of n:m relationship types



Database Concepts
© Leo Mark
flight-sched
                                                                Hierarchical Model
                      flight#
                                                                          - Operations
      flight-inst                dept-airp                      arriv-airp
         date                   airport-code                   airport-code
customer
 customer#           customer name
   GET UNIQUE flight-sched (flight#=‘912’)             [search flight-sched; get first such flight-sched]



   GET UNIQUE flight-sched                             [for each flight-sched

                     flight-inst (date=‘102298’)       for each flight-inst with date=102298

                     customer (name=‘Jensen’)          for each customer with name=Jensen, get the first one]



   GET UNIQUE flight-sched                             [for each flight-sched

                    flight-inst (date=‘102298’)        for each flight-inst with date=102298, get the first

      GET NEXT flight-inst                 get the next flight-inst, whatever the date]
Database Concepts
© Leo Mark
Network Model
                        Data Structures
                        Integrity Constraints
                        Operations



             Based on the CODASYL-DBTG 1971 report
             Commercial systems include, CA-IDMS and
             DMS-1100


Database Concepts
© Leo Mark
Network Model - Data Structures
                Type diagram                     Occurrence diagram

            Bachman Diagram                      The Spaghetti Model
 flight-schedule
  flight#                                   F1                   F2

                           FR
        reservation                         R1       R2    R3    R4    R5   R6
         flight#    date        customer#

                                                    C1                 C4
       customer            CR
        customer#      customer name
         owner record types: flight-schedule, customer
         member record type: reservations
         DBTG-set types: FR, CR
         n-m relationships cannot be modeled directly
         recursive relationships cannot be modeled directly
Database Concepts
© Leo Mark
Network Model - Integrity
                        Constraints
                                      flight-schedule
         keys                          flight#

                                      reservation
         checks                        flight#    date   customer#    price
                                               check is price>100
                                           flight-schedule
             set retention options:         flight#
             – fixed
                                                                 FR
             – mandatory
                                                 reservation
             – optional                           flight# date    customer#

             set insertion options:
                                                customer    CR
           – automatic
                                                 customer# customer name
           – manual
Database Concepts
© Leo Mark
                                       FR and CR are fixed and automatic
Network Model - Operations
             The operations in the Network Model are
             generic, navigational, and procedural

              query:                                            currency indicators:
              (1) find flight-schedule where flight#=F2                  (F2)

              (2) find first reservation of FR                           (R4)

              (3) find next reservation of FR                            (R5)
                                 F1                   F2
              (4) find owner of CR               FR                      (C4)

                                R1       R2      R3   R4   R5    R6


                                        C1            CR   C4
Database Concepts
© Leo Mark
Network Model - Operations
          navigation is cumbersome; tuple-at-a-time
          many different currency indicators
          multiple copies of currency indicators may be
          needed if the same path is traveled twice
          external schemata are only sub-schemata




Database Concepts
© Leo Mark
Inverted Model - ADABAS
                         Data Structures
                         Integrity Constraints
                         Operations




Database Concepts
© Leo Mark
Relational Model

                       Data Structures
                       Integrity Constraints
                       Operations



            Commercial systems include: ORACLE, DB2,
            SYBASE, INFORMIX, INGRES, SQL Server
            Dominates the database market on all
            platforms

Database Concepts
© Leo Mark
Relational Model - Data Structures

                                       domains
                                       attributes
                                       relations

                                                   relation name
     attribute names
                          flight-schedule
                          flight#:    airline:   weekday:    price:

                          integer     char(20)   char(2)     dec(6,2)


                domain names

Database Concepts
© Leo Mark
Relational Model - Integrity
                           Constraints
                           Keys
                           Primary Keys
                           Entity Integrity
                           Referential Integrity


     flight-schedule                             customer
      flight#                                     customer#   customer name
         p                                            p


                          reservation
Database Concepts         flight#       date   customer#
© Leo Mark
Relational Model - Operations
             Powerful set-oriented query languages
             Relational Algebra: procedural; describes
             how to compute a query; operators like JOIN,
             SELECT, PROJECT
             Relational Calculus: declarative; describes
             the desired result, e.g. SQL, QBE
             insert, delete, and update capabilities




Database Concepts
© Leo Mark
Relational Model - Operations
           tuple calculus example (SQL)
            select flight#, date
            from reservation R, customer C
            where R.customer#=C.customer#
            and customer-name=‘LEO’;
           algebra example (ISBL)
           ((reservation join customer) where customer-
           name=‘LEO’) [flight#, date];
           domain calculus example (QBE)
            reservation                    customer
             flight#    date   customer#    customer#   customer-name
               .P      .P       _c             _c           LEO

Database Concepts
© Leo Mark
Object-Oriented Model(s)
       based on the object-oriented paradigm,
       e.g., Simula, Smalltalk, C++, Java
       area is in a state of flux

       object-oriented model has object-oriented
       repository model; adds persistence and database
       capabilities; (see ODMG-93, ODL, OQL)
       object-oriented commercial systems include
       GemStone, Ontos, Orion-2, Statice, Versant, O2

       object-relational model has relational repository
       model; adds object-oriented features; (see SQL3)
       object-relational commercial systems include
       Starburst, POSTGRES
Database Concepts
© Leo Mark
Object-Oriented Paradigm
               object class
               object attributes, primitive types, values
               object interface, methods; body, implementations
               messages; invoke methods; give method name and
               parameters; return a value
               encapsulation
               visible and hidden attributes and methods
               object instance; object constructor & destructor
               object identifier, immutable
               complex objects; multimedia objects; extensible
               type system
               subclasses; inheritance; multiple inheritance
               operator overloading
               references represent relationships
               transient & persistent objects
Database Concepts
© Leo Mark
Object-Oriented Model - Structures
                                                                     O2-like syntax
 class flight-schedule {
      type tuple (flight#: integer,
                    weekdays: set ( weekday: enumeration {mo,tu,we,th,fr,sa,su})
                    dept-airport: airport, arriv-airport: airport)
         method reschedule(new-dept: airport, new-arriv: airport)}
 class international-flight inherit flight-schedule {
      type tuple (visa-required:string)
         method change-visa-requirement(v: string): boolean}
                    /* the reschedule method is inherited by international-flight; */
                    /* when reschedule is invoked in international-flight it may */
                    /* also invoke change-visa-requirement                         */


Database Concepts
© Leo Mark
class flight-instance {
      type tuple (flight-date: tuple ( year: integer, month: integer, day: integer);
                    instance-of: flight-schedule,
                    passengers: set (customer) inv customer::reservations)
         method add-passenger(new-passenger:customer):boolean,
                    /*adds to passengers; invokes customer.make-reservation */
                    remove-passenger(passenger: customer):boolean}
                    /*removes from passengers; invokes customer.cancel-reservation*/
 class customer {
      type tuple (customer#: integer,
                    customer-name: tuple ( fname: string, lname: string)
                    reservations: set (flight-instance) inv flight-instance::passengers)
         method make-reservation(new-reservation: flight-instance): boolean,
                    cancel-reservation(reservation: flight-instance): boolean}



Database Concepts
© Leo Mark
Object-Oriented Model - Updates
 class customer {                                                  O2-like syntax
      type tuple (customer#: integer,
                      customer-name: tuple ( fname: string, lname: string)
                      reservations: set (flight-instance) inv flight-instance::passengers)

 main () {
    transaction::begin();
    all-customers: set( customer); /*makes persistent root to hold all customers */
    customer c= new customer;            /*creates new customer object */
    c= tuple (customer#: “111223333”,
                    customer-name: tuple( fname: “Leo”, lname: “Mark”));
    all-customers += set( c);           /*c becomes persistent by attaching to root */
    transaction::commit();}
Database Concepts
© Leo Mark
Object-Oriented Model - Queries
                                                         O2-like syntax
“Find the customer#’s of all customers with first name Leo”

select tuple (c#: c.customer#)
from c in customer
where c.customer-name.fname = “Leo”;


“Find passenger lists, each with a flight# and a list of customer names, for
flights out of Atlanta on October 22, 1998”

select tuple(flight#: f.instance-of.flight#,
             passengers: select( tuple( c.customer#, c.customer-name.lname)))
from f in flight-instance, c in f.passengers
where f.flight-date=(1998, 10, 22)
and f.instance-of.dept-airport.airport-code=“Atlanta”;
Database Concepts
© Leo Mark
DATABASE ARCHITECTURE
             ANSI/SPARC 3-Level DB Architecture
             Metadata - What is it? Why is it important?
             ISO Information Resource Dictionary System
             (ISO-IRDS)




Database Concepts
© Leo Mark
ANSI/SPARC 3-Level DB
        Architecture - separating concerns
                                                       DML

             database system             database system
                               DDL
                database                     schema
                                              schema


                                              data
                                               data


             a database is divided into schema and data
             the schema describes the intension (types)
             the data describes the extension (data)
             Why? Effective! Efficient!
Database Concepts
© Leo Mark
ANSI/SPARC 3-Level DB
        Architecture - separating concerns
                                       schema
                                        schema


                                        data
                                         data


                                       schema
                                        schema          internal schema
                                                         internal schema


                                                             data
                                                              data


                external schema
                 external schema   conceptual schema
                                    conceptual schema   internal schema
                                                         internal schema


                                                              data
                                                               data
Database Concepts
© Leo Mark
ANSI/SPARC 3-Level DB Architecture
                    external
                     external    external
                                  external      external
                                                 external
                    schema11
                     schema      schema22
                                  schema        schema33
                                                 schema


                                conceptual
                                 conceptual
                                  schema
                                   schema

                                              • external schema:
                                 internal
                                  internal     use of data
                                 schema
                                  schema      • conceptual schema:
                                               meaning of data
                                              • internal schema:
                                 database
                                  database     storage of data
Database Concepts
© Leo Mark
Conceptual Schema
          Describes all conceptually relevant, general,
          time-invariant structural aspects of the universe
          of discourse
          Excludes aspects of data representation and
          physical organization, and access

                    CUSTOMER

                        NAME   ADDR   SEX   AGE




            An object-oriented conceptual schema would
            also describe all process aspects
Database Concepts
© Leo Mark
External Schema
          Describes parts of the information in the
          conceptual schema in a form convenient to a
          particular user group’s view
          Is derived from the conceptual schema

                    MALE-TEEN-CUSTOMER

                      NAME        ADDR


                                     TEEN-CUSTOMER(X, Y) =
                                     CUSTOMER(X, Y, S, A)
                                     WHERE SEX=M AND 12<A<20;
                    CUSTOMER

                        NAME       ADDR        SEX          AGE
Database Concepts
© Leo Mark
Internal Schema
         Describes how the information described in the
         conceptual schema is physically represented to
         provide the overall best performance
                    CUSTOMER

                          NAME      ADDR   SEX        AGE



                    CUSTOMER

                          NAME      ADDR   SEX        AGE


                    B+-tree on             index on
                    AGE                    NAME       NAME   PTR




Database Concepts
© Leo Mark
Physical Data Independence
                    external
                     external    external
                                  external         external
                                                    external
                    schema11
                     schema      schema22
                                  schema           schema33
                                                    schema


                                conceptual
                                 conceptual
                                  schema
                                   schema


                                 internal
                                  internal    Physical data independence
                                 schema
                                  schema      is a measure of how much
                                              the internal schema can
                                              change without affecting the
                                              application programs
                                 database
                                  database
Database Concepts
© Leo Mark
Logical Data Independence
                    external
                     external    external
                                  external         external
                                                    external
                    schema11
                     schema      schema22
                                  schema           schema33
                                                    schema


                                conceptual
                                 conceptual
                                  schema
                                   schema


                                 internal
                                  internal    Logical data independence
                                 schema
                                  schema      is a measure of how much
                                              the conceptual schema can
                                              change without affecting the
                                              application programs
                                 database
                                  database
Database Concepts
© Leo Mark
Schema Compiler
     The schema compiler compiles           metadata
     schemata and stores them in the
     metadatabase


                                 compiler




                    schemata
                                              • Catalog
                                              • Data Dictionary
                                              • Metadatabase
Database Concepts
© Leo Mark
Query Transformer
    Uses metadata to transform a                    metadata
    query at the external schema
    level to a query at the storage
    level                             DML

                                         query
                                         query
                                      transformer



                                                         data




Database Concepts
© Leo Mark
ANSI/SPARC DBMS Framework
                                                        enterprise
                                                       administrator

                                                        1
 schema compiler




                                              3                        3
                               database                 conceptual           application
                             administrator                schema               system
                                                         processor          administrator
                                  13                        2                   4
                                                  14                   5
                                 internal                                     external
                                 schema                                       schema
                                processor                metadata            processor
query transformer




                                 34                         36                  38
                           21                 30                       31                   12
                    data           storage                internal           conceptual          user
                                  internal               conceptual           external
                                transformer             transformer         transformer
Database Concepts
© Leo Mark
Metadata - What is it?
             System metadata:               Business metadata:
              –     Where data came from    –   What data are available
              –     How data were changed   –   Where data are located
              –     How data are stored     –   What the data mean
              –     How data are mapped     –   How to access the data
              –     Who owns data           –   Predefined reports
              –     Who can access data     –   Predefined queries
              –     Data usage history      –   How current the data are
              –     Data usage statistics


              Metadata - Why is it important?
             System metadata are critical in a DBMS
             Business metadata are critical in a data warehouse
Database Concepts
© Leo Mark
ISO-IRDS - Why?
             Are metadata different from data?
             Are metadata and data stored separately?
             Are metadata and data described by different
             models?
             Is there a schema for metadata? A
             metaschema?
             Are metadata and data changed through
             different interfaces?
             Can a schema be changed on-line?
             How does a schema change affect data?
Database Concepts
© Leo Mark
ISO-IRDS Architecture
      DL
                      metaschema      metaschema; describes all schemata
                                      that can be defined in the data model


                    data dictionary   data dictionary schema; contains copy
                            schema    of metaschema; schema for format
                                      definitions; schema for data about
                                      application data
                    data dictionary   data dictionary data; schema
                               data
                                      for application data; data about
                                      application data

                              data    raw formatted application data



Database Concepts
© Leo Mark
ISO-IRDS - example
                     metaschema       relations
                                       rel-name    att-name dom-name


                                      access-rights
                    data dictionary     user       relation    operation
                           schema
                                      relations
                                       rel-name    att-name dom-name

                    data dictionary   (u1, supplier, insert)
                                      (u2, supplier, delete)
                                      supplier
                                         s#          sname     location

                               data   (s1, smith, london)
                                      (s2, jones, boston)



Database Concepts
© Leo Mark
DATABASE MANAGEMENT
                     SYSTEM ARCHITECTURE
             Teleprocessing Database
             File-Sharing Database
             Client-Server Database - Basic
             Client-Server Database - w/Caching
             Distributed Database
             Federated Database
             Multi-Database
             Parallel Databases


Database Concepts
© Leo Mark
Teleprocessing Database
                          dumb             dumb             dumb
                        terminal         terminal         terminal

                                                                     communication
                                                                     lines
                                          OSTP

                                   AP1     AP2      AP3              mainframe
                                         DBMS

                                          OSDB


                                                                     database
                                           DB




Database Concepts
© Leo Mark
Teleprocessing Database -
                          characteristics
          Dumb terminals
          APs, DBMS, and DB reside on central computer
          Communication lines are typically phone lines
          Screen formatting transmitted via communication
          lines
          User interface character oriented and primitive
          Dumb terminals are gradually being replaced by
          micros



Database Concepts
© Leo Mark
File-Sharing Database
                     AP1           AP2           AP3

                           DBMS                  DBMS            micros
                           OSNET                 OSNET


                                                         LAN

                                         OSNET           file server

                                         OSDB
                                                         micro


                                                         database
                                          DB




Database Concepts
© Leo Mark
File-Sharing Database -
                   characteristics
             APs and DBMS on client micros
             File-Server on server micro
             Clients and file-server communicate via LAN
             Substantial traffic on LAN because large files
             (and indices) must be sent to DBMS on
             clients for processing
             Substantial lock contention for extended
             periods of time for the same reason
             Good for extensive query processing on
             downloaded snapshot data
             Bad for high-volume transaction processing
Database Concepts
© Leo Mark
Client-Server Database - Basic
                    AP1           AP2           AP3
                                                                micros
                          OSNET                 OSNET


                                                        LAN

                                        OSNET           micro(s) or
                                        DBMS            mainframe

                                        OSDB


                                                        database
                                         DB




Database Concepts
© Leo Mark
Client-Server Database - Basic -
                     characteristics
             APs on client micros
             Database-server on micro or mainframe
             Multiple servers possible; no data replication
             Clients and database-server communicate via
             LAN
             Considerably less traffic on LAN than with
             file-server
             Considerably less lock contention than with
             file-server


Database Concepts
© Leo Mark
Client-Server Database - w/Caching
                    AP1           AP2           AP3
                                                                micros
                          DBMS                  DBMS

                          OSNET                 OSNET


                                                  LAN
            DB                                                     DB
                                        OSNET
                                                  micro(s) or
                                        DBMS
                                                  mainframe
                                        OSDB



                                                  database
                                         DB



Database Concepts
© Leo Mark
Client-Server Database -
                    w/Caching - characteristics
             DBMS on server and clients
             Database-server is primary update site
             Downloaded queries are cached on clients
             Change logs are downloaded on demand
             Cached queries are updated incrementally
             Less traffic on LAN than with basic client-
             server database because only initial query
             result is downloaded followed by change logs
             Less lock contention than with basic client-
             server database for same reason
Database Concepts
© Leo Mark
Distributed Database
                          AP1          AP2                  AP3
                                                                            micros(s) or
                                DDBMS                     DDBMS
                                                                            mainframes
                                OSNET&DB                  OSNET&DB

                                                                                network


                    external                  external               external


                                             conceptual


                                              internal




                     DB                         DB                    DB
Database Concepts
© Leo Mark
Distributed Database -
                        characteristics
       APs and DDBMS on multiple micros or mainframes
       One distributed database
       Communication via LAN or WAN
       Horizontal and/or vertical data fragmentation
       Replicated or non-replicated fragment allocation
       Fragmentation and replication transparency
       Data replication improves query processing
       Data replication increases lock contention and
       slows down update transactions

Database Concepts
© Leo Mark
Distributed Database - Alternatives
                                                                        increasing cost, complexity, difficulty of control, security risk
      increasing parallelism, independence, flexibility, availability




                                                                                                                                            A           C
                                                                                                                                                            partitioned
                                                                                                                                                            non-replicated
                                                                                                                                            B           D




                                                                                                                                            A   C   A   C    non-partitioned
                                                                                                                                                             replicated
                                                                                                                                            B   D   B   D




                                                                                                                                            A   C       C    partitioned
                                                                                                                                            B           D    replicated
Database Concepts     +                                                                 -
© Leo Mark
Federated Database
                            AP1          AP2                   AP3
                                                                                micros(s) or
                                  DDBMS                      DDBMS
                                                                                mainframes
                                  OSNET&DB                   OSNET&DB

                                                                                     network
                                               federation
                                                schema

                      export                     export                   export
                     schema1                    schema2                  schema3

                    conceptual1                conceptual2              conceptual3


                     internal1                  internal2                internal3



                      DB                          DB                      DB
Database Concepts
© Leo Mark
Federated Database -
                       characteristics
             Each federate has a set of APs, a DDBMS,
             and a DB
             Part of a federate’s database is exported,
             i.e., accessible to the federation
             The union of the exported databases
             constitutes the federated database
             Federates will respond to query and update
             requests from other federates
             Federates have more autonomy than with a
             traditional distributed database

Database Concepts
© Leo Mark
Multi-Database

                            AP1          AP2                     AP3
                                                                                 micros(s) or
                            MULTI-DBMS                       MULTI-DBMS
                                                                                 mainframes
                                  OSNET&DB                     OSNET&DB
                                                                                 network, e.g
                                                                                 WWW



                    conceptual1                conceptual2                conceptual3


                     internal1                  internal2                  internal3



                      DB                          DB                        DB
Database Concepts
© Leo Mark
Multi-Database - characteristics
             A multi-database is a distributed database
             without a shared schema
             A multi-DBMS provides a language for
             accessing multiple databases from its APs
             A multi-DBMS accesses other databases via
             a network, like the www
             Participants in a multi-database may respond
             to query and update requests from other
             participants
             Participants in a multi-database have the
             highest possible level of autonomy
Database Concepts
© Leo Mark
Parallel Databases
             A database in which a single query may be
             executed by multiple processors working
             together in parallel
             There are three types of systems:
              – Shared memory
              – Shared disk
              – Shared nothing




Database Concepts
© Leo Mark
Parallel Databases - Shared Memory
                                processors share memory via
               P
                                bus
                            M

               P
                                extremely efficient processor
                                communication via memory
               P
                                writes
                                bus becomes the bottleneck
               P
                                not scalable beyond 32 or 64
                                processors
        P       processor

       M        memory
                disk
Database Concepts
© Leo Mark
Parallel Databases - Shared Disk
                        processors share disk via
     M         P
                        interconnection network
     M         P
                        memory bus not a bottleneck
                        fault tolerance wrt. processor
     M         P        or memory failure
                        scales better than shared
     M         P
                        memory
                        interconnection network to
                        disk subsystem is a
                        bottleneck
                        used in ORACLE Rdb
Database Concepts
© Leo Mark
Parallel Databases - Shared Nothing

               P
                    scales better than shared memory
     M
                    and shared disk
                    main drawbacks:
               P
     M
                    – higher processor communication cost
                    – higher cost of non-local disk access
     M         P    used in the Teradata database
                    machine
     M         P




Database Concepts
© Leo Mark
RAID -
     redundant array of inexpensive disks
           disk striping improves performance via parallelism
           (assume 4 disks worth of data is stored)



              disk mirroring improves reliability via redundancy
              (assume 4 disks worth of data is stored)
              mirroring: via copy of data (c); via bit parity (p)


                                          c      c       c    c


                                                     p

Database Concepts
© Leo Mark
DATABASE CAPABILITIES
                         Data Storage
                         Queries
                         Optimization
                         Indexing
                         Concurrency Control
                         Recovery
                         Security




Database Concepts
© Leo Mark
Data Storage
                    Disk management
                    File management
                    Buffer management
                    Garbage collection
                    Compression




Database Concepts
© Leo Mark
Queries
       SQL queries are composed from the following:

             Selection                  Set operations
              –     Point                –   Cartesian Product
              –     Range                –   Union
              –     Conjunction          –   Intersection
              –     Disjunction          –   Set Difference
             Join                       Other
              –     Natural join         – Duplicate elimination
              –     Equi join            – Sorting
              –     Theta join           – Built-in functions: count,
              –     Outer join             sum, avg, min, max
             Projection                 Recursive (not in SQL)
Database Concepts
© Leo Mark
Query Optimization
   select flight#, date                    reserv
   from reserv R, cust C                    flight# date   cust#     10,000 reserv blocks
   where R.cust#=C.cust#                   customer                  3,000 cust blocks
   and cust-name=‘LEO’;                     cust#     cust-name      30 “Leo” blocks



                    flight#, date                                    flight#, date



                                                                         cost: 10,000x30

                     cust-name=Leo

                                                                                     cust#
                         cost: 10,000x3,000

                                                                                     cust-name=Leo
                                                                                        cost: 3,000
        reserv                      cust                    reserv               cust
Database Concepts
© Leo Mark
Query Optimization
                      Database statistics
                      Query statistics
                      Index information
                      Algebraic manipulation
                      Join strategies
                      –   Nested loops
                      –   Sort-merge
                      –   Index-based
                      –   Hash-based


Database Concepts
© Leo Mark
Indexing
        Why Bother?
         Disk access time: 0.01-0.03 sec
         Memory access time: 0.000001-0.000003 sec
         Databases are I/O bound
         Rate of improvement of
         (memory access time)/(disk access time) >>1
         Things won’t get better anytime soon!

        Indexing helps reduce I/O !

Database Concepts
© Leo Mark
Indexing (cont.)
             Clustering vs. non-clustering
             Primary and secondary indices
             I/O cost for lookup:
              – Heap:                         N/2
              – Sorted file:                  log2(N)
              – Single-level index:           log2(n)+1
              – Multi-level index; B+-tree:   logfanout(n)+1
              – Hashing:                      2-3
             View caching; incremental computation

Database Concepts
© Leo Mark
Concurrency Control
         flight-inst                         reserv
          flight#      date   #avail-seats   flight#    date   customer#
   T1:                                       T2:
   read(flight-inst(flight#,date)
   seats:=#avail-seats                       read(flight-inst(flight#,date)
   if seats>0 then {                         seats:=#avail-seats
   seats:=seats-1                            if seats>0 then {
                                             seats:=seats-1
                                             write(reserv(flight#,date,customer2))
                                             write(flight-inst(flight#,date,seats))}
   write(reserv(flight#,date,customer1))
   write(flight-inst(flight#,date,seats))}


                                    overbooking!
Database Concepts
© Leo Mark
Concurrency Control (cont.)
  ACID Transactions:
   An ACID transaction is a sequence of database
   operations that has the following properties:
   Atomicity
        – Either all operations are carries out, or none is
        – This property is the responsibility of the concurrency
          control and the recovery sub-systems
       Consistency
         – A transaction maps a correct database state to another
            correct state
         – This requires that the transaction is correct, which is the
            responsibility of the application programmer
Database Concepts
© Leo Mark
Concurrency Control (cont.)
       Isolation
        – Although multiple transactions execute concurrently, i.e.
          interleaved, not parallel, they appear to execute
          sequentially
        – This is the responsibility of the concurrency control sub-
          system
       Durability
        – The effect of a completed transaction is permanent
        – This is the responsibility of the recovery manager




Database Concepts
© Leo Mark
Concurrency Control (cont.)
      Serializability is a good definition of correctness
      A variety of concurrency control protocols exist
       – Two-phase (2PL) locking
                deadlock and livelock possible
                deadlock prevention: wait-die, wound-wait
                deadlock detection: rollback a transaction
       – Optimistic protocol: proceed optimistically; back up and
         repair if needed
       – Pessimistic protocol: do not proceed until knowing that no
         back up is needed



Database Concepts
© Leo Mark
Recovery
          reserv                                      flight-inst

           flight#   date     customer#               flight#       date    #avail-seats


                                                                           102298   102398
          change-reservation(DL212,102298,DL212,102398,C)                   100      50
          read(flight-inst(DL212,102298)                                    100      50
          #avail-seats:=#avail-seats+1                                      100      50
          update(flight-inst(DL212,102298,#avail-seats)                     101      50
          read(flight-inst(DL212,102398)                                    101      50
          #avail-seats:=#avail-seats-1                                      101      50
          update(flight-inst(DL212,102398,#avail-seats)                     101      49
          update(reserv(DL212,102298,C,DL212,102398,C)                      101      49

Database Concepts
© Leo Mark
Recovery (cont.)
              Storage types:
                    Volatile: main memory
                    Nonvolatile: disk


              Errors:
                    Logical error: transaction fails; e.g. bad input, overflow
                    System error: transaction fails; e.g. deadlock
                    System crash: power failure; main memory lost, disk
                    survives
                    Disk failure: head crash, sabotage, fire; disk lost


              What to do?
Database Concepts
© Leo Mark
Recovery (cont.)
     Deferred update (NO-UNDO/REDO):
           – don’t change database until ready to commit
           – write-ahead to log to disk
           – change the database
         Immediate update (UNDO/NO-REDO):
           – write-ahead to log on disk
           – update database anytime
           – commit not allowed until database is completely updated
         Immediate update (UNDO/REDO):
           – write-ahead to log on disk
           – update database anytime
           – commit allowed before database is completely updated
         Shadow paging (NO-UNDO/NO-REDO):
           – write-ahead to log in disk
© Leo Mark – keep shadow page; update copy only; swap at commit
Database Concepts
Security
        DAC: Discretionary Access Control
         is used to grant/revoke privileges to users,
         including access to files, records, fields (read,
         write, update mode)
        MAC: Mandatory Access Control
         is used to enforce multilevel security by
         classifying data and users into security levels
         and allowing users access to data at their
         own or lower levels only


Database Concepts
© Leo Mark
PEOPLE THAT WORK WITH
                         DATABASES
                        System Analysts
                        Database Designers
                        Application Developers
                        Database Administrators
                        End Users




Database Concepts
© Leo Mark
System Analysts
               communicate with each prospective database
               user group in order to understand its
                    – information needs
                    – processing needs
               develop a specification of each user group’s
               information and processing needs
               develop a specification integrating the
               information and processing needs of the user
               groups
               document the specification

Database Concepts
© Leo Mark
Database Designers
               choose appropriate structures to represent
               the information specified by the system
               analysts
               choose appropriate structures to store the
               information in a normalized manner in order
               to guarantee integrity and consistency of data
               choose appropriate structures to guarantee
               an efficient system
               document the database design


Database Concepts
© Leo Mark
Application Developers
             implement the database design
             implement the application programs to meet
             the program specifications
             test and debug the database implementation
             and the application programs
             document the database implementation and
             the application programs




Database Concepts
© Leo Mark
Database Administrators
             Manage the database structure
              –     participate in database and application development
              –     assist in requirement analysis
              –     participate in database design and creation
              –     develop procedures for integrity and quality of data
              –     facilitate changes to database structure
              –     seek communitywide solutions
              –     assess impact on all users
              –     provide configuration control
              –     be prepared for problems after changes are made
              –     maintain documentation
Database Concepts
© Leo Mark
Database Administrators (cont.)
             Manage data activity
              – establish database standards consistent with data
                administration standards
              – establish and maintain data dictionary
              – establish data proponencies
              – work with data proponents to develop data access
                and modification rights
              – develop, document, and train staff on backup and
                recovery procedures
              – publish and maintain data activity standards
                documentation

Database Concepts
© Leo Mark
Database Administrators (cont.)
             Manage the database management system
             – generate database application performance reports
             – investigate user performance complaints
             – assess need for changes in database structure or
               application design
             – modify database structure
             – evaluate and implement new DBMS features
             – tune the database
             Establish the database data dictionary
              – data names, formats, relationships
              – cross-references between data and application
                  programs
              –
Database Concepts (see metadata slide)
© Leo Mark
End Users
             Parametric end users constantly query and
             update the database. They use canned
             transactions to support standard queries and
             updates.
             Casual end users occasional access the
             database, but may need different information
             each time. They use sophisticated query
             languages and browsers.
             Sophisticated end users have complex
             requirement and need different information
             each time. They are thoroughly familiar with
             the capabilities of the DBMS.
Database Concepts
© Leo Mark
THE DATABASE MARKET
             Prerelational vs. Relational
             Database Vendors
             Relational Database Products
             Relational Databases for PCs
             Object-Oriented Database Capabilities




Database Concepts
© Leo Mark
Prerelational vs. Relational
                  billion $
            14
                              p e ea i n l
                               r r l to a
            12                r l t nl
                               ea io a

            10

              8

              6

              4

              2

              0
                   1 9
                    9 4          1 9
                                  9 5     1 9
                                           9 6      1 9
                                                     9 7         1 9
                                                                  9 8   1 9
                                                                         9 9



      Prerelational market revenue shrinking about 9%/year. Currently 1.8 billion/year

      Relational market revenue growing about 30%/year. Currently 11.5 billion/year

Database Concepts
       Object-Oriented
© Leo Mark               market revenue about 150 million/year
Database Vendors


                                                           Other ($2,272M)
                              Informix        CA           Oracle ($1,755M)
                     Sybase

                                                           IBM (IMS+DB2) ($1,460M)
               IBM
                                                   Other
                                                           Sybase ($664M)

                                     Oracle
                                                           Informix (+Illustra) ($492M)


                                                           CA-IDMS (+Ingress) ($447M)


                                                           NEC ($211M)


                                                           Fujitsu ($186M)


                                                            Total: $7,847M
                                                           Hitachi ($117M)


                                                           Software AG (ADABAS) ($136M)
                                                              Source: IDC, 1995
Database Concepts
© Leo Mark
Relational Database Products
                    We compare the following products:
                     ORACLE 7 Version 7.3
                     Sybase SQL Server 11
                     Informix OnLine 7.2
                     Microsoft SQL Server 6.5
                     IBM DB2 2.1.1
                     CA-OpenIngres 1.2




Database Concepts
© Leo Mark
Relational Database Products   COMPARIS ON
                                    CRITERIA
                                                         ORACLE7
                                                         VERS ION7.3
                                                                             S YBAS E S QL
                                                                             S ERVER11
                                                                                                  INFORMIX
                                                                                                  ONLINE7.1
                                    Relational M odel
                                    Domains              no                  no                   no
                                    Referential Integ.   restrict, except    restrict only        restrict, except
                                    violation options    cascading delete                         cascading delete
                                    Taylor referential   no                  no                   no
                                    messages
                                    Referential          no                  no                   no
                                    WHERE clause
                                    Updatable views      yes                 yes                  yes
                                    w/check option
                                    Database Objects
                                    User-defined         yes                 yes                  no
                                    data types
                                    BLOBs                yes                 yes                  yes
                                    Additional           image,video,text,   binary,image,text,   byte,
                                    data types           messaging,spatial   money,bit,           text up to 2GB
                                                         data types          varbinary
                                    Table structure      heap,clustered      heap,clustered       no choice
                                    Index structure      B-tree,bitmap,      B-tree               B+-tree,clustered
                                                         hash
                                    Tuning facilities    table and index     index pre-fetch,     extents, table
                                                         allocation          I/O buffer cache,    fragmentation by
                                                                             block size,          expression or
                                                                             table partitioning   round robin

Database Concepts
© Leo Mark
Relational Database Products   COMPARIS ON          MICROS OFT S QL   IBM DB2 2.1.1          CA-
                                   CRITERIA             S ERVER6.5                               OPENINGRES 1.2
                                   Relational M odel
                                   Domains              no                no                     no
                                   Ref. integrity       restrict          restrict,cascade,      restrict only
                                   w/check option                         set null
                                   Taylor referential   no                no                     no
                                   messages
                                   Referential          no                no                     no
                                   WHERE clause
                                   Updatable views      yes               yes, including         yes
                                   w/check option                         union vews
                                   Database objects
                                   User-defined         yes               yes                    yes
                                   data types
                                   BLOBs                yes               yes                    yes
                                   Additional                             large objects          byte,longbyte,long
                                   data types                                                    varchar,spatial,
                                                                                                 varbyte, money
                                   Table structure      no choice         no choice              B-tree,hash,heap,
                                                                                                 ISAM
                                   Index structure      clustered         clustered              B-tree,hash,ISAM
                                   Tuning facilities    fill factors,     table & index          table&index alloc.
                                                        allocation        allocation, cluster    fill factors,
                                                                          ratio,cluster factor   pre-allocation


Database Concepts
© Leo Mark
Relational Database Products
                                  COMPARIS ON         ORACLE7             S YBAS E S QL       INFORMIX
                                  CRITERIA            VERSION7.3          S ERVER11           ONLINE7.2
                                  Triggers
                                  Level               row&set-based       set-based           row&set-based
                                  Timing              before,after        after               before,after,each
                                  Nesting             yes                 yes                 yes
                                  Stored procedures
                                  Language            PL/SQL              Transact-SQL        SPL
                                  Nesting             yes                 yes                 yes
                                  Cursors             yes                 yes                 yes
                                  External calls      RPC                 RPC                 system calls
                                  Events              yes                 time-based          no
                                  Queries
                                  Locking level       table, row          table, page         db,table,page,row
                                  ANSI SQL comply     entry level SQL92   entry level SQL92   entry level SQL92
                                  Cursors             forward             forward             forward,backward
                                  Outer join          yes                 yes                 yes
                                   ANSI syntax        no                  no                  no
                                  APIs                ODBC                DBLIB,CTLIB,ODBC    ESQL,TP/XA,CLI,
                                                                                              ODBC


Database Concepts
© Leo Mark
Relational Database Products   COMPARISON          MICROSOFT S QL       IBM DB22.1.1         CA-
                                   CRITERIA            DERVER6.5                                 OPENINGRES1.2
                                   Triggers
                                   Level               set-based            set&row-based        row-based
                                   Timing              after                before,after         after
                                   Nesting             yes                  yes                  yes
                                   Stored procedures
                                   Language            Transact-SQL         SQL, 3GL             SQL-like
                                   Nesting             yes                  yes                  yes
                                   Cursors             yes                  yes                  no
                                   External calls      system call          yes                  no(db events)
                                   Events              no                   user-def functions   db event alerters
                                   Queries
                                   Locking level       db,table, page,row   db,table, page,row   db,table,page
                                   ANSI SQL comply     entry level SQL92    entry level SQL92    entry level SQL92
                                   Cursors             forward,backward     forward              forward
                                                       ,relative,absolute
                                   Outer join          yes                  yes                  yes
                                    ANSI syntax        no                   no                   yes
                                   APIs                ESQL,DBLIB,ODBC,     ESQL,,ODBC           ESQL,TP/XA,ODBC
                                                       Dist mgt objects


Database Concepts
© Leo Mark
Relational Database Products   COMPARIS ON
                                    CRITERIA
                                                        ORACLE7              S YBAS E S QL
                                                                             S ERVER11
                                                                                                 INFORMIX
                                                                                                 ONLINE7.2
                                    Database Admin
                                    Tools               Oracle Enterp M gr   Sybase SQL M gr     SM I,DB/Cockpit,
                                                        Performance Pack     SQL M onitor        OnPerf
                                    SNM P support       yes                  yes                 no
                                    Security            C2(trusted Oracle)   C2                  C2,B1online secur
                                    Partial backup &    configurable         configurable        no
                                    recovery
                                    Internet
                                    Internet support    OracleWebServer      web.sql             ESQL,4GLCGI,
                                                                                                 Interface Kit
                                    Connectivity,
                                    Distribution
                                    Gateways to other   M VS source          Adabas,AS/400,      Oracle,Sy base,
                                    DBM Ss              through EDA/SQL      DB2,IDM S,IM S,     IM S,DB2
                                                        (Adabas,IDM S,SQL    Informix,Ingres,
                                                        /DS,VSAM ), any      ISAM ,SQL Server,
                                                        APPC source, AS/     Oracle,Rdb,RM S,
                                                        400,DRDA,DB2,Tur     seq.flies,SQL/DS,
                                                        boimage,Sybase,R     SybaseSQL Server,
                                                        db,RM S,Informix,C   Teradata,VSAM
                                                        A-Ingres,SQL
                                                        Server,Teradata
                                    Distributed DBs     part of base prod    OmniConnect         Online server
                                     2PC protocol       yes                  yes                 yes,presumeabort
                                     Heterogeneous      gateways             DirectConnect       no
                                     Op timization      yes                  yes                 yes
                                     RPC                yes                  yes                 no

Database Concepts
© Leo Mark
Relational Database Products   COMPARIS ON
                                    CRITERIA
                                                        MICROS OFT S QL
                                                        S ERVER6.5
                                                                             IBM DB@ 2.1.1       CA-
                                                                                                 OPENINGRES 1.2
                                    Database Admin
                                    Tools               Enterprise Mgr,      DB Director,Perf    IPM , VisualDBA,
                                                        Perf M onitor        M onitor,           IM A
                                                                             Visual Explain
                                    SNM P support       yes                  yes                 yes
                                    Security            NT integrated        three levels        C2
                                    Partial backup &    per table            yes                 per table
                                    recovery
                                    Internet
                                    Internet support    Internet Info Serv   DB2 WWW             CA-OpenIngres/
                                                        (WindowsNT)          Connection          ICE
                                    Connectivity,
                                    Distribution
                                    Gateways to other   no                   Oracle, Sybase,     DB2, Datacom,
                                    DBM Ss                                   Informix, M S SQL   IM S, IDM S, VSAM ,
                                                                             Server              Oracle, Rdb,
                                                                                                 Albase, Informix,
                                                                                                 Oracle, Sybase
                                    Distributed DBs     no                   DataJoiner          CA-OpenIngres*
                                     2PC protocol       n/a                  yes                 yes,automatic
                                     Heterogeneous      no                   DataJoiner          through gateways
                                     Optimization       no                   yes                 yes
                                     RPC                yes                  no                  no


Database Concepts
© Leo Mark
Relational Database Products   COMPARIS ON      ORACLE                S YBAS E S QL       INFORMIX
                                    CRITERIA         VERS ION7.3           S ERVER11           ONLINE7.2
                                    Replication
                                    Recording        replic. log/trigger   log buffer          log
                                    Hot standby      yes                   yes                 yes
                                    Peer-to-peer     yes                   yes                 no
                                    To other DBMSs   through gateways      DirectConnect       no
                                    Cascading        yes                   yes                 no
                                    Additional
                                    restrictions
                                     Name length     30                    30                  18
                                     Columns         254                   250                 2767
                                     Column size     2GB                   1962                32,767
                                     Tables          n/a                   2 billion           477 million
                                     Table size      n/a                   storage dependent   64 terabytes
                                     Table width     by column             storage dependent   32,767
                                    Platforms (OS)   most UNIX, OS/2,      most UNIX, OS/2,    most UNIX,
                                                     VAX/VMS, MAC,         VAX/VMS, MAC        WindowsNT,
                                                     WindowsNT,            WindowsNT,          Windows95
                                                     Windows95             Windows95,


Database Concepts
© Leo Mark
Databaseconcepts
Databaseconcepts
Databaseconcepts
Databaseconcepts
Databaseconcepts
Databaseconcepts

Mais conteúdo relacionado

Mais procurados

Dbms Concepts
Dbms ConceptsDbms Concepts
Dbms Conceptsadukkas
 
Ch01 database-conceptsppt4207
Ch01 database-conceptsppt4207Ch01 database-conceptsppt4207
Ch01 database-conceptsppt4207Burhan Chaudhry
 
Fundamentals of Database system - Databases and Database Users
Fundamentals of Database system - Databases and Database UsersFundamentals of Database system - Databases and Database Users
Fundamentals of Database system - Databases and Database UsersMustafa Kamel Mohammadi
 
Database systems - Chapter 1
Database systems - Chapter 1Database systems - Chapter 1
Database systems - Chapter 1shahab3
 
Dbms architecture
Dbms architectureDbms architecture
Dbms architectureraima sen
 
Fundamentals of Database system
Fundamentals of Database systemFundamentals of Database system
Fundamentals of Database systemphilipsinter
 
Database management system
Database management systemDatabase management system
Database management systemRizwanHafeez
 
Database system architecture
Database system architectureDatabase system architecture
Database system architectureDk Rukshan
 
Slide 4 dbms users
Slide 4 dbms usersSlide 4 dbms users
Slide 4 dbms usersVisakh V
 
DBMS Architectures and Features - Lecture 7 - Introduction to Databases (1007...
DBMS Architectures and Features - Lecture 7 - Introduction to Databases (1007...DBMS Architectures and Features - Lecture 7 - Introduction to Databases (1007...
DBMS Architectures and Features - Lecture 7 - Introduction to Databases (1007...Beat Signer
 

Mais procurados (20)

Dbms Concepts
Dbms ConceptsDbms Concepts
Dbms Concepts
 
Chapter02
Chapter02Chapter02
Chapter02
 
Ch01 database-conceptsppt4207
Ch01 database-conceptsppt4207Ch01 database-conceptsppt4207
Ch01 database-conceptsppt4207
 
Fundamentals of Database system - Databases and Database Users
Fundamentals of Database system - Databases and Database UsersFundamentals of Database system - Databases and Database Users
Fundamentals of Database system - Databases and Database Users
 
Database Management System ppt
Database Management System pptDatabase Management System ppt
Database Management System ppt
 
Database systems - Chapter 1
Database systems - Chapter 1Database systems - Chapter 1
Database systems - Chapter 1
 
Ch09
Ch09Ch09
Ch09
 
Database Systems Concepts, 5th Ed
Database Systems Concepts, 5th EdDatabase Systems Concepts, 5th Ed
Database Systems Concepts, 5th Ed
 
Dbms architecture
Dbms architectureDbms architecture
Dbms architecture
 
Dbms
DbmsDbms
Dbms
 
Fundamentals of Database system
Fundamentals of Database systemFundamentals of Database system
Fundamentals of Database system
 
Database management system
Database management systemDatabase management system
Database management system
 
Chapter2
Chapter2Chapter2
Chapter2
 
Database system architecture
Database system architectureDatabase system architecture
Database system architecture
 
Database Chapter 1
Database Chapter 1Database Chapter 1
Database Chapter 1
 
23246406 dbms-unit-1
23246406 dbms-unit-123246406 dbms-unit-1
23246406 dbms-unit-1
 
Dbms
DbmsDbms
Dbms
 
Slide 4 dbms users
Slide 4 dbms usersSlide 4 dbms users
Slide 4 dbms users
 
Chapter2
Chapter2Chapter2
Chapter2
 
DBMS Architectures and Features - Lecture 7 - Introduction to Databases (1007...
DBMS Architectures and Features - Lecture 7 - Introduction to Databases (1007...DBMS Architectures and Features - Lecture 7 - Introduction to Databases (1007...
DBMS Architectures and Features - Lecture 7 - Introduction to Databases (1007...
 

Destaque

A N S I S P A R C Architecture
A N S I  S P A R C  ArchitectureA N S I  S P A R C  Architecture
A N S I S P A R C ArchitectureSabeeh Ahmed
 
Bsc cs ii-dbms-u-iv-normalization
Bsc cs ii-dbms-u-iv-normalizationBsc cs ii-dbms-u-iv-normalization
Bsc cs ii-dbms-u-iv-normalizationRai University
 
Chapter 2 database architecture
Chapter 2 database architectureChapter 2 database architecture
Chapter 2 database architectureUra Euro
 
Theory of dependencies in relational database
Theory of dependencies in relational databaseTheory of dependencies in relational database
Theory of dependencies in relational databaseJyoti Ranjan Pattnaik
 
NORMALIZATION - BIS 1204: Data and Information Management I
NORMALIZATION - BIS 1204: Data and Information Management I NORMALIZATION - BIS 1204: Data and Information Management I
NORMALIZATION - BIS 1204: Data and Information Management I Mukalele Rogers
 
Database systems - Chapter 2 (Remaining)
Database systems - Chapter 2 (Remaining)Database systems - Chapter 2 (Remaining)
Database systems - Chapter 2 (Remaining)shahab3
 
Functional dependencies and normalization for relational databases
Functional dependencies and normalization for relational databasesFunctional dependencies and normalization for relational databases
Functional dependencies and normalization for relational databasesJafar Nesargi
 
Chapter 2 database environment
Chapter 2 database environmentChapter 2 database environment
Chapter 2 database environment>. &lt;
 

Destaque (10)

A N S I S P A R C Architecture
A N S I  S P A R C  ArchitectureA N S I  S P A R C  Architecture
A N S I S P A R C Architecture
 
Introduction er & eer
Introduction er & eerIntroduction er & eer
Introduction er & eer
 
Bsc cs ii-dbms-u-iv-normalization
Bsc cs ii-dbms-u-iv-normalizationBsc cs ii-dbms-u-iv-normalization
Bsc cs ii-dbms-u-iv-normalization
 
Chapter 2 database architecture
Chapter 2 database architectureChapter 2 database architecture
Chapter 2 database architecture
 
Theory of dependencies in relational database
Theory of dependencies in relational databaseTheory of dependencies in relational database
Theory of dependencies in relational database
 
NORMALIZATION - BIS 1204: Data and Information Management I
NORMALIZATION - BIS 1204: Data and Information Management I NORMALIZATION - BIS 1204: Data and Information Management I
NORMALIZATION - BIS 1204: Data and Information Management I
 
Database systems - Chapter 2 (Remaining)
Database systems - Chapter 2 (Remaining)Database systems - Chapter 2 (Remaining)
Database systems - Chapter 2 (Remaining)
 
Functional dependencies and normalization for relational databases
Functional dependencies and normalization for relational databasesFunctional dependencies and normalization for relational databases
Functional dependencies and normalization for relational databases
 
Chapter 2 database environment
Chapter 2 database environmentChapter 2 database environment
Chapter 2 database environment
 
DBMS - Normalization
DBMS - NormalizationDBMS - Normalization
DBMS - Normalization
 

Semelhante a Databaseconcepts

Java TechTalk "Spring boot made life easier with Kubernetes and Microservices"
Java TechTalk "Spring boot made life easier with Kubernetes and Microservices"Java TechTalk "Spring boot made life easier with Kubernetes and Microservices"
Java TechTalk "Spring boot made life easier with Kubernetes and Microservices"GlobalLogic Ukraine
 
Oracle Cloud Reference Architecture
Oracle Cloud Reference ArchitectureOracle Cloud Reference Architecture
Oracle Cloud Reference ArchitectureBob Rhubart
 
Oracle Cloud Reference Architecture
Oracle Cloud Reference ArchitectureOracle Cloud Reference Architecture
Oracle Cloud Reference ArchitectureBob Rhubart
 
Lessons learned in building a model driven software factory
Lessons learned in building a model driven software factoryLessons learned in building a model driven software factory
Lessons learned in building a model driven software factoryJohan den Haan
 
Why there is no future for Model Driven Development
Why there is no future for Model Driven DevelopmentWhy there is no future for Model Driven Development
Why there is no future for Model Driven DevelopmentJohan den Haan
 
A Comparative Study of RDBMs and OODBMs in Relation to Security of Data
A Comparative Study of RDBMs and OODBMs in Relation to Security of DataA Comparative Study of RDBMs and OODBMs in Relation to Security of Data
A Comparative Study of RDBMs and OODBMs in Relation to Security of Datainscit2006
 
Getting Cloud Architecture Right the First Time Ver 2
Getting Cloud Architecture Right the First Time Ver 2Getting Cloud Architecture Right the First Time Ver 2
Getting Cloud Architecture Right the First Time Ver 2David Linthicum
 
Database Management Systems
Database Management SystemsDatabase Management Systems
Database Management SystemsGeorge Grayson
 
Model-Driven Cloud Data Storage
Model-Driven Cloud Data StorageModel-Driven Cloud Data Storage
Model-Driven Cloud Data Storagejccastrejon
 
mongoDB: Driving a data revolution
mongoDB: Driving a data revolutionmongoDB: Driving a data revolution
mongoDB: Driving a data revolutionMongoDB
 
Situation Normal, Everything Must Change
Situation Normal, Everything Must ChangeSituation Normal, Everything Must Change
Situation Normal, Everything Must ChangeEduserv
 
Module-1.pptx63.pptx
Module-1.pptx63.pptxModule-1.pptx63.pptx
Module-1.pptx63.pptxShrinivasa6
 
WHAT IS A DBMS? EXPLAIN DIFFERENT MYSQL COMMANDS AND CONSTRAINTS OF THE SAME.
WHAT IS A DBMS? EXPLAIN DIFFERENT MYSQL COMMANDS AND  CONSTRAINTS OF THE SAME.WHAT IS A DBMS? EXPLAIN DIFFERENT MYSQL COMMANDS AND  CONSTRAINTS OF THE SAME.
WHAT IS A DBMS? EXPLAIN DIFFERENT MYSQL COMMANDS AND CONSTRAINTS OF THE SAME.`Shweta Bhavsar
 
Thomas.mc vittie
Thomas.mc vittieThomas.mc vittie
Thomas.mc vittieNASAPMC
 
Cloud Artificial Intelligence.pptx
Cloud Artificial Intelligence.pptxCloud Artificial Intelligence.pptx
Cloud Artificial Intelligence.pptxPrakashKumarSahni
 
MVVM for Modern Applications
MVVM for Modern ApplicationsMVVM for Modern Applications
MVVM for Modern ApplicationsJeremy Likness
 

Semelhante a Databaseconcepts (20)

Java TechTalk "Spring boot made life easier with Kubernetes and Microservices"
Java TechTalk "Spring boot made life easier with Kubernetes and Microservices"Java TechTalk "Spring boot made life easier with Kubernetes and Microservices"
Java TechTalk "Spring boot made life easier with Kubernetes and Microservices"
 
Oracle Cloud Reference Architecture
Oracle Cloud Reference ArchitectureOracle Cloud Reference Architecture
Oracle Cloud Reference Architecture
 
Oracle Cloud Reference Architecture
Oracle Cloud Reference ArchitectureOracle Cloud Reference Architecture
Oracle Cloud Reference Architecture
 
Lessons learned in building a model driven software factory
Lessons learned in building a model driven software factoryLessons learned in building a model driven software factory
Lessons learned in building a model driven software factory
 
Why there is no future for Model Driven Development
Why there is no future for Model Driven DevelopmentWhy there is no future for Model Driven Development
Why there is no future for Model Driven Development
 
A Comparative Study of RDBMs and OODBMs in Relation to Security of Data
A Comparative Study of RDBMs and OODBMs in Relation to Security of DataA Comparative Study of RDBMs and OODBMs in Relation to Security of Data
A Comparative Study of RDBMs and OODBMs in Relation to Security of Data
 
Getting Cloud Architecture Right the First Time Ver 2
Getting Cloud Architecture Right the First Time Ver 2Getting Cloud Architecture Right the First Time Ver 2
Getting Cloud Architecture Right the First Time Ver 2
 
Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven Design
 
Database Management Systems
Database Management SystemsDatabase Management Systems
Database Management Systems
 
Model-Driven Cloud Data Storage
Model-Driven Cloud Data StorageModel-Driven Cloud Data Storage
Model-Driven Cloud Data Storage
 
mongoDB: Driving a data revolution
mongoDB: Driving a data revolutionmongoDB: Driving a data revolution
mongoDB: Driving a data revolution
 
java
javajava
java
 
Situation Normal, Everything Must Change
Situation Normal, Everything Must ChangeSituation Normal, Everything Must Change
Situation Normal, Everything Must Change
 
Database
DatabaseDatabase
Database
 
Module-1.pptx63.pptx
Module-1.pptx63.pptxModule-1.pptx63.pptx
Module-1.pptx63.pptx
 
WHAT IS A DBMS? EXPLAIN DIFFERENT MYSQL COMMANDS AND CONSTRAINTS OF THE SAME.
WHAT IS A DBMS? EXPLAIN DIFFERENT MYSQL COMMANDS AND  CONSTRAINTS OF THE SAME.WHAT IS A DBMS? EXPLAIN DIFFERENT MYSQL COMMANDS AND  CONSTRAINTS OF THE SAME.
WHAT IS A DBMS? EXPLAIN DIFFERENT MYSQL COMMANDS AND CONSTRAINTS OF THE SAME.
 
jose rizal
jose rizaljose rizal
jose rizal
 
Thomas.mc vittie
Thomas.mc vittieThomas.mc vittie
Thomas.mc vittie
 
Cloud Artificial Intelligence.pptx
Cloud Artificial Intelligence.pptxCloud Artificial Intelligence.pptx
Cloud Artificial Intelligence.pptx
 
MVVM for Modern Applications
MVVM for Modern ApplicationsMVVM for Modern Applications
MVVM for Modern Applications
 

Último

Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpinRaunakKeshri1
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesFatimaKhan178732
 
Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...
Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...
Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...RKavithamani
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphThiyagu K
 
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991RKavithamani
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3JemimahLaneBuaron
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxpboyjonauth
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 

Último (20)

Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpin
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and Actinides
 
Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...
Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...
Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptx
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 

Databaseconcepts

  • 2. DATABASE CONCEPTS Leo Mark College of Computing Georgia Tech (January 1999) Database Concepts © Leo Mark
  • 3. Course Contents Introduction Database Terminology Data Model Overview Database Architecture Database Management System Architecture Database Capabilities People That Work With Databases The Database Market Emerging Database Technologies What You Will Be Able To Learn More About Database Concepts © Leo Mark
  • 4. INTRODUCTION What a Database Is and Is Not Models of Reality Why use Models? A Map Is a Model of Reality A Message to Map Makers When to Use a DBMS? Data Modeling Process Modeling Database Design Abstraction Database Concepts © Leo Mark
  • 5. What a Database Is and Is Not The word database is commonly used to refer to any of the following: your personal address book in a Word document a collection of Word documents a collection of Excel Spreadsheets a very large flat file on which you run some statistical analysis functions data collected, maintained, and used in airline reservation data used to support the launch of a space shuttle Database Concepts © Leo Mark
  • 6. Models of Reality DML DATABASE SYSTEM REALITY • structures DATABASE • processes DDL A database is a model of structures of reality The use of a database reflect processes of reality A database system is a software system which supports the definition and use of a database DDL: Data Definition Language DML: Data Manipulation Language Database Concepts © Leo Mark
  • 7. Why Use Models? Models can be useful when we want to examine or manage part of the real world The costs of using a model are often considerably lower than the costs of using or experimenting with the real world itself Examples: – airplane simulator – nuclear power plant simulator – flood warning system – model of US economy – model of a heat reservoir – map Database Concepts © Leo Mark
  • 8. A Map Is a Model of Reality Database Concepts © Leo Mark
  • 9. A Message to Map Makers A model is a means of communication Users of a model must have a certain amount of knowledge in common A model on emphasized selected aspects A model is described in some language A model can be erroneous A message to map makers: “Highways are not painted red, rivers don’t have county lines running down the middle, and you can’t see contour lines on a mountain” [Kent 78] Database Concepts © Leo Mark
  • 10. Use a DBMS when Do not use a this is important DBMS when persistent storage of data the initial investment in centralized control of data hardware, software, and control of redundancy training is too high control of consistency and the generality a DBMS integrity provides is not needed the overhead for security, multiple user support concurrency control, and sharing of data recovery is too high data documentation data and applications are data independence simple and stable control of access and real-time requirements security cannot be met by it backup and recovery multiple user access is not Database Concepts © Leo Mark needed
  • 11. Data Modeling DATABASE SYSTEM REALITY • structures MODEL • processes data modeling The model represents a perception of structures of reality The data modeling process is to fix a perception of structures of reality and represent this perception In the data modeling process we select aspects and we abstract Database Concepts © Leo Mark
  • 12. Process Modeling DATABASE SYSTEM REALITY process modeling • structures MODEL • processes The use of the model reflects processes of reality Processes may be represented by programs with embedded database queries and updates Processes may be represented by ad-hoc database queries and updates at run-time DML DML PROG Database Concepts © Leo Mark
  • 13. Database Design The purpose of database design is to create a database which is a model of structures of reality supports queries and updates modeling processes of reality runs efficiently Database Concepts © Leo Mark
  • 14. Abstraction It is very important that the language used for data representation supports abstraction We will discuss three kinds of abstraction: Classification Aggregation Generalization Database Concepts © Leo Mark
  • 15. Classification In a classification we form a concept in a way which allows us to decide whether or not a given phenomena is a member of the extension of the concept. CUSTOMER Tom Ed Nick ... Liz Joe Louise Database Concepts © Leo Mark
  • 16. Aggregation In an aggregation we form a concept from existing concepts. The phenomena that are members of the new concept’s extension are composed of phenomena from the extensions of the existing concepts AIRPLANE WING COCKPIT ENGINE Database Concepts © Leo Mark
  • 17. Generalization In a generalization we form a new concept by emphasizing common aspects of existing concepts, leaving out special aspects CUSTOMER BUSINESS ECONOMY 1 CLASS ST CLASS CLASS Database Concepts © Leo Mark
  • 18. Generalization (cont.) Subclasses may overlap CUSTOMER BUSINESS 1 CLASS ST CLASS Subclasses may have multiple superclasses MOTORIZED AIRBORNE VEHICLES VEHICLES TRUCKS HELICOPTERS GLIDERS Database Concepts © Leo Mark
  • 19. Relationships Between Abstractions aggregation generalization T T T intension classification extension O O O Abstraction Concretization classification exemplification aggregation decomposition generalization specialization Database Concepts © Leo Mark
  • 20. DATABASE TERMINOLOGY Data Models Keys and Identifiers Integrity and Consistency Triggers and Stored Procedures Null Values Normalization Surrogates - Things and Names Database Concepts © Leo Mark
  • 21. Data Model A data model consists of notations for expressing: data structures integrity constraints operations Database Concepts © Leo Mark
  • 22. Data Model - Data Structures All data models have notation for defining: attribute types entity types relationship types FLIGHT-SCHEDULE DEPT-AIRPORT FLIGHT# AIRLINE WEEKDAY PRICE FLIGHT# AIRPORT-CODE 101 delta mo 156 101 atl 545 american we 110 912 cph 912 scandinavian fr 450 545 lax 242 usair mo 231 Database Concepts © Leo Mark
  • 23. Data Model - Constraints Constraints express rules that cannot be expressed by the data structures alone:apply to database state Static constraints Dynamic constraints apply to change of database state E.g., “All FLIGHT-SCHEDULE entities must have precisely one DEPT-AIRPORT relationship FLIGHT-SCHEDULE DEPT-AIRPORT FLIGHT# AIRLINE WEEKDAY PRICE FLIGHT# AIRPORT-CODE 101 delta mo 156 101 atl 545 american we 110 912 cph 912 scandinavian fr 450 545 lax 242 usair mo 231 242 bos Database Concepts © Leo Mark
  • 24. Data Model - Operations Operations support change and retrieval of data: insert FLIGHT-SCHEDULE(97, delta, tu, 258); insert DEPT-AIRPORT(97, atl); select FLIGHT#, WEEKDAY from FLIGHT-SCHEDULE where AIRLINE=‘delta’; FLIGHT-SCHEDULE DEPT-AIRPORT FLIGHT# AIRLINE WEEKDAY PRICE FLIGHT# AIRPORT-CODE 101 delta mo 156 101 atl 545 american we 110 912 cph 912 scandinavian fr 450 545 lax 242 usair mo 231 242 bos Database Concepts 97 delta tu 258 97 atl © Leo Mark
  • 25. Data Model - Operations from Programs FLIGHT-SCHEDULE declare C cursor for FLIGHT# AIRLINE WEEKDAY PRICE select FLIGHT#, WEEKDAY 101 delta mo 156 from FLIGHT-SCHEDULE 545 american we 110 where AIRLINE=‘delta’; 912 scandinavian fr 450 242 usair mo 231 open C; 97 delta tu 258 repeat fetch C into :FLIGHT#, :WEEKDAY; do your thing; until done; close C; Database Concepts © Leo Mark
  • 26. Keys and Identifiers Keys (or identifiers) are uniqueness constraints A key on FLIGHT# in FLIGHT-SCHEDULE will force all FLIGHT#’s to be unique in FLIGHT-SCHEDULE Consider the following keys on DEPT-AIRPORT: FLIGHT# AIRPORT-CODE FLIGHT# AIRPORT-CODE FLIGHT# AIRPORT-CODE FLIGHT# AIRPORT-CODE FLIGHT-SCHEDULE DEPT-AIRPORT FLIGHT# AIRLINE WEEKDAY PRICE FLIGHT# AIRPORT-CODE 101 delta mo 156 101 atl 545 american we 110 912 cph 912 scandinavian fr 450 545 lax 242 usair mo 231 242 bos Database Concepts © Leo Mark
  • 27. Integrity and Consistency Integrity: does the model reflect reality well? Consistency: is the model without internal conflicts? a FLIGHT# in FLIGHT-SCHEDULE cannot be null because it models the existence of an entity in the real world a FLIGHT# in DEPT-AIRPORT must exist in FLIGHT-SCHEDULE because it doesn’t make sense for a non-existing FLIGHT- SCHEDULE entity to have a DEPT-AIRPORT FLIGHT-SCHEDULE DEPT-AIRPORT FLIGHT# AIRLINE WEEKDAY PRICE FLIGHT# AIRPORT-CODE 101 delta mo 156 101 atl 545 american we 110 912 cph 912 scandinavian fr 450 545 lax Database Concepts 242 usair mo 231 242 bos © Leo Mark
  • 28. Triggers and Stored Procedures Triggers can be defined to enforce constraints on a database, e.g., DEFINE TRIGGER DELETE-FLIGHT-SCHEDULE ON DELETE FROM FLIGHT-SCHEDULE WHERE FLIGHT#=‘X’ ACTION DELETE FROM DEPT-AIRPORT WHERE FLIGHT#=‘X’; FLIGHT-SCHEDULE DEPT-AIRPORT FLIGHT# AIRLINE WEEKDAY PRICE FLIGHT# AIRPORT-CODE 101 delta mo 156 101 atl 545 american we 110 912 cph 912 scandinavian fr 450 545 lax 242 usair mo 231 242 bos Database Concepts © Leo Mark
  • 29. Null Values CUSTOMER CUSTOMER# NAME MAIDEN NAME DRAFT STATUS 123-45-6789 Lisa Smith Lisa Jones inapplicable 234-56-7890 George Foreman inapplicable drafted 345-67-8901 unknown Mary Blake inapplicable Null-value unknown reflects that the attribute does apply, but the value is currently unknown. That’s ok! Null-value inapplicable indicates that the attribute does not apply. That’s bad! Null-value inapplicable results from the direct use of “catch all forms” in database design. “Catch all forms” are ok in reality, but detrimental in database design. Database Concepts © Leo Mark
  • 30. Normalization FLIGHT-SCHEDULE FLIGHT-WEEKDAY FLIGHT# AIRLINE WEEKDAYS PRICE FLIGHT# WEEKDAY un 101 n orm delta mo,fr 156 101 mo ali 545 zed american mo,we,fr 110 545 mo 912 scandinavian fr 450 912 fr 101 fr FLIGHT-SCHEDULE 545 we 545 fr FLIGHT# AIRLINE WEEKDAY PRICE ju st 101 delta mo 156 rig FLIGHT-SCHEDULE ht 545 american mo 110 ! FLIGHT# AIRLINE PRICE 912 scandinavian fr red 450 un 101 delta 156 101 delta fr da 156 nt 545 american 110 545 american we 110 912 scandinavian 450 545 american fr 110 Database Concepts © Leo Mark
  • 31. Surrogates - Things and Names reality name custom# customer custom# name addr customer addr name-based representation reality name custom# customer customer custom# name addr customer addr surrogate-based representation name-based: a thing is what we know about it surrogate-based: “Das ding an sich” [Kant] surrogates are system-generated, unique, internal identifiers Database Concepts © Leo Mark
  • 32. DATA MODEL OVERVIEW ER-Model Hierarchical Model Network Model Inverted Model - ADABAS Relational Model Object-Oriented Model(s) Database Concepts © Leo Mark
  • 33. ER-Model Data Structures Integrity Constraints Operations The ER-Model is extremely successful as a database design model Translation algorithms to many data models Commercial database design tools, e.g., ERwin No generally accepted query language No database system is based on the model Database Concepts © Leo Mark
  • 34. ER-Model - Data Structures entity type composite attribute relationship type attribute subset relationship type multivalued attribute derived Database Concepts attribute © Leo Mark
  • 35. ER-Model - Integrity Constraints E1 1 n A R E2 cardinality: 1:n for E1:E2 in R key attribute (min,max) E1 E R E2 (min,max) participation of E2 in R E1 E2 E3 E1 R E2 d disjoint x exclusion total participation of E2 in R p partition E1 R E2 Database Concepts type weak entity E2; identifying © Leo Mark
  • 36. ER Model - Example visa required dept domestic international time flight flight airport airport dept name code p airport weekdays 1 n airport flight airport addr schedule arriv 1 n airport 1 zip flight# street city arriv time instance of customer# date n customer reserva- flight n n customer instance name tion seat# Database Concepts © Leo Mark
  • 37. ER-Model - Operations Several navigational query languages have been proposed A closed query language as powerful as relational languages has not been developed None of the proposed query languages has been generally accepted Database Concepts © Leo Mark
  • 38. Hierarchical Model Data Structures Integrity Constraints Operations Commercial systems include IBM’s IMS, MRI’s System-2000 (now sold by SAS), and CDC’s MARS IV Database Concepts © Leo Mark
  • 39. Hierarchical Model - Data Structures flight-sched flight# flight-inst dept-airp arriv-airp date airport-code airport-code customer customer# customer name record types: flight-schedule, flight-instance, etc. field types: flight#, date, customer#, etc. parent-child relationship types (1:n only!!): (flight-sched,flight-inst), (flight-inst,customer) one record type is the root, all other record types is a child of one parent record type only substantial duplication of customer instances asymmetrical model of n:m relationship types Database Concepts © Leo Mark
  • 40. Hierarchical Model - Data Structures - virtual records customer flight-sched customer# customer name flight# P flight-inst dept-airp arriv-airp date airport-code airport-code customer- pointer duplication of customer instances avoided still asymmetrical model of n:m relationship types Database Concepts © Leo Mark
  • 41. flight-sched Hierarchical Model flight# - Operations flight-inst dept-airp arriv-airp date airport-code airport-code customer customer# customer name GET UNIQUE flight-sched (flight#=‘912’) [search flight-sched; get first such flight-sched] GET UNIQUE flight-sched [for each flight-sched flight-inst (date=‘102298’) for each flight-inst with date=102298 customer (name=‘Jensen’) for each customer with name=Jensen, get the first one] GET UNIQUE flight-sched [for each flight-sched flight-inst (date=‘102298’) for each flight-inst with date=102298, get the first GET NEXT flight-inst get the next flight-inst, whatever the date] Database Concepts © Leo Mark
  • 42. Network Model Data Structures Integrity Constraints Operations Based on the CODASYL-DBTG 1971 report Commercial systems include, CA-IDMS and DMS-1100 Database Concepts © Leo Mark
  • 43. Network Model - Data Structures Type diagram Occurrence diagram Bachman Diagram The Spaghetti Model flight-schedule flight# F1 F2 FR reservation R1 R2 R3 R4 R5 R6 flight# date customer# C1 C4 customer CR customer# customer name owner record types: flight-schedule, customer member record type: reservations DBTG-set types: FR, CR n-m relationships cannot be modeled directly recursive relationships cannot be modeled directly Database Concepts © Leo Mark
  • 44. Network Model - Integrity Constraints flight-schedule keys flight# reservation checks flight# date customer# price check is price>100 flight-schedule set retention options: flight# – fixed FR – mandatory reservation – optional flight# date customer# set insertion options: customer CR – automatic customer# customer name – manual Database Concepts © Leo Mark FR and CR are fixed and automatic
  • 45. Network Model - Operations The operations in the Network Model are generic, navigational, and procedural query: currency indicators: (1) find flight-schedule where flight#=F2 (F2) (2) find first reservation of FR (R4) (3) find next reservation of FR (R5) F1 F2 (4) find owner of CR FR (C4) R1 R2 R3 R4 R5 R6 C1 CR C4 Database Concepts © Leo Mark
  • 46. Network Model - Operations navigation is cumbersome; tuple-at-a-time many different currency indicators multiple copies of currency indicators may be needed if the same path is traveled twice external schemata are only sub-schemata Database Concepts © Leo Mark
  • 47. Inverted Model - ADABAS Data Structures Integrity Constraints Operations Database Concepts © Leo Mark
  • 48. Relational Model Data Structures Integrity Constraints Operations Commercial systems include: ORACLE, DB2, SYBASE, INFORMIX, INGRES, SQL Server Dominates the database market on all platforms Database Concepts © Leo Mark
  • 49. Relational Model - Data Structures domains attributes relations relation name attribute names flight-schedule flight#: airline: weekday: price: integer char(20) char(2) dec(6,2) domain names Database Concepts © Leo Mark
  • 50. Relational Model - Integrity Constraints Keys Primary Keys Entity Integrity Referential Integrity flight-schedule customer flight# customer# customer name p p reservation Database Concepts flight# date customer# © Leo Mark
  • 51. Relational Model - Operations Powerful set-oriented query languages Relational Algebra: procedural; describes how to compute a query; operators like JOIN, SELECT, PROJECT Relational Calculus: declarative; describes the desired result, e.g. SQL, QBE insert, delete, and update capabilities Database Concepts © Leo Mark
  • 52. Relational Model - Operations tuple calculus example (SQL) select flight#, date from reservation R, customer C where R.customer#=C.customer# and customer-name=‘LEO’; algebra example (ISBL) ((reservation join customer) where customer- name=‘LEO’) [flight#, date]; domain calculus example (QBE) reservation customer flight# date customer# customer# customer-name .P .P _c _c LEO Database Concepts © Leo Mark
  • 53. Object-Oriented Model(s) based on the object-oriented paradigm, e.g., Simula, Smalltalk, C++, Java area is in a state of flux object-oriented model has object-oriented repository model; adds persistence and database capabilities; (see ODMG-93, ODL, OQL) object-oriented commercial systems include GemStone, Ontos, Orion-2, Statice, Versant, O2 object-relational model has relational repository model; adds object-oriented features; (see SQL3) object-relational commercial systems include Starburst, POSTGRES Database Concepts © Leo Mark
  • 54. Object-Oriented Paradigm object class object attributes, primitive types, values object interface, methods; body, implementations messages; invoke methods; give method name and parameters; return a value encapsulation visible and hidden attributes and methods object instance; object constructor & destructor object identifier, immutable complex objects; multimedia objects; extensible type system subclasses; inheritance; multiple inheritance operator overloading references represent relationships transient & persistent objects Database Concepts © Leo Mark
  • 55. Object-Oriented Model - Structures O2-like syntax class flight-schedule { type tuple (flight#: integer, weekdays: set ( weekday: enumeration {mo,tu,we,th,fr,sa,su}) dept-airport: airport, arriv-airport: airport) method reschedule(new-dept: airport, new-arriv: airport)} class international-flight inherit flight-schedule { type tuple (visa-required:string) method change-visa-requirement(v: string): boolean} /* the reschedule method is inherited by international-flight; */ /* when reschedule is invoked in international-flight it may */ /* also invoke change-visa-requirement */ Database Concepts © Leo Mark
  • 56. class flight-instance { type tuple (flight-date: tuple ( year: integer, month: integer, day: integer); instance-of: flight-schedule, passengers: set (customer) inv customer::reservations) method add-passenger(new-passenger:customer):boolean, /*adds to passengers; invokes customer.make-reservation */ remove-passenger(passenger: customer):boolean} /*removes from passengers; invokes customer.cancel-reservation*/ class customer { type tuple (customer#: integer, customer-name: tuple ( fname: string, lname: string) reservations: set (flight-instance) inv flight-instance::passengers) method make-reservation(new-reservation: flight-instance): boolean, cancel-reservation(reservation: flight-instance): boolean} Database Concepts © Leo Mark
  • 57. Object-Oriented Model - Updates class customer { O2-like syntax type tuple (customer#: integer, customer-name: tuple ( fname: string, lname: string) reservations: set (flight-instance) inv flight-instance::passengers) main () { transaction::begin(); all-customers: set( customer); /*makes persistent root to hold all customers */ customer c= new customer; /*creates new customer object */ c= tuple (customer#: “111223333”, customer-name: tuple( fname: “Leo”, lname: “Mark”)); all-customers += set( c); /*c becomes persistent by attaching to root */ transaction::commit();} Database Concepts © Leo Mark
  • 58. Object-Oriented Model - Queries O2-like syntax “Find the customer#’s of all customers with first name Leo” select tuple (c#: c.customer#) from c in customer where c.customer-name.fname = “Leo”; “Find passenger lists, each with a flight# and a list of customer names, for flights out of Atlanta on October 22, 1998” select tuple(flight#: f.instance-of.flight#, passengers: select( tuple( c.customer#, c.customer-name.lname))) from f in flight-instance, c in f.passengers where f.flight-date=(1998, 10, 22) and f.instance-of.dept-airport.airport-code=“Atlanta”; Database Concepts © Leo Mark
  • 59. DATABASE ARCHITECTURE ANSI/SPARC 3-Level DB Architecture Metadata - What is it? Why is it important? ISO Information Resource Dictionary System (ISO-IRDS) Database Concepts © Leo Mark
  • 60. ANSI/SPARC 3-Level DB Architecture - separating concerns DML database system database system DDL database schema schema data data a database is divided into schema and data the schema describes the intension (types) the data describes the extension (data) Why? Effective! Efficient! Database Concepts © Leo Mark
  • 61. ANSI/SPARC 3-Level DB Architecture - separating concerns schema schema data data schema schema internal schema internal schema data data external schema external schema conceptual schema conceptual schema internal schema internal schema data data Database Concepts © Leo Mark
  • 62. ANSI/SPARC 3-Level DB Architecture external external external external external external schema11 schema schema22 schema schema33 schema conceptual conceptual schema schema • external schema: internal internal use of data schema schema • conceptual schema: meaning of data • internal schema: database database storage of data Database Concepts © Leo Mark
  • 63. Conceptual Schema Describes all conceptually relevant, general, time-invariant structural aspects of the universe of discourse Excludes aspects of data representation and physical organization, and access CUSTOMER NAME ADDR SEX AGE An object-oriented conceptual schema would also describe all process aspects Database Concepts © Leo Mark
  • 64. External Schema Describes parts of the information in the conceptual schema in a form convenient to a particular user group’s view Is derived from the conceptual schema MALE-TEEN-CUSTOMER NAME ADDR TEEN-CUSTOMER(X, Y) = CUSTOMER(X, Y, S, A) WHERE SEX=M AND 12<A<20; CUSTOMER NAME ADDR SEX AGE Database Concepts © Leo Mark
  • 65. Internal Schema Describes how the information described in the conceptual schema is physically represented to provide the overall best performance CUSTOMER NAME ADDR SEX AGE CUSTOMER NAME ADDR SEX AGE B+-tree on index on AGE NAME NAME PTR Database Concepts © Leo Mark
  • 66. Physical Data Independence external external external external external external schema11 schema schema22 schema schema33 schema conceptual conceptual schema schema internal internal Physical data independence schema schema is a measure of how much the internal schema can change without affecting the application programs database database Database Concepts © Leo Mark
  • 67. Logical Data Independence external external external external external external schema11 schema schema22 schema schema33 schema conceptual conceptual schema schema internal internal Logical data independence schema schema is a measure of how much the conceptual schema can change without affecting the application programs database database Database Concepts © Leo Mark
  • 68. Schema Compiler The schema compiler compiles metadata schemata and stores them in the metadatabase compiler schemata • Catalog • Data Dictionary • Metadatabase Database Concepts © Leo Mark
  • 69. Query Transformer Uses metadata to transform a metadata query at the external schema level to a query at the storage level DML query query transformer data Database Concepts © Leo Mark
  • 70. ANSI/SPARC DBMS Framework enterprise administrator 1 schema compiler 3 3 database conceptual application administrator schema system processor administrator 13 2 4 14 5 internal external schema schema processor metadata processor query transformer 34 36 38 21 30 31 12 data storage internal conceptual user internal conceptual external transformer transformer transformer Database Concepts © Leo Mark
  • 71. Metadata - What is it? System metadata: Business metadata: – Where data came from – What data are available – How data were changed – Where data are located – How data are stored – What the data mean – How data are mapped – How to access the data – Who owns data – Predefined reports – Who can access data – Predefined queries – Data usage history – How current the data are – Data usage statistics Metadata - Why is it important? System metadata are critical in a DBMS Business metadata are critical in a data warehouse Database Concepts © Leo Mark
  • 72. ISO-IRDS - Why? Are metadata different from data? Are metadata and data stored separately? Are metadata and data described by different models? Is there a schema for metadata? A metaschema? Are metadata and data changed through different interfaces? Can a schema be changed on-line? How does a schema change affect data? Database Concepts © Leo Mark
  • 73. ISO-IRDS Architecture DL metaschema metaschema; describes all schemata that can be defined in the data model data dictionary data dictionary schema; contains copy schema of metaschema; schema for format definitions; schema for data about application data data dictionary data dictionary data; schema data for application data; data about application data data raw formatted application data Database Concepts © Leo Mark
  • 74. ISO-IRDS - example metaschema relations rel-name att-name dom-name access-rights data dictionary user relation operation schema relations rel-name att-name dom-name data dictionary (u1, supplier, insert) (u2, supplier, delete) supplier s# sname location data (s1, smith, london) (s2, jones, boston) Database Concepts © Leo Mark
  • 75. DATABASE MANAGEMENT SYSTEM ARCHITECTURE Teleprocessing Database File-Sharing Database Client-Server Database - Basic Client-Server Database - w/Caching Distributed Database Federated Database Multi-Database Parallel Databases Database Concepts © Leo Mark
  • 76. Teleprocessing Database dumb dumb dumb terminal terminal terminal communication lines OSTP AP1 AP2 AP3 mainframe DBMS OSDB database DB Database Concepts © Leo Mark
  • 77. Teleprocessing Database - characteristics Dumb terminals APs, DBMS, and DB reside on central computer Communication lines are typically phone lines Screen formatting transmitted via communication lines User interface character oriented and primitive Dumb terminals are gradually being replaced by micros Database Concepts © Leo Mark
  • 78. File-Sharing Database AP1 AP2 AP3 DBMS DBMS micros OSNET OSNET LAN OSNET file server OSDB micro database DB Database Concepts © Leo Mark
  • 79. File-Sharing Database - characteristics APs and DBMS on client micros File-Server on server micro Clients and file-server communicate via LAN Substantial traffic on LAN because large files (and indices) must be sent to DBMS on clients for processing Substantial lock contention for extended periods of time for the same reason Good for extensive query processing on downloaded snapshot data Bad for high-volume transaction processing Database Concepts © Leo Mark
  • 80. Client-Server Database - Basic AP1 AP2 AP3 micros OSNET OSNET LAN OSNET micro(s) or DBMS mainframe OSDB database DB Database Concepts © Leo Mark
  • 81. Client-Server Database - Basic - characteristics APs on client micros Database-server on micro or mainframe Multiple servers possible; no data replication Clients and database-server communicate via LAN Considerably less traffic on LAN than with file-server Considerably less lock contention than with file-server Database Concepts © Leo Mark
  • 82. Client-Server Database - w/Caching AP1 AP2 AP3 micros DBMS DBMS OSNET OSNET LAN DB DB OSNET micro(s) or DBMS mainframe OSDB database DB Database Concepts © Leo Mark
  • 83. Client-Server Database - w/Caching - characteristics DBMS on server and clients Database-server is primary update site Downloaded queries are cached on clients Change logs are downloaded on demand Cached queries are updated incrementally Less traffic on LAN than with basic client- server database because only initial query result is downloaded followed by change logs Less lock contention than with basic client- server database for same reason Database Concepts © Leo Mark
  • 84. Distributed Database AP1 AP2 AP3 micros(s) or DDBMS DDBMS mainframes OSNET&DB OSNET&DB network external external external conceptual internal DB DB DB Database Concepts © Leo Mark
  • 85. Distributed Database - characteristics APs and DDBMS on multiple micros or mainframes One distributed database Communication via LAN or WAN Horizontal and/or vertical data fragmentation Replicated or non-replicated fragment allocation Fragmentation and replication transparency Data replication improves query processing Data replication increases lock contention and slows down update transactions Database Concepts © Leo Mark
  • 86. Distributed Database - Alternatives increasing cost, complexity, difficulty of control, security risk increasing parallelism, independence, flexibility, availability A C partitioned non-replicated B D A C A C non-partitioned replicated B D B D A C C partitioned B D replicated Database Concepts + - © Leo Mark
  • 87. Federated Database AP1 AP2 AP3 micros(s) or DDBMS DDBMS mainframes OSNET&DB OSNET&DB network federation schema export export export schema1 schema2 schema3 conceptual1 conceptual2 conceptual3 internal1 internal2 internal3 DB DB DB Database Concepts © Leo Mark
  • 88. Federated Database - characteristics Each federate has a set of APs, a DDBMS, and a DB Part of a federate’s database is exported, i.e., accessible to the federation The union of the exported databases constitutes the federated database Federates will respond to query and update requests from other federates Federates have more autonomy than with a traditional distributed database Database Concepts © Leo Mark
  • 89. Multi-Database AP1 AP2 AP3 micros(s) or MULTI-DBMS MULTI-DBMS mainframes OSNET&DB OSNET&DB network, e.g WWW conceptual1 conceptual2 conceptual3 internal1 internal2 internal3 DB DB DB Database Concepts © Leo Mark
  • 90. Multi-Database - characteristics A multi-database is a distributed database without a shared schema A multi-DBMS provides a language for accessing multiple databases from its APs A multi-DBMS accesses other databases via a network, like the www Participants in a multi-database may respond to query and update requests from other participants Participants in a multi-database have the highest possible level of autonomy Database Concepts © Leo Mark
  • 91. Parallel Databases A database in which a single query may be executed by multiple processors working together in parallel There are three types of systems: – Shared memory – Shared disk – Shared nothing Database Concepts © Leo Mark
  • 92. Parallel Databases - Shared Memory processors share memory via P bus M P extremely efficient processor communication via memory P writes bus becomes the bottleneck P not scalable beyond 32 or 64 processors P processor M memory disk Database Concepts © Leo Mark
  • 93. Parallel Databases - Shared Disk processors share disk via M P interconnection network M P memory bus not a bottleneck fault tolerance wrt. processor M P or memory failure scales better than shared M P memory interconnection network to disk subsystem is a bottleneck used in ORACLE Rdb Database Concepts © Leo Mark
  • 94. Parallel Databases - Shared Nothing P scales better than shared memory M and shared disk main drawbacks: P M – higher processor communication cost – higher cost of non-local disk access M P used in the Teradata database machine M P Database Concepts © Leo Mark
  • 95. RAID - redundant array of inexpensive disks disk striping improves performance via parallelism (assume 4 disks worth of data is stored) disk mirroring improves reliability via redundancy (assume 4 disks worth of data is stored) mirroring: via copy of data (c); via bit parity (p) c c c c p Database Concepts © Leo Mark
  • 96. DATABASE CAPABILITIES Data Storage Queries Optimization Indexing Concurrency Control Recovery Security Database Concepts © Leo Mark
  • 97. Data Storage Disk management File management Buffer management Garbage collection Compression Database Concepts © Leo Mark
  • 98. Queries SQL queries are composed from the following: Selection Set operations – Point – Cartesian Product – Range – Union – Conjunction – Intersection – Disjunction – Set Difference Join Other – Natural join – Duplicate elimination – Equi join – Sorting – Theta join – Built-in functions: count, – Outer join sum, avg, min, max Projection Recursive (not in SQL) Database Concepts © Leo Mark
  • 99. Query Optimization select flight#, date reserv from reserv R, cust C flight# date cust# 10,000 reserv blocks where R.cust#=C.cust# customer 3,000 cust blocks and cust-name=‘LEO’; cust# cust-name 30 “Leo” blocks flight#, date flight#, date cost: 10,000x30 cust-name=Leo cust# cost: 10,000x3,000 cust-name=Leo cost: 3,000 reserv cust reserv cust Database Concepts © Leo Mark
  • 100. Query Optimization Database statistics Query statistics Index information Algebraic manipulation Join strategies – Nested loops – Sort-merge – Index-based – Hash-based Database Concepts © Leo Mark
  • 101. Indexing Why Bother? Disk access time: 0.01-0.03 sec Memory access time: 0.000001-0.000003 sec Databases are I/O bound Rate of improvement of (memory access time)/(disk access time) >>1 Things won’t get better anytime soon! Indexing helps reduce I/O ! Database Concepts © Leo Mark
  • 102. Indexing (cont.) Clustering vs. non-clustering Primary and secondary indices I/O cost for lookup: – Heap: N/2 – Sorted file: log2(N) – Single-level index: log2(n)+1 – Multi-level index; B+-tree: logfanout(n)+1 – Hashing: 2-3 View caching; incremental computation Database Concepts © Leo Mark
  • 103. Concurrency Control flight-inst reserv flight# date #avail-seats flight# date customer# T1: T2: read(flight-inst(flight#,date) seats:=#avail-seats read(flight-inst(flight#,date) if seats>0 then { seats:=#avail-seats seats:=seats-1 if seats>0 then { seats:=seats-1 write(reserv(flight#,date,customer2)) write(flight-inst(flight#,date,seats))} write(reserv(flight#,date,customer1)) write(flight-inst(flight#,date,seats))} overbooking! Database Concepts © Leo Mark
  • 104. Concurrency Control (cont.) ACID Transactions: An ACID transaction is a sequence of database operations that has the following properties: Atomicity – Either all operations are carries out, or none is – This property is the responsibility of the concurrency control and the recovery sub-systems Consistency – A transaction maps a correct database state to another correct state – This requires that the transaction is correct, which is the responsibility of the application programmer Database Concepts © Leo Mark
  • 105. Concurrency Control (cont.) Isolation – Although multiple transactions execute concurrently, i.e. interleaved, not parallel, they appear to execute sequentially – This is the responsibility of the concurrency control sub- system Durability – The effect of a completed transaction is permanent – This is the responsibility of the recovery manager Database Concepts © Leo Mark
  • 106. Concurrency Control (cont.) Serializability is a good definition of correctness A variety of concurrency control protocols exist – Two-phase (2PL) locking deadlock and livelock possible deadlock prevention: wait-die, wound-wait deadlock detection: rollback a transaction – Optimistic protocol: proceed optimistically; back up and repair if needed – Pessimistic protocol: do not proceed until knowing that no back up is needed Database Concepts © Leo Mark
  • 107. Recovery reserv flight-inst flight# date customer# flight# date #avail-seats 102298 102398 change-reservation(DL212,102298,DL212,102398,C) 100 50 read(flight-inst(DL212,102298) 100 50 #avail-seats:=#avail-seats+1 100 50 update(flight-inst(DL212,102298,#avail-seats) 101 50 read(flight-inst(DL212,102398) 101 50 #avail-seats:=#avail-seats-1 101 50 update(flight-inst(DL212,102398,#avail-seats) 101 49 update(reserv(DL212,102298,C,DL212,102398,C) 101 49 Database Concepts © Leo Mark
  • 108. Recovery (cont.) Storage types: Volatile: main memory Nonvolatile: disk Errors: Logical error: transaction fails; e.g. bad input, overflow System error: transaction fails; e.g. deadlock System crash: power failure; main memory lost, disk survives Disk failure: head crash, sabotage, fire; disk lost What to do? Database Concepts © Leo Mark
  • 109. Recovery (cont.) Deferred update (NO-UNDO/REDO): – don’t change database until ready to commit – write-ahead to log to disk – change the database Immediate update (UNDO/NO-REDO): – write-ahead to log on disk – update database anytime – commit not allowed until database is completely updated Immediate update (UNDO/REDO): – write-ahead to log on disk – update database anytime – commit allowed before database is completely updated Shadow paging (NO-UNDO/NO-REDO): – write-ahead to log in disk © Leo Mark – keep shadow page; update copy only; swap at commit Database Concepts
  • 110. Security DAC: Discretionary Access Control is used to grant/revoke privileges to users, including access to files, records, fields (read, write, update mode) MAC: Mandatory Access Control is used to enforce multilevel security by classifying data and users into security levels and allowing users access to data at their own or lower levels only Database Concepts © Leo Mark
  • 111. PEOPLE THAT WORK WITH DATABASES System Analysts Database Designers Application Developers Database Administrators End Users Database Concepts © Leo Mark
  • 112. System Analysts communicate with each prospective database user group in order to understand its – information needs – processing needs develop a specification of each user group’s information and processing needs develop a specification integrating the information and processing needs of the user groups document the specification Database Concepts © Leo Mark
  • 113. Database Designers choose appropriate structures to represent the information specified by the system analysts choose appropriate structures to store the information in a normalized manner in order to guarantee integrity and consistency of data choose appropriate structures to guarantee an efficient system document the database design Database Concepts © Leo Mark
  • 114. Application Developers implement the database design implement the application programs to meet the program specifications test and debug the database implementation and the application programs document the database implementation and the application programs Database Concepts © Leo Mark
  • 115. Database Administrators Manage the database structure – participate in database and application development – assist in requirement analysis – participate in database design and creation – develop procedures for integrity and quality of data – facilitate changes to database structure – seek communitywide solutions – assess impact on all users – provide configuration control – be prepared for problems after changes are made – maintain documentation Database Concepts © Leo Mark
  • 116. Database Administrators (cont.) Manage data activity – establish database standards consistent with data administration standards – establish and maintain data dictionary – establish data proponencies – work with data proponents to develop data access and modification rights – develop, document, and train staff on backup and recovery procedures – publish and maintain data activity standards documentation Database Concepts © Leo Mark
  • 117. Database Administrators (cont.) Manage the database management system – generate database application performance reports – investigate user performance complaints – assess need for changes in database structure or application design – modify database structure – evaluate and implement new DBMS features – tune the database Establish the database data dictionary – data names, formats, relationships – cross-references between data and application programs – Database Concepts (see metadata slide) © Leo Mark
  • 118. End Users Parametric end users constantly query and update the database. They use canned transactions to support standard queries and updates. Casual end users occasional access the database, but may need different information each time. They use sophisticated query languages and browsers. Sophisticated end users have complex requirement and need different information each time. They are thoroughly familiar with the capabilities of the DBMS. Database Concepts © Leo Mark
  • 119. THE DATABASE MARKET Prerelational vs. Relational Database Vendors Relational Database Products Relational Databases for PCs Object-Oriented Database Capabilities Database Concepts © Leo Mark
  • 120. Prerelational vs. Relational billion $ 14 p e ea i n l r r l to a 12 r l t nl ea io a 10 8 6 4 2 0 1 9 9 4 1 9 9 5 1 9 9 6 1 9 9 7 1 9 9 8 1 9 9 9 Prerelational market revenue shrinking about 9%/year. Currently 1.8 billion/year Relational market revenue growing about 30%/year. Currently 11.5 billion/year Database Concepts Object-Oriented © Leo Mark market revenue about 150 million/year
  • 121. Database Vendors Other ($2,272M) Informix CA Oracle ($1,755M) Sybase IBM (IMS+DB2) ($1,460M) IBM Other Sybase ($664M) Oracle Informix (+Illustra) ($492M) CA-IDMS (+Ingress) ($447M) NEC ($211M) Fujitsu ($186M) Total: $7,847M Hitachi ($117M) Software AG (ADABAS) ($136M) Source: IDC, 1995 Database Concepts © Leo Mark
  • 122. Relational Database Products We compare the following products: ORACLE 7 Version 7.3 Sybase SQL Server 11 Informix OnLine 7.2 Microsoft SQL Server 6.5 IBM DB2 2.1.1 CA-OpenIngres 1.2 Database Concepts © Leo Mark
  • 123. Relational Database Products COMPARIS ON CRITERIA ORACLE7 VERS ION7.3 S YBAS E S QL S ERVER11 INFORMIX ONLINE7.1 Relational M odel Domains no no no Referential Integ. restrict, except restrict only restrict, except violation options cascading delete cascading delete Taylor referential no no no messages Referential no no no WHERE clause Updatable views yes yes yes w/check option Database Objects User-defined yes yes no data types BLOBs yes yes yes Additional image,video,text, binary,image,text, byte, data types messaging,spatial money,bit, text up to 2GB data types varbinary Table structure heap,clustered heap,clustered no choice Index structure B-tree,bitmap, B-tree B+-tree,clustered hash Tuning facilities table and index index pre-fetch, extents, table allocation I/O buffer cache, fragmentation by block size, expression or table partitioning round robin Database Concepts © Leo Mark
  • 124. Relational Database Products COMPARIS ON MICROS OFT S QL IBM DB2 2.1.1 CA- CRITERIA S ERVER6.5 OPENINGRES 1.2 Relational M odel Domains no no no Ref. integrity restrict restrict,cascade, restrict only w/check option set null Taylor referential no no no messages Referential no no no WHERE clause Updatable views yes yes, including yes w/check option union vews Database objects User-defined yes yes yes data types BLOBs yes yes yes Additional large objects byte,longbyte,long data types varchar,spatial, varbyte, money Table structure no choice no choice B-tree,hash,heap, ISAM Index structure clustered clustered B-tree,hash,ISAM Tuning facilities fill factors, table & index table&index alloc. allocation allocation, cluster fill factors, ratio,cluster factor pre-allocation Database Concepts © Leo Mark
  • 125. Relational Database Products COMPARIS ON ORACLE7 S YBAS E S QL INFORMIX CRITERIA VERSION7.3 S ERVER11 ONLINE7.2 Triggers Level row&set-based set-based row&set-based Timing before,after after before,after,each Nesting yes yes yes Stored procedures Language PL/SQL Transact-SQL SPL Nesting yes yes yes Cursors yes yes yes External calls RPC RPC system calls Events yes time-based no Queries Locking level table, row table, page db,table,page,row ANSI SQL comply entry level SQL92 entry level SQL92 entry level SQL92 Cursors forward forward forward,backward Outer join yes yes yes ANSI syntax no no no APIs ODBC DBLIB,CTLIB,ODBC ESQL,TP/XA,CLI, ODBC Database Concepts © Leo Mark
  • 126. Relational Database Products COMPARISON MICROSOFT S QL IBM DB22.1.1 CA- CRITERIA DERVER6.5 OPENINGRES1.2 Triggers Level set-based set&row-based row-based Timing after before,after after Nesting yes yes yes Stored procedures Language Transact-SQL SQL, 3GL SQL-like Nesting yes yes yes Cursors yes yes no External calls system call yes no(db events) Events no user-def functions db event alerters Queries Locking level db,table, page,row db,table, page,row db,table,page ANSI SQL comply entry level SQL92 entry level SQL92 entry level SQL92 Cursors forward,backward forward forward ,relative,absolute Outer join yes yes yes ANSI syntax no no yes APIs ESQL,DBLIB,ODBC, ESQL,,ODBC ESQL,TP/XA,ODBC Dist mgt objects Database Concepts © Leo Mark
  • 127. Relational Database Products COMPARIS ON CRITERIA ORACLE7 S YBAS E S QL S ERVER11 INFORMIX ONLINE7.2 Database Admin Tools Oracle Enterp M gr Sybase SQL M gr SM I,DB/Cockpit, Performance Pack SQL M onitor OnPerf SNM P support yes yes no Security C2(trusted Oracle) C2 C2,B1online secur Partial backup & configurable configurable no recovery Internet Internet support OracleWebServer web.sql ESQL,4GLCGI, Interface Kit Connectivity, Distribution Gateways to other M VS source Adabas,AS/400, Oracle,Sy base, DBM Ss through EDA/SQL DB2,IDM S,IM S, IM S,DB2 (Adabas,IDM S,SQL Informix,Ingres, /DS,VSAM ), any ISAM ,SQL Server, APPC source, AS/ Oracle,Rdb,RM S, 400,DRDA,DB2,Tur seq.flies,SQL/DS, boimage,Sybase,R SybaseSQL Server, db,RM S,Informix,C Teradata,VSAM A-Ingres,SQL Server,Teradata Distributed DBs part of base prod OmniConnect Online server 2PC protocol yes yes yes,presumeabort Heterogeneous gateways DirectConnect no Op timization yes yes yes RPC yes yes no Database Concepts © Leo Mark
  • 128. Relational Database Products COMPARIS ON CRITERIA MICROS OFT S QL S ERVER6.5 IBM DB@ 2.1.1 CA- OPENINGRES 1.2 Database Admin Tools Enterprise Mgr, DB Director,Perf IPM , VisualDBA, Perf M onitor M onitor, IM A Visual Explain SNM P support yes yes yes Security NT integrated three levels C2 Partial backup & per table yes per table recovery Internet Internet support Internet Info Serv DB2 WWW CA-OpenIngres/ (WindowsNT) Connection ICE Connectivity, Distribution Gateways to other no Oracle, Sybase, DB2, Datacom, DBM Ss Informix, M S SQL IM S, IDM S, VSAM , Server Oracle, Rdb, Albase, Informix, Oracle, Sybase Distributed DBs no DataJoiner CA-OpenIngres* 2PC protocol n/a yes yes,automatic Heterogeneous no DataJoiner through gateways Optimization no yes yes RPC yes no no Database Concepts © Leo Mark
  • 129. Relational Database Products COMPARIS ON ORACLE S YBAS E S QL INFORMIX CRITERIA VERS ION7.3 S ERVER11 ONLINE7.2 Replication Recording replic. log/trigger log buffer log Hot standby yes yes yes Peer-to-peer yes yes no To other DBMSs through gateways DirectConnect no Cascading yes yes no Additional restrictions Name length 30 30 18 Columns 254 250 2767 Column size 2GB 1962 32,767 Tables n/a 2 billion 477 million Table size n/a storage dependent 64 terabytes Table width by column storage dependent 32,767 Platforms (OS) most UNIX, OS/2, most UNIX, OS/2, most UNIX, VAX/VMS, MAC, VAX/VMS, MAC WindowsNT, WindowsNT, WindowsNT, Windows95 Windows95 Windows95, Database Concepts © Leo Mark