1 of 50

Database Systems

Department of BCA

Loyola college of arts and science

Mettala

2 of 50

Chapter 1

Introduction and Conceptual Modeling

3 of 50

Types of Databases and Database Applications

Slide 1-2

  • Numeric and Textual Databases
  • Multimedia Databases
  • Geographic Information Systems (GIS)
  • Data Warehouses
  • Real-time and Active Databases

A number of these databases and applications are described later in the book (see Chapters 24,28,29)

4 of 50

Basic Definitions

  • Database: A collection of related data.
  • Data: Known facts that can be recorded and have an implicit meaning.
  • Mini-world: Some part of the real world about which data is stored in a database. For example, student grades and transcripts at a university.
  • Database Management System (DBMS): A software package/ system to facilitate the creation and maintenance of a computerized database.
  • Database System: The DBMS software together with

the data itself. Sometimes, the applications are also

included.

Slide 1-3

5 of 50

Typical DBMS Functionality

Slide 1-4

  • 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

6 of 50

Typical DBMS Functionality

Slide 1-5

Other features:

  • Protection or Security measures to prevent unauthorized access
  • “Active” processing to take internal actions on data
  • Presentation and Visualization of data

7 of 50

Example of a Database (with a Conceptual Data Model)

Slide 1-6

  • Mini-world for the example: Part of a UNIVERSITY environment.
  • Some mini-world entities:
    • STUDENTs
    • COURSEs
    • SECTIONs (of COURSEs)
    • (academic) DEPARTMENTs
    • INSTRUCTORs

Note: The above could be expressed in the ENTITY- RELATIONSHIP data model.

8 of 50

Example of a Database (with a Conceptual Data Model)

Slide 1-7

  • 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

Note: The above could be expressed in the ENTITY- RELATIONSHIP data model.

9 of 50

Main Characteristics of the Database Approach

Slide 1-8

  • Self-describing nature of a database system: A DBMS catalog stores the description of the database. The description is called meta-data). This allows the DBMS software to work with different databases.
  • Insulation between programs and data: Called program-data independence. Allows changing data storage structures and operations without having to change the DBMS access programs.

10 of 50

Main Characteristics of the Database Approach

Slide 1-9

  • Data Abstraction: A data model is used to hide storage details and present the users with a conceptual view of the database.
  • Support of multiple views of the data: Each user may see a different view of the database, which describes only the data of interest to that user.

11 of 50

Main Characteristics of the Database Approach

Slide 1-10

  • Sharing of data and multiuser transaction processing : allowing a set of concurrent users to retrieve and to update the database. Concurrency control within the DBMS guarantees that each transaction is correctly executed or completely aborted. OLTP (Online Transaction Processing) is a major part of database applications.

12 of 50

Database Users

Users may be divided into those who actually use and control the content (called “Actors on the Scene”) and those who enable the database to be developed and the DBMS software to be designed and implemented (called “Workers Behind the Scene”).

Slide 1-11

13 of 50

Database Users

Slide 1-12

Actors on the scene

  • Database administrators: responsible for authorizing access to the database, for co- ordinating and monitoring its use, acquiring software, and hardware resources, controlling its use and monitoring efficiency of operations.
  • Database Designers: responsible to define the content, the structure, the constraints, and functions or transactions against the database. They must communicate with the end-users and understand their needs.
  • End-users: they use the data for queries, reports and some of them actually update the database

content.

14 of 50

Categories of End-users

Slide 1-13

  • Casual : access database occasionally when needed
  • Naïve or Parametric : they make up a large section of the end-user population. They use previously well-defined functions in the form of “canned transactions” against the database. Examples are bank-tellers or reservation clerks who do this activity for an entire shift of operations.

15 of 50

Categories of End-users

Slide 1-14

  • Sophisticated : these include business analysts, scientists, engineers, others thoroughly familiar with the system capabilities. Many use tools in the form of software packages that work closely with the stored database.
  • Stand-alone : mostly maintain personal databases using ready-to-use packaged applications. An example is a tax program user that creates his or her own internal database.

16 of 50

Advantages of Using the Database Approach

Slide 1-15

  • Controlling redundancy in data storage and in development and maintenence efforts.
  • Sharing of data among multiple users.
  • Restricting unauthorized access to data.
  • Providing persistent storage for program Objects (in Object-oriented DBMS’s – see Chs. 20-22)
  • Providing Storage Structures for efficient Query Processing

17 of 50

Advantages of Using the Database Approach

Slide 1-16

  • Providing backup and recovery services.
  • Providing multiple interfaces to different classes of users.
  • Representing complex relationships among data.
  • Enforcing integrity constraints on the database.
  • Drawing Inferences and Actions using

18 of 50

Additional Implications of Using the Database Approach

Slide 1-17

  • Potential for enforcing standards: this is very crucial for the success of database applications in large organizations Standards refer to data item names, display formats, screens, report structures, meta-data (description of data) etc.
  • Reduced application development time: incremental time to add each new application is reduced.

19 of 50

