Vous êtes sur la page 1sur 29

Sistema de Banco de Dados, 5/E

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Captulo 1: Introduo

Finalidade dos sistemas de banco de dados Viso dos dados Linguagens de banco de dados Bancos de dados relacionais Projeto de banco de dados Bancos de dados semi-estruturados e baseados em objeto Armazenamento e consulta de dados Gerenciamento de transao Arquitetura do banco de dados Usurios e administradores de banco de dados Estrutura geral Histria dos sistemas de banco de dados

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Sistema de gerenciamento de banco de dados (DBMS)

Um DBMS contm informaes sobre uma determinada empresa. Coleo de dados inter-relacionados Conjunto dos programas para acessar os dados Um ambiente que conveniente e eficiente de usar Aplicaes de banco de dados: Banco: todas as transaes Linhas areas: reservas, horrios Universidades: matrculas, registros, notas Vendas: clientes, produtos, compras Revendedores on-line: acompanhamento de pedidos, recomendaes personalizadas Indstria: produo, estoque, pedidos, cadeia de suprimento Recursos humanos: registros de empregados, salrios, dedues de impostos Os bancos de dados tocam todos os aspectos das nossas vidas

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Finalidade dos sistemas de banco de dados


Antigamente, as aplicaes de banco de dados eram construdas

diretamente sobre os sistemas de arquivo.


Desvantagens de usar sistemas de arquivo para armazenar dados:
Redundncia e inconsistncia de dados
Mltiplos formatos de arquivo, duplicao de informaes em diferentes

arquivos
Dificuldade de acessar os dados
Necessidade de escrever um novo programa para realizar cada nova tarefa

Isolamento dos dados vrios arquivos e formatos Problemas de integridade


Restries de integridade (por exemplo, saldo de conta > 0) se tornam

enterrados no cdigo do programa em vez de serem declarados explicitamente

Difcil de acrescentar novas restries ou modificar as existentes


Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Finalidade dos sistemas de banco de dados (cont.)

Desvantagens de usar sistemas de arquivo (cont.)


Atomicidade das atualizaes
Falhas podem deixar o banco de dados em um estado inconsistente com atualizaes

parciais realizadas
Exemplo: A transferncia de fundos de uma conta para outra deve ser completa ou no

deve ocorrer
Acesso concorrente por vrios usurios
Acesso concorrente necessrio para o desempenho Acessos concorrentes no controlados podem levar a inconsistncias

Exemplo: Duas pessoas lendo um saldo e atualizando-o ao mesmo tempo

Problemas de segurana
Difcil de fornecer ao usurio o acesso a alguns, mas nem todos, os dados

Os sistemas de banco de dados oferecem solues para todos os problemas acima


Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Nveis de abstrao
Nvel fsico: descreve como um registro (por exemplo, cliente)

armazenado.
Nvel lgico: descreve os dados armazenados no banco de dados e

as relaes entre eles.

type cliente = record id_cliente : string; nome_cliente : string; rua_cliente : string; cidade_cliente : string; end; Nvel de Viso (view): os programas de aplicao ocultam detalhes dos tipos de dados. As Vises (views) tambm podem ocultar informaes (como o salrio de um funcionrio) por motivos de segurana.

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Viso dos dados

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Instncias e esquemas

Semelhantes aos tipos e variveis nas linguagens de programao


Esquema a estrutura lgica do banco de dados
Exemplo: O banco de dados consiste nas informaes sobre um conjunto de

clientes e contas e na relao entre eles


Anlogo s informaes de tipo de uma varivel em um programa
Esquema fsico: projeto de banco de dados no nvel fsico Esquema lgico: projeto de banco de dados no nvel lgico

Instncia o contedo real do banco de dados em um determinado ponto no tempo


Anlogo ao valor de uma varivel

Independncia de dados fsica a capacidade de modificar o esquema fsico sem mudar o esquema lgico
Aplicaes dependem do esquema lgico
Em geral, as interfaces entre os vrios nveis e componentes devem ser bem-

