Aula e Trab 1 BD
-
Upload
geneci-amorim -
Category
Documents
-
view
7 -
download
0
Transcript of Aula e Trab 1 BD
1
1
BancoBanco de Dados Ide Dados I
Introdução
Necessidade de armazenar e recuperar dados;
Uso de memórias auxiliares (cadernos de endereços, lista de telefones, dados financeiros, receitas, etc.);
Tornar estas memórias seguras, confiáveis e disponíveis;
Importância no âmbito pessoal e empresarial. 2
2
Definições básicas
Dados: Fatos conhecidos que podem ser registrados, que
possuem significado implícito (ELMASRI & NAVATHE, 2005). O que realmente é armazenado no banco de
dados (DATE, 2003)
Exemplo: Fulano de tal, 30/03/1980, 30o
Informação Refere-se ao significado que os dados podem
gerar para um determinado usuário (DATE, 2003). Exemplo: 31 anos, temperatura quente
3
Definições básicas
Banco de dados: Uma coleção de dados relacionados (ELMASRI &
NAVATHE, 2005), (SILBERSCHATZ, KORTH & SUDARSHAN, 2006). Pode ser considerado como o equivalente
eletrônico de um armário de arquivamento; ou seja, ele é um repositório ou recipiente para uma coleção de arquivos de dados computadorizados (DATE, 2003).
4
3
Definições básicas
Exemplos
5
id_cliente nome-cliente rua_cliente cidade_cliente numero_conta192-84-394 João Assis Brasil, 12 Alegrete 8473823
218-37-375 Maria MaurícioCardoso, 232
Alegrete 8374892
378-53-542 Pedro Bento Manoel, 23
Alegrete 8264948
Definições básicas
Sistema de Gerenciamento de Banco de Dados (DBMS ou SGBD) É uma coleção de dados inter-relacionados e um conjunto de
programas para acessar esses dados (ELMASRI & NAVATHE, 2005), (SILBERSCHATZ, KORTH & SUDARSHAN, 2006).
É um sistema computadorizado cuja finalidade geral é armazenar informações e permitir que os usuários busquem e atualizem essas informações quando as solicitar (DATE, 2003).
SGBD é uma ferramenta poderosa para criar e gerenciar grandes quantidades de dados de forma eficiente e permitir que esses dados persistam durante longos espaços de tempo com segurança (GARCIA-MOLINA, ULMANN & WIDOM, 2001).
6
4
Aplicações
Banco: informações de cliente, contas, empréstimos e transações bancárias
Linhas aéreas: reservas, horários Universidade: matrículas, registros, notas Vendas: clientes, produtos, compras Revendedores online: acompanhamento de pedidos,
recomendações personalizadas Indústria: produção, estoque, pedidos Recursos humanos: registros de empregados,
salários, deduções de impostos Etc...
7
Finalidades (SILBERSCHATZ, KORTH & SUDARSHAN, 2006)
Antigamente, as aplicações de banco de dados eram construídas diretamente sobre sistema de arquivos
Desvantagens de usar sistemas de arquivos para armazenar dados: Redundância e inconsistência de dados
Múltiplos formatos de arquivo, duplicação de informações em diferentes arquivos
Dificuldade de acessar os dadosNecessidade de escrever um novo programa para
realizar cada nova tarefa8
5
Finalidades (SILBERSCHATZ, KORTH & SUDARSHAN, 2006)
Desvantagens de usar sistemas de arquivos para armazenar dados: Isolamento dos dados
Vários arquivos e formatos
Problemas de integridade Restrições de integridade (por exemplo, saldo de conta
> 0) se tornam “enterrados” no código do programa em vez de serem declarados explicitamente
Difícil de acrescentar novas restrições ou modificar as existentes
9
Finalidades (SILBERSCHATZ, KORTH & SUDARSHAN, 2006)
Desvantagens de usar sistemas de arquivos para armazenar dados: Atomicidade das atualizações
Falhas podem deixar o banco de dados em um estado inconsistente com atualizações parciais realizadas
Exemplo: a transferência de fundos de uma conta para outra deve ser completa ou não deve ocorrer
Anomalias de acesso concorrente Acesso concorrente por vários usuários Acesso concorrente não controlado podem levar a
inconsistências Exemplo: Duas pessoas lendo um saldo e atualizando-o ao mesmo
tempo
10
6
Finalidades (SILBERSCHATZ, KORTH & SUDARSHAN, 2006)
Desvantagens de usar sistemas de arquivos para armazenar dados: Problemas de segurança
Difícil de fornecer ao usuário o acesso a alguns dados
Os sistemas de banco de dados oferecem soluções para todos o problemas citados.
11
Principais características (ELMASRI & NAVATHE, 2005)
Um banco de dados é uma coleção coerente de dados com um significado inerente; uma disposição desordenada dos dados não pode ser referenciada como um banco de dados;
Um banco de dados é projetado, construído e preenchido com dados para um propósito específico;
Um banco de dados representa algum aspecto do mundo real, o qual é chamado de “mini-mundo); 12
7
Histórico (SILBERSCHATZ, KORTH & SUDARSHAN, 2006)
A automação das tarefas de processamento de dados já existia antes mesmo dos computadores: Cartões perfurados, inventados por Herman
Hollerith foram usados no início do século XX para registrar dados do censo nos EUA, e sistemas mecânicos foram usados para processar os cartões e tabular os resultados. Mais tarde, os cartões passaram a ser amplamente usados como um meio de inserir dados em computadores.
13
Histórico
As técnicas para armazenamento e processamento de dados evoluíram ao longo dos anos: Década de 1950 e início da década de 1960:
Processamento de dados usando fitas magnéticas para armazenamento; Fitas forneciam apenas acesso sequencial
Cartões perfurados para entrada
14
8
Histórico
Final da década de 1960 e década de 1970 Discos rígidos permitem acesso direto aos dadosModelos de dados de rede e hierárquico em largo uso Ted Codd define o modelo de dados relacional Processamento de transação de alto desempenho (para
a época)
Década de 1980: Protótipos relacionais de pesquisa evoluem para
sistemas comerciais SQL se torna o padrão do setor
Sistemas de banco de dados paralelos e distribuídos Sistemas de banco de dados orientados a objeto 15
Histórico
Década de 1990 Grandes aplicações de suporte a decisão e exploração
de dados Grandes Data Warehouses de vários terabytes Surgimento do comércio Web
Década de 2000 Padrões XML e Xquery Administração de banco de dados automatizada
16
9
Componentes
O sistema de banco de dados envolve quatro componentes principais (DATE, 2003):
Dados; Hardware; Software; Usuários.
17
Componentes
18
Programas de aplicação
Banco de Dados
Sistema de Gerenciamento de
Banco de Dados
Programas de aplicação
Programas de aplicação
Usuários finais
Representação simplificada de um sistema de banco de dados (adaptado de DATE, 2003)
10
Componentes
Dados Os dados podem ser integrados ou
compartilhados (DATE, 2003) Integrados: o banco de dados pode ser considerado
como uma unificação de vários arquivos que, de outro modo, seriam distintos, com a eliminação de qualquer redundância parcial ou total entre esses arquivos;
Compartilhados: o banco de dados pode ser compartilhado entre diferentes usuários, no sentido de que usuários podem ter acesso aos mesmos dados, possivelmente ao mesmo tempo.
19
Componentes
Hardware Os componentes de hardware do sistema consiste
em (DATE, 2003): Volumes de armazenamento secundário:
Normalmente – discos magnéticos Dispositivos de E/S associados (unidades de disco, etc)
Processadores de hardware e memória Usados para dar suporte à execução do software do sistema
de banco de dados
20
11
Componentes
Software Entre o banco de dados físico, ou seja, os dados
fisicamente armazenados e os usuários do sistema, existe uma camada de software (DATE, 2003): Gerenciador de banco de dados ou servidor de banco
de dados ou, mais frequentemente, sistema de gerenciamento de banco de dados (SGBD);
Utilitários, ferramentas de desenvolvimento de aplicações, geradores de relatórios, etc.
21
Componentes
Usuários Os usuários são diferenciados pela forma como
esperam interagir com o sistema (SILBERSCHATZ, KORTH & SUDARSHAN, 2006): Programadores de aplicação: interagem com o sistema
através de chamadas de DML; Administradores de bancos de dados: 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 informação da empresa.
22
12
Componentes
Usuários Usuários avançados: interagem com o sistema
formulando suas requisições em uma linguagem de consulta de banco de dados;
Usuários especializados: interagem com o sistema escrevendo aplicações de banco de dados especializadas;
Usuários leigos: interagem com o sistema chamando um dos programas de aplicação previamente escritos. Exemplos: pessoas acessando banco de dados através da Web,
caixas bancários, equipe de contabilidade23
Funcionalidades
Definição de dados O SGBD deve ser capaz de aceitar definições de
dados; DDL: linguagem de definição de dados
Manipulação de dados O SGBD deve ser capaz de lidar com requisições
do usuário para buscar, atualizar ou excluir dados existentes no banco de dados, ou para acrescentar novos dados ao banco;
DML: Linguagem de manipulação de dados24
13
Funcionalidades
Otimização e execução As requisições de DML devem ser processadas
pelo componente otimizador, cuja finalidade é determinar um modo eficiente de implementar a requisição;
Segurança e integridade de dados O SGBD, ou algum subsistema chamado pelo
SGBD, deve monitorar requisições de usuários e rejeitar toda tentativa de violar as restrições de segurança e integridades definidas pelo administrador de banco de dados; 25
Funcionalidades
Recuperação de dados e concorrência O SGBD, ou mais provavelmente, algum outro
componente de software relacionado deve impor certos controles de recuperação e concorrência;
Dicionário de dados O SGBD deve fornecer uma função de dicionário
de dados. O DD pode ser considerado como um banco de dados isolado que contém “dados sobre dados”, ou seja, definições de outros objetos do sistema, ao invés de somente “dados crus”;
Desempenho26
14
Exercícios
Defina os seguintes termos: Banco de dados e SGBD; Diferencie dados x informações com 3 exemplos; Exemplifique uma situação em que você se deparou
com o uso implícito de um BD; Como você faria para registrar suas compras do mês? Quais são os componentes principais de um sistema
de BD? Dê 3 exemplos de softwares para se construir um
banco de dados.
27
Bibliografia
DATE, C. J. Introdução a Sistemas de Bancos de Dados. Tradução da 8ª ed. Rio de Janeiro: Elsevier, 2003.
ELMASRI, R. E.; NAVATHE, S. Sistema de Banco de Dados –Fundamentos e Aplicações. 4ª ed. São Paulo: Addison Wesley, 2005.
GARCIA-MOLINA, H.; ULMANN, J. WIDOM, J. Implementação de Sistemas de Bancos de Dados. Rio de Janeiro: Campus, 2001.
SILBERSCHATZ, A. KORTH, H. F.; SUDARSHAN, S. Sistemas de Banco de Dados. Tradução da 5ª ed. Rio de Janeiro: Elsevier, 2006.
28