Você está na página 1de 30

Aula 1: Introduo

Database System Concepts, 5th Ed.


Silberschatz, Korth and Sudarshan See www.db-book.com for conditions on re-use

Aula 1: Introduo
Objetivos de um Sistema de Banco de Dados
Viso dos Dados Modelo de Dados Linguagens de Banco de Dados Gerenciamento de Transaes O Administrador de Banco de Dados Usurios de Banco de Dados Viso Geral da Estrutura do Sistema

Database System Concepts - 5th Edition, May 23, 2005

1.2

Silberschatz, Korth and Sudarshan

Sistema de Gerenciamento de Banco de Dados (SGBD)


SGBD

constitudo por um conjunto de dados associados a um conjunto de programas para acesso a esses dados. O Conjunto de dados (Banco de Dados) contm informaes sobre uma empresa em particular. Seu principal objetivo proporcionar um ambiente tanto conveniente como eficiente para recuperao e armazenamento das informaes do banco de dados.

Database System Concepts - 5th Edition, May 23, 2005

1.3

Silberschatz, Korth and Sudarshan

SGBD
Caractersticas

Gerenciar grandes volumes de informaes


Definir

as estruturas de armazenamento das informaes dos mecanismos para manipulao das informaes

Definio

Garantir a Segurana das informaes


Impedir acessos no autorizados Evitar Ocorrncia de resultados anmalos (anormal, irregular)
1.4 Silberschatz, Korth and Sudarshan

Database System Concepts - 5th Edition, May 23, 2005

SGBD
Aplicaes de banco de dados:

Bancos: transaes bancrias Linhas ereas: reservas, vendas Universidades: registros,notas Vendas: clientes, produtos, compras. Revendedoras Online: acompanhamento de pedidos Recursos Humanos: salrios, descontos em folha

Database System Concepts - 5th Edition, May 23, 2005

1.5

Silberschatz, Korth and Sudarshan

Finalidade dos Sistemas de banco de dados


Surgiram em repostas aos mtodos mais antigos de gerenciamento

computadorizado de dados comercias (Sistemas de processamento de arquivos).


Desvantagens de sistemas de processamento de arquivos:

Inconsistncia e Redundncia de dados

Duplicao da informao em diferentes arquivos, vrias cpias dos mesmos dados podem no mais concordar. preciso fazer um novo programa para cada nova tarefa.
Dficil escrever novas aplicaes para recuperao dos dados.

Dificuldade de acesso aos dados

Isolamento de dados multiplos arquivos e multiplos formatos.

Problemas de integridade

Dificil alterar todos os programas para determinada restrio.

Database System Concepts - 5th Edition, May 23, 2005

1.6

Silberschatz, Korth and Sudarshan

Finalidade dos Sistemas de banco de dados


Desvantagens do uso de sistemas de arquivos (cont.)

Problemas de atomicidade

fundamental que, se ocorrer uma falha, os dados sejam restaurados ao estado consistente em que se encontravam antes da falha. A transferncia precisa ser atmica, ocorrer em sua totalidade

Ex. Tranferncia entre contas. Caso seja debitado de uma conta A preciso garantir que seja depositado na conta B.
Acessos concorrentes precisam ser supervisionados

Anomalias de acesso concorrente

-Example: 2 pessoas lendo um saldo e atualizando ao mesmo tempo.

Problemas de Segurana

Usurios devem ter acessos personalizados, no podem acessar tudo.

Database System Concepts - 5th Edition, May 23, 2005

1.7

Silberschatz, Korth and Sudarshan

SGBD - Viso dos dados


Um sistema de banco de dados uma coleo de dados inter-

relacionados e um conjunto de programas que permitem aos usurios acessar e modificar estes dados.
Finalidade: fornecer aos usurios uma viso abstrata dos dados, ou

seja, ocultar certos detalhes de como os dados so armazenados e mantidos.

Database System Concepts - 5th Edition, May 23, 2005

1.8

Silberschatz, Korth and Sudarshan

Nveis de abstrao de dados


Nvel fsico: descreve como os dados so realmente armazenados,

estruras de dados complexa e de baixo nvel.


Nvel lgico: descreve que dados esto armazenados no banco de

dados e que relao existem entre eles. (administrador do banco) type customer = record customer_id : string; customer_name : string; customer_street : string; customer_city : integer; end;
Nvel de viso: Programas de aplicao escondem detalhes dos tipos

de aplicao. O Nvel de viso tambm pode esconder informaes e ter varios tipos de Vises.

Database System Concepts - 5th Edition, May 23, 2005

1.9

Silberschatz, Korth and Sudarshan

Abstrao dos Dados


Nveis de abstrao de dados.

Database System Concepts - 5th Edition, May 23, 2005

1.10

Silberschatz, Korth and Sudarshan

Instncias e esquemas
Esquemas Projeto geral do banco de dados.

Pode ser entendido como as declaraes de uma varivel juntamente com as definies de tipos associados.
Esquema fsico: projeto do banco de dados no nvel fsico. Esquema lgico:projeto do banco de dados no nvel lgico.

