+ All Categories
Home > Documents > Database System Concepts - Técnico Lisboa - Autenticação · DBMS? Database System Concepts...

Database System Concepts - Técnico Lisboa - Autenticação · DBMS? Database System Concepts...

Date post: 30-Jun-2018
Category:
Upload: lamdang
View: 236 times
Download: 1 times
Share this document with a friend
29
Database System Concepts Database Management Systems Database System Concepts Architecture of a DBMS Database System Design Database System Concepts Chapter 1: Introduction Departamento de Engenharia Inform´ atica Instituto Superior T´ ecnico 1 st Semester 2006/2007 Slides (fortemente) baseados nos slides oficiais do livro “Database System Concepts” c Silberschatz, Korth and Sudarshan.
Transcript
Page 1: Database System Concepts - Técnico Lisboa - Autenticação · DBMS? Database System Concepts Architecture of a DBMS ... A collection of tools for describing Data Data relationships

DatabaseSystem

Concepts

DatabaseManagementSystems

DatabaseSystemConcepts

Architectureof a DBMS

DatabaseSystem Design

Database System ConceptsChapter 1: Introduction

Departamento de Engenharia InformaticaInstituto Superior Tecnico

1st Semester2006/2007

Slides (fortemente) baseados nos slides oficiais do livro“Database System Concepts”c©Silberschatz, Korth and Sudarshan.

Page 2: Database System Concepts - Técnico Lisboa - Autenticação · DBMS? Database System Concepts Architecture of a DBMS ... A collection of tools for describing Data Data relationships

DatabaseSystem

Concepts

DatabaseManagementSystems

DatabaseSystemConcepts

Architectureof a DBMS

DatabaseSystem Design

Outline

1 Database Management SystemsWhat is a DBMS?

2 Database System ConceptsData Abstraction LevelsData ModelsDatabase Languages

3 Architecture of a DBMSSystem ArchitectureDBMS Components

4 Database System DesignDatabase DesignUsers of Database Systems

Page 3: Database System Concepts - Técnico Lisboa - Autenticação · DBMS? Database System Concepts Architecture of a DBMS ... A collection of tools for describing Data Data relationships

DatabaseSystem

Concepts

DatabaseManagementSystems

What is aDBMS?

DatabaseSystemConcepts

Architectureof a DBMS

DatabaseSystem Design

Outline

1 Database Management SystemsWhat is a DBMS?

2 Database System Concepts

3 Architecture of a DBMS

4 Database System Design

Page 4: Database System Concepts - Técnico Lisboa - Autenticação · DBMS? Database System Concepts Architecture of a DBMS ... A collection of tools for describing Data Data relationships

DatabaseSystem

Concepts

DatabaseManagementSystems

What is aDBMS?

DatabaseSystemConcepts

Architectureof a DBMS

DatabaseSystem Design

Database Management System (DBMS)

DBMS contains information about a particular enterprise

Collection of interrelated dataSet of programs to access the dataAn environment that is both convenient and efficient to use

Database Applications:

Banking: all transactionsAirlines: reservations, schedulesUniversities: registration, gradesSales: customers, products, purchasesOnline retailers: order tracking, customizedrecommendationsManufacturing: production, inventory, orders, supply chainHuman resources: employee records, salaries, taxdeductions

Databases touch all aspects of our lives

Page 5: Database System Concepts - Técnico Lisboa - Autenticação · DBMS? Database System Concepts Architecture of a DBMS ... A collection of tools for describing Data Data relationships

DatabaseSystem

Concepts

DatabaseManagementSystems

What is aDBMS?

DatabaseSystemConcepts

Architectureof a DBMS

DatabaseSystem Design

Why Database Systems?

In the early days, database applications were built directlyon top of file systems

Drawbacks of using file systems to store data:Data redundancy and inconsistency

Multiple file formats, duplication of information indifferent files

Difficulty in accessing data

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

Integrity problems

Integrity constraints (e.g. account balance > 0) become”buried”in program code rather than being statedexplicitlyHard to add new constraints or change existing ones

Page 6: Database System Concepts - Técnico Lisboa - Autenticação · DBMS? Database System Concepts Architecture of a DBMS ... A collection of tools for describing Data Data relationships

DatabaseSystem

Concepts

DatabaseManagementSystems

What is aDBMS?

DatabaseSystemConcepts

Architectureof a DBMS

DatabaseSystem Design

Why Database Systems? (cont.)

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

Failures may leave database in an inconsistent state withpartial updates carried outExample: Transfer of funds from one account to anothershould either complete or not happen at all

Concurrent access by multiple users

Concurrent accessed needed for performanceUncontrolled concurrent accesses can lead toinconsistenciesExample: Two people reading a balance and updating itat the same time

Security problems

