Вы находитесь на странице: 1из 31

Database System Concepts, 5th Ed.

Silberschatz, Korth and Sudarshan


See www.db-book.com for conditions on re-use
Captulo 1: Introduo
Silberschatz, Korth and Sudarshan 1.2 Database System Concepts - 5
th
Edition, May 23, 2005
Captulo 1: Introduo
Finalidade dos Sistemas de banco de dados
Viso dos dados
Linguagem de banco de dados
Bancos de Dados Relacionais
Projeto de um banco de dados
Banco de dados semi-estruturados e baseados em objetos
Armazenamento e consulta de dados
Gerenciamento de transao
Arquitetura do banco de dados
Usurios e Administradores de banco de dados
Histria dos sistemas de banco de dados
Silberschatz, Korth and Sudarshan 1.3 Database System Concepts - 5
th
Edition, May 23, 2005
Database Management System (DBMS)
Sistema de gerenciamento de banco de dados
DBMS
Coleo de dados inter-relacionados e um;
Conjunto de programas para acessar estes dados.
Principal objetivo: recuperar informaes que seja tanto
conveniente como eficiente.
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
Bancos de dados podem estar presentes em todos aspectod de
nossas vidas.
Silberschatz, Korth and Sudarshan 1.4 Database System Concepts - 5
th
Edition, May 23, 2005
Finalidade dos Sistemas de banco de dados
Surgiram em repostas aos mtodos mais antigos de gerenciamento
computadorizado de dados comercias
Desvantagens de sistemas de processamento de arquivos:
Redundncia e inconsistncia de dados
Duplicao da informao em diferentes arquivos, vrias
cpias dos mesmos dados podem no mais concordar.
Dificuldade de acesso a dados
preciso fazer um novo programa para cada nova tarefa.
Isolamento de dados multiplos arquivos e formatos
Problemas de integridade
Restries de consistencia: so declaradas e dificieis
implementaes.

Silberschatz, Korth and Sudarshan 1.5 Database System Concepts - 5
th
Edition, May 23, 2005
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
Anomalias de acesso concorrente
Acessos concorrentes precisam ser supervisionados
-Example: 2 pessoas lendo um saldo e atualizando ao mesmo
tempo.
Problemas de Segurana
Usurios devem ter acessos personalizados, no podem acessar
tudo.
Silberschatz, Korth and Sudarshan 1.6 Database System Concepts - 5
th
Edition, May 23, 2005
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, oculta certos detalhes de como os dados so armazenados e
mantidos.
Silberschatz, Korth and Sudarshan 1.7 Database System Concepts - 5
th
Edition, May 23, 2005
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.
Silberschatz, Korth and Sudarshan 1.8 Database System Concepts - 5
th
Edition, May 23, 2005
View of Data
Nveis de abstrao de dados.
Silberschatz, Korth and Sudarshan 1.9 Database System Concepts - 5
th
Edition, May 23, 2005
Instncias e esquemas
Similares a tipos e variveis em uma linguagem de programao.
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
Independncia de dados fsica quando aplicaes no dependem do esquema
fsico.
Em geral modificaes no esquema fsico no afetam o esquema lgico.
Os esquemas lgicos no precisam ser reescritos.

Silberschatz, Korth and Sudarshan 1.10 Database System Concepts - 5
th
Edition, May 23, 2005
Modelos de dados
Coleo de ferramentas conceituais para descrever:
Dados
Relaes de dados
Semntica de dados
Restries de consistncia.
Modelo relacional
Modelo de Entidade/Relacionamento
Modelo de dados baseado em objeto (Object-oriented and Object-
relational)
Modelo de dados semi-estruturado (XML)
Modelos Antigos:
Network model
Hierarchical model

