relational algebra,calculas

Upload: abhinav-hans

Post on 04-Jun-2018

227 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/14/2019 relational algebra,calculas

    1/29

    Silberschatz, Korth and Sudarshan1.1Database System Concepts

    Chapter 1: Introduction

    Purpose of Database Systems

    View of Data

    Data Models

    Data Definition Language

    Data Manipulation Language

    Transaction Management

    Storage Management

    Database Administrator

    Database Users

    Overall System Structure

  • 8/14/2019 relational algebra,calculas

    2/29

    Silberschatz, Korth and Sudarshan1.2Database System Concepts

    Database Management System (DBMS)

    DATABASE:Collection of interrelated data.

    DATA: known facts that can be recorded and that have implicit meaning.

    DBMS:Set of programs to access the data

    DBMS contains information about a particular enterprise

    DBMS provides an environment that is both convenientand efficientto use.

    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

  • 8/14/2019 relational algebra,calculas

    3/29

    Silberschatz, Korth and Sudarshan1.3Database System Concepts

    Functions of DBMS

    Defining a database:

    Specifying the data structures and constraints for the data to be stored inthe database.

    Constructing the database:

    Storing data on some storage medium

    Manipulating a database:Querying (retrieving, updating)

    Sharing a database :

    Multiuser access

    Protecting a database: System protection -> against hardware or software malfunction

    Security protection -> against unauthorized access

  • 8/14/2019 relational algebra,calculas

    4/29

    Silberschatz, Korth and Sudarshan1.4Database System Concepts

    Characteristics of Database approach

    Self-describing nature of a database system:

    Database system consists of complete definition or description (structure of each file, the

    type and storage format of each data item and various constraints on data) of thedatabase structure or constraints.

    This definition is stored in DBMS catalog

    The information stored in catalog is calledmeta-data.

    Insulation between program and data, and data abstraction:

    In traditional file processing, the structure of data files is embedded in applicationprograms, so any changes to structure of a file may require changing all programs thataccess this file.

    Support of Multiple Views of the Data:

    A database typically has many users, each of whom may require a different perspective

    or view of the database. Sharing of Data and Multiuser Transaction Processing:

  • 8/14/2019 relational algebra,calculas

    5/29

    Silberschatz, Korth and Sudarshan1.5Database System Concepts

    Purpose of Database System

    In the early days, database applications were built on top offile systems

    Drawbacks of using file systems to store data:

    Data redundancy and inconsistency

    Multiple file formats(programs may be written in different

    programming languages), duplication of information in different files. Change in one file doesntmake changes in other file.

    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 partof program code

    Hard to add new constraints or change existing ones

  • 8/14/2019 relational algebra,calculas

    6/29

    Silberschatz, Korth and Sudarshan1.6Database System Concepts

    Purpose of Database Systems (Cont.)

    Drawbacks of using file systems (cont.)

    Atomicity of updates

    Failures may leave database in an inconsistent state with partialupdates 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 same

    time Security problems

    Database systems offer solutions to all the above problems

  • 8/14/2019 relational algebra,calculas

    7/29Silberschatz, Korth and Sudarshan1.7Database System Concepts

    Levels of Abstraction/3-Schema Architecture

    Physical level or internal level

    describes howa record (e.g., customer) is stored.

    Lowest level of abstraction.

    Describes the complete details of data storage and access paths for the database.

    Logical level or conceptual level : describes whatdata stored in database, and the relationships among the data.

    describes the structure of the whole database for a community of users.

    hides the details of physical storage structures and concentrates on describing entities,data types, relationships, user operations, and constraints.

    View level:

    Views can also hide information (e.g., salary) for security purposes.

    describes the part of the database that a particular user group is interested in and hidesthe rest of the database from that user group

  • 8/14/2019 relational algebra,calculas

    8/29Silberschatz, Korth and Sudarshan1.8Database System Concepts

    View of Data

    An architecture for a database system

  • 8/14/2019 relational algebra,calculas

    9/29Silberschatz, Korth and Sudarshan1.9Database System Concepts

    Instances and Schemas

    Similar to types and variables in programming languages

    Schemathe overall design of database

    e.g., the database consists of information about a set of customers andaccounts and the relationship between them)

    Physical schema: describes database design at the physical level

    Logical schema: describes database design at the logical level

    Instance the collection of information stored in the database at aparticular point in time

  • 8/14/2019 relational algebra,calculas

    10/29Silberschatz, Korth and Sudarshan1.10Database System Concepts

    Data Independence

    capacity to change the schema at one level of a database system withouthaving to change the schema at the next higher level.

    Logical data independence

    is the capacity to change the conceptual schema without having to change externalschemas or application programs.

    We may change the conceptual schema to expand the database (by adding a recordtype or data item), or to reduce the database (by removing a record type or data item).

    Physical data independence

    is the capacity to change the internal schema without having to change the conceptual(or external) schemas.

    Changes to the internal schema may be needed because some physical files had to bereorganizedfor example, by creating additional access structuresto improve theperformance of retrieval or update.

  • 8/14/2019 relational algebra,calculas

    11/29Silberschatz, Korth and Sudarshan1.11Database System Concepts

    Database Users

    Actors on the scene:

    Database Administrators

    Database Designers

    End Users

    System Analysts and Application Programmers (Software Engineers)

    Actors behind the scene: DBMS system designers and implementers

    Tool developers

    Operators and maintenance personnel

  • 8/14/2019 relational algebra,calculas

    12/29Silberschatz, Korth and Sudarshan1.12Database System Concepts

    DATABASE ADMINISTRATOR

    Coordinates all the activities of the database system; thedatabase administrator has a good understanding of theenterprises information resources and needs.

    Database administrator's duties include:

    Schema definition Storage structure and access method definition

    Schema modification

    Granting user authority to access the database

    Routine maintenance (periodic backup, upgrading disk space,

    monitoring running jobs on database)

    Specifying integrity constraints

    Acting as liaison with users

    Monitoring performance and responding to changes in requirements

  • 8/14/2019 relational algebra,calculas

    13/29Silberschatz, Korth and Sudarshan1.13Database System Concepts

    DATABASE DESIGNERS:

    responsible for identifying the data to be stored in the database and forchoosing appropriate structures to represent and store this data.

    These tasks are mostly undertaken before the database is actuallyimplemented and populated with data.

    It is the responsibility of database designers to communicate with all

    prospective database users, in order to understand their requirements, and tocome up with a design that meets these requirements.

    In many cases, the designers are on the staff of the DBA and may beassigned other staff responsibilities after the database design is completed.

    Database designers typically interact with each potential group of users and

    develop a view of the database that meets the data and processingrequirements of this group.

  • 8/14/2019 relational algebra,calculas

    14/29Silberschatz, Korth and Sudarshan1.14Database System Concepts

    End users are the people whose jobs require access to the database forquerying, updating, and generating reports; the database primarily existsfor their use. There are several categories of end users:

    Casual end users occasionally access the database, but they may need different information each time.

    They use a sophisticated database query language to specify their requests.

    Naive or parametric end users

    main job function revolves around constantly querying and updating the database, using

    standard types of queries and updatescalled canned transact ionsthat have beencarefully programmed and tested. The tasks that such users perform are varied:

    Bank tellers check account balances and post withdrawals and deposits.

    Sophisticated end users

    include engineers, scientists, business analysts, and others who thoroughly familiarize

    themselves with the facilities of the DBMS so as to implement their applications to meettheir complex requirements.

    Stand-alone users

    maintain personal databases by using ready-made program packages that provide easy-to-use menu- or graphics-based interfaces.

    An example is the user of a tax package that stores a variety of personal financial datafor tax purposes.

  • 8/14/2019 relational algebra,calculas

    15/29Silberschatz, Korth and Sudarshan1.15Database System Concepts

    System Analysts and Application Programmers (Software Engineers)

    System analysts determine the requirements of end users, especially naive andparametric end users, and develop specifications for canned transactions that meet theserequirements.

    Appl ica t ion programmers implement these specifications as programs; then they test,debug, document, and maintain these canned transactions.

  • 8/14/2019 relational algebra,calculas

    16/29Silberschatz, Korth and Sudarshan1.16Database System Concepts

    Actors behind the Scene

    DBMS system designers and implementers

    persons who design and implement the DBMS modules and interfacesas a software package.

    modules for implementing the catalog, query language, interfaceprocessors, data access, concurrency control, recovery, and security.

  • 8/14/2019 relational algebra,calculas

    17/29Silberschatz, Korth and Sudarshan1.17Database System Concepts

    Tool developers

    include persons who design and implement toolsthe software packagesthat facilitate database system design and use, and help improveperformance.

    Tools are optional packages that are often purchased separately.

    They include packages for database design, performance monitoring, naturallanguage or graphical interfaces, prototyping, simulation, and test datageneration.

  • 8/14/2019 relational algebra,calculas

    18/29Silberschatz, Korth and Sudarshan1.18Database System Concepts

    Operators and maintenance personnel

    are the system administration personnel who are responsible for theactual running and maintenance of the hardware and softwareenvironment for the database system.

  • 8/14/2019 relational algebra,calculas

    19/29Silberschatz, Korth and Sudarshan1.19Database System Concepts

    Data Models

    A collection of conceptual tools for describing

    data

    data relationships

    data semantics

    data constraints

    Entity-Relationship model

    Relational model : uses a collection of table to represent both data andrelationships.

    Other models:

    object-oriented model (extension of ER, with notion of encapsulation, methods,objects)

    semi-structured data models (where individual data item of same type havedifferent set of attributes.) Older models: network model and hierarchical model

    where the hierarchical database model structures data as a tree of records, with each record having oneparent record and many children, the network model allows each record to have multiple parent andchild records, forming a generalized graph structure.

  • 8/14/2019 relational algebra,calculas

    20/29Silberschatz, Korth and Sudarshan1.20Database System Concepts

    Entity-Relationship Model

    Example of schema in the entity-relationship model

  • 8/14/2019 relational algebra,calculas

    21/29Silberschatz, Korth and Sudarshan1.21Database System Concepts

    Entity Relationship Model (Cont.)

    E-R model of real world

    Entities (objects)

    E.g. customers, accounts, bank branch

    Relationships between entities

    E.g. Account A-101 is held by customer Johnson

    Relationship set depositorassociates customers with accounts Widely used for database design

    Database design in E-R model usually converted to design in therelational model (coming up next) which is used for storage andprocessing

  • 8/14/2019 relational algebra,calculas

    22/29Silberschatz, Korth and Sudarshan1.22Database System Concepts

    Relational Model

    Example of tabular data in the relational model

    customer-

    nameCustomer-

    id

    customer-

    street

    customer-

    city

    account-

    number

    Johnson

    Smith

    Johnson

    Jones

    Smith

    192-83-7465

    019-28-3746

    192-83-7465

    321-12-3123

    019-28-3746

    Alma

    North

    Alma

    Main

    North

    Palo Alto

    Rye

    Palo Alto

    Harrison

    Rye

    A-101

    A-215

    A-201

    A-217

    A-201

    Attributes

  • 8/14/2019 relational algebra,calculas

    23/29

    Silberschatz, Korth and Sudarshan1.23Database System Concepts

    A Sample Relational Database

  • 8/14/2019 relational algebra,calculas

    24/29

    Silberschatz, Korth and Sudarshan1.24Database System Concepts

    Data Definition Language (DDL)

    Specification notation for defining the database schema

    E.g.create tableaccount(

    account-number char(10),balance integer)

    DDL compiler generates a set of tables stored in a data

    dictionary

    Data dictionary contains metadata (i.e., data about data)

    database schema

    Data storage and definitionlanguage

    language in which the storage structure and access methodsused by the database system are specified

    Usually an extension of the data definition language

    Creaye, alter, drop, truncate, grant, revoke

  • 8/14/2019 relational algebra,calculas

    25/29

    Silberschatz, Korth and Sudarshan1.25Database System Concepts

    Data Manipulation Language (DML)

    Language for accessing and manipulating the data organized by

    the appropriate data model DML also known as query language

    Two classes of languages

    Proceduraluser specifies what data is required and how to getthose data

    Nonproceduraluser specifies what data is required withoutspecifying how to get those data

    SQL is the most widely used query language

    Insert, update, delete

  • 8/14/2019 relational algebra,calculas

    26/29

    Silberschatz, Korth and Sudarshan1.26Database System Concepts

    SQL

    SQL: widely used language

    E.g. find the name of the customer with customer-id 192-83-7465select customer.customer-namefrom customerwhere customer.customer-id= 192-83-7465

    E.g. find the balances of all accounts held by the customer with

    customer-id 192-83-7465select account.balancefrom depositor, accountwhere depositor.customer-id= 192-83-7465 and

    depositor.account-number = account.account-number

    Application programs generally access databases through one of

    Language extensions to allow embedded SQL

    Application program interface (e.g. ODBC/JDBC) which allow SQLqueries to be sent to a database

  • 8/14/2019 relational algebra,calculas

    27/29

    Silberschatz, Korth and Sudarshan1.27Database System Concepts

    Transaction Management

    A transactionis a collection of operations that performs a single

    logical function in a database application Transaction-management component ensures that the database

    remains in a consistent (correct) state despite system failures(e.g., power failures and operating system crashes) andtransaction failures.

    Concurrency-control manager controls the interaction among theconcurrent transactions, to ensure the consistency of thedatabase.

  • 8/14/2019 relational algebra,calculas

    28/29

    Silberschatz, Korth and Sudarshan1.28Database System Concepts

    Storage Management

    Storage manager is a program module that provides the

    interface between the low-level data stored in the database andthe application programs and queries submitted to the system.

    The storage manager is responsible to the following tasks:

    interaction with the file manager

    efficient storing, retrieving and updating of data

  • 8/14/2019 relational algebra,calculas

    29/29

    Overall System Structure