Académique Documents
Professionnel Documents
Culture Documents
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
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
arquivos
Dificuldade de acessar os dados
Necessidade de escrever um novo programa para realizar cada nova tarefa
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
Problemas de segurana
Difcil de fornecer ao usurio o acesso a alguns, mas nem todos, os dados
Nveis de abstrao
Nvel fsico: descreve como um registro (por exemplo, cliente)
armazenado.
Nvel lgico: descreve os dados armazenados no banco de dados e
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.
Instncias e esquemas
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-
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
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
Modelo relacional
Exemplo de dados tabulares no modelo relacional
Atributos
SQL
SQL: linguagem no procedural amplamente usada
Exemplo: encontre o nome do cliente com id_cliente 192-83-7465
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
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?
O modelo entidade-relacionamento
Modela uma empresa como uma coleo de entidades e relacionamentos
outros objetos
Descrito por um conjunto de atributos Relacionamento: uma associao entre vrias entidades Representado graficamente por um diagrama entidade-relacionamento:
posteriores existentes.
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
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
Processamento de consulta
1. Anlise e traduo 2. Otimizao 3. Avaliao
Gerenciamento de transao
Uma transao um conjunto de operaes que
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
Sistema
chamadas de DML
Usurios avanados interagem com o sistema formulando suas
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
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
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
Dcada de 2000:
Padres XML e XQuery
Final do Captulo 1