Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
Banco de Dados IIUniversidade 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:
– Criação de projeto de Banco de Dados
• Derivação do modelo conceitual para o modelo lógico relacional
• SQL - DDL
– Linguagens de Banco de Dados
• Álgebra Relacional
• SQL – Query e DML
OBJETIVOS DA DISCIPLINA
• Construir um projeto físico de BD
• Desenvolvimento de código SQL para uso em aplicações
BIBLIOGRAFIA BÁSICA
Referências Básicas• CARDOSO, Giselle; Cardoso, Virgínia. Linguagem em SQL - Fundamentos e
Práticas - Col. Saraiva Tec. São Paulo: Saraiva, 2013. ISBN: 9788502200456.
• CORONEL, Carlos; Peter, Robert. Sistemas de Banco de Dados - Projeto, Implementação e Administração - 8ª Edição. Norte-americana. São Paulo: Cengage Learning, 2011. ISBN:9788522107865.
• FERREIRA Baptista, Luciana. Linguagem SQL – Guia Prático. São Paulo: Érica, 2013. ISBN: 9788536503738.
• BEIGHLEY, Lynn. Use a Cabeça SQL. Rio de Janeiro: Alta Books, 2008. ISBN: 9788576082101.
• DAMAS, Luís. SQL – Structure Query Language. São Paulo: LTC, 2007. ISBN: 9788521615583.
Referências Básicas
• Elmasri, Rames; NAVATHE, Shamkant, Sistemas de Banco de Dados – 6ª Edição
• SILBERSCHATZ, Sistemas de Banco de Dados – 6ª Edição
• JOBSTRAIBIZER, Flávia. SQL para Profissionais. São Paulo: Digerate Books, 2009. ISBN: 9788578730635.
• PUGA, Sandra; França, Edson; Goya, Milton. Banco de Dados: Implementação PL/SQL e Oracle 11g. São Paulo: Pearson, 2013. ISBN: 9788581435329.
• SOUZA, Thiago Hernandes de. SQL Avançado e Teoria Relacional. Rio de Janeiro: Ciência Moderna, 2013. ISBN: 9788539904280.
BIBLIOGRAFIA BÁSICA
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!
16
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.