154
Banco de Dados Prof. Renato Rondon

Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Banco de DadosProf. Renato Rondon

Page 2: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Dado, Informação e ConhecimentoCiência da Informação: Ciência que estuda a informação desde sua concepção até o processo de transformação de dados em conhecimento.

Page 3: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Dado, Informação e ConhecimentoDado: Unidade mais básica da Informação. É a matéria prima. Informação sem tratamento. Isoladamente, o dado não possui nenhum significado.

Page 4: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Dado, Informação e ConhecimentoInformação: Dados agrupados/organizados/tratados, o que adiciona uma camada de significado aos dados.

Page 5: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Dado, Informação e ConhecimentoConhecimento: Informação tratada e analisada, gerando uma experiência e/ou uma tomada de decisão.

Page 6: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Dado, Informação e Conhecimento(Questão) Para a ciência da informação, informação e conhecimento são termos equivalentes em sua definição.

● ( ) CERTO ( ) ERRADO

Page 7: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Dado, Informação e Conhecimento(Questão) O conceito de conhecimento é mais complexo que o de informação, pois conhecimento pressupõe um processo de compreensão e internalização das informações recebidas, possivelmente combinando-as.

● ( ) CERTO ( ) ERRADO

Page 8: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Banco de DadosBanco de Dados: Coleção de dados inter-relacionados, representando informações sobre um domínio específico.

● Deve ser organizado de forma a dar mais eficiência durante uma pesquisa, recuperação e manipulação destes dados.

Page 9: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Modelagem: Conceitual, Lógica e FísicaModelagem Conceitual: Abstração de mais alto nível. É a primeira fase da modelagem, representando os requisitos de dados do domínio de forma independente do modelo de Banco de Dados.

● Possibilita uma visão simplificada, sem detalhes da implementação, facilitando a compreensão inclusive por usuários leigos.

Page 10: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Modelagem: Conceitual, Lógica e FísicaModelagem Conceitual (Exemplo textual)

● Venda○ Data da Venda, Cliente, Produto, Quantidade

● Cadastro de Cliente○ Nome, Endereço, Telefone, Email

● Cadastro de Produto○ Descrição do Produto, Tipo, Preço

Page 11: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Modelagem: Conceitual, Lógica e FísicaModelagem Lógica: Representação da modelagem conceitual em um modelo de Banco de Dados e com ênfase na eficiência de armazenamento, por exemplo com a remoção de redundâncias.

● Os tipos de dados começam a ser definidos e a modelagem está mais próxima da implementação física, mas ainda assim de fácil compreensão mesmo para usuários leigos.

Page 12: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Modelagem: Conceitual, Lógica e FísicaModelagem Lógica (Exemplo)

Page 13: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Modelagem: Conceitual, Lógica e FísicaModelagem Física: Abstração de mais baixo nível. Implementação física da modelagem lógica em um SGBD (Sistema de Gerenciamento de Banco de Dados), com ênfase na eficiência de acesso.

● Detalhamento dos componentes, como tabelas, campos, tipos de valores e regras.

Page 14: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Modelagem: Conceitual, Lógica e FísicaModelagem Física (Exemplo)

Page 15: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Modelagem: Conceitual, Lógica e FísicaFerramentas CASE: A utilização de Ferramentas CASE / Ferramentas Visuais facilitam a criação de protótipos e possibilitam ainda que sejam gerados os códigos equivalentes para a criação física da estrutura do Banco de Dados, bem como toda a documentação do projeto.

Page 16: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Modelagem: Conceitual, Lógica e Física(Questão) Um projeto conceitual completo e sem redundância contém um modelo com a descrição dos objetos que devem fazer parte do banco dados, além de manter um registro da forma com que esses dados estão guardados no SGBD.

● ( ) CERTO ( ) ERRADO

Page 17: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Modelagem: Conceitual, Lógica e Física(Questão) Em um projeto de banco de dados, a modelagem conceitual define quais dados vão aparecer no banco de dados, mas sem considerar a sua implementação.

● ( ) CERTO ( ) ERRADO

Page 18: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Modelo Entidade-RelacionamentoModelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos envolvidos em um domínio (Entidade), como estes objetos se relacionam entre si (Relacionamentos) e as características destes objetos (Atributos).

Page 19: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Modelo Entidade-RelacionamentoEntidades: Objetos envolvidos em um domínio.

● Entidades Fortes: Existência independe de outras entidades.

● Entidades Fracas: Dependem de outras entidades para existirem (não fazem sentido individualmente).

Page 20: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Modelo Entidade-RelacionamentoRelacionamentos: Como os objetos envolvidos em um domínio se relacionam entre si.

● 1:1 (um para um)● 1:N (um para muitos)● N:N (muitos para muitos)

Page 21: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Modelo Entidade-RelacionamentoAtributos: Características dos objetos envolvidos em um domínio.

Page 22: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Modelo Entidade-Relacionamento(Questão) No relacionamento um-para-um, cada elemento de uma entidade relaciona-se com um, e somente um, elemento de outra entidade.

● ( ) CERTO ( ) ERRADO

Page 23: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Modelo Entidade-Relacionamento(Questão) Quando um elemento da entidade 1 está relacionado com muitos elementos da entidade 2, mas cada elemento da entidade 2 somente pode estar relacionado a um elemento da entidade 1, tem-se um relacionamento do tipo um-para-muitos.

● ( ) CERTO ( ) ERRADO