definidas de modo que as mudanas em algumas partes no influenciem seriamente outras.


Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Modelos de dados
Uma coleo de ferramentas conceituais para descrever
Dados Relacionamentos de dados Semntica de dados Restries de dados

Modelo relacional
Modelo entidade-relacionamento (principalmente para projeto de

banco de dados)
Modelo de dados baseado em objeto (orientado a objeto e relacional

de objeto)
Modelo de dados semi-estruturado (XML) Outros modelos mais antigos:
Modelo de rede
Modelo hierrquico
Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Linguagens de manipulao de dados (DML)


Linguagem para acessar e manipular (inserir,

alterar, excluir) os dados organizados pelo modelo de dados apropriado


Duas classes de linguagem
Procedurais usurio especifica que dados so

necessrios e como obter esses dados


Declarativas (no procedurais) usurio especifica

que dados so necessrios sem especificar como obter esses dados


SQL a linguagem de consulta mais utilizada
Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Linguagem de definio de dados (DDL)

Notao de especificao para definir o esquema de banco de dados


Exemplo: create table conta ( nmero_conta saldo char(10), integer)

O compilador DDL gera um conjunto de tabelas armazenado em um dicionrio de dados O dicionrio de dados contm metadados (ou seja, dados sobre os dados)
Esquema de banco de dados Linguagem de armazenamento e definio de dados Especifica a estrutura de armazenamento e os mtodos de acesso usados Restries de integridade

Registros de domnio
Integridade referencial (restrio de referncias na SQL) Assertivas

Autorizao

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Modelo relacional
Exemplo de dados tabulares no modelo relacional

Atributos

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Exemplo de banco de dados relacional

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Exemplo de banco de dados relacional (Cont.)

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

SQL
SQL: linguagem no procedural amplamente usada
Exemplo: encontre o nome do cliente com id_cliente 192-83-7465

select cliente.nome_cliente from cliente where cliente.id_cliente = 192-83-7465


Exemplo: encontre os saldos de todas as contas pertencentes ao

cliente com id_cliente 192-83-7465 select conta.saldo from depositante, conta where depositante.id_cliente = 192-83-7465 and depositante.nmero_conta = conta.nmero_conta
Os programas de aplicao geralmente acessam banco de dados

atravs de
Extenses de linguagem para permitir SQL embutida
Interface de programa de aplicao (por exemplo, ODBC/JDBC), que

permite que consultas SQL sejam enviadas a um banco de dados.

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Projeto de banco de dados


O processo de projetar a estrutura geral do banco de dados.

Projeto lgico Decidir sobre o esquema de banco de dados. O projeto de banco de dados exige encontrar uma boa coleo de esquemas de relao.
Deciso empresarial Que atributos devemos registrar no

banco de dados?
Deciso da computao Que esquemas de relao

devemos ter e como os atributos devem ser distribudos entre os vrios esquemas de relao?

Projeto fsico Decidir sobre o layout fsico do banco de dados.

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

O modelo entidade-relacionamento
Modela uma empresa como uma coleo de entidades e relacionamentos

Entidade: uma coisa ou objeto na empresa que distinguvel dos

outros objetos
Descrito por um conjunto de atributos Relacionamento: uma associao entre vrias entidades Representado graficamente por um diagrama entidade-relacionamento:

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Modelos de dados relacionais-objeto


Estendem o modelo de dados relacional incluindo

orientao a objeto e construes para lidar com tipos de dados inseridos.


Permitem que atributos de tuplas tenham tipos

complexos, incluindo valores no atmicos como relaes aninhadas.


Preservam as fundaes relacionais, em especial o

acesso declarativo aos dados, enquanto estendem a capacidade de modelagem.


Fornecem compatibilidade com linguagens relacionais

posteriores existentes.

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

XML: Extensible Markup Language


Definida pelo WWW Consortium (W3C) Originalmente criada como uma linguagem de marcao

de documento, no como uma linguagem de banco de dados


A capacidade de especificar novas tags e criar estruturas

de tag aninhadas tornaram a XML uma excelente maneira de trocar dados, no apenas documentos.
A XML se tornou a base para todos os formatos de

