Banco de Dados Revisão de Banco de Dados Banco de Dados Adilson Silva [email protected].
Banco de Dados I§ão_Banco.pdf · Sistema de Banco de Dados: uma abordagem introdutória e...
Transcript of Banco de Dados I§ão_Banco.pdf · Sistema de Banco de Dados: uma abordagem introdutória e...
Banco de Dados IUniversidade Veiga de Almeida
Luiz Antônio Vivacqua Corrêa Meyer
http://vivacquabd.webnode.com.br
Sumário
Apresentação pessoal
Ementa e bibliografia
Introdução a Sistemas de Banco de Dados
Formação Profissional
• Formação acadêmica básica
• Engenharia Civil – PUC/RJ (1983)
• Especialização – CCE-PUC/RJ (1984)
• Experiência profissional – IBGE (1983 - 2018)
• Técnica
• Gerencial
• Chefe da Gerência de Administração de Banco de Dados (1989 a 1995, 1997 a 2002)
• Assistente da Coordenação de Projetos Especiais
(2009 a 2014)
• Chefe da Coordenação de Metodologia e Banco de Dados (2014 - 2018)
• Mestrado – COPPE/UFRJ (1995-1997)
• Análise de desempenho em Banco de Dados Orientado a Objetos
• Doutorado – COPPE/UFRJ (2002-2006)
• Sanduiche (2004-2005) –Universidade de Chicago
• Escalonamento de workflows científicos em Grids
Formação Profissional
• Experiência acadêmica
• UCidade(1999 – 2014)
• Disciplinas lecionadas
• Projeto de Banco de Dados
• Administração de Banco de Dados
• Laboratório de Banco de Dados
• UVA (2016 - )
• Disciplinas lecionadas
• Tópicos Especias em Mineração de Dados
• Banco de Dados I
• Banco de Dados II
• Gerenciamento de Projetos de Governança em TI
Ementa
• Principais pontos:
1. Conceitos Básicos de Banco de Dados
• Componentes
• Arquitetura
• Usuários
2. Modelo de Dados
• Diagrama de Classe da UML
• Modelo Relacional de Dados– Principais Características
– Conceitos de chaves
– Restrições – integridade e referencial
Ementa
• Principais pontos:
3. Mapeamento do Diagrama de Classe da UML para o Modelo Relacional
• Regras de derivação
• Projeto lógico do banco de dados
• Engenharia Reversa
4. Normalização de Dados
• As três primeiras formas normais
• Forma Normal Boyce-Codd
OBJETIVOS DA DISCIPLINA
• Conhecer os conceitos de banco de dados
• Elaborar o diagrama de classe da UML
• Elaborar o projeto lógico do banco de dados:
– Regras de derivação
– Normalização
BIBLIOGRAFIA BÁSICA
Referências Básicas1. RAMARKRISHNAN, Raghu. Sistemas de Gerenciamento de Banco
de Dados – 3. ed. Porto Alegre: AMGH, 2011. Minha Biblioteca.
2. LEAL, Gislaine Camile Lapasini. Linguagem, programação e banco
de dados: São Paulo: Intersaberes, 2015. Biblioteca Virtual.
3. MACHADO, Felipe Nery Rodrigues. Projeto e Implementação de
banco de dados- 3. ed. São Paulo: Erica, 2014. Minha Biblioteca.
BIBLIOGRAFIA BÁSICA
Referências Complementares
• Elmasri, Rames; NAVATHE, Shamkant, Sistemas de Banco de Dados – 6ª Edição
• SILBERSCHATZ, Sistemas de Banco de Dados – 6ª Edição
• Bezerra, Eduardo; Princípios de Análise e Projeto de Sistemas com UML – 3ª edição
• Heuser, Carlos; Projeto de Banco de Dados – 6ª Edição
• CARDOSO, Virginia. Sistema de Banco de Dados: uma abordagem introdutória e aplicada. São Paulo: Érica, 2012. Minha Biblioteca.
• OLIVEIRA Adalberto João Ferreira de. Método para Avaliação de risco operacional em banco de dados. São Paulo: Blucker, 2017. Disponível na Biblioteca Virtual.
Introdução
Sistemas baseados em arquivos
X
Sistemas baseados em banco de dados
Sistemas Baseados em Arquivos
◼ Visão geral no acesso ao dado
Sistema A
Funcionário
Pagamento
Cargo
Sistema B Funcionário
Projeto
Problemas?
Desvantagensdos Sistemasde Arquivos
Redundância e inconsistência de dados
• Duplicação de informações em diferentes arquivos
• Alteração não é refletida para todos os arquivos
Isolamento dos dados
• Dificuldade de acessar os dados
• Múltiplos formatos
• Necessidade de escrever um novo programa para realizar cada nova tarefa
Segurança
• Não existe mecanismos para criar visões nem para restringir o acesso
Atualização concorrente por vários usuários
Sistemas Baseados em Banco de Dados
◼ Visão geral no acesso ao dado
SGBD Dados
Sistema A
Sistema B
Quais são as grandes Funcionalidades da caixa preta ?
Como a caixa preta atende estas Funcionalidades ?
Sistema Gerenciador de Banco de Dados
• O que é:
• Coleção de dados inter-relacionados
• Conjunto dos programas para acessar os dados
• Um ambiente que é conveniente e eficiente de usar
SGBD Dados
Sistema B
Sistema A
Vantagensdos SBDS
Redução de redundância
• eliminação de múltiplas cópias do mesmo dado.
Eliminação de inconsistências
• consequência direta do item anterior.
Compartilhamento dos dados
• acesso concorrente.
Segurança de acesso
• O DBA define quem ( qual usuário ) pode acessar o que(qual tabela)
Integridade referencial
Independência de Dados
Independência de Dados
Processamento de arquivos◼ Qual é o formato do dado armazenado ?◼ Onde o dado está localizado ?◼ Como o dado é acessado ?◼ Ex: Obter o salário médio dos engenheiros
da empresa
Formato:◼ campo salário do tipo decimal fixo com 6
bytes começando na posição 29 do registro
Localização:◼ arquivo “funcionário.dat” localizado no
diretório “Func” do disco “E” na máquina “X”
Acesso:◼ arquivo de organização sequencial
ordenado pela matrícula.
Alteração em qualquer dos três aspectos implicam em alteração no programa!
17
Independência de Dados
#!/usr/bin/env perl# Author:Luiz A Vivacquause 5.006;my ($matricula, $nome, $cargo, $salario, $contador, $acumula_salario, $media);open(INFO, "<", “E:\Func\funcionario.dat") or die "cant open the file";while(chop($line=<INFO>)){
($matricula, $nome, $cargo, $salario)=split (/;/,$line);if ($cargo='engenheiro'){
$contador = $contador+1;$acumula_salario = $acumula_salario + $salario;
}}close(INFO);$media = $acumula_salario/$contador;print "media salarial dos engenheiros: ", $media, "\n";
Ex: Obter o salário médio dos engenheiros da empresa
Independência de Dados
◼ É a habilidade de se usar o dado sem conhecer detalhes de sua representação.
◼ Provê imunidade as aplicações com relação as estruturas de armazenamento e métodos de acesso.
◼ Independência Lógica
◼ Se o dado é acessado através de uma visão, então mudanças no esquema conceitual não interferem com o funcionamento do programa.
◼ Independência Física
◼ Mudanças na estrutura de armazenamento tais como a criação de índices ou a localização dos arquivos físicos não interferem com o funcionamento do programa.
Independência de Dados
SELECT AVG(SALARIO)
FROM FUNCIONARIO
WHERE CARGO = ‘ENGENHEIRO’;
Obter o salário médio dos engenheiros da empresa
Compilador
DML
RequisiçõesCompiladas
Requisições
“EMBEDED”
Requisições
“AD-HOC”
Otimizador
RequisiçõesOtimizadas
Gerente emtempo de
execução
Dados
MetaDados
LOG
Restrições de
Segurança e
Integridade
Concorrência e
Recuperação De
Falhas
Plano de Execução
da Consulta
Armazenamento
Visão Macro do SGBD
Visão Macro do SGBD
❑ Otimizador
▪ Escolhe a melhor maneira de executar uma consulta.
▪ Diversos planos de execução são gerados e escolhido aquele com o menor custo.
▪ Custo estimado em função do número de operações de acesso a disco.
❑ Segurança e Integridade
▪ O SGBD deve monitorar e controlar o acesso aos objetos de forma a permitir que somente usuários autorizados tenham acesso.
▪ Garantir que restrições de integridade (referencial, entidade, domínio) não sejam violadas.
Visão Macro do SGBD
❑ Concorrência e Recuperação de Falhas
▪ O sistema deve estar apto a detectar falhas e a recuperar
o banco de dados ao seu último estado consistente
➢Ex: falta de energia
❑ Controle de Concorrência
▪ O SGBD deve permitir o acesso concorrente por
múltiplos usuários de forma transparente e segura.