Page 24: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Modelo Entidade-Relacionamento(Questão) Conforme o modelo ER em questão, um tipo de produto pode estar associado a somente 1 produto e cada produto possui um preço e uma descrição.

● ( ) CERTO ( ) ERRADO

Page 25: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Modelo Entidade-Relacionamento(Questão) Sobre a modelagem ER abaixo, é correto afirmar que: a modelagem não está correta, pois existem atributos de mesmo nome em entidades diferentes.

● ( ) CERTO ( ) ERRADO

Page 26: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Bancos de Dados RelacionaisBanco de Dados: Coleção de dados inter-relacionados, representando informações sobre um domínio específico.

● Deve ser organizado de forma a dar mais eficiência durante uma pesquisa, recuperação e manipulação destes dados.

Page 27: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Bancos de Dados RelacionaisSGBD (Sistema de Gerenciamento de Banco de Dados): software que possibilita manipular os registros do Banco de Dados, controlando armazenamento, recuperação, exclusão, segurança e integridade dos Dados.

● Exemplos de SGBD’s(*): Oracle, SQL Server, MySQL, PostgreSQL e MariaDB.

* O Excel não é um SGBD!

Page 28: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Bancos de Dados RelacionaisFunções do SGBD: As funções de um sistema de gerenciamento de banco de dados incluem transformar e apresentar dados, controlar o acesso de multiusuário e prover interfaces de comunicação do banco de dados.

Page 29: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Bancos de Dados RelacionaisBancos de Dados Relacionais: Armazenam os dados em forma de Tabelas, compostas por Colunas e Linhas.

● Tabela (Entidade): Dados são armazenados em Tabelas;● Coluna (Atributo/Campo): Cada coluna armazena um tipo

definido de dados (texto, inteiro, decimal, data, etc.);● Linha (Tupla/Registro): Cada linha é constituída pela lista

ordenada das colunas e representa um registro, identificado por uma chave primária.

Page 30: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Bancos de Dados RelacionaisChave Primária: é formada pelo agrupamento de um ou mais atributos, cujo valor nunca se repete em uma mesma Entidade. É um identificador para o registro. Não permite valores nulos.

● Cada dado em um Banco de Dados Relacional pode ser acessado utilizando o nome da tabela, coluna e o valor da chave primária da linha.

Page 31: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Bancos de Dados RelacionaisChave Estrangeira: é formada por um ou mais atributos, cujos valores necessariamente aparecem na chave primária de uma Entidade relacionada.

Page 32: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Bancos de Dados RelacionaisEntidades Associativas: Utilizadas para resolver relacionamentos N:N.

Page 33: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Bancos de Dados Relacionais(Questão) Com relação aos SGBD, com um banco de dados relacional, é correto afirmar que o Excel deve ser utilizado como SGBD quando os dados envolvidos não possuem Chave-Primária.

● ( ) CERTO ( ) ERRADO

Page 34: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Bancos de Dados Relacionais(Questão) SGBD é uma ferramenta capaz de criar complexas planilhas eletrônicas.

● ( ) CERTO ( ) ERRADO

Page 35: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Bancos de Dados Relacionais(Questão) As funções de um sistema de gerenciamento de banco de dados (SGBD) incluem gerenciar a integridade de dados, o dicionário e o armazenamento de dados, bem como a memória do computador enquanto o SGBD estiver em execução.

● ( ) CERTO ( ) ERRADO

Page 36: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Bancos de Dados Relacionais(Questão) Um SGBD permite que vários aplicativos utilizem dados de um mesmo banco de dados compartilhado.

● ( ) CERTO ( ) ERRADO

Page 37: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Bancos de Dados Relacionais(Questão) Uma chave primária é uma ou mais linhas cujo valor ou valores identificam de modo exclusivo cada registro de uma tabela. Uma chave primária permite valores nulos e deve sempre ter um índice variável. Chaves estrangeiras são usadas para relacionar uma tabela a chaves primárias em outras tabelas.

● ( ) CERTO ( ) ERRADO

Page 38: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Bancos de Dados Relacionais(Questão) Com relação a um SGBD, é correto afirmar que um campo que contenha o nome de uma pessoa deve ser utilizado como campo-chave, permitindo assim o acesso direto às informações armazenadas sobre a referida pessoa.

● ( ) CERTO ( ) ERRADO

Page 39: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Bancos de Dados Relacionais(Questão) Com relação aos SGBD, com um banco de dados relacional, é correto afirmar que no projeto do sistema de gerenciamento de uma escola pode-se utilizar a data de nascimento dos alunos como Chave-Primária, desde que se defina no SGBD que qualquer Chave-Primária pode ser duplicada na mesma coluna para uma mesma tabela.

● ( ) CERTO ( ) ERRADO

Page 40: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Bancos de Dados Relacionais(Questão) Com relação aos SGBD, com um banco de dados relacional, é correto afirmar que o valor de um campo é considerado nulo sempre que este for igual a 0 (zero).

● ( ) CERTO ( ) ERRADO

Page 41: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Bancos de Dados Relacionais(Questão) Em um banco de dados a Chave-Estrangeira deve ser utilizada sempre que os dados da tabela principal forem corrompidos.

● ( ) CERTO ( ) ERRADO

Page 42: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Bancos de Dados Relacionais(Questão) O relacionamento em um banco de dados é a interligação de dois bancos de dados que estão em computadores diferentes, mas conectados por uma rede local.