intercmbio de dados da nova gerao.


Uma ampla variedade de ferramentas est disponvel

para anlise, navegao e consulta de dados/documentos XML.

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Gerenciamento de armazenamento
Gerenciador de armazenamento um mdulo de programa

que fornece a interface entre os dados de baixo nvel armazenados no banco de dados e os programas de aplicao e consultas submetidos ao sistema.
O gerenciador de armazenamento responsvel pelas

seguintes tarefas:
Interagir com o gerenciador de arquivos Armazenar, recuperar e atualizar dados eficientemente.

Problemas:
Acesso ao armazenamento Organizao de arquivos

Indexao e hashing

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Processamento de consulta
1. Anlise e traduo 2. Otimizao 3. Avaliao

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Gerenciamento de transao
Uma transao um conjunto de operaes que

realiza uma nica funo lgica em uma aplicao de banco de dados.


O componente de gerenciamento de transao garante

que o banco de dados permanece em um estado consistente (correto) apesar de falhas do sistema (por exemplo, interrupes de energia e falhas do sistema operacional) e falhas de transao.
O gerenciador de controle de concorrncia controla a

interao entre as transaes concorrentes para assegurar a consistncia do banco de dados.

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Arquitetura do banco de dados


A arquitetura de um sistema de banco de dados bastante

influenciada pelo sistema de computador subjacente em que o


sistema de banco de dados executado:

Centralizado e local Cliente-servidor Paralelo (multiprocessador) Distribudo

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Usurios de banco de dados


Os usurios so diferenciados pela forma como esperam interagir com o

Sistema

Programadores de aplicao interagem com o sistema atravs de

chamadas de DML
Usurios avanados interagem com o sistema formulando suas

requisies em uma linguagem de consulta de banco de dados


Usurios especializados interagem com o sistema escrevendo

aplicaes de banco de dados especializadas que no se encaixam na estrutura de processamento de dados tradicional
Usurios leigos interagem com o sistema chamando um dos

programas de aplicao previamente escritos


Exemplos, pessoas acessando bancos de dados atravs da Web, caixas bancrios, equipe de contabilidade
Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Administrador de banco de dados (pessoa)


Coordena todas as atividades do sistema de banco de

dados; o administrador de banco de dados tem um bom conhecimento dos recursos e necessidades de informao da empresa.
As responsabilidades do administrador de banco de dados

incluem:
Definio de esquema Estrutura de armazenamento e definio de mtodo de acesso

Modificao de esquema e de organizao fsica


Concesso de autorizao para acesso ao banco de dados Especificar restries de integridade Agir como ligao com os usurios Monitorar o desempenho e responder a mudanas em requisies
Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Estrutura geral do sistema

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Histria dos sistemas de banco de dados


Dcada de 1950 e incio da dcada de 1960:
Processamento de dados usando fitas magnticas para armazenamento
Fitas fornecem apenas acesso seqencial

Cartes perfurados para entrada

Final da dcada de 1960 e dcada de 1970:


Discos rgidos permitem acesso direto aos dados Modelos de dados de rede e hierrquico em largo uso Ted Codd define o modelo de dados relacional
Ganharia o ACM Turing Award por este trabalho
IBM Research inicia o prottipo do System UC Berkeley inicia o prottipo do Ingres

Processamento de transao de alto desempenho (para a poca)

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Histria (cont.)
Dcada de 1980:
Prottipos relacionais de pesquisa evoluem para sistemas comerciais
SQL se torna o padro do setor

Sistemas de banco de dados paralelos e distribudos Sistemas de banco de dados orientados a objeto

Dcada de 1990:
Grandes aplicaes de suporte a deciso e explorao de dados Grandes data warehouses de vrios terabytes

Surgimento do comrcio Web

Dcada de 2000:
Padres XML e XQuery

Administrao de banco de dados automatizada

Korth Silberschatz Sundarshan

Sistema de Banco de Dados, 5/E

Final do Captulo 1

Korth Silberschatz Sundarshan

Vous aimerez peut-être aussi