Instncias informaes armazenados em uma banco de

dados em um determinado momento.


Valores das vriaveis Sofrem modificaes a cada nova insero, excluso ou alterao no BD.
1.11 Silberschatz, Korth and Sudarshan

Database System Concepts - 5th Edition, May 23, 2005

Independncia de Dados
Independncia de Dados - a capacidade de modificar a

definio dos esquemas em determinado nvel, sem afetar o esquema do nvel superior.
Independncia de dados fsica Capacidade de modificar o

esquema fsico, sem que qualquer programa de aplicao seja reescrito.

So necesarias ocasionalmente para melhora de desmpenho.

Independncia de dados lgica - Capacidade de modificar o

esquema lgico, sem que qualquer programa de aplicao seja reescrito.

Exemplo: uma nova moeda inserida no sistema de um banco.


1.12 Silberschatz, Korth and Sudarshan

Database System Concepts - 5th Edition, May 23, 2005

Modelo de dados
Coleo de ferramentas conceituais para descrever:

Dados Relacionamentos entre Dados Semntica de dados Resgras de consistncia.


Modelos Lgicos com Base em Objetos

Modelo de Entidade/Relacionamento
Modelo Orientado a Objetos

Modelos Lgicos com Base em Registros


Modelo Relacional Modelo Rede Modelo Hierrquico

Modelos Fsicos de dados


Modelo Unificado Modelo de particio de Memria

Database System Concepts - 5th Edition, May 23, 2005

1.13

Silberschatz, Korth and Sudarshan

Linguagens de banco de dados


Um sistema de banco de dados proporciona dois tipos de

linguagens: uma especifica para os esquemas de banco de dados e outra para expressar consultas e atualizaes.
Linguagem de definio de dados: para especificar o esquema

de banco de dados.
Linguagem de manipulao de dados: para expressar

consultas e atualizaes de banco de dados.


Na prtica formam partes de uma nica linguagem de banco

de dados, exemplo: SQL.

Database System Concepts - 5th Edition, May 23, 2005

1.14

Silberschatz, Korth and Sudarshan

Linguagens de Definio de Dados


Especfica um esquema de banco de dados por um

conjunto de definies. Examplo: create table conta( numerodaconta char(10), saldo integer)
Tambm utilizada para especificar propriedades

adicionais dos dados

Linguagem de armazenamento e definio dos dados.


Especifica

a estrutura de armazenamento e metdos de acesso.

Database System Concepts - 5th Edition, May 23, 2005

1.15

Silberschatz, Korth and Sudarshan

Linguagem de Manipulao dos Dados


Permite aos usurios acessar ou manipular dados conforme so

organizados pelo modelo de dados apropriado.


Tambm conhecida como linguagem de consulta Recuperao, insero, excluso e modificao de informaes armazenadas no banco de dados. Procedurais requerem que um usurio especifique que dados so necessrios e como obt-los. Declarativas (no procedural) requerem que um usurio especifique que dados so necessrios sem especificar como obt-los.

Dois tipos:

SQL linguagem mais utilizada.

Database System Concepts - 5th Edition, May 23, 2005

1.16

Silberschatz, Korth and Sudarshan

Modelo Relacional
Atributos

Exemplo de uma tabela de dados no Modelo Relacional

Database System Concepts - 5th Edition, May 23, 2005

1.17

Silberschatz, Korth and Sudarshan

Exemplo de um banco de dados relacional

Cliente Saldo da Conta Contas de Clientes

Database System Concepts - 5th Edition, May 23, 2005

1.18

Silberschatz, Korth and Sudarshan

Modelo entidade/relacionamento
Baseado em uma percepo do mundo real que consiste em uma

coleo de objetos bsicos, chamados entidades, e de relaes entre estes objetos.

Entidades: uma coisa ou objeto no mundo real que distinguvel de outros objetos.

Descritas por um conjunto de atributos

Relacionamentos: Associao entre vrias entidades.

Exemplo de um diagrama entidade/relacionamento

Database System Concepts - 5th Edition, May 23, 2005

1.19

Silberschatz, Korth and Sudarshan

SQL
SQL: linguagem no procedural mais utilizada

Exemplo: Encontre o nome do cliente que tem a customer-id 192-837465 select customer.customer_name from customer where customer.customer_id = 192-83-7465 Example: Encontre o saldo e as contas do cliente com customer-id 19283-7465 select account.balance, account.account_number from depositor, account where depositor.customer_id = 192-83-7465 and depositor.account_number = account.account_number
Estendendo a sintaxe de liguagem host para incorporar a SQL Interface de programa de aplicao (ODBC/JDBC) which allow SQL queries to be sent to a database

Programas de Aplicao geralmente acessam o banco de dados atravs de:


Database System Concepts - 5th Edition, May 23, 2005

1.20

Silberschatz, Korth and Sudarshan

Armazenamento e consulta de dados


Um Sistema de banco de dados pode ser dividido em mdulo

para que cada uma tenha a sua responsabilidade, gerenciador de armazenamento e processador de consulta.
Gerenciador de armazenamento: importante para o

