lec-1 introduction to database systems[1]

Upload: mohit-kumar

Post on 04-Apr-2018

225 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/29/2019 Lec-1 Introduction to Database Systems[1]

    1/42

    Text Book

    1. Ramakrishna R and J Gerke ;

    McGrawHill Reference Book

    1. R Elmasri & S B Navate;

  • 7/29/2019 Lec-1 Introduction to Database Systems[1]

    2/42

  • 7/29/2019 Lec-1 Introduction to Database Systems[1]

    3/42

    Data: raw facts Being stored and retrieved

    Not to be processed to reveal their meaning to theuser

    Information: processed data

    Key to good decision making

    3

  • 7/29/2019 Lec-1 Introduction to Database Systems[1]

    4/42

    4

  • 7/29/2019 Lec-1 Introduction to Database Systems[1]

    5/42

    A set of information held in acomputer

    One or more large structured sets ofpersistent data, usually associatedwith software to update and query thedata

    A collection of data arranged for easeand speed of search and retrieval

    Introduction to Database Systems

  • 7/29/2019 Lec-1 Introduction to Database Systems[1]

    6/42

  • 7/29/2019 Lec-1 Introduction to Database Systems[1]

    7/42Introduction to Database Systems

    Data: Known facts that can be recorded and

    that have implicit meaning

    Database: Collection of related data

    Ex. the names, telephone numbers and

    addresses of all the people you know

    Database Management System: A

    computerized record-keeping system

  • 7/29/2019 Lec-1 Introduction to Database Systems[1]

    8/42Introduction to Database Systems

  • 7/29/2019 Lec-1 Introduction to Database Systems[1]

    9/42Introduction to Database Systems

  • 7/29/2019 Lec-1 Introduction to Database Systems[1]

    10/42

    Library catalogues Medical records

    Bank accounts

    Stock market data

    Personnel systems

    Product catalogues

    Telephone directories

    Train timetables Airline bookings

    Credit card details

    Student records

    Customer histories

    Stock market prices

    Discussion boards

    and so on

    Introduction to Database Systems

  • 7/29/2019 Lec-1 Introduction to Database Systems[1]

    11/42

    Network Data Model

    (mid 70s)File System

    (before 70s)

    Hybrid model

    (mid 80s)

    Relational model

    (late 80s)

    Object-oriented

    model (mid 90s)

    Object-relational

    model (late 90s)

    data

    modeling

    capacity

    data

    management

    facilities

    * adapted from the material in http://www.ktdata.co.kr/ktdata/kthome7/zeus_5.htm

  • 7/29/2019 Lec-1 Introduction to Database Systems[1]

    12/42

    Database is a collection of data describing objects and theirrelationships

    However a DBMS is software designed to assist in

    maintaining and utilizing large collection of data.

    Database Management System = DBMS

    A collection of files that store the data

    A big C program written by someone else that accesses and

    updates those files for you

    Relational DBMS = RDBMS

    Data files are structured as relations (tables)

  • 7/29/2019 Lec-1 Introduction to Database Systems[1]

    13/42

    Introduction to Database Systems

    A very large, integrated collection of data.

    Models real-world enterprise.

    Entities (e.g., students, employee)Attributes (e.g., student-roll,name,age,address,class

    etc.)

    Relationships (e.g., Teacher is teaching student)

    A Database Management System (DBMS)is asoftware

    package designed to store and manage databases.

  • 7/29/2019 Lec-1 Introduction to Database Systems[1]

    14/42

    Introduction to Database Systems

    Database Management System (DBMS): software

    system (collect of software) help to manage the data

    contentsManages Database structure

    Controls access to data

    Contains query language

    Application software DBMS Database

  • 7/29/2019 Lec-1 Introduction to Database Systems[1]

    15/42

    Goals of a Database Management System:

    To provide an efficient as well as a convenient environment for

    accessing data in a database

    Enforce information security: database security, concurrency

    control, crash recovery

    It is a general purpose facility for:

    Defining database

    Constructing database

    Manipulating database

  • 7/29/2019 Lec-1 Introduction to Database Systems[1]

    16/42

    Introduction to Database Systems

    Backend for traditional database applications

    Backend for large Websites

    Backend for Web services

    Amazon

  • 7/29/2019 Lec-1 Introduction to Database Systems[1]

    17/42

  • 7/29/2019 Lec-1 Introduction to Database Systems[1]

    18/42

    Sure we can! Start by storing the data in files:

    students.txt courses.txt professors.txt

    Now write C or Java programs to implementspecific tasks

    18

  • 7/29/2019 Lec-1 Introduction to Database Systems[1]

    19/42

    Enroll Ram in BBA108:

    19

    Read students.txt

    Read courses.txt

    Find&update the record Ram

    Find&update the record BBA108Write students.txt

    Write courses.txt

    Write a C/Java program to do the following:

  • 7/29/2019 Lec-1 Introduction to Database Systems[1]

    20/42

    Large data sets (say 50GB)

    Simultaneous access by many users Lock students.txt what is the problem ?

    20

    Read students.txtRead courses.txtFind&update the record Mary JohnsonFind&update the record CSE444Write students.txtWrite courses.txt

    CRASH !

  • 7/29/2019 Lec-1 Introduction to Database Systems[1]

    21/42

    program-1

    data description-1

    program-2

    data description-2

    program-3

    data description-3

    File-1

    File-2

    File-3

    Application program-1with data semantics

    Application program-2with data semantics

    Application program-3with data semantics

    Description

    Manipulation

    Control

    Queries Database

    File System approach

    DBMS approach

  • 7/29/2019 Lec-1 Introduction to Database Systems[1]

    22/42

    22

    Data Raw Facts

    Field

    Group of characters with specific meaning Record

    Logically connected fields that describe aperson, place, or thing

    File and file folder Collection of related records

  • 7/29/2019 Lec-1 Introduction to Database Systems[1]

    23/42

    23

    fieldrecord

  • 7/29/2019 Lec-1 Introduction to Database Systems[1]

    24/42

    24

  • 7/29/2019 Lec-1 Introduction to Database Systems[1]

    25/42

    25

    Figure 1.5

  • 7/29/2019 Lec-1 Introduction to Database Systems[1]

    26/42

    Each application must move large datasetsbetween main memory and secondary storage(must deal with, e.g., buffering, page-oriented

    access, etc).

    Each application must deal with some methodof identifying all data items in case the available

    addressing mode is not sufficient (e.g., 32-bitaddressing cannot directly access more than4GB).

  • 7/29/2019 Lec-1 Introduction to Database Systems[1]

    27/42

    27

  • 7/29/2019 Lec-1 Introduction to Database Systems[1]

    28/42

    28

  • 7/29/2019 Lec-1 Introduction to Database Systems[1]

    29/42

    29

  • 7/29/2019 Lec-1 Introduction to Database Systems[1]

    30/42

    30

  • 7/29/2019 Lec-1 Introduction to Database Systems[1]

    31/42

  • 7/29/2019 Lec-1 Introduction to Database Systems[1]

    32/42

    advantages disadvantages

    FMS

    Simpler to use Less expensive

    Typically no multi-user access Limited to smaller databases

    Limited functionality

    Decentralization of data

    Redundancy and integrity issues

    Crash Recovery

    DBMS Greater flexibility

    Greater processing power

    Ensures data integrity

    Supports simultaneousaccess

    Provides backup and

    recovery controls

    Advanced security

    Supports Transaction

    Difficult to learn

    Packaged separately from the

    OS

    Slower processing speeds Requires skilled administrators

    Expensive

  • 7/29/2019 Lec-1 Introduction to Database Systems[1]

    33/42

    33Data files

    Database server

    (someone elses

    C program)Applications

    connection

    (ODBC, JDBC)

    Two tier system or client-server

  • 7/29/2019 Lec-1 Introduction to Database Systems[1]

    34/42

    Many computingapplications deal withlarge amounts of

    information

    Database systemsgive a set of tools for

    storing, searchingand managing thisinformation

    Databases are a coretopic in computerscience and IT

    Basic concepts andskills with databasesystems are part ofthe skill set you will

    be assumed to haveas a BBA graduate

    Introduction to Database Systems

  • 7/29/2019 Lec-1 Introduction to Database Systems[1]

    35/42

    A large amount of data,

    Concurrent access by many users,

    Fast access,

    Consistent data update, Role-based security,

    Robust against hardware failures and

    OS crashes.

    Introduction to Database Systems

  • 7/29/2019 Lec-1 Introduction to Database Systems[1]

    36/42

  • 7/29/2019 Lec-1 Introduction to Database Systems[1]

    37/42

    *Application programs no details of datarepresentation & storage

    * High-quality data compression schemes,

    * Fast data retrieval and search algorithms.

    * Programs can prevent invalid queries from

    being executed,

    * Access control can be enforced.

    Introduction to Database Systems

  • 7/29/2019 Lec-1 Introduction to Database Systems[1]

    38/42

    * The DBA can optimize the organizationof the data to facilitate its uses.

    Introduction to Database Systems

  • 7/29/2019 Lec-1 Introduction to Database Systems[1]

    39/42

    Advantages of DBMS

  • 7/29/2019 Lec-1 Introduction to Database Systems[1]

    40/42

    Introduction to Database Systems

  • 7/29/2019 Lec-1 Introduction to Database Systems[1]

    41/42

    Slow Response- need to update data in real time.

    - Can be slow & complex to extract data for reports

    Application may need to manipulate the data in waysnot supported by query Language. Eg flexible analysisof text data

    intoday's scenario

    Introduction to Database Systems

  • 7/29/2019 Lec-1 Introduction to Database Systems[1]

    42/42

    Open source Databases

    MySQL

    PostgreSQL

    Commercial Databases

    MS SQL Server MS Access

    ORACLE

    DB2

    Informix