Banco de Dados Profa. Dra. Angélica Félix de Castro Aula 02 Universidade Federal Rural do...

29
Banco de Dados Banco de Dados Profa. Dra. Angélica Félix de Castro Aula 02 Universidade Federal Rural do Semi-Árido Curso de Ciência da Computação

Transcript of Banco de Dados Profa. Dra. Angélica Félix de Castro Aula 02 Universidade Federal Rural do...

Page 1: Banco de Dados Profa. Dra. Angélica Félix de Castro Aula 02 Universidade Federal Rural do Semi-Árido Curso de Ciência da Computação.

Banco de DadosBanco de DadosBanco de DadosBanco de Dados

Profa. Dra. Angélica Félix de Castro

Aula 02

Universidade Federal Rural do Semi-Árido Curso de Ciência da Computação

Page 2: Banco de Dados Profa. Dra. Angélica Félix de Castro Aula 02 Universidade Federal Rural do Semi-Árido Curso de Ciência da Computação.

Presença dos bancos de dados em nossas vidas

1. Nossa agenda telefônica2. Nossos e-mails3. Contas bancárias4. Reservas em hoteis5. Compras de passagens aéreas6. Uma biblioteca real ou virtual7. Uma loja de vendas real ou virtual8. Um supermercado

. . .

Page 3: Banco de Dados Profa. Dra. Angélica Félix de Castro Aula 02 Universidade Federal Rural do Semi-Árido Curso de Ciência da Computação.

Presença dos bancos de dados em nossas vidas

Os Bancos de Dados e sua tecnologia tem provocado um grande impacto no crescimento do uso dos computadores

Presente em: negócios, comércio eletrônico, engenharia, medicina, direito, educação e todas as ciências da informação.

Banco de Dados: coleção de dados relacionados.

Dados: Fatos que podem ser gravados. Ex.: nomes, números,

Informações: Conjunto de dados que tem um significado. Ex.: nome completo, numero do telefone, CPF, nota final...

Page 4: Banco de Dados Profa. Dra. Angélica Félix de Castro Aula 02 Universidade Federal Rural do Semi-Árido Curso de Ciência da Computação.

Dados Sinais sobre eventos e atividades

Facilidade de armazenagem e manipulação

Pouco valor agregado

Informações Interpretações sobre os dados

Maior valor agregado & maior ambigüidade

Conhecimento Informação dentro das mentes das pessoas

Revisão de conceitos básicos

Na engenharia de conhecimento:Termômetro da Caldeira: 115º

115º significa a temperatura que foi medida

A temperatura máxima suportada pela caldeira é de 100. Acima desse valor, pode

acontecer uma explosão,Logo, a caldeira deve ser desligada!

Page 5: Banco de Dados Profa. Dra. Angélica Félix de Castro Aula 02 Universidade Federal Rural do Semi-Árido Curso de Ciência da Computação.

Dados e Informações

• Dados: são os objetos do mundo real:– Universidades: UFERSA, UERN, PUC-Rio, UFRJ– Cursos: Administração, Engenharia– Professores:Fábio, Maria, Joana

• Informações: São ocorrências registradas sobre os dados:– aula: “07-03-2001”, “Administração”, ”510L”

– nota: “20-04-2001”,”Gabriel”, “Teoria Computacional”,10

Page 6: Banco de Dados Profa. Dra. Angélica Félix de Castro Aula 02 Universidade Federal Rural do Semi-Árido Curso de Ciência da Computação.

Conceitos Básicos

Informação X Dado

Significado associado ou deduzido de um conjuntode dados e de associações entre eles.

Conhecimentos que podem ser inferidos dos dados.

Page 7: Banco de Dados Profa. Dra. Angélica Félix de Castro Aula 02 Universidade Federal Rural do Semi-Árido Curso de Ciência da Computação.

Banco de Dados

Conjunto de informações relacionadas referentes a um contexto do mundo real, geralmente mantido por um longo período de tempo!

Page 8: Banco de Dados Profa. Dra. Angélica Félix de Castro Aula 02 Universidade Federal Rural do Semi-Árido Curso de Ciência da Computação.

Por que usar BD?

• Considere grandes organizações sem utilizar um BD: Universidades, Bancos, Multinacionais, Supermercado, Comércio...

