aula e trab 1 bd

14
1 1 Banco Banco de Dados I de 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

Upload: geneci-amorim

Post on 08-Feb-2016

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 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

Page 2: Aula e Trab 1 BD

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

Page 3: Aula e Trab 1 BD

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

Page 4: Aula e Trab 1 BD

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

Page 5: Aula e Trab 1 BD

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

Page 6: Aula e Trab 1 BD

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

Page 7: Aula e Trab 1 BD

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

Page 8: Aula e Trab 1 BD

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

Page 9: Aula e Trab 1 BD

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)

Page 10: Aula e Trab 1 BD

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

Page 11: Aula e Trab 1 BD

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

Page 12: Aula e Trab 1 BD

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

Page 13: Aula e Trab 1 BD

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

Page 14: Aula e Trab 1 BD

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