Hard to provide user access to some, but not all, data

Database systems offer solutions to all the above problems

Page 7: Database System Concepts - Técnico Lisboa - Autenticação · DBMS? Database System Concepts Architecture of a DBMS ... A collection of tools for describing Data Data relationships

DatabaseSystem

Concepts

DatabaseManagementSystems

DatabaseSystemConcepts

DataAbstractionLevels

Data Models

DatabaseLanguages

Architectureof a DBMS

DatabaseSystem Design

Outline

1 Database Management Systems

2 Database System ConceptsData Abstraction LevelsData ModelsDatabase Languages

3 Architecture of a DBMS

4 Database System Design

Page 8: Database System Concepts - Técnico Lisboa - Autenticação · DBMS? Database System Concepts Architecture of a DBMS ... A collection of tools for describing Data Data relationships

DatabaseSystem

Concepts

DatabaseManagementSystems

DatabaseSystemConcepts

DataAbstractionLevels

Data Models

DatabaseLanguages

Architectureof a DBMS

DatabaseSystem Design

Levels of Abstraction

We can separate the way we view a database in severallevels

Physical level: describes how a record (e.g., customer) isstored.

Logical level: describes data stored in database, and therelationships among the data.

View level: application programs hide details of datatypes. Views can also hide information (such as anemployee’s salary) for security purposes.

Page 9: Database System Concepts - Técnico Lisboa - Autenticação · DBMS? Database System Concepts Architecture of a DBMS ... A collection of tools for describing Data Data relationships

DatabaseSystem

Concepts

DatabaseManagementSystems

DatabaseSystemConcepts

DataAbstractionLevels

Data Models

DatabaseLanguages

Architectureof a DBMS

DatabaseSystem Design

View of Data

An architecture for a database system

Page 10: Database System Concepts - Técnico Lisboa - Autenticação · DBMS? Database System Concepts Architecture of a DBMS ... A collection of tools for describing Data Data relationships

DatabaseSystem

Concepts

DatabaseManagementSystems

DatabaseSystemConcepts

DataAbstractionLevels

Data Models

DatabaseLanguages

Architectureof a DBMS

DatabaseSystem Design

Instances and Schemas

Similar to types and variables in programming languagesSchema - the logical structure of the database

Example: The database consists of information about a setof customers and accounts and the relationship betweenthem)Analogous to type information of a variable in a programPhysical schema: database design at the physical levelLogical schema: database design at the logical level

Instance - the actual content of the database at aparticular point in time

Analogous to the value of a variable

Physical Data Independence - the ability to modify thephysical schema without changing the logical schema

Applications depend on the logical schemaIn general, the interfaces between the various levels andcomponents should be well defined so that changes insome parts do not seriously influence others.

Page 11: Database System Concepts - Técnico Lisboa - Autenticação · DBMS? Database System Concepts Architecture of a DBMS ... A collection of tools for describing Data Data relationships

DatabaseSystem

Concepts

DatabaseManagementSystems

DatabaseSystemConcepts

DataAbstractionLevels

Data Models

DatabaseLanguages

Architectureof a DBMS

DatabaseSystem Design

Data Models

A collection of tools for describing

DataData relationshipsData semanticsData constraints

Relational model

Entity-Relationship data model (mainly for databasedesign)

Semistructured data model (XML)

Object-based data models (Object-oriented andObject-relational)

Page 12: Database System Concepts - Técnico Lisboa - Autenticação · DBMS? Database System Concepts Architecture of a DBMS ... A collection of tools for describing Data Data relationships

DatabaseSystem

Concepts

DatabaseManagementSystems

DatabaseSystemConcepts

DataAbstractionLevels

Data Models

DatabaseLanguages

Architectureof a DBMS

DatabaseSystem Design

Relational Model

Example of tabular data in the relational model

Page 13: Database System Concepts - Técnico Lisboa - Autenticação · DBMS? Database System Concepts Architecture of a DBMS ... A collection of tools for describing Data Data relationships

DatabaseSystem

Concepts

DatabaseManagementSystems

DatabaseSystemConcepts

DataAbstractionLevels

Data Models

DatabaseLanguages

Architectureof a DBMS

DatabaseSystem Design

The Entity-Relationship Model

Models an enterprise as a collection of entities andrelationships

Entity: a ”thing”or ”object”in the enterprise that isdistinguishable from other objects

Described by a set of attributes

Relationship: an association among several entities

Represented diagrammatically by an entity-relationshipdiagram:

Page 14: Database System Concepts - Técnico Lisboa - Autenticação · DBMS? Database System Concepts Architecture of a DBMS ... A collection of tools for describing Data Data relationships

DatabaseSystem

Concepts

DatabaseManagementSystems

DatabaseSystemConcepts