• Tudo armazenado em várias divisões

• Grande volumes de dados

• Aplicações distintas manipulando mesmo tipo de dados

Page 9: Banco de Dados Profa. Dra. Angélica Félix de Castro Aula 02 Universidade Federal Rural do Semi-Árido Curso de Ciência da Computação.

• Primeira arquitetura de sistemas para armazenamento e manipulação de dados e geração de informação.

• São sistemas em que os dados são armazenados fisicamente separados um do outro.

• O acesso é feito pelos programas de aplicação, associando o nome externo dos arquivos.

Sistema de Arquivos

Page 10: Banco de Dados Profa. Dra. Angélica Félix de Castro Aula 02 Universidade Federal Rural do Semi-Árido Curso de Ciência da Computação.

Sistema de Arquivos

DefiniçãoColeção de programas de aplicação que realizam tarefas para os usuários (e.g. impressão de relatórios).

Cada aplicação descreve seus dados com nomes e formatos próprios Gerenciamento Local Manipulação de dados implementados pela própria aplicação

Características:

Page 11: Banco de Dados Profa. Dra. Angélica Félix de Castro Aula 02 Universidade Federal Rural do Semi-Árido Curso de Ciência da Computação.

Sistema de Arquivos

Conhecimento dos problemas encontrados em sistema de arquivos é importante para evitá-los em sistemas de BD.

Necessidade de conversão de um sistema baseado em arquivos para um sistema de BD.

Por quê falar sobre Arquivos?

Page 12: Banco de Dados Profa. Dra. Angélica Félix de Castro Aula 02 Universidade Federal Rural do Semi-Árido Curso de Ciência da Computação.

Setor de VENDAS Arquivos Programas de Aplicação

Entrada de Dados e Relatórios

Manipulação de ArquivosDefinição de Arquivos

Arquivos Programas de Aplicação

Entrada de Dados e Relatórios

Manipulação de ArquivosDefinição de Arquivos

Setor de CONTRATOS

IMÓVEL ( Código, Rua, Cidade, CEP, Aluguel)ALUGUEL ( NumContrato, Imóvel, CPF_Cli, Valor, Duração, FormaPagto)

CLIENTE ( CPF, Nome, Endereço, Fone)

IMÓVEL ( Código, Rua, Cidade, CEP, Tipo, Quartos, Aluguel, CPF_Prop)PROPRIETARIO ( CPF, Nome, Endereço, Fone)

CLIENTE ( CPF, Nome, Endereço, Fone, TipoEscolhido, AluguelMax)

Sistema de Arquivos1

Page 13: Banco de Dados Profa. Dra. Angélica Félix de Castro Aula 02 Universidade Federal Rural do Semi-Árido Curso de Ciência da Computação.

Sistema de Arquivos2

Acadêmica:

AlunosProfessoresDisciplinas

TurmasSalas

Espaço Físico:

CentrosDepartamentos

CursosDisciplinas

Pessoal:

CentrosDepartamentos

ProfessoresFuncionários

Page 14: Banco de Dados Profa. Dra. Angélica Félix de Castro Aula 02 Universidade Federal Rural do Semi-Árido Curso de Ciência da Computação.

Sistema de Arquivos3

Produção

Arquivos de Produção

Vendas

Arquivos de Vendas

Compras

Arquivos de Compras

Page 15: Banco de Dados Profa. Dra. Angélica Félix de Castro Aula 02 Universidade Federal Rural do Semi-Árido Curso de Ciência da Computação.

Separação e Isolamento de DadosDificuldade no acesso aos dados porque eles são isolados em arquivos separados.

•Exemplo:Listar todas as casas que satisfazem os requisitos de clientes

Setor de VENDAS Arquivos Programas de Aplicação

Entrada de Dados e Relatórios

Manipulação de ArquivosDefinição de Arquivos

Arquivos Programas de Aplicação

Entrada de Dados e Relatórios

Manipulação de ArquivosDefinição de Arquivos

Setor de CONTRATOSIMÓVEL ( Código, Rua, Cidade, CEP, Aluguel)

IMÓVEL ( Código, Rua, Cidade, CEP, Tipo, Quartos, Aluguel, CPF_Prop)

Sistema de Arquivos - Problemas