● ( ) CERTO ( ) ERRADO

Page 43: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Bancos de Dados Relacionais(Questão) Uma tabela com uma chave primária, que receba com freqüência valores nulos, poderá receber um relacionamento muitos-para-muitos com outra tabela, desde que esta seja chave estrangeira na segunda tabela.

● ( ) CERTO ( ) ERRADO

Page 44: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Bancos de Dados Relacionais(Questão) Em um relacionamento muitos-para-muitos, deve-se criar uma tabela intermediária e fazer um relacionamento um-para-muitos entre esta tabela intermediária e as tabelas principais.

● ( ) CERTO ( ) ERRADO

Page 45: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Bancos de Dados Relacionais(Questão) Pode-se definir um relacionamento muitos-para-muitos entre duas tabelas criando-se uma terceira tabela e definindo-se os relacionamentos um-para-muitos e muitos-para-um entre esta última e as duas primeiras tabelas..

● ( ) CERTO ( ) ERRADO

Page 46: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Bancos de Dados Relacionais(Questão) Considerando-se o diagrama apresentado, infere-se que, na aplicação das regras para a transformação do modelo ER em um modelo relacional, é necessário realizar a fusão das tabelas referentes às entidades envolvidas no relacionamento.

● ( ) CERTO ( ) ERRADO

Page 47: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Normalização (Formas Normais)Normalização: Técnica que permite depurar um projeto de banco de dados, através da identificação de inconsistências e evitando redundâncias, de forma a construir um banco de dados mais confiável.

● 1FN (primeira forma normal)● 2FN (segunda forma normal)● 3FN (terceira forma normal)

Page 48: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Normalização (Formas Normais)1FN (primeira forma normal): todos os seus atributos devem ser monovalorados e atômicos.

Exemplo:

Aluno={id_aluno, nome, telefones, endereço, data_nascimento, idade}

Na 1FN:

Aluno={id_aluno, nome, rua, bairro, cep, municipio, uf, data_nascimento, idade}Aluno_Telefone={id_aluno, id_telefone, numero}.

Page 49: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Normalização (Formas Normais)2FN (segunda forma normal): a primeira forma normal deve estar satisfeita e todos os atributos não chave devem ser totalmente dependentes da chave primária.

Exemplo:

Aluno={id_aluno, nome, rua, bairro, cep, municipio, uf, data_nascimento, idade}

Na 2FN:

Aluno={id_aluno, nome, rua, bairro, cep, id_municipio, data_nascimento, idade}Municipio={id_municipio, nome, uf}.

Page 50: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Normalização (Formas Normais)3FN (terceira forma normal): a segunda forma normal deve estar satisfeita e todos atributos não chave não deve depender de outro atributo não-chave.

Exemplo

Aluno={id_aluno, nome, rua, bairro, cep, id_municipio, data_nascimento, idade}.

Na 3FN:

Aluno={id_aluno, nome, rua, bairro, cep, id_municipio, data_nascimento}

Page 51: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Normalização (Formas Normais)(Questão) Um banco de dados relacional deve evitar a redundância e a inconsistência de dados.

● ( ) CERTO ( ) ERRADO

Page 52: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Normalização (Formas Normais)(Questão) Uma tabela está na ___ , se e somente se ela estiver na ___ e os atributos não-chave forem ___.

Os espaços podem ser corretamente preenchidos, respectivamente, por:

(A) FNBC, 1FN, totalmente dependentes da totalidade da chave primária(B) 3FN, 2FN, independentes da chave primária(C) 3FN, 1FN, totalmente dependentes de parte da chave primária(D) 2FN, 1FN, totalmente dependentes de parte da chave primária(E) 2FN, 1FN, totalmente dependentes da totalidade da chave primária

Page 53: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Normalização (Formas Normais)(Questão) Se na entidade ItemPedido fosse adicionado o atributo valorTotalItem e nesse atributo fosse armazenado o resultado da multiplicação do valor contido no atributo qtdItePed da entidade ItemPedido pelo valor contido no atributo PreUniPro da entidade Produto, a entidade ItemPedido violaria todas as formas normais.

● ( ) CERTO ( ) ERRADO

Page 54: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Banco de DadosProf. Renato Rondon

Page 55: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

RevisãoBanco de Dados - Aula 1

● Contextualização● Dado, Informação e Conhecimento● Banco de Dados● Modelagem: Conceitual, Lógica e Física● Modelo Entidade-Relacionamento● Bancos de Dados Relacionais● Normalização (Formas Normais)

Page 56: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Demonstração

Page 57: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Linguagem SQLLinguagem SQL: O Banco de Dados é manipulado, através do SGBD, utilizando uma linguagem própria, e a SQL (Linguagem de Consulta Estruturada) é a linguagem de manipulação de dados mais utilizada no mundo.

Page 58: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Linguagem SQL - DMLData Manipulation Language (DML): Grupo de comandos da linguagem SQL para Manipulação de dados, através da recuperação, inclusão, modificação e remoção de registros no banco de dados. Comandos principais:

● SELECT (Selecionar/Recuperar)● INSERT (Inserir/Incluir)● UPDATE (Atualizar/Modificar)● DELETE (Excluir/Remover)

Page 59: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Simulação

* Maiores Bilheterias de todos os tempos. Fonte: https://www.boxofficemojo.com (maio/2019)

Page 60: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos
Page 61: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Linguagem SQL - DMLSELECT (Selecionar/Buscar)

