1 databases and database management systems

Upload: uday-kumar

Post on 04-Apr-2018

223 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/30/2019 1 Databases and Database Management Systems

    1/83

    DatabasesandDatabase Management Systems

    Based on Chapters 1-2 inFundamentals of Database Systems

    by Elmasri and Navathe, Ed. 4

  • 7/30/2019 1 Databases and Database Management Systems

    2/83

    Introduction to Database Systems 2

    NOTES

    1 Basic Definitions

    2 Example of a Database

    3 Main Characteristics ofDatabase Technology

    4 Additional Benefits ofDatabase Technology

    5 When Not to Use aDBMS

    6 Data Models6A. History of data

    Models

    7 Schemas versusInstances

    8 Three-SchemaArchitecture

    9 Data Independence

    10 DBMS Languages11 DBMS Interfaces

    12 DBMS ComponentModules13 Database System

    Utilities14 Classification of DBMSs

  • 7/30/2019 1 Databases and Database Management Systems

    3/83

    Introduction to Database Systems 3

    Types of Databases andDatabase Applications

    Numeric and Textual Databases

    Multimedia Databases(store images, audio

    clips, and video streams digitally).

    Geographic Information Systems (GIS) (store

    and analyze maps, weather data and satellite

    images)

    Data Warehouses and Online analyticalprocessing (OLAP)

    Real-time and Active Databases (control

    industrial and manufacturing process)

  • 7/30/2019 1 Databases and Database Management Systems

    4/83

    Database Management System

    (DBMS)

    Collection of interrelated data

    Set of programs to access the data

    DBMS contains information about a particular

    enterprise DBMS provides an environment that is both

    convenientand efficientto use.

    Introduction to Database Systems 4

  • 7/30/2019 1 Databases and Database Management Systems

    5/83

    Database Management System (DBMS)

    Database Applications: Banking: all transactions

    Airlines: reservations, schedules

    Universities: registration, grades

    Sales: customers, products, purchases

    Manufacturing: production, inventory, orders, supply chain

    Human resources: employee records, salaries, tax deductions

    Databases touch all aspects of our lives

  • 7/30/2019 1 Databases and Database Management Systems

    6/83

    Purpose of Database System

    In the early days, database applicationswere built on top of file systems

    Drawbacks of using file systems to store

    data: Data redundancy and inconsistency

    Multiple file formats, duplication of information in different files

    Difficulty in accessing data

    Need to write a new program to carry out each new task

    Data isolation multiple files and formats

    Integrity problems

    Integrity constraints (e.g. account balance > 0) become part of

    program code

    Hard to add new constraints or change existing ones

  • 7/30/2019 1 Databases and Database Management Systems

    7/83

    Purpose of Database Systems(Cont.)

    Drawbacks of using file systems (cont.) Atomicity of updates

    Failures may leave database in an inconsistent state with partial

    updates carried out

    E.g. transfer of funds from one account to another should eithercomplete or not happen at all

    Concurrent access by multiple users

    Concurrent accessed needed for performance

    Uncontrolled concurrent accesses can lead to inconsistencies

    E.g. two people reading a balance and updating it at the sametime

    Security problems

    Database systems offer solutions to all the

    above problems

  • 7/30/2019 1 Databases and Database Management Systems

    8/83

    Introduction to Database Systems 8

    1.Basic Definitions

    Database:

    A collection of related data.

    Data:

    Known facts that can be recorded and have an

    implicit meaning.

  • 7/30/2019 1 Databases and Database Management Systems

    9/83

    Introduction to Database Systems 9

    Basic Definitions

    Mini-world:

    Some part of the real world about which data is

    stored in a database.

    For example, student grades and transcripts at auniversity.

  • 7/30/2019 1 Databases and Database Management Systems

    10/83

    Introduction to Database Systems 10

    Basic Definitions

    Database Management System(DBMS) :

    A software package/ system to facilitate the

    creation and maintenance of a computerized

    database.

  • 7/30/2019 1 Databases and Database Management Systems

    11/83

    Introduction to Database Systems 11

    Basic Definitions

    Database System:

    The DBMS software together with the data itself.

    Sometimes, the applications are also included.

    Database System

    = Data + DBMS + (Program)

  • 7/30/2019 1 Databases and Database Management Systems

    12/83

    Introduction to Database Systems 12

    A simplifieddatabasesystemenvironment.

  • 7/30/2019 1 Databases and Database Management Systems

    13/83

    Introduction to Database Systems 13

    Typical DBMS Functionality (1/2)

    Define a database :

    in terms of data types, structures and constraints

    Construct or Load the Database on a

    secondary storage medium

    Manipulating the database :

    querying, generating reports, insertions, deletions

    and modifications to its content Concurrent Processing and Sharing by a set

    of users and programs yet, keeping all data

    valid and consistent

  • 7/30/2019 1 Databases and Database Management Systems

    14/83

    Introduction to Database Systems 14

    Typical DBMS Functionality (2/2)

    Other features:

    Protection or Security measures to prevent

    unauthorized access

    Active processing to take internal actions ondata

    Presentation and Visualization of data

  • 7/30/2019 1 Databases and Database Management Systems

    15/83

    Introduction to Database Systems 15

    2. Example of a Database(with a Conceptual Data Model)

    Mini-world for the example:

    Part of a UNIVERSITY environment.

    Entities

    Relationships

  • 7/30/2019 1 Databases and Database Management Systems

    16/83

    Introduction to Database Systems 16

    2. Example of a Database(with a Conceptual Data Model)

    Some mini-world entities:

    STUDENTs

    COURSEs

    SECTIONs (of COURSEs)

    (academic) DEPARTMENTs

    INSTRUCTORs

  • 7/30/2019 1 Databases and Database Management Systems

    17/83

    Introduction to Database Systems 17

    University database

  • 7/30/2019 1 Databases and Database Management Systems

    18/83

    Introduction to Database Systems 18

    2. Example of a Database(with a Conceptual Data Model)

    Some mini-world relationships:

    SECTIONs are of specific COURSEs

    STUDENTs take SECTIONs

    COURSEs have prerequisite COURSEs INSTRUCTORs teach SECTIONs

    COURSEs are offered by DEPARTMENTs

    STUDENTs major in DEPARTMENTs

  • 7/30/2019 1 Databases and Database Management Systems

    19/83

    Introduction to Database Systems 19

    NOTE:

    The above could be expressed in the

    ENTITY-RELATIONSHIP data model.

  • 7/30/2019 1 Databases and Database Management Systems

    20/83

    Introduction to Database Systems 20

    3. Main Characteristics ofDatabase Technology

    1) Self-contained nature of a database system

    2) Insulation between programs and data

    3) Data Abstraction

    4) Support of multiple views of the data

    5) Sharing of data and multiuser transaction

    processing

  • 7/30/2019 1 Databases and Database Management Systems

    21/83

    Introduction to Database Systems 21

    Self-contained nature of adatabase system

    A DBMS catalogstores the description of thedatabase.

    The description is called meta-data.

    This allows the DBMS software to work withdifferent databases.

  • 7/30/2019 1 Databases and Database Management Systems

    22/83

    Introduction to Database Systems 22

    Insulation between programs anddata

    Called program-data independence.

    Allows changing data storage structures and

    operations without having to change the

    DBMS access programs.

  • 7/30/2019 1 Databases and Database Management Systems

    23/83

    Introduction to Database Systems 23

    Data Abstraction

    A data model is used to hide storage details

    and present the users with a conceptual view

    of the database.

  • 7/30/2019 1 Databases and Database Management Systems

    24/83

    Introduction to Database Systems 24

    Support of multiple views of thedata

    Each user may see a different view of the

    database, which describes only the data of

    interest to that user.

  • 7/30/2019 1 Databases and Database Management Systems

    25/83

    Introduction to Database Systems 25

    The STUDENT TRANSCRIPT view.

  • 7/30/2019 1 Databases and Database Management Systems

    26/83

    Introduction to Database Systems 26

    Internal storage format for aSTUDENT record

  • 7/30/2019 1 Databases and Database Management Systems

    27/83

    Introduction to Database Systems 27

    Sharing of data and multiusertransaction processing

    allowing a set of concurrent users to retrieve

    and to update the database.

    Concurrency control within the DBMS

    guarantees that each transactionis correctlyexecuted or completely aborted.

    OLTP (Online Transaction Processing) is a

    major part of database applications.

  • 7/30/2019 1 Databases and Database Management Systems

    28/83

    Introduction to Database Systems 28

    4. Additional Benefits of DatabaseTechnology

    Controlling redundancy in data storage and in development andmaintenance efforts.

    Sharing of data among multiple users.

    Restricting unauthorized access to data.

    Providing multiple interfaces to different classes of users. Representing complex relationships among data.

    Enforcing integrity constraintson the database.

    Providing backupand recoveryservices.

    Potential for enforcing standards.

    Flexibility to change data structures.

    Reduced application development time.

    Availability of up-to-date information.

    Economies of scale.

  • 7/30/2019 1 Databases and Database Management Systems

    29/83

  • 7/30/2019 1 Databases and Database Management Systems

    30/83

    Actors on the scene

    Person involve day to day use of a database.

    To define, construct and manipulates the DB.

    Called as Actors on the scene.

    1. DBA (Database Administrator )

    Many people use the same resources.

    Chief administrator to overseer's and manages

    these resources. Primary resource is DB

    Secondary resource is DBMS and related s/w.

    Introduction to Database Systems 30

  • 7/30/2019 1 Databases and Database Management Systems

    31/83

    DBA is responsible to administrate these

    resources.

    Responsible for authorizing access to DB,

    coordinating, monitoring its uses , acquiring s/w

    and h/w resources.

    Introduction to Database Systems 31

  • 7/30/2019 1 Databases and Database Management Systems

    32/83

    Database Designer

    Identifying the data to be stored in DB.

    Choosing appropriate structure to represent and

    store this data. Communicate with DB user to understand their

    request and create a design that meets these

    requirement.

    Introduction to Database Systems 32

  • 7/30/2019 1 Databases and Database Management Systems

    33/83

    End User

    Access DB for querying, updating and generating

    reports.

    1. Casual end user Occasionally access DB

    Use sophisticated DB query language.

    Middle or high level mangers or other occasional

    browser.

    Introduction to Database Systems 33

  • 7/30/2019 1 Databases and Database Management Systems

    34/83

    Naive or parametric end user

    Constantly querying and updating DB.

    Using standard types of queries and updates called

    canned transaction

    Sophisticated end user

    Engineers

    Scientists

    Business analysts Use DB to implement their applications to meet their

    computer requirements

    Introduction to Database Systems 34

  • 7/30/2019 1 Databases and Database Management Systems

    35/83

    Standalone user

    Personal DB by using ready made program package.

    Menu based or graphic base interface.

    Introduction to Database Systems 35

  • 7/30/2019 1 Databases and Database Management Systems

    36/83

    System analysts and application

    programmers (s/w engineers)

    System analysts

    Determine the requirements of end users especiallynave and parametric end user

    Develop specification for canned transcation.

    Application programmer

    Implement specification as program. Test, debug, document and maintain these canned

    transcation.

    Introduction to Database Systems 36

  • 7/30/2019 1 Databases and Database Management Systems

    37/83

    Worker Behind the Scene

    Work to maintain the DB system environment

    but not actively interested in DB itself.

    DBMS system designer and implementers Design and implement the DBMS modules and

    interface as s/w packages.

    Introduction to Database Systems 37

  • 7/30/2019 1 Databases and Database Management Systems

    38/83

    Tool developers

    Design and implements tool.

    s/w packages that facilitate DB modeling and

    design. Improves performance.

    Operators and maintenance personnel

    Responsible for actual running and maintenance

    of the H/W and S/W environments for DB system.

    Introduction to Database Systems 38

    Hi t i l D l t f

  • 7/30/2019 1 Databases and Database Management Systems

    39/83

    Introduction to Database Systems 39

    Historical Development ofDatabase Technology

    Early Database Applications:

    The Hierarchical and Network Models were

    introduced in mid 1960s and dominated during

    the seventies. A bulk of the worldwide database processing still

    occurs using these models.

  • 7/30/2019 1 Databases and Database Management Systems

    40/83

    Introduction to Database Systems 40

    Historical Development of DatabaseTechnology

    Relational Model based Systems:

    The model that was originally introduced in

    1970 was heavily researched and

    experimented with in IBM and theuniversities.

    Relational DBMS Products emerged in the

    1980s.

    Historical Development of

  • 7/30/2019 1 Databases and Database Management Systems

    41/83

    Introduction to Database Systems 41

    Historical Development ofDatabase Technology

    Object-oriented applications:

    OODBMSs were introduced in late 1980s and

    early 1990s to cater to the need of complex data

    processing in CAD and other applications. Their use has not taken off much.

  • 7/30/2019 1 Databases and Database Management Systems

    42/83

    Introduction to Database Systems 42

    Historical Development of DatabaseTechnology

    Data on the Web and E-commerceApplications:

    Web contains data in HTML (Hypertext markup

    language) with links among pages. This has given rise to a new set of applications

    and E-commerce is using new standards like XML

    (eXtended Markup Language).

  • 7/30/2019 1 Databases and Database Management Systems

    43/83

    Introduction to Database Systems 43

    Extending Database capabilities

    New functionality is being added to DBMSs inthe following areas:

    Scientific Applications

    Image Storage and Management Audio and Video data management

    Data Mining

    Spatial data management

    Time Series and Historical Data Management

  • 7/30/2019 1 Databases and Database Management Systems

    44/83

    Introduction to Database Systems 44

    5 When not to use a DBMS

    Main inhibitors (costs) of using a DBMS

    When a DBMS may be unnecessary

    When no DBMS may suffice

    Main inhibitors (costs) of using a

  • 7/30/2019 1 Databases and Database Management Systems

    45/83

    Introduction to Database Systems 45

    Main inhibitors (costs) of using aDBMS:

    High initial investment and possible need foradditional hardware.

    Overhead for providing generality, security,

    recovery, integrity, and concurrency control.

    When a DBMS may be

  • 7/30/2019 1 Databases and Database Management Systems

    46/83

    Introduction to Database Systems 46

    When a DBMS may beunnecessary:

    If the database and applications are simple,well defined, and not expected to change.

    If there are stringent real-time requirements

    that may not be met because of DBMSoverhead.

    If access to data by multiple users is notrequired.

  • 7/30/2019 1 Databases and Database Management Systems

    47/83

    Introduction to Database Systems 47

    When no DBMS may suffice:

    If the database system is not able to handlethe complexity of data because of modeling

    limitations

    If the database users need special operationsnot supported by the DBMS.

  • 7/30/2019 1 Databases and Database Management Systems

    48/83

    Introduction to Database Systems 48

    6. Data Models

    Data Model:

    A set of concepts to describe the structure of a

    database, and certain constraints that the

    database should obey.

  • 7/30/2019 1 Databases and Database Management Systems

    49/83

    Introduction to Database Systems 49

    6. Data Models

    Data Model Operations:

    Operations for specifying database retrievals and

    updates by referring to the concepts of the data

    model.

    Operations on the data model may include basicoperationsand user-defined operations

  • 7/30/2019 1 Databases and Database Management Systems

    50/83

    Introduction to Database Systems 50

    Categories of data models:

    Conceptualdata models

    (high-level, semantic)

    Physicaldata models

    (low-level, internal)

    Logical(representational, Implementation)data models

    (record-oriented)

  • 7/30/2019 1 Databases and Database Management Systems

    51/83

    Introduction to Database Systems 51

    Conceptual data models

    Provide concepts that are close to the waymany users perceive data.

    Also called entity-based or object-based data

    models. Use concepts such as entities, attributes and

    relationship.

  • 7/30/2019 1 Databases and Database Management Systems

    52/83

    Introduction to Database Systems 52

    Physical data models:

    Provide concepts that describe details of howdata is stored in the computer.

    storage structure

    Define record formats, record orderings and accesspath.

    Access path

    Structure that makes the search for particular

    database records efficient.

  • 7/30/2019 1 Databases and Database Management Systems

    53/83

    Introduction to Database Systems 53

    Implementation data models:

    Also called logical data model

    Provide concepts that fall between the above

    two, balancing user views with some

    computer storage details.

  • 7/30/2019 1 Databases and Database Management Systems

    54/83

    Introduction to Database Systems 54

    6A. HISTORY OF DATA MODELS

    Relational Model

    Network Model

    Hierarchical Data Model

    Object-oriented Data Model(s

    Object-Relational Models

  • 7/30/2019 1 Databases and Database Management Systems

    55/83

    Introduction to Database Systems 55

    Relational Model:

    proposed in 1970 by E.F. Codd (IBM), firstcommercial system in 1981-82.

    Now in several commercial products

    DB2, ORACLE,

    SQL Server,

    SYBASE, INFORMIX.

  • 7/30/2019 1 Databases and Database Management Systems

    56/83

    Introduction to Database Systems 56

    Object-Relational Models :

    Most Recent Trend.

    Started with Informix Universal Server.

    Exemplified in the latest versions of Oracle-

    10g, DB2, and SQL Server etc. systems.

  • 7/30/2019 1 Databases and Database Management Systems

    57/83

    Introduction to Database Systems 57

    7. Schemas versus Instances

    Database Schema: The description of a database.

    Includes

    descriptions of the database structure and the constraints that should hold on the

    database.

    Schema Diagram: A diagrammatic display of (some aspects of) a

    database schema.

  • 7/30/2019 1 Databases and Database Management Systems

    58/83

    Introduction to Database Systems 58

    Schema diagram for University database

  • 7/30/2019 1 Databases and Database Management Systems

    59/83

    Introduction to Database Systems 59

    7. Schemas versus Instances

    Database Instance: The actual data stored in a database at a

    particular moment in time .

    Also called database state(oroccurrence orsnapshot or instances).

  • 7/30/2019 1 Databases and Database Management Systems

    60/83

    Introduction to Database Systems 60

    7. Schemas versus Instances

    Database State: Refers to the content of a database at a moment

    in time.

    Initial Database State: Refers to the database when it is loaded

    Valid State:

    A state that satisfies the structure and constraintsof the database.

  • 7/30/2019 1 Databases and Database Management Systems

    61/83

  • 7/30/2019 1 Databases and Database Management Systems

    62/83

    Introduction to Database Systems 62

    8. Three-Schema Architecture

    Proposed to support DBMS characteristics of: Program-data independence.

    Support of multiple views of the data.

    Use of catalog to store the database description(schema).

  • 7/30/2019 1 Databases and Database Management Systems

    63/83

    Introduction to Database Systems 63

    8. Three-Schema Architecture

    Defines DBMS schemas at three levels : Internal schema

    Conceptual schema

    External schemas

  • 7/30/2019 1 Databases and Database Management Systems

    64/83

    Introduction to Database Systems 64

    The three-schema architecture.

  • 7/30/2019 1 Databases and Database Management Systems

    65/83

  • 7/30/2019 1 Databases and Database Management Systems

    66/83

    Introduction to Database Systems 66

    Conceptual schema

    Conceptual schemaat the conceptual level todescribe the structure and constraints for the

    whole database.

    Hide the details of physical structure andconcentrates on describing entities, data

    types, relationships, user operations and

    constraints.

    Uses a conceptual or an implementation

    data model.

  • 7/30/2019 1 Databases and Database Management Systems

    67/83

    Introduction to Database Systems 67

    External schemas

    External schemasat the external level todescribe the various user views.

    Usually uses the same data model as the

    conceptual level.

  • 7/30/2019 1 Databases and Database Management Systems

    68/83

    Introduction to Database Systems 68

    Three-Schema Architecture

    Mappings among schema levels are alsoneeded.

    Programs refer to an external schema, and

    are mapped by the DBMS to the internalschema for execution.

  • 7/30/2019 1 Databases and Database Management Systems

    69/83

    Introduction to Database Systems 69

    9 Data Independence

    Logical Data Independence The capacity to change the conceptual schema

    without having to change the external schemas

    and their application programs.

    Physical Data Independence

    The capacity to change the internal schema

    without having to change the conceptual schema.

  • 7/30/2019 1 Databases and Database Management Systems

    70/83

    Introduction to Database Systems 70

    Data Independence

    When a schema at a lower level is changed,only the mappings between this schema andhigher-level schemas need to be changed ina DBMS that fully supports data

    independence. The higher-level schemas themselves are

    unchanged.

    Hence, the application programs need not bechanged since the refer to the externalschemas.

  • 7/30/2019 1 Databases and Database Management Systems

    71/83

    Introduction to Database Systems 71

    10. DBMS Languages

    Data Definition Language (DDL)

    Data Manipulation Language (DML)

    Data Control Language (DCL)

  • 7/30/2019 1 Databases and Database Management Systems

    72/83

    Introduction to Database Systems 72

    Data Definition Language (DDL):

    Used by the DBA and database designers tospecify the conceptual schema of adatabase.

    In many DBMSs, the DDL is also used todefine internaland external schemas(views).

    In some DBMSs, separate storage definition

    language (SDL) and view definition language(VDL) are used to define internal and external

    schemas.

    Data Manipulation Language

  • 7/30/2019 1 Databases and Database Management Systems

    73/83

    Introduction to Database Systems 73

    p g g(DML):

    Used to specify database retrievals andupdates.

    DML commands (data sublanguage) can be

    embedded in a general-purpose programminglanguage (host language), such as C, COBOL,

    PL/1 or PASCAL.

    Alternatively, stand-alone DML commands can be

    applied directly (query language).

  • 7/30/2019 1 Databases and Database Management Systems

    74/83

    Introduction to Database Systems 74

    DBMS Languages

    High Level or Non-procedural Languages: e.g., SQL, are set-oriented and specify what data

    to retrieve than how to retrieve. Also called

    declarative languages.

    Low Level or Procedural Languages:

    record-at-a-time; they specify how to retrieve

    data and include constructs such as looping.

  • 7/30/2019 1 Databases and Database Management Systems

    75/83

    Introduction to Database Systems 75

    11. DBMS Interfaces

    Menu-based interfaces for web clients orbrowsing

    Forms-based interfaces

    Graphical user interfaces Natural language interfaces

    Speech input and output

    Interfaces for parametric users

  • 7/30/2019 1 Databases and Database Management Systems

    76/83

    Introduction to Database Systems 76

    DBMS Interfaces

    Interfaces for the DBA: Creating accounts, granting authorizations

    Setting system parameters

    Changing schemas or access path

    Component modules of a DBMS and

  • 7/30/2019 1 Databases and Database Management Systems

    77/83

    Introduction to Database Systems 77

    Component modules of a DBMS andtheir interactions.

  • 7/30/2019 1 Databases and Database Management Systems

    78/83

    Introduction to Database Systems 78

    13. Database System Utilities

    To perform certain functions such as: Loading data stored in files into a database.

    Backing up the database periodically on tape.

    Reorganizing database file structures. Report generation utilities.

    Performance monitoring utilities.

    Other functions, such as sorting , user monitoring ,

    data compression , etc.

  • 7/30/2019 1 Databases and Database Management Systems

    79/83

    Introduction to Database Systems 79

    Data dictionary / repository:

    Used to store schema descriptions and otherinformation such as design decisions,application program descriptions, userinformation, usage standards, etc.

    Active data dictionary is accessed by DBMSsoftware and users/DBA.

    Passive data dictionary is accessed byusers/DBA only.

  • 7/30/2019 1 Databases and Database Management Systems

    80/83

    Introduction to Database Systems 80

    14. Classification of DBMSs

    Based on data model

    Other classifications

  • 7/30/2019 1 Databases and Database Management Systems

    81/83

    Introduction to Database Systems 81

    Based on the data model used:

    Traditional: Relational,

    Network,

    Hierarchical. Emerging:

    Object-oriented,

    Object-relational.

  • 7/30/2019 1 Databases and Database Management Systems

    82/83

    Introduction to Database Systems 82

    Other classifications:

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

    Centralized (uses a single computer with onedatabase) vs. distributed (uses multiple computers,

    multiple databases) Distributed Database Systems have now come to be

    known as client server based database systems becausethey do not support a totally distributed environment, butrather a set of database servers supporting a set of clients.

    Example of a Datab

    ase

  • 7/30/2019 1 Databases and Database Management Systems

    83/83

    p

    (with a Logical Data Model)