Silberschatz, Korth and Sudarshan 1.11 Database System Concepts - 5
th
Edition, May 23, 2005
Linguagens de banco de dados
Sistema de banco de dados:
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.
Silberschatz, Korth and Sudarshan 1.12 Database System Concepts - 5
th
Edition, May 23, 2005
Data Manipulation Language (DML)
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.
Dois tipos:
Procedurais requerem que um usurio especifique que dados
so necessrios e como obt-los.
Declarativas (nonprocedural) requerem que um usurio
especifique que dados so necessrios sem especificar como
obt-los.
SQL linguagem mais utilizada.
Silberschatz, Korth and Sudarshan 1.13 Database System Concepts - 5
th
Edition, May 23, 2005
Data Definition Language (DDL)
Especfica um esquema de banco de dados por um conjunto de
definies.
Example: create table account (
account-number char(10),
balance 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.
Restries de integridade
Restries de domnio
Integridade referencial (informaes em tabelas dif. No
podem ser violadas)
Assertivas (qualquer condio que o banco precisa satifazer)
Autorizao (usurios alterar, inserir, consultar, excluir..)
Silberschatz, Korth and Sudarshan 1.14 Database System Concepts - 5
th
Edition, May 23, 2005
Modelo Relacional
Exemplo de uma tabela de dados no Modelo Relacional
Atributos
Problemas?
Clientes com 2 contas...
Caso o cliente ainda no tenha conta
Silberschatz, Korth and Sudarshan 1.15 Database System Concepts - 5
th
Edition, May 23, 2005
Exemplo de um banco de dados relacional
Cliente
Saldo da Conta
Contas de Clientes
Silberschatz, Korth and Sudarshan 1.16 Database System Concepts - 5
th
Edition, May 23, 2005
SQL
SQL: linguagem no procedural mais utilizada
Exemplo: Encontre o nome do cliente que tem a customer-id 192-83-
7465
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 192-
83-7465
select account.balance, account.account_number from
depositor, account
where depositor.customer_id = 192-83-7465 and
depositor.account_number = account.account_number
Programas de Aplicao geralmente acessam o banco de dados atravs de:
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

Silberschatz, Korth and Sudarshan 1.17 Database System Concepts - 5
th
Edition, May 23, 2005
Projeto de um banco de dados
Os sistemas de banco de dados em geral so projetados para gerenciar
grandes blocos de informaes.
Projeto lgico Deciso do esquema do banco de dados. preciso que
se encontre uma boa soluo para armazenar os dados e
relacionamentos entre tabelas.
Business decision Que tipos de atributos devem estar no meu
banco de dados?
Computer Science decision qual esquema e como os atributos
devem se relacionar?

Projeto fsico Depende do nvel fsico e da implementao do projeto
lgico.


Silberschatz, Korth and Sudarshan 1.18 Database System Concepts - 5
th
Edition, May 23, 2005
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
Silberschatz, Korth and Sudarshan 1.19 Database System Concepts - 5
th
Edition, May 23, 2005
Modelo de dados baseados em objeto
Baseado no paradigma das linguagens de programao oritendas a
objetos.
Pode ser visto como uma extenso do modelo E-R com
caracteristicas da orientao a objetos como: encapsulamento,
herana.
Silberschatz, Korth and Sudarshan 1.20 Database System Concepts - 5
th
Edition, May 23, 2005
XML: Extensible Markup Language
Definida pela WWW Consortium (W3C)
Originou-se como uma linguagem de marcao de texto e no
como linguagem de banco de dados.
Tem como uma de suas principais vantagens a troca de dados
entre bases.
Web Services: interoperar entre sistemas heterogneos
<curso>
<aluno>
<nome>joao</nome>
<media>7.9</media>
</aluno>
<aluno>
<nome>maria</nome>
<media>8.6</media>
</aluno>
</curso>

Silberschatz, Korth and Sudarshan 1.21 Database System Concepts - 5
th
Edition, May 23, 2005
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
Implementa as estruturas:
Arquivos de dados: armazena o banco de dados propriamente
dito.
Dicionrio de dados: que armazena o esquema do bd.
ndices: acessos mais rpidos aos itens de dados.

Silberschatz, Korth and Sudarshan 1.22 Database System Concepts - 5
th
Edition, May 23, 2005
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.
Silberschatz, Korth and Sudarshan 1.23 Database System Concepts - 5
th
Edition, May 23, 2005
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
Silberschatz, Korth and Sudarshan 1.24 Database System Concepts - 5
th
Edition, May 23, 2005
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)
Silberschatz, Korth and Sudarshan 1.25 Database System Concepts - 5
th
Edition, May 23, 2005
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 utilizando a DDL.
Estrutura de armazenamento e definio de mtodo de
acesso.
Modificao de esquema e de 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.
Silberschatz, Korth and Sudarshan 1.26 Database System Concepts - 5
th
Edition, May 23, 2005
Estrutura do sistema
Silberschatz, Korth and Sudarshan 1.27 Database System Concepts - 5
th
Edition, May 23, 2005
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
aps 1960s e 1970s:
Discos rigidos que j permitiam um acesso direto sem precisar ser
sequncial
Estruras em redes e hierrquicas poderiam ser utilizadas (listas,
rvores).
Codd define o Modelo Relacional
Maior perfomance no processamento de transaes

Silberschatz, Korth and Sudarshan 1.28 Database System Concepts - 5
th
Edition, May 23, 2005
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.
1990s:
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.
2000s:
XML e a linguagem de consulta XQuery
Computao autnomica/auto-adminitrao para reduzir os
esforos de administrao do sistema.
Database System Concepts, 5th Ed.
Silberschatz, Korth and Sudarshan
See www.db-book.com for conditions on re-use
Fim
Silberschatz, Korth and Sudarshan 1.30 Database System Concepts - 5
th
Edition, May 23, 2005
Figure 1.4
Silberschatz, Korth and Sudarshan 1.31 Database System Concepts - 5
th
Edition, May 23, 2005
Figure 1.7

Вам также может понравиться