Additional Implications of Using the Database Approach

  • Flexibility to change data structures: database structure may evolve as new requirements are defined.
  • Availability of up-to-date information – very important for on-line transaction systems such as airline, hotel, car reservations.
  • Economies of scale: by consolidating data and applications across departments wasteful overlap of resources and personnel can be

avoided.

Slide 1-18

20 of 50

Historical Development of Database Technology

Slide 1-19

  • Early Database Applications: The Hierarchical and Network Models were introduced in mid 1960’s and dominated

during the seventies. A bulk of the worldwide database processing still occurs using these models.

  • Relational Model based Systems: The model that was originally introduced in 1970 was heavily researched and experimented with in IBM and the universities. Relational DBMS Products emerged in the 1980’s.

21 of 50

Historical Development of Database Technology

Slide 1-20

  • Object-oriented applications: OODBMSs were introduced in late 1980’s and early 1990’s to cater to the need of complex data processing in CAD and other applications. Their use has not taken off much.
  • Data on the Web and E-commerce Applications: 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).

22 of 50

Extending Database Capabilities

  • New functionality is being added to DBMSs in the following areas:
    • Scientific Applications
    • Image Storage and Management
    • Audio and Video data management
    • Data Mining
    • Spatial data management
    • Time Series and Historical Data Management

The above gives rise to new research and development in incorporating new data types, complex data structures, new operations and storage and indexing schemes in database systems.

Slide 1-21

23 of 50

When not to use a DBMS

Slide 1-22

  • Main inhibitors (costs) of using a DBMS:
    • High initial investment and possible need for additional hardware.
    • Overhead for providing generality, security, concurrency control, recovery, and integrity functions.
  • When a DBMS may be unnecessary:
    • If the database and applications are simple, well defined, and not expected to change.
    • If there are stringent real-time requirements that

may not be met because of DBMS overhead.

    • If access to data by multiple users is not required.

24 of 50

When not to use a DBMS

Slide 1-23

  • When no DBMS may suffice:
    • If the database system is not able to handle the complexity of data because of modeling limitations
    • If the database users need special operations not supported by the DBMS.

25 of 50

Chapter 2

Database System Concepts and Architecture

26 of 50

Data Models

Slide 2-2

  • Data Model: A set of concepts to describe the structure of a database, and certain constraints that the database should obey.
  • 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 basic operations and user-defined operations.

27 of 50

Categories of data models

  • Conceptual (high-level, semantic) data models: Provide concepts that are close to the way many users perceive data. (Also called entity-based or object-based data models.)
  • Physical (low-level, internal) data models: Provide concepts that describe details of how data is stored in the computer.
  • Implementation (representational) data models: Provide concepts that fall between the above two, balancing user views with some computer storage

details.

Slide 2-3

28 of 50

History of Data Models

Slide 2-4

  • Relational Model: proposed in 1970 by E.F. Codd (IBM), first commercial system in 1981-82. Now in several commercial products (DB2, ORACLE, SQL Server, SYBASE, INFORMIX).

Network Model: the first one to be implemented by Honeywell in 1964-65 (IDS System). Adopted heavily due to the support by CODASYL (CODASYL - DBTG report of 1971). Later implemented in a large variety of systems - IDMS (Cullinet - now CA), DMS 1100 (Unisys), IMAGE (H.P.), VAX -DBMS (Digital Equipment Corp.).

  • Hierarchical Data Model: implemented in a joint effort by IBM and North American Rockwell around 1965. Resulted in the IMS family of systems. The most popular model. Other system based on this model: System 2k (SAS inc.)

29 of 50

History of Data Models

Slide 2-5

  • Object-oriented Data Model(s): several models have been proposed for implementing in a database system. One set comprises models of persistent O-O Programming Languages such as C++ (e.g., in OBJECTSTORE or VERSANT), and Smalltalk (e.g., in GEMSTONE). Additionally, systems like O2, ORION (at MCC - then ITASCA), IRIS (at H.P.- used in Open OODB).
  • Object-Relational Models: Most Recent Trend. Started with Informix Universal Server. Exemplified in the latest versions of Oracle-10i, DB2, and SQL Server etc. systems.

30 of 50

Hierarchical Model

Slide 2-6

  • ADVANTAGES:
    • Hierarchical Model is simple to construct and operate on
    • Corresponds to a number of natural hierarchically organized domains - e.g., assemblies in manufacturing, personnel organization in companies
    • Language is simple; uses constructs like GET, GET UNIQUE, GET NEXT, GET NEXT WITHIN PARENT etc.
  • DISADVANTAGES:
    • Navigational and procedural nature of processing
    • Database is visualized as a linear arrangement of records
    • Little scope for "query optimization"

31 of 50

Network Model

  • ADVANTAGES:
    • Network Model is able to model complex relationships and represents semantics of add/delete on the relationships.
    • Can handle most situations for modeling using record types and relationship types.
    • Language is navigational; uses constructs like FIND, FIND member, FIND owner, FIND NEXT within set, GET etc. Programmers can do optimal navigation through the database.
  • DISADVANTAGES:
    • Navigational and procedural nature of processing
    • Database contains a complex array of pointers that thread through a set of records.