DataAbstractionLevels

Data Models

DatabaseLanguages

Architectureof a DBMS

DatabaseSystem Design

XML: Extensible Markup Language

Defined by the WWW Consortium (W3C)

Originally intended as a document markup language

The ability to specify new tags, and to create nested tagstructures made XML a great way to exchange data

XML has become the basis for all new generation datainterchange formats

A wide variety of tools is available for parsing, browsingand querying XML documents/data

<bank>

<account>

<account_number> A-101 </account_number>

<branch_name> Downtown </branch_name>

<balance> 500 </balance>

</account>

...

Page 15: Database System Concepts - Técnico Lisboa - Autenticação · DBMS? Database System Concepts Architecture of a DBMS ... A collection of tools for describing Data Data relationships

DatabaseSystem

Concepts

DatabaseManagementSystems

DatabaseSystemConcepts

DataAbstractionLevels

Data Models

DatabaseLanguages

Architectureof a DBMS

DatabaseSystem Design

Data Manipulation and Definition Languages

Data Manipulation Language (DML)Language for accessing and manipulating the dataorganized by the appropriate data model

Also known as query language

SQL is the most widely used query language

Data Definition Language (DDL)

Specification notation for defining the database schemaDDL compiler generates a set of tables stored in thedatabase

Page 16: Database System Concepts - Técnico Lisboa - Autenticação · DBMS? Database System Concepts Architecture of a DBMS ... A collection of tools for describing Data Data relationships

DatabaseSystem

Concepts

DatabaseManagementSystems

DatabaseSystemConcepts

DataAbstractionLevels

Data Models

DatabaseLanguages

Architectureof a DBMS

DatabaseSystem Design

SQL

SQL: widely used non-procedural language

Example: find the name of the customer with customer-id192-83-7465

select customer.customer_name

from customer

where customer.customer_id = ’192-83-7465’

Example: creating the ’account’ table

create table account (

account-number char(10),

balance integer )

Application programs generally access databases through

A language extension to allow embedded SQLAn application program interface which allow SQL queriesto be sent to a database

Page 17: Database System Concepts - Técnico Lisboa - Autenticação · DBMS? Database System Concepts Architecture of a DBMS ... A collection of tools for describing Data Data relationships

DatabaseSystem

Concepts

DatabaseManagementSystems

DatabaseSystemConcepts

Architectureof a DBMS

SystemArchitecture

DBMSComponents

DatabaseSystem Design

Outline

1 Database Management Systems

2 Database System Concepts

3 Architecture of a DBMSSystem ArchitectureDBMS Components

4 Database System Design

Page 18: Database System Concepts - Técnico Lisboa - Autenticação · DBMS? Database System Concepts Architecture of a DBMS ... A collection of tools for describing Data Data relationships

DatabaseSystem

Concepts

DatabaseManagementSystems

DatabaseSystemConcepts

Architectureof a DBMS

SystemArchitecture

DBMSComponents

DatabaseSystem Design

Overall System Structure

Page 19: Database System Concepts - Técnico Lisboa - Autenticação · DBMS? Database System Concepts Architecture of a DBMS ... A collection of tools for describing Data Data relationships

DatabaseSystem

Concepts

DatabaseManagementSystems

DatabaseSystemConcepts

Architectureof a DBMS

SystemArchitecture

DBMSComponents

DatabaseSystem Design

Database Architectures

The architecture of a database systems is greatly influenced bythe underlying computer system on which the database isrunning:

Centralized

Client-server

Parallel (multi-processor)

Distributed

Page 20: Database System Concepts - Técnico Lisboa - Autenticação · DBMS? Database System Concepts Architecture of a DBMS ... A collection of tools for describing Data Data relationships

DatabaseSystem

Concepts

DatabaseManagementSystems

DatabaseSystemConcepts

Architectureof a DBMS

SystemArchitecture

DBMSComponents

DatabaseSystem Design

Storage Management

Storage manager is a program module that provides theinterface between the low-level data stored in the databaseand the application programs and queries submitted to thesystem.

The storage manager is responsible to the following tasks:

Interaction with the file managerEfficient storing, retrieving and updating of data

Issues:

Storage accessFile organizationIndexing and hashing

Page 21: Database System Concepts - Técnico Lisboa - Autenticação · DBMS? Database System Concepts Architecture of a DBMS ... A collection of tools for describing Data Data relationships

DatabaseSystem

Concepts

DatabaseManagementSystems

DatabaseSystemConcepts

Architectureof a DBMS

SystemArchitecture

DBMSComponents

DatabaseSystem Design

Query Processing

1 Parsing and translation

2 Optimization

3 Evaluation