● SELECT [colunas]FROM [tabelas]WHERE [condição]GROUP BY [agrupamento]HAVING [condição do grupo]ORDER BY [ordenação]LIMIT [quantidade de linhas]

Page 62: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Linguagem SQL - DMLExemplos:

SELECT ip.idPed, ip.idItePed, ip.idPro, pro.nomePro, ip.qtdItePed, pro.PreUnitPro, (ip.qtdItePed * pro.PreUnitPro) as Total FROM Produto pro, ItemPedido ip WHERE ip.idPro = pro.idPro AND ip.idPed <=3 ORDER BY ip.idPed;

SELECT ip.idPed, ip.idItePed, ip.idPro, pro.nomePro, ip.qtdItePed, pro.PreUnitPro, (ip.qtdItePed * pro.PreUnitPro) as Total FROM Produto pro JOIN ItemPedido ip ON ip.idPro = pro.idPro AND ip.idPed <=3 ORDER BY ip.idPed;

Page 63: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Linguagem SQL - DMLSUBSELECT: Consulta dentro de outra consulta.

Exemplo:

SELECT nomeFROM DepartamentosWHERE codDepto IN (SELECT codDepto

FROM EmpregadosWHERE salario < 2000)

Page 64: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Linguagem SQL - DMLOperadores:

● Aritméticos: +, -, *, /● Lógicos: AND, OR, NOT● Relacionais: =, <, >, <=, >=, <>● LIKE (texto como): _ (1 caracter), % (1 ou mais caracteres)● BETWEEN: valores em um intervalo fechado (de AND até)● IN: valor dentro de uma lista. Ex.: valor IN (1,2,3,4)

Page 65: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Linguagem SQL - DMLFunções de Agregação: Permitem executar uma operação aritmética nos valores de uma coluna em todos os registros de uma tabela. Exemplos:

● MAX (valor máximo de um conjunto de valores)● MIN (valor mínimo de um conjunto de valores)● AVG (média aritmética de um conjunto de valores)● SUM (total da soma de um conjunto de valores)● COUNT (contar quantidade total de registros)

Page 66: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Simulação

* Maiores Bilheterias de todos os tempos. Fonte: https://www.boxofficemojo.com (maio/2019)

Page 67: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Linguagem SQL - DMLINSERT (Inserir)

● INSERT INTO [tabela]VALUES [valores]

Exemplos:

INSERT INTO Departamento VALUES (10, ‘Recursos Humanos’, ‘(86)3216-9600’);

insert into tabela values (1,’B’,3.99), (1,’C’,3.45), (1,’D’,4.05), (2,’A’,1.69), (2,’B’,1.78), (2,’D’,1.78), (3,’A’,2.01), (3,’B’,2.01));

Page 68: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Simulação

* Maiores Bilheterias de todos os tempos. Fonte: https://www.boxofficemojo.com (maio/2019)

Page 69: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Linguagem SQL - DMLUPDATE (Alterar)

● UPDATE [tabela]SET [coluna=valor]WHERE [condição]

Exemplos:

update tabela set d=125 where b=’A’;

update tabela set d=d+157 where b<>’A’;

Page 70: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Simulação

* Maiores Bilheterias de todos os tempos. Fonte: https://www.boxofficemojo.com (maio/2019)

Page 71: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Linguagem SQL - DMLDELETE (Apagar/Excluir)

● DELETE FROM [tabela]WHERE [condição]

Page 72: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Simulação

* Maiores Bilheterias de todos os tempos. Fonte: https://www.boxofficemojo.com (maio/2019)

Page 73: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Linguagem SQL(Questão) Com relação aos SGBD, com um banco de dados relacional, é correto afirmar que o SQL é um exemplo de linguagem utilizada para consulta na maioria dos SGBD modernos.

● ( ) CERTO ( ) ERRADO

Page 74: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Linguagem SQL - DML(Questão) Em um banco de dados relacional, considere uma tabela com o nome Produto, composta por três colunas definidas com os nomes Codigo, Estoque e Valor. Usando-se a linguagem SQL padrão para listar todas as linhas desta tabela, deve-se executar o comando:

● a) SELECT All FROM Table Produto● b) SELECT Produto FROM Codigo, Estoque, Valor● c) SELECT Codigo, Estoque, Valor FROM Produto● d) SELECT Produto FROM All● e) FROM * SELECT *

Page 75: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Linguagem SQL - DML(Questão) Considere as tabelas de bancos de dados T1, T2 e T3, que contêm, respectivamente, 10, 500 e 2.000 registros, e o comando SQL a seguir: select count(*) FROM T1, T2, T3Assinale a opção que apresenta o número exibido no resultado da execução desse comando.

● (A) 10000000● (B) 1000000● (C) 2000● (D) 500● (E) 10

Page 76: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Linguagem SQL - DML(Questão) para se efetuar a JUNÇÃO entre tabelas é essencial que não exista relacionamento entre elas.

● ( ) CERTO ( ) ERRADO

Page 77: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Linguagem SQL - DML(Questão) Um Auditor está executando operações em uma tabela chamada cidadao de um banco de dados aberto e em condições ideais. Para exibir os dados de todas as pessoas que possuem na segunda letra do campo nome a vogal a, deve-se utilizar a instrução SQL: SELECT * FROM cidadao WHERE

● (A) nome = '*a';● (B) nome LIKE '_a%';● (C) nome CONTAINS('a',2);● (D) nome LIKE '*a';● (E) nome HAVE(2,'a');