Page 16: Banco de Dados Profa. Dra. Angélica Félix de Castro Aula 02 Universidade Federal Rural do Semi-Árido Curso de Ciência da Computação.

• Inconsistência e redundância de dados:

– Se a mesma informação está repetida em arquivos diferentes ela:

• está redundante, aumentando os custos de armazenamento;• pode passar para um estado inconsistente, com valores

divergentes nas diferentes réplicas.

Sistema de Arquivos - Problemas

dado

Page 17: Banco de Dados Profa. Dra. Angélica Félix de Castro Aula 02 Universidade Federal Rural do Semi-Árido Curso de Ciência da Computação.

• Dificuldade de acesso aos dados:

– Para cada sistema de arquivos, é necessário um aplicativo para acessar as informações. Tem que haver um desenvolvimento específico pra cada um deles.

• Isolamento de dados:

– Os dados estão armazenados em arquivos distintos, que não possuem qualquer tipo de relacionamento direto, e ainda podem conter diferentes formatos para o mesmo dado.

Sistema de Arquivos - Problemas

Page 18: Banco de Dados Profa. Dra. Angélica Félix de Castro Aula 02 Universidade Federal Rural do Semi-Árido Curso de Ciência da Computação.

• Problemas de Integridade:

– Programas devem garantir a manutenção de restrições de integridade. Restrições de Integridade são regras que estabelecem quando uma base de dados está correta. Exemplo: “Um aluno não pode possuir duas aprovações da mesma disciplina em seu histórico”.

• Problemas de atomicidade:

– Algumas operações em um sistema devem ser “atômicas” (indivisíveis). Ou essas operações são, em seu conjunto, executadas até o fim, ou nenhuma delas deve ser executada.

• Problemas de segurança:

– Deve-se garantir regras de segurança em todos os programas de aplicação.

Sistema de Arquivos - Problemas

Page 19: Banco de Dados Profa. Dra. Angélica Félix de Castro Aula 02 Universidade Federal Rural do Semi-Árido Curso de Ciência da Computação.

• Anomalias no acesso concorrente:

– Pode acontecer de haver uma execução simultânea de diversas operações. Geralmente, nos sistemas de arquivos, esta melhoria seria difícil de ser implementada sem levar a danos na consistência dos dados. Considere a seguinte situação num sistema bancário:

– Dois clientes A e B querem sacar dinheiro de uma conta bancária ao mesmo tempo

– Ambos lêem o valor 500;– Um tira 50 reais (resultando 450 reais) e o outro 100 reais

(resultado 400 reais);– Dependendo de qual execução do programa de débito

registre o saldo restante primeiro, o valor do saldo da conta será 450 ou 400 reais, quando deveria ser 350 reais.

Sistema de Arquivos - Problemas

Page 20: Banco de Dados Profa. Dra. Angélica Félix de Castro Aula 02 Universidade Federal Rural do Semi-Árido Curso de Ciência da Computação.

Sistema de Arquivos

• desvantagens do SA:– redundância e inconsistência de dados;– dificuldade no acesso aos dados;– isolamento de dados;– atualização múltipla;– perda de espaço de armazenamento;– anomalias de acesso concorrente;– problemas de segurança;– linguagem de acesso é em geral única para o programa

de aplicação e freqüentemente não amigável.

Page 21: Banco de Dados Profa. Dra. Angélica Félix de Castro Aula 02 Universidade Federal Rural do Semi-Árido Curso de Ciência da Computação.

• Conjunto de arquivos computadorizados que se inter-relacionam atendendo à demanda de informações de uma aplicação ou de um sistema.

• O fato dos dados serem integrados permite a realização de relacionamentos entre informações, podendo assim fornecer informações adicionais em níveis operacional, tático ou estratégico, no caso de empresas.

Banco de Dados

DadosBanco de

Dados

Informação

Page 22: Banco de Dados Profa. Dra. Angélica Félix de Castro Aula 02 Universidade Federal Rural do Semi-Árido Curso de Ciência da Computação.

Sistema de Arquivos X Sistemas de Banco de Dados

O acesso/gerenciamento aos/dos dados é feito diretamente pelos programas aplicativos.

O acesso/gerenciamento aos/dos dadosé feito pelo SGBD. O SGBD funciona como uma interface entre o BD e os programas aplicativos.

Dados(arquivos)

Dados(arquivos)

SGBD

Sistema de arquivos Sistema de Banco de Dados

Aplicativos Aplicativos

Dados(arquivos)

Page 23: Banco de Dados Profa. Dra. Angélica Félix de Castro Aula 02 Universidade Federal Rural do Semi-Árido Curso de Ciência da Computação.

Por quê Banco de Dados?

Banco de Dados X ArquivoDados Manipulados porvários usuários com umaúnica visão

Dados manipulados por vários usuários com visões diferentes

Registros físicos compostos de campos

Agrupamento de um conjunto de arquivos, compartilhados por usuários diferentes, concorrentes e... competidores

Page 24: Banco de Dados Profa. Dra. Angélica Félix de Castro Aula 02 Universidade Federal Rural do Semi-Árido Curso de Ciência da Computação.

Aplicação 1 Aplicação 2 Aplicação 3

BD

Por quê Banco de Dados?Sistema de Arquivos

Page 25: Banco de Dados Profa. Dra. Angélica Félix de Castro Aula 02 Universidade Federal Rural do Semi-Árido Curso de Ciência da Computação.

Setor de VENDAS Arquivos Programas de Aplicação

Entrada de Dados e Relatórios

Manipulação de ArquivosDefinição de Arquivos

Arquivos Programas de Aplicação

Entrada de Dados e Relatórios

Manipulação de ArquivosDefinição de Arquivos

Setor de CONTRATOS

IMÓVEL ( Código, Rua, Cidade, CEP, Aluguel)ALUGUEL ( NumContrato, Imóvel, CPF_Cli, Valor, Duração, FormaPagto)

CLIENTE ( CPF, Nome, Endereço, Fone)

IMÓVEL ( Código, Rua, Cidade, CEP, Tipo, Quartos, Aluguel, CPF_Prop)PROPRIETARIO ( CPF, Nome, Endereço, Fone)

CLIENTE ( CPF, Nome, Endereço, Fone, TipoEscolhido, AluguelMax)

Revendo Exemplo 1 de Sistema de Arquivos

Page 26: Banco de Dados Profa. Dra. Angélica Félix de Castro Aula 02 Universidade Federal Rural do Semi-Árido Curso de Ciência da Computação.

Setor de VENDAS Programas de Aplicação

Entrada de Dados e Relatórios

Programas de Aplicação

Entrada de Dados e Relatórios

Setor de CONTRATOS

IMÓVEL ( Código, Rua, Cidade, CEP, Tipo, Quartos, Aluguel, CPF_Prop)ALUGUEL ( NumContrato, Imóvel, CPF_Cli, Valor, Duração, FormaPagto)

CLIENTE ( CPF, Nome, Endereço, Fone, TipoEscolhido, AluguelMax)PROPRIETARIO ( CPF, Nome, Endereço, Fone)

SGBDBD

Dados e Metadados

Por quê Banco de Dados?

Page 27: Banco de Dados Profa. Dra. Angélica Félix de Castro Aula 02 Universidade Federal Rural do Semi-Árido Curso de Ciência da Computação.

Histórico

• Etapas da evolução rumo a tomada de decisão:

– Aplicações Isoladas: dados duplicados, dados inconsistentes, processos duplicados.

– Sistemas Integrados: racionalização de processos, manutenção dos dados.

– Sistemas de Informação: racionalização de processos, racionalização de dados.

Page 28: Banco de Dados Profa. Dra. Angélica Félix de Castro Aula 02 Universidade Federal Rural do Semi-Árido Curso de Ciência da Computação.

Histórico

• O desenvolvimento da teoria de Banco de Dados ajudou sobretudo na independência de dados, ou seja, qualquer mudança na estrutura física ou na estratégia de acesso não implica em alteração nos aplicativos que utilizam tal dado.

Page 29: Banco de Dados Profa. Dra. Angélica Félix de Castro Aula 02 Universidade Federal Rural do Semi-Árido Curso de Ciência da Computação.

Banco de Dados

Coleção de dados inter-relacionados

Conjunto de dados estruturados que são confiáveis, coerentes e compartilhados por usuários que têm necessidade de informações diferentes.

Coleção compartilhada de dados logicamente relacionados e da descrição destes dados que são projetados para satisfazer as necessidades de informação de uma organização.

Definição