bancos de dados - Prof. Marcelo West

Propaganda
BANCO
DE DADOS
Prof. Marcelo West
[email protected]
Nov/2015
Objetivos
• Introduzir a tecnologia de Bancos de Dados e
seus principais conceitos
• Apresentar os Sistemas Gerenciadores de
Bancos de Dados e suas características
• Conceituar Banco de Dados, indicando os
seus principais componentes básicos.
• Mostrar a importância e o significado de um
SGBD dentro de um Sistema de Banco de
Dados
2
Conceitos Iniciais
Dados X Informação
500
O paraíso fica a 500 km.
A pessoa mais gorda
do mundo pesa 500 kg.
3
Dados
Dados: são fatos ou observações sem
tratamento, normalmente sobre fenômenos
físicos ou transações de negócios. Mais
especificamente, os dados são medidas
objetivas dos atributos (características) de
entidades como pessoas, lugares, coisas e
eventos.
4
Informações
Informações:
• São dados processados que foram colocados
em um contexto significativo e útil para um
usuário final.
• Os dados são submetidos a um processo de
“valor adicionado” (processamento de dados
ou processamento de informação).
• É o dado trabalhado que permite ao executivo
tomar decisões.
5
Os sistemas de informação
manipulam informações
Geram
6
Valor dos Dados
• Valor para os objetivos da empresa
• Custo para obtenção e manutenção
• Desvantagens para a organização em não
possuí-los ou não poder obtê-lo
imediatamente
• É preciso organizar e manter os dados de
uma organização tendo em vista sua
utilização por múltiplos usuários
7
Conceitos Iniciais
Mini-mundo ou Universo do Discurso
− Uma abstração do mundo real, onde
consideramos apenas as propriedades
dos objetos que nos interessam para fins
de processamento computacional.
− Exemplo: cadastro de clientes: “cpf”,
“nome”, “endereço”, “telefone”, “e-mail”
8
O que é um Banco de Dados?
9
O que é um Banco de Dados
Definião de [Elmasri & Navathe, 2000]
• Um banco de dados é uma coleção de dados
relacionados, representando algum aspecto do
mundo real (mini-mundo ou universo de
discurso)
• Logicamente coerente, com algum significado
• Projetado, construído e gerado (“povoado”) para
uma aplicação específica
BD
10
O que é um Banco de Dados?
Uma coleção compartilhada de dados interrelacionados, projetados para atender as
necessidades dos múltiplos tipos de usuários.
isto é
Uma coleção de dados da qual, múltiplos
usuários com visões diferentes utilizam em suas
aplicações
11
O que é um Banco de Dados?
É uma coleção de dados
operacionais armazenados usados
pelas diversas aplicações de uma
organização. (Date, 1985)
Um conjunto de arquivos
relacionados entre si.
(Chu,1983)
É uma coleção de dados
relacionados. (Navathe,
2000)
12
Exemplos de Bancos de Dados
• Uma vídeo locadora que armazena os dados
de seus clientes
• Seus dados referentes a uma conta bancária
• Cadastro de alunos do IFNMG
• Possivelmente você já é autor de um mini
banco de dados (Mala direta do Word)
• “Minha mãe vende bolo e ela tem um
caderninho com a lista dos clientes a serem
visitados”
13
Exemplos de Bancos de Dados
14
Mais conceitos
• SGBD (Sistema Gerenciador de Banco de
Dados)
− Software que auxilia a criação e manutenção dos
dados em um sistema de banco de dados
− Exemplos: MySQL, Firebird, Oracle Database,
PostgreSQL, entre outros.
15
Mais conceitos
• Gerenciador de Banco de Dados
− Conjunto de programas (software) para gerenciar
(criando, modificando e usando) um banco de
dados e garantir a integridade e segurança dos
dados
− Exemplos: IBOConsole, IBExpert, MySQL
Workbench, entre outros.
16
Mais conceitos
• Sistema de Banco de dados
− É o conjunto formado pelos aplicativos, SGDB e por
todos os dados manipulados por este.
− Algumas vantagens de usar um sistema de BD:
• Rapidez na manipulação e acesso no acesso à informação;
• Redução do esforço humano;
• Disponibilização no tempo necessário;
• Redução de redundância e de inconsistência de
informações;
• Compartilhamento de dados;
• Redução de problemas de integridade.
17
Sistema de Banco de Dados
18
Consolidando Conceitos
Responda rápido:
•
•
•
•
Qual diferença entre Dados e Informação?
O que é Banco de Dados?
O que é o SGBD?
O que é um Sistema de Banco de Dados?
19
Resposta 01
Qual a diferença entre Dados e Informação?
− Dados: fatos ou informações sem tratamento.
− Informações: dados processados que foram
colocados em um contexto significativo e útil para
um usuário final.
20
Respostas 02 e 03
O que é Banco de Dados?
Uma coleção compartilhada de dados interrelacionados, projetados para atender as
necessidades dos múltiplos tipos de usuário
O que é o SGBD?
(Sistema Gerenciador de Banco de Dados) Software
que auxilia a criação e manutenção dos dados em um
sistema de banco de dados
21
Resposta 04
O que é um Sistema de Banco de Dados?
− É o conjunto formado pelos aplicativos, SGDB e
por todos os dados manipulados por este.
− é um sistema de manutenção de registros por
computador envolvendo quatro componentes
principais , sendo eles: dados, hardware,
software e usuários.
22
Evolução dos Sistemas de Banco
de Dados
• Aplicações tradicionais (processamento de
arquivos):
− orientadas a programas;
− Pesquisa sequencial;
− Arquivos de dados sem padronização.
• Aplicações com SGBD:
− orientadas a dados e processos;
− Pesquisas otimizadas (com uso de índices);
− Aumento da padronização.
23
Processamento de arquivos típico
24
Aplicações com Banco de dados
25
Usuários de um Sistema de Banco
de Dados
Usuários
Profissionais de BD
• Usuários finais:
casuais, leigos e
especialistas
• Analistas de Sistema
• Programadores de
Sistema
• Projetista de Banco
de Dados (Analista
de Dados)
• DBA – Administrador
de Banco de Dados
26
Principais Características do SGBD
• Integridade
− Dados corretos
• Consistência ou Compartilhamento de
Dados
− Dados em um único local
• Segurança ou Restrição de Acesso
− Níveis de acesso:
• Leitura
• Leitura e gravação
• Somente Gravação
27
Principais Características do SGBD
• Restauração ou Tolerância a Falhas
− Facilidade de recuperar de falhas de hardware e
software
• Não Redundância ou Controle de Redundância
− Como os dados estão centralizados é possível eliminar
(ou reduzir) a redundância
• Padronização dos Dados
− Dados padronizados. Ex.: sexo “M” ou “masc”?
28
Reflexão
Quando devemos utilizar Sistemas de
Gerenciamento de Banco de Dados
(SGBD)?
29
Considerações
• Custos:
− do próprio software;
− para implantação;
− de manutenção;
− de treinamentos;
− da possível sobrecarga no ambiente.
30
Quando utilizar BD?
• Existência de um conjunto de dados
estruturados que a organização necessite
compartilhar entre diversos usuários
• Quando necessitar de um software que
auxilie o gerenciamento deste processo
• Diversidade de usuários desejando sempre
a mesma informação
• Banco de dados como base ao sistema de
informação da organização
31
Quando NÃO utilizar BD?
• Aplicações simples e bem definidas onde não se
espera mudanças
• Aplicações de tempo real
• Aplicações em que não há necessidade do
compartilhamento entre múltiplos usuários
32
Quando NÃO utilizar BD?
•Motivo
 Investimento inicial alto¹
 Generalidade na definição e manipulação