Page 78: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Linguagem SQL - DML(Questão) A cláusula GROUP BY do comando SELECT é utilizada para dividir colunas em conjuntos maiores de dados relacionados entre si.

● ( ) CERTO ( ) ERRADO

Page 79: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Linguagem SQL - DML(Questão) No uso da linguagem SQL para manipulação de dados em um banco de dados, a cláusula WHERE funciona exatamente igual à cláusula HAVING.

● ( ) CERTO ( ) ERRADO

Page 80: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Linguagem SQL - DML(Questão) No uso da linguagem SQL para manipulação de dados em um banco de dados, a cláusula GROUP BY deve ser colocada antes da cláusula HAVING, pois os grupos são formados e as funções de grupos são calculadas antes de resolver a cláusula HAVING.

● ( ) CERTO ( ) ERRADO

Page 81: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos
Page 82: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Linguagem SQL - DDLData Description Language (DDL): Grupo de comandos da linguagem SQL para a Definição das estruturas de dados, com instruções para criação, modificação e remoção das tabelas, assim como criação de índices. Comandos principais:

● CREATE (Criar)● DROP (Deletar)● ALTER (Alterar)

Page 83: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Linguagem SQL - DDLCREATE: Comando de Criação, por exemplo para DATABASE, TABLE ou INDEX.

Exemplo:

create table tabela(a int(4) unsigned zerofill default ’0000’ not null,b char(20) default ’’ not null,c double(16,2) default ’0.00’ not null,primary key(a,b,c));

Page 84: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Simulação

* Maiores Bilheterias de todos os tempos. Fonte: https://www.boxofficemojo.com (maio/2019)

Page 85: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Linguagem SQL - DDLALTER: Comando de Alteração.

Exemplo:

alter table tabela add d int(6) unsigned zerofill default ’0’;

DROP: Comando para Remoção.

● DROP DATABASE● DROP TABLE● DROP INDEX

Page 86: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Simulação

* Maiores Bilheterias de todos os tempos. Fonte: https://www.boxofficemojo.com (maio/2019)

Page 87: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Linguagem SQL - DDL(Questão) A DML (Data Manipulation Language) é responsável pela manipulação de estruturas de dados, sendo composta por comandos destinados à criação, alteração e exclusão de bancos de dados e tabelas. Os comandos Create, Alter, Drop e Rename são exemplos de comandos da classe DML.

● ( ) CERTO ( ) ERRADO

Page 88: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Linguagem SQL - DDL(Questão) Indexar um campo é um recurso que acelera a pesquisa e a classificação em uma tabela baseada em valores de chave e pode impor exclusividade nas linhas de uma tabela. A chave primária de uma tabela é automaticamente indexada. Alguns campos não podem ser indexados por causa de seus tipos de dados, como por exemplo, campos Objeto OLE.

● ( ) CERTO ( ) ERRADO

Page 89: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos
Page 90: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Oracle: SGDB mais utilizado no mundo. Surgiu no final da década de 70 e suas funcionalidades priorizam a segurança e a performance, sendo bastante indicado para grandes empresas com aplicações críticas e que possuem requisitos de negócios mais complexos.

Oracle

Page 91: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

PL/SQL: Dialeto SQL suportado pelo Banco de Dados Oracle, utilizada no processamento de transações.