gerenciamento das informaes armazenadas em disco, para que haja consultas em tempo otimizados.
responsvel pelas tarefas:

Interao com o disco (dados armazenados)

Pelo eficiente armazenamento, recuperao e atualizao dos dados


Arquivos de dados: armazena o banco de dados propriamente dito.

Implementa as estruturas:

Dicionrio de dados: que armazena o esquema do bd.


ndices: acessos mais rpidos aos itens de dados.

Database System Concepts - 5th Edition, May 23, 2005

1.21

Silberschatz, Korth and Sudarshan

Gerenciamento de transao
A transao: conjunto de operaes que realiza uma nica funo

lgica em uma aplicao de banco de dados.


As Transaes no podem violar quaisquer restries de

consistncia no banco de dados.


de responsabilidade do programador definir corretamente as

vrias transaes, de modo a preservar a consistncia do banco de dados.


O sistema de bd precisa realizar recuperao de falha, detectar

falhas de sistemas e restaurar o bd ao estado anterior a falha.


O gerenciador de controle de concorrncia deve controlar a

interao entre as transaes concorrentes para assegurar a consistncia do bd.

Database System Concepts - 5th Edition, May 23, 2005

1.22

Silberschatz, Korth and Sudarshan

Arquitetura do banco de dados


A arquitetura de um sistema de banco de dados influnciada pelo sistema de computador onde o banco de dados ser executado:
Centralizado
Cliente-servidor Paralelo (multi-processor) Distribudo

Database System Concepts - 5th Edition, May 23, 2005

1.23

Silberschatz, Korth and Sudarshan

Administradores de banco de dados


Precisa ter um controle central sobre os dados e os

programas que os acessam.


As funes de um administrador de banco de dados incluem:

Definio de esquema Estrutura de armazenamento e definio de mtodo de acesso. Esquema e modificaes na organizao fsica para melhorar o desempenho. Concesso de autorizao para acesso a dados. Manuteno de rotina backups, espao em disco, monitorar tarefas e assegurar que o desempenho no seja comprometido.

Database System Concepts - 5th Edition, May 23, 2005

1.24

Silberschatz, Korth and Sudarshan

Usurios de banco de dados


Usurios so distinguidos pela maneira como esperam interagir com o sistema.
Usurios leigos interagem atravs de programas de aplicao

(banco)
Programadores de Aplicao interagem atravs dos formulrios,

relatrios que so construdos.


Usurios avanados interagem atravs de uma linguagem de

consulta. (analistas).
Usurios especializados desenvolvem sistemas de projeto de

computadores, sistemas de base de conhecimentos e sistemas especialistas, sistemas que armazenam (grficos, dados de udio)

Database System Concepts - 5th Edition, May 23, 2005

1.25

Silberschatz, Korth and Sudarshan

Estrutura do sistema

Database System Concepts - 5th Edition, May 23, 2005

1.26

Silberschatz, Korth and Sudarshan

Histria dos sistemas de banco de dados


1950s e antes de 1960s:

Fitas magneticas para o armazenamento dos dados

Era permitido apenas o acesso sequncial

Cartes Perfurados Discos rigidos que j permitiam um acesso direto sem precisar ser sequncial Estruras em redes e hierrquicas poderiam ser utilizadas (listas, rvores).

entre 1960s e 1970s:


Codd define o Modelo Relacional


Maior perfomance no processamento de transaes

Database System Concepts - 5th Edition, May 23, 2005

1.27

Silberschatz, Korth and Sudarshan

Histria
1980s:

Os Bancos relacionais que ainda no eram to eficientes se aperfeioam e tomam o lugar dos de redes e hierarquicos

SQL torna-se padro comercial

Sistemas de banco de dados paralelos e distribudos

Sistemas de banco de dados orietados a objetos.


A SQL se especializa em consultas e no s mais em processamento e transaes. Ferramentas para analisar grande quantidade de dados. O crescimento explosivo dos bancos de dados na WWW. XML e a linguagem de consulta XQuery Computao autnomica/auto-adminitrao para reduzir os esforos de administrao do sistema.

1990s:

2000s:

Database System Concepts - 5th Edition, May 23, 2005

1.28

Silberschatz, Korth and Sudarshan

Exerccios
Conceitue um SGBD e cite suas vantagens em relao a um

sistema de gerenciamento de arquivos?


Conceitue Modelos de dados e cite dois modelos. Sendo um dos principais objetivos de um SGBD proporcionar

uma viso abstrata dos dados. Quais so os nveis de abstrao de dados?


O Conjunto de informaes armazenadas em um banco de

dados, em determinado momento, chamado ___________.


O Projeto de uma banco de dados como um todo chamado

_____________.
O Que Independncia de Dados? Quais so os tipos de linguagens de um SGBD e conceitue

cada uma.

Database System Concepts - 5th Edition, May 23, 2005

1.29

Silberschatz, Korth and Sudarshan

Fim

Database System Concepts, 5th Ed.


Silberschatz, Korth and Sudarshan See www.db-book.com for conditions on re-use

Você também pode gostar