Page 22: Database System Concepts - Técnico Lisboa - Autenticação · DBMS? Database System Concepts Architecture of a DBMS ... A collection of tools for describing Data Data relationships

DatabaseSystem

Concepts

DatabaseManagementSystems

DatabaseSystemConcepts

Architectureof a DBMS

SystemArchitecture

DBMSComponents

DatabaseSystem Design

Query Processing (cont.)

Cost difference between a good and a bad way ofevaluating a query can be enormous

Need to estimate the cost of operations

Depends critically on statistical information about relationswhich the database must maintainNeed to estimate statistics for intermediate results tocompute cost of complex expressions

Alternative ways of evaluating a given query

Equivalent expressionsDifferent algorithms for each operation

Page 23: Database System Concepts - Técnico Lisboa - Autenticação · DBMS? Database System Concepts Architecture of a DBMS ... A collection of tools for describing Data Data relationships

DatabaseSystem

Concepts

DatabaseManagementSystems

DatabaseSystemConcepts

Architectureof a DBMS

SystemArchitecture

DBMSComponents

DatabaseSystem Design

Transaction Management

A transaction is a collection of operations that performs asingle logical function in a database application

Transaction-management component ensures that thedatabase remains in a consistent (correct) state despitesystem failures (e.g., power failures and operating systemcrashes) and transaction failures.

Concurrency-control manager controls the interactionamong the concurrent transactions, to ensure theconsistency of the database.

Page 24: Database System Concepts - Técnico Lisboa - Autenticação · DBMS? Database System Concepts Architecture of a DBMS ... A collection of tools for describing Data Data relationships

DatabaseSystem

Concepts

DatabaseManagementSystems

DatabaseSystemConcepts

Architectureof a DBMS

DatabaseSystem Design

Database Design

Users ofDatabaseSystems

Outline

1 Database Management Systems

2 Database System Concepts

3 Architecture of a DBMS

4 Database System DesignDatabase DesignUsers of Database Systems

Page 25: Database System Concepts - Técnico Lisboa - Autenticação · DBMS? Database System Concepts Architecture of a DBMS ... A collection of tools for describing Data Data relationships

DatabaseSystem

Concepts

DatabaseManagementSystems

DatabaseSystemConcepts

Architectureof a DBMS

DatabaseSystem Design

Database Design

Users ofDatabaseSystems

Database Design

The process of designing the general structure of the database:

Logical Design - Deciding on the database schema.Database design requires that we find a ”good”collectionof relation schemas.

What attributes should we record in the database?What relation schemas should we have and how should theattributes be distributed among the various relationschemas?

Physical Design - Deciding on the physical layout of thedatabase

Page 26: Database System Concepts - Técnico Lisboa - Autenticação · DBMS? Database System Concepts Architecture of a DBMS ... A collection of tools for describing Data Data relationships

DatabaseSystem

Concepts

DatabaseManagementSystems

DatabaseSystemConcepts

Architectureof a DBMS

DatabaseSystem Design

Database Design

Users ofDatabaseSystems

Application Architectures

Page 27: Database System Concepts - Técnico Lisboa - Autenticação · DBMS? Database System Concepts Architecture of a DBMS ... A collection of tools for describing Data Data relationships

DatabaseSystem

Concepts

DatabaseManagementSystems

DatabaseSystemConcepts

Architectureof a DBMS

DatabaseSystem Design

Database Design

Users ofDatabaseSystems

Database Users

Users are differentiated by the way they expect to interact withthe system

Application programmers - interact with system throughDML calls

Sophisticated users - form requests in a database querylanguage

Specialized users - write specialized database applicationsthat do not fit into the traditional data processingframework

Naıve users - invoke one of the permanent applicationprograms that have been written previously

Examples, people accessing database over the web, banktellers, clerical staff

Page 28: Database System Concepts - Técnico Lisboa - Autenticação · DBMS? Database System Concepts Architecture of a DBMS ... A collection of tools for describing Data Data relationships

DatabaseSystem

Concepts

DatabaseManagementSystems

DatabaseSystemConcepts

Architectureof a DBMS

DatabaseSystem Design

Database Design

Users ofDatabaseSystems

Database Administrator

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

Database administrator’s duties include:

Schema definitionStorage structure and access method definitionSchema and physical organization modificationGranting user authority to access the databaseSpecifying integrity constraintsActing as liaison with usersMonitoring performance and responding to changes inrequirements

Page 29: Database System Concepts - Técnico Lisboa - Autenticação · DBMS? Database System Concepts Architecture of a DBMS ... A collection of tools for describing Data Data relationships

DatabaseSystem

Concepts

DatabaseManagementSystems

DatabaseSystemConcepts

Architectureof a DBMS

DatabaseSystem Design

Database Design

Users ofDatabaseSystems

End of Chapter 1


Recommended