Little scope for automated "query optimization”

Slide 2-7

32 of 50

Schemas versus Instances

Slide 2-8

  • 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.
  • Schema Construct: A component of the schema or an object within the schema, e.g., STUDENT, COURSE.
  • Database Instance: The actual data stored in a database at a particular moment in time. Also called database state (or occurrence).

33 of 50

Database Schema Vs.�Database State

  • 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 constraints of the database.
  • Distinction
    • The database schema changes very infrequently. The

database state changes every time the database is updated.

    • Schema is also called intension, whereas state is called

extension.

Slide 2-9

34 of 50

Three-Schema Architecture

Slide 2-10

  • Proposed to support DBMS characteristics of:
    • Program-data independence.
    • Support of multiple views of the data.

35 of 50

Three-Schema Architecture

Slide 2-11

  • Defines DBMS schemas at three levels:
    • Internal schema at the internal level to describe physical storage structures and access paths. Typically uses a physical data model.
    • Conceptual schema at the conceptual level to describe the structure and constraints for the whole database for a community of users. Uses a conceptual or an implementation data model.
    • External schemas at the external level to describe the various user views. Usually uses the same data model as the conceptual level.

36 of 50

Three-Schema Architecture

Slide 2-12

Mappings among schema levels are needed to transform requests and data. Programs refer to an external schema, and are mapped by the DBMS to the internal schema for execution.

37 of 50

Data Independence

Slide 2-13

  • 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.

38 of 50

Data Independence

Slide 2-14

When a schema at a lower level is changed, only the mappings between this schema and higher-level schemas need to be changed in a DBMS that fully supports data independence. The higher-level schemas themselves are unchanged. Hence, the application programs need not be changed since they refer to the external schemas.

39 of 50

DBMS Languages

Slide 2-15

  • Data Definition Language (DDL): Used by the DBA and database designers to specify the conceptual schema of a database. In many DBMSs, the DDL is also used to define internal and external schemas (views). In some DBMSs, separate storage definition language (SDL) and view definition language (VDL) are used to define internal and external schemas.

40 of 50

DBMS Languages

Slide 2-16

  • Data Manipulation Language (DML): Used to specify database retrievals and updates.
    • DML commands (data sublanguage) can be embedded in a general-purpose programming language (host language), such as COBOL, C or an Assembly Language.
    • Alternatively, stand-alone DML commands can be applied directly (query language).

41 of 50

DBMS Languages

Slide 2-17

  • 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.

42 of 50

DBMS Interfaces

Slide 2-18

  • Stand-alone query language interfaces.
  • Programmer interfaces for embedding DML in programming languages:
    • Pre-compiler Approach
    • Procedure (Subroutine) Call Approach
  • User-friendly interfaces:
    • Menu-based, popular for browsing on the web
    • Forms-based, designed for naïve users
    • Graphics-based (Point and Click, Drag and Drop etc.)
    • Natural language: requests in written English
    • Combinations of the above

43 of 50

Other DBMS Interfaces

Slide 2-19

  • Speech as Input (?) and Output
  • Web Browser as an interface
  • Parametric interfaces (e.g., bank tellers) using function keys.
  • Interfaces for the DBA:
    • Creating accounts, granting authorizations
    • Setting system parameters
    • Changing schemas or access path

44 of 50

Database System Utilities

Slide 2-20

  • To perform certain functions such as:
    • Loading data stored in files into a database. Includes data conversion tools.
    • 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.

45 of 50

Other Tools

Slide 2-21

  • Data dictionary / repository:
    • Used to store schema descriptions and other information such as design decisions, application program descriptions, user information, usage standards, etc.
    • Active data dictionary is accessed by DBMS software and users/DBA.
    • Passive data dictionary is accessed by users/DBA only.
  • Application Development Environments and CASE (computer-aided software engineering) tools:
    • Examples – Power builder (Sybase), Builder (Borland)

46 of 50

Centralized and Client-Server Architectures

Slide 2-22

  • Centralized DBMS: combines everything into single system including- DBMS software, hardware, application programs and user interface processing software.

47 of 50

Basic Client-Server Architectures

Slide 2-23

  • Specialized Servers with Specialized functions
  • Clients
  • DBMS Server

48 of 50

Specialized Servers with Specialized functions:

Slide 2-24

  • File Servers
  • Printer Servers
  • Web Servers
  • E-mail Servers

49 of 50

Clients:

Slide 2-25

  • Provide appropriate interfaces and a client-version of the system to access and utilize the server resources.
  • Clients maybe diskless machines or PCs or Workstations with disks with only the client software installed.
  • Connected to the servers via some form of a network.

(LAN: local area network, wireless network, etc.)

50 of 50

DBMS Server

Slide 2-26

  • Provides database query and transaction services to the clients
  • Sometimes called query and transaction servers