21
Banco de Dados II Universidade Veiga de Almeida Luiz Antônio Vivacqua Corrêa Meyer [email protected] [email protected] http://vivacquabd.webnode.com.br

Banco de Dados I - files.vivacquabd.webnode.com.brfiles.vivacquabd.webnode.com.br/200000155... · Formação Profissional • Formação acadêmica básica • Engenharia Civil –PUC/RJ

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Banco de Dados I - files.vivacquabd.webnode.com.brfiles.vivacquabd.webnode.com.br/200000155... · Formação Profissional • Formação acadêmica básica • Engenharia Civil –PUC/RJ

Banco de Dados IIUniversidade Veiga de Almeida

Luiz Antônio Vivacqua Corrêa Meyer

[email protected]

[email protected]

http://vivacquabd.webnode.com.br

Page 2: Banco de Dados I - files.vivacquabd.webnode.com.brfiles.vivacquabd.webnode.com.br/200000155... · Formação Profissional • Formação acadêmica básica • Engenharia Civil –PUC/RJ

Sumário

Apresentação pessoal

Ementa e bibliografia

Introdução a Sistemas de Banco de Dados

Page 3: Banco de Dados I - files.vivacquabd.webnode.com.brfiles.vivacquabd.webnode.com.br/200000155... · Formação Profissional • Formação acadêmica básica • Engenharia Civil –PUC/RJ

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

Page 4: Banco de Dados I - files.vivacquabd.webnode.com.brfiles.vivacquabd.webnode.com.br/200000155... · Formação Profissional • Formação acadêmica básica • Engenharia Civil –PUC/RJ

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

Page 5: Banco de Dados I - files.vivacquabd.webnode.com.brfiles.vivacquabd.webnode.com.br/200000155... · Formação Profissional • Formação acadêmica básica • Engenharia Civil –PUC/RJ

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

Page 6: Banco de Dados I - files.vivacquabd.webnode.com.brfiles.vivacquabd.webnode.com.br/200000155... · Formação Profissional • Formação acadêmica básica • Engenharia Civil –PUC/RJ

OBJETIVOS DA DISCIPLINA

• Construir um projeto físico de BD

• Desenvolvimento de código SQL para uso em aplicações

Page 7: Banco de Dados I - files.vivacquabd.webnode.com.brfiles.vivacquabd.webnode.com.br/200000155... · Formação Profissional • Formação acadêmica básica • Engenharia Civil –PUC/RJ

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.

Page 8: Banco de Dados I - files.vivacquabd.webnode.com.brfiles.vivacquabd.webnode.com.br/200000155... · Formação Profissional • Formação acadêmica básica • Engenharia Civil –PUC/RJ

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

Page 9: Banco de Dados I - files.vivacquabd.webnode.com.brfiles.vivacquabd.webnode.com.br/200000155... · Formação Profissional • Formação acadêmica básica • Engenharia Civil –PUC/RJ

Introdução

Sistemas baseados em arquivos

X

Sistemas baseados em banco de dados

Page 10: Banco de Dados I - files.vivacquabd.webnode.com.brfiles.vivacquabd.webnode.com.br/200000155... · Formação Profissional • Formação acadêmica básica • Engenharia Civil –PUC/RJ

Sistemas Baseados em Arquivos

◼ Visão geral no acesso ao dado

Sistema A

Funcionário

Pagamento

Cargo

Sistema B Funcionário

Projeto

Problemas?

Page 11: Banco de Dados I - files.vivacquabd.webnode.com.brfiles.vivacquabd.webnode.com.br/200000155... · Formação Profissional • Formação acadêmica básica • Engenharia Civil –PUC/RJ

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

Page 12: Banco de Dados I - files.vivacquabd.webnode.com.brfiles.vivacquabd.webnode.com.br/200000155... · Formação Profissional • Formação acadêmica básica • Engenharia Civil –PUC/RJ

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 ?

Page 13: Banco de Dados I - files.vivacquabd.webnode.com.brfiles.vivacquabd.webnode.com.br/200000155... · Formação Profissional • Formação acadêmica básica • Engenharia Civil –PUC/RJ

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

Page 14: Banco de Dados I - files.vivacquabd.webnode.com.brfiles.vivacquabd.webnode.com.br/200000155... · Formação Profissional • Formação acadêmica básica • Engenharia Civil –PUC/RJ

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

Page 15: Banco de Dados I - files.vivacquabd.webnode.com.brfiles.vivacquabd.webnode.com.br/200000155... · Formação Profissional • Formação acadêmica básica • Engenharia Civil –PUC/RJ

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!

Page 16: Banco de Dados I - files.vivacquabd.webnode.com.brfiles.vivacquabd.webnode.com.br/200000155... · Formação Profissional • Formação acadêmica básica • Engenharia Civil –PUC/RJ

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

Page 17: Banco de Dados I - files.vivacquabd.webnode.com.brfiles.vivacquabd.webnode.com.br/200000155... · Formação Profissional • Formação acadêmica básica • Engenharia Civil –PUC/RJ

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.

Page 18: Banco de Dados I - files.vivacquabd.webnode.com.brfiles.vivacquabd.webnode.com.br/200000155... · Formação Profissional • Formação acadêmica básica • Engenharia Civil –PUC/RJ

Independência de Dados

SELECT AVG(SALARIO)

FROM FUNCIONARIO

WHERE CARGO = ‘ENGENHEIRO’;

Obter o salário médio dos engenheiros da empresa

Page 19: Banco de Dados I - files.vivacquabd.webnode.com.brfiles.vivacquabd.webnode.com.br/200000155... · Formação Profissional • Formação acadêmica básica • Engenharia Civil –PUC/RJ

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

Page 20: Banco de Dados I - files.vivacquabd.webnode.com.brfiles.vivacquabd.webnode.com.br/200000155... · Formação Profissional • Formação acadêmica básica • Engenharia Civil –PUC/RJ

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.

Page 21: Banco de Dados I - files.vivacquabd.webnode.com.brfiles.vivacquabd.webnode.com.br/200000155... · Formação Profissional • Formação acadêmica básica • Engenharia Civil –PUC/RJ

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.