● “A PL/SQL é uma linguagem processual projetada especificamente para incluir instruções SQL em sua sintaxe. As unidades de programa PL/SQL são compiladas pelo servidor do Oracle Database e armazenadas no banco de dados. E, em tempo de execução, tanto a PL/SQL quanto o SQL são executados no mesmo processo do servidor, o que proporciona eficiência ideal”. (https://www.oracle.com/)

Oracle

Page 92: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Blocos: A PL/SQL trabalha com blocos, e cada bloco pode conter código de programa (com Estruturas de Decisão e Repetição), declarações de variáveis, tratamento de erro, procedimentos, funções e também outros blocos.

Oracle

Page 93: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Sessões: Cada Bloco PL/SQL possui três Sessões (DECLARE, BEGIN, EXCEPTION), e é finalizado por um “END;”.

● DECLARE (seção opcional voltada para declaração (variáveis, constantes, tipos, etc.))

● BEGIN (seção com os comandos SQL e PL/SQL que serão executados para manipular dados do banco de dados)

● EXCEPTION (seção opcional para tratamento de exceções)● END; (finaliza o bloco)

Oracle

Page 94: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

COMMIT e ROLLBACK: Garantem maior segurança nas transações, evitando que dados sejam gravados incompletos - seja por falha sistêmica ou falha física (do equipamento) - e permite propagação correta de dados em sistemas multiusuários com manipulação concorrente.

● COMMIT: finaliza uma transação e “grava” as modificações efetuadas.

● ROLLBACK: descarta as mudanças efetuadas desde o último COMMIT ou ROLLBACK.

Oracle

Page 95: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

SELECT FOR UPDATE: Instrução que permite bloquear os registros no conjunto de resultados do SELECT, evitando alterações externas. Os bloqueios são liberados após a emissão de uma instrução de COMMIT ou ROLLBACK.

● As demais requisições àquele registro ficam aguardando a liberação do bloqueio.

Oracle

Page 96: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Deadlock: Em um banco de dados, um deadlock é uma situação na qual duas ou mais transações estão aguardando uma pela outra para liberar seus próprios bloqueios.

Oracle

Page 97: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

SELECT FROM DUAL: O Oracle exige o uso da cláusula FROM, e a tabela DUAL é criada automaticamente para possibilitar retornos que não são de uma tabela específica, por exemplo uma operação matemática. A DUAL tem uma coluna, DUMMY, definida como VARCHAR2(1) e contém uma linha com um valor X.

Oracle

Page 98: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Stored Procedures: Procedimentos PL/SQL armazenados no banco de dados, podendo ser acessados por vários aplicativos diferentes, o que reduz consideravelmente os requisitos de manutenção para grandes aplicações, uma vez que apenas uma cópia do procedimento precisa ser mantida, e ela está no banco de dados. Um Stored Procedure não é recompilado sempre que é chamado.

Oracle

Page 99: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Pacotes: Um pacote encapsula procedimentos, assim como outros objetos PL/SQL (como funções, constantes, variáveis e exceções). O corpo do pacote contém o código PL/SQL que define os procedimentos e outros objetos declarados na especificação do pacote.

Oracle

Page 100: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

VIEW: Uma Visão é uma tabela lógica baseada em uma ou mais tabelas ou visões. Uma visão não contém dados em si. É o resultado de uma consulta armazenada e previamente otimizada, propiciando maior eficiência e também maior segurança, disponibilizando uma visão limitada e controlada sobre os dados.

Exemplo:

CREATE VIEW PEDIDO1 AS SELECT ip.idItePed, ip.idPro, pro.nomePro, ip.qtdItePed, ro.PreUnitPro FROM Produto pro, ItemPedido ip WHERE ip.idPro = pro.idPro AND ip.idPed = 1;

Oracle

Page 101: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Trigger: Um Gatilho dispara automaticamente a execução de um bloco PL/SQL assim que determinada condição ocorrer. Garante que determinadas ações sejam executadas quando um evento pré-definido ocorrer.

Oracle

Page 102: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Oracle(Questão) Uma transação é uma unidade lógica que contém um conjunto de operações que formam uma unidade de processamento. O comando SQL responsável por fechar uma transação, confirmando as operações feitas é o COMMIT. Para desfazer todas as operações, o comando é ROLLBACK.

● ( ) CERTO ( ) ERRADO

Page 103: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Oracle(Questão) Uma TRANSACTION será concluída ao encontrar a instrução COMMIT TRANSACTION.

● ( ) CERTO ( ) ERRADO

Page 104: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Oracle(Questão) Uma TRANSACTION só será concluída quando encontrar a instrução ROLLBACK TRANSACTION.

● ( ) CERTO ( ) ERRADO

Page 105: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Oracle(Questão) Um Auditor digitou em um banco de dados Oracle, aberto e em condições ideais, a instrução PL/SQL:

SELECT id, nome FROM cidadao WHERE id = '001' FOR UPDATE ORDER BY id;

A cláusula FOR UPDATE bloqueia as linhas na tabela cidadao onde o valor do campo id é 001 para que somente o Auditor possa alterar. O bloqueio será liberado apenas depois da emissão de uma instrução ROLLBACK ou COMMIT.

● ( ) CERTO ( ) ERRADO

Page 106: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Oracle(Questão) Sobre acesso concorrente a dados por transações em bancos de dados, é correto afirmar: Uma transação que necessita acesso a um dado que está bloqueado deve ser abortada.

● ( ) CERTO ( ) ERRADO

Page 107: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Oracle(Questão) Sobre acesso concorrente a dados por transações em bancos de dados, é correto afirmar: Uma ocorrência de deadlock envolve de uma (1) a várias transações.

● ( ) CERTO ( ) ERRADO

Page 108: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Oracle(Questão) No Oracle, o comando SQL

select * FROM DUAL

produz um resultado que contém

● (A) zero linhas.● (B) uma linha com uma coluna.● (C) o nome do usuário que realizou a conexão.● (D) entre 1 e 20 linhas, com 3 colunas, dependendo dos

parâmetros da instalação.● (E) a data e o horário correntes.

Page 109: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Oracle(Questão) Sobre o Sistema Gerenciador de Banco de Dados Oracle, é correto afirmar: Stored procedures não são recomendadas para implementar regras de negócio complexas de aplicações que acessam bancos de dados, pois devem ser compiladas a cada invocação.

● ( ) CERTO ( ) ERRADO

Page 110: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Oracle(Questão) Denomina-se visão uma tabela única derivada de uma ou mais tabelas básicas do banco. Essa tabela existe em forma física e viabiliza operações ilimitadas de atualização e consulta.

● ( ) CERTO ( ) ERRADO

Page 111: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Oracle(Questão) Uma view é uma forma predeterminada de visualizar dados de uma ou mais tabelas como se fosse apenas uma tabela.

● ( ) CERTO ( ) ERRADO

Page 112: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Oracle(Questão) Quando o comando DROP TABLE é executado, as estruturas da tabela e os dados são excluídos. Porém, quando o DROP VIEW é executado, nenhum dado referenciado pela view é afetado.

● ( ) CERTO ( ) ERRADO

Page 113: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Oracle(Questão) O trigger é um tipo de view criado quando um evento em particular ocorre.

● ( ) CERTO ( ) ERRADO

Page 114: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos
Page 115: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Banco de DadosProf. Renato Rondon

Page 116: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

RevisãoBanco de Dados - Aula 2

● Linguagem SQL● Linguagem SQL - DML● Linguagem SQL - DDL● Oracle

Page 117: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Business Intelligence (BI)Business Intelligence: Sistemas de BI ou Inteligência de Negócios reúnem um conjunto de tecnologias orientadas a disponibilizar informação e conhecimento em uma organização.

● Coleta de Dados● Organização● Análise● Tomada de Decisão● Monitoramento

Page 118: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Extract, Transform and Load (ETL)Extract, Transform and Load (ETL): Extração de dados de diversas fontes, convertidos para um único formato para que possa ocorrer a Transformação e limpeza dos dados, que são corrigidos e padronizados de acordo com as regras do negócio. Por fim ocorre o Carregamento dos dados em uma base consolidada, que pode ser um Data Warehouse (DW).

● É no ETL onde são definidas e implementadas as regras do negócio.

Page 119: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Data Warehouse (DW)Data Warehouse (DW): O Armazém de Dados tem duas operações básicas: a carga dos dados (inicial e incremental) e o acesso a estes dados em modo leitura.

● Depois de carregado (carrega, indexa e agrega), um DW não necessita de operações de bloqueio por concorrência de usuários no acesso aos seus dados.

Page 120: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Modelagem de dados multidimensionalModelagem de dados multidimensional: Modelagem utilizada em projetos de Data Warehouse e Business Intelligence, possui obrigatoriamente as tabelas Fatos e as tabelas Dimensões (por isso é também chamada de Modelagem Dimensional).

● Facilita o uso e torna mais intuitivo o emprego de ferramentas de processamento analítico OLAP (On-line Analytical Processing).

Page 121: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Modelagem de dados multidimensionalModelagem de dados multidimensional (Esquema Estrela)

Page 122: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

On-Line Analytical Processing (OLAP)On-Line Analytical Processing (OLAP): Processamento Analítico em Tempo Real, oferece apoio à tomada de decisão, através do acesso, análise e utilização estratégica da informação.

● Análise visual: permite aos analistas de negócios, gerentes e executivos analisar e visualizar dados corporativos de forma rápida, consistente e interativa.

Page 123: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

On-Line Analytical Processing (OLAP)On-Line Analytical Processing (OLAP): As possíveis operações que podem ser realizadas em um modelo OLAP são:

● SLICE: selecionar dados de uma única dimensão;● DICE: extrai um subcubo da seleção de duas ou mais

dimensões;● DRILL DOWN: aumenta o nível de detalhamento.● ROLL UP: combinação de células de uma ou mais

dimensões para atingir um nível maior de generalização;● ROTATION (ou PIVOT): visualiza dados por uma nova

perspectiva.

Page 124: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Business Intelligence (BI)(Questão) O BI consiste na transformação metódica e consciente das informações exclusivamente prestadas pelos tomadores de decisão em novas formas de conhecimento, para evolução dos negócios e dos resultados organizacionais.

● ( ) CERTO ( ) ERRADO

Page 125: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Business Intelligence (BI)(Questão) As técnicas do BI objetivam definir regras para a formatação adequada dos dados, com vista a sua transformação em depósitos estruturados de informações, sem considerar a sua origem.

● ( ) CERTO ( ) ERRADO

Page 126: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Business Intelligence (BI)(Questão) A camada de apresentação de uma arquitetura de BI é aquela em que as informações são organizadas e centralizadas.

● ( ) CERTO ( ) ERRADO

Page 127: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Business Intelligence (BI)(Questão) ETL é o processo de análise de dados previsto pela arquitetura de BI.

● ( ) CERTO ( ) ERRADO

Page 128: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Business Intelligence (BI)(Questão) O data warehouse diferencia-se dos bancos de dados transacionais porque trabalha com dados atuais, mas não com dados históricos.

● ( ) CERTO ( ) ERRADO

Page 129: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Business Intelligence (BI)(Questão) O data warehouse diferencia-se dos bancos de dados transacionais porque tem dimensionalidade genérica e níveis de agregação ilimitados.

● ( ) CERTO ( ) ERRADO

Page 130: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Business Intelligence (BI)(Questão) Os dados de um DW são um conjunto dinâmico de registros de uma ou mais tabelas, capturados em um momento de tempo predeterminado, por isso têm que ser sempre atualizados.

● ( ) CERTO ( ) ERRADO

Page 131: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Business Intelligence (BI)(Questão) Com relação aos modelos de dados multidimensionais: Esses modelos proporcionam visões hierárquicas, ou seja, exibição roll-up ou drill-down.

● ( ) CERTO ( ) ERRADO

Page 132: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Business Intelligence (BI)(Questão) Um esquema multidimensional, composto por fatos e dimensões, não pode ser modelado em um banco de dados relacional.

● ( ) CERTO ( ) ERRADO

Page 133: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Business Intelligence (BI)(Questão) Uma dimensão definida em uma modelagem multidimensional deve estar associada a um único fato.

● ( ) CERTO ( ) ERRADO

Page 134: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Business Intelligence (BI)(Questão) Operações OLAP podem ser executadas tanto para fins analíticos quanto para fins de atualização de dados.

● ( ) CERTO ( ) ERRADO

Page 135: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos
Page 136: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Mineração de DadosData Mining: Tecnologia que é empregada sobre grandes volumes de dados para descobrir novas informações em função de regras e padrões existentes nesses dados. Normalmente, tais informações não são obtidas simplesmente consultando os dados armazenados em bancos de dados.

Page 137: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Mineração de DadosData Mining: Uma das maiores redes de varejo dos Estados Unidos descobriu, em seu enorme banco de dados, que o aumento das vendas de fraldas descartáveis, nas sextas-feiras, estava relacionada às vendas de cerveja, sendo que, geralmente, os compradores eram homens.

● Como oportunidade de negócio, a rede varejista colocou os produtos lado a lado, resultando em um aumento expressivo nas vendas de ambos os produtos.

Page 138: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Mineração de DadosData Mining: Para obter tais descobertas, essa tecnologia usa diversas técnicas:

● Associações: ocorrências ligadas a um único evento● Sequências: relação entre eventos ao longo do tempo ● Classificação: reconhece modelos através de itens já

previamente classificados em grupos● Aglomeração (clustering): reconhece modelos quando

ainda não foram definidos grupos● Prognóstico: parte de uma série de valores existentes para

prever outros valores e situações que ocorrerão

Page 139: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Mineração de Dados(Questão) Pode-se definir mineração de dados como o processo de identificar, em dados, padrões válidos, novos, potencialmente úteis e, ao final, compreensíveis.

● ( ) CERTO ( ) ERRADO

Page 140: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Mineração de Dados(Questão) A descoberta de novas regras e padrões em conjuntos de dados fornecidos, ou aquisição de conhecimento indutivo, é um dos objetivos de data mining.

● ( ) CERTO ( ) ERRADO

Page 141: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Mineração de Dados(Questão) No ambiente organizacional, devido à grande quantidade de dados, não é recomendado o emprego de data mining para atividades ligadas a marketing.

● ( ) CERTO ( ) ERRADO

Page 142: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Mineração de Dados(Questão) As aglomerações, tipos de informação obtidos por meio da mineração de dados, caracterizam-se por se ligarem a um único e específico evento, em torno do qual ocorrem várias ações, com produção sistêmica de informações gerenciais que apoiarão uma nova ocorrência do mesmo tipo de evento.

● ( ) CERTO ( ) ERRADO

Page 143: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Mineração de Dados(Questão) Para a realização de prognósticos por meio de técnicas de mineração de dados, parte-se de uma série de valores existentes obtidos de dados históricos bem como de suposições controladas a respeito das condições futuras, para prever outros valores e situações que ocorrerão e, assim, planejar e preparar as ações organizacionais.

● ( ) CERTO ( ) ERRADO

Page 144: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos
Page 145: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Big DataBig Data: Conjunto de tecnologias capaz de lidar o grande volume de dados (inclusive os que são gerados a todo momento), de diferentes formatos (estruturados e não estruturados) e com velocidade (muitas vezes em tempo real).

● Possibilita a geração de Conhecimento em larga escala, apoiado por inteligência computacional, com o uso de análise estatística intensa e contínua.

● Resultados em painéis de controle com indicadores preditivos e recomendações estratégicas.

Page 146: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Big Data5 V’s: O Big Data Possui 5 premissas básicas:

● Volume: analisar grandes volumes de dados● Velocidade: fornecer respostas com velocidade/tempo hábil● Variedade: lidar com diferentes formatos de informação● Veracidade: fidelidade à realidade (informação verdadeira)● Valor: deve agregar valor ao negócio

Page 147: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Big DataDados Estruturados: São dados que estão organizados para serem recuperados. Possuem um formato bem especificado, como seu tipo (texto, data, inteiro), possibilitando prever o seu conteúdo. Exemplo: dados mantidos em um SGBD (Sistema de Gerenciamento de Banco de Dados).

Page 148: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Big DataDados Não Estruturados: São dados apresentados como aparecem, sem especificação rígida sobre sua forma e conteúdo. Não seguem uma regra. Exemplo: Post's em redes sociais, imagens, áudios, vídeos, email's e documentos de texto.

● Para transformar Dados Não Estruturados em Dados Estruturados, é necessário processamento adicional, para que sejam analisadas, retiradas e sumarizadas as informações necessárias.

Page 149: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Big DataAplicação: Além do uso óbvio por grandes empresas para oferecer serviços e produtos antes que os clientes peçam, pode ser utilizado por exemplo para antecipar oscilações na economia, otimizar o trânsito para evitar engarrafamentos, prever epidemias de doenças e prevenir desastres naturais.

Page 150: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Big Data(Questão) Big data refere-se a uma nova geração de tecnologias e arquiteturas projetadas para processar volumes muito grandes e com grande variedade de dados, permitindo alta velocidade de captura, descoberta e análise.

● ( ) CERTO ( ) ERRADO

Page 151: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Big Data(Questão) O big data consiste de um grande depósito de dados estruturados, ao passo que os dados não estruturados são considerados data files.

● ( ) CERTO ( ) ERRADO

Page 152: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Big Data(Questão) Além de estar relacionado à grande quantidade de informações a serem analisadas, o Big Data considera o volume, a velocidade e a variedade dos dados estruturados - dos quais se conhece a estrutura de armazenamento - bem como dos não estruturados, como imagens, vídeos, áudios e documentos.

● ( ) CERTO ( ) ERRADO

Page 153: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos

Big Data(Questão) Dados coletados de redes sociais podem ser armazenados, correlacionados e expostos com o uso de análises preditivas.

● ( ) CERTO ( ) ERRADO

Page 154: Banco de Dados · Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): representa de forma abstrata a estrutura que o Banco de Dados deverá ter, descrevendo os objetos