dos dados²
 Custo adicional para prover outras
facilidades funcionais (manutenção de
segurança, controle de concorrência,
recuperação de falhas, etc.)
33
Benefícios do uso de SGBD’s
• Definição pelo dicionário de dados
• Manutenção da Integridade dos dados
• Acelerar o processo de desenvolvimento de
aplicações
• Manutenção da Padronização
• Economia de espaço (compressão)
• Facilita a eliminação de redundâncias
• Recuperação de informações não programadas
34
O Discurso do Controle
Centralizado
• Redundância reduzida
• Inconsistência pode ser evitada
• Manutenção da integridade
• Compartilhamento de dados
• Padronização e segurança
35
Alguns outros conceitos
• Esquema
do banco de dados é a concepção
global do banco de dados (arquivos/files)
nos aspectos físicos e lógicos.
• Sub-Esquema
é a visão do esquema global para
atendimento às necessidades específicas
de uma aplicação ou de um usuário (VIEW)
é a coleção de informações
armazenadas no banco de dados em um
• Instância
particular instante.
36
Independência de Dados
• Física: É a capacidade de se modificar o
esquema físico sem precisar alterar a
programação de acesso.
• Lógica: É a capacidade de se modificar o
esquema conceitual sem alterar a
programação de acesso.
37
Arquitetura de um banco de dados
Arquitetura de Três Esquemas
ou de Três Níveis
Proposta para suportar a independência dos
dados e possibilitar múltiplas visões dos dados
38
Arquitetura de um banco de dados
Arquitetura de Três Esquemas
ou de Três Níveis
Nível externo, visão do usuário, userview,
Esquema externo e/ou Sub-esquema:
descreve parte de um banco de dados para
determinado grupo ou determinada aplicação
39
Arquitetura de um banco de dados
Arquitetura de Três Esquemas
ou de Três Níveis
Nível conceitual, comunidade de visões, visão
lógica geral, esquema conceitual: descreve
quais dados estão armazenados e as
relações que existem entre eles
40
Arquitetura de um banco de dados
Arquitetura de Três Esquemas
ou de Três Níveis
Nível interno, visão física, esquema interno ou
nível físico: descreve como os dados estão
realmente armazenados
41
Arquitetura de um banco de dados
A cada nível um
esquema: View ou
userview, Esquema
conceitual,
Esquema físico
42
Resumindo: O que é um SGBD?
Um conjunto de programas que permite:
• Definição de dados
• Definição da ligação
entre os dados
• Proteção dos dados
(back-up, restore, backout, recuperação de
blocos, passwords, etc...)
• Geração de relatórios
• Controle físico dos
arquivos (espaço,
número de registros,
layout, última
atualização)
• Controle de performance
• Funções de criação,
modificação e eliminação
de informações
• E outras (depende do
SGBD)
43
Componentes de um SGBD
• Gerenciador de arquivos
• Gerenciador de banco de dados
• Processador de consultas
• Pré-compilador DML
• Compilador DDL
• Arquivo de dados
• Dicionário de dados
• Índices
44
Componentes de um SGBD
• Gerenciador de arquivos
− Gerencia a alocação do espaço necessário para
a armazenagem do arquivo no disco e as
estruturas de dados utilizadas para representar a
informação armazenada.
45
Componentes de um SGBD
• Gerenciador de banco de dados
− Fornece a interface entre os dados armazenados,
os programas de aplicação e as solicitações
submetidas ao sistema.
46
Componentes de um SGBD
• Principais tarefas do Gerenciador de
banco de dados
− Interage com o Gerenciador de Arquivos;
− Segurança;
− Integridade;
− Cópias de segurança e recuperação;
− Controle de concorrência.
47
Componentes de um SGBD
• Processador de consultas
− Traduz comandos numa linguagem de consulta em
instruções de baixo nível de tal forma que o
Gerenciador do Banco de Dados entenda
48
Componentes de um SGBD
• Pré-compilador DML
− Converte comandos DML embutidos em um
aplicativo para chamadas de procedimento normal
na linguagem hospedeira. Interage com o
Processador de Consultas para gerar o código
apropriado
49
Componentes de um SGBD
• Compilador DDL
− Converte comandos DDL em um conjunto de
tabelas contendo METADADOS (dados acerca dos
dados) que são armazenados em um Catálogo de
Dados
50
Componentes de um SGBD
• Arquivos de dados
− Conjunto de arquivos ou os dados propriamente
ditos
• Dicionário de dados
− Metadados ou dados sobre dados
51
Funcionamento de um SGBD
• O programa de aplicação chama o SGBD
para ler um registro lógico fornecendo
critérios de pesquisa
• O SGBD verifica se o que o usuário quer ler
existe e se ele tem autorização para isso
• O SGBD verifica na visão lógica (esquema
conceitual) qual(is) o(s) tipo(s) de dado(s)
lógicos necessários
52
Funcionamento de um SGBD
• O SGBD examina a descrição física e
determina qual(is) registro(s) físico(s) será(ão)
lido(s)
• O SGBD emite uma ordem ao sistema
operacional instituindo a ler o(s) registro(s)
solicitado(s).
• O sistema operacional interage com o meio
físico onde os dados estão armazenados.
53
Funcionamento de um SGBD
• Os dados são transmitidos para um buffer do
SGBD.
• Comparando o sub-esquema e o esquema, o
SGBD deriva dos dados do buffer o registro
lógico solicitado.
• O SGBD transfere os dados para o programa
de aplicação.
54
Funcionamento de um SGBD
• SGBD fornece um código de status ao
programa, informando o resultado da
operação, inclusive indicação de erros.
• Finalmente, o programa de aplicação
reassume o controle e pode operar com os
dados na área de comunicação.
55
Atividade em Dupla
• Modelo de dados (tipo de banco de
dados):
− Para qual tipo de aplicação é usado cada um
dos modelos?; quais as vantagens e
desvantagens de cada modelo?




Modelo de dados relacional;
Modelo de dados hierárquico;
Modelo de dados orientado a objetos;
Modelo de dados em redes.
56
FIM
57
Download