Buscar

Lista de Exercicios - Banco de Dados

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 105 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 105 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 105 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Lista de Exercícios de Banco de Dados Prof.: Edilberto Silva 1
Lista de Exercícios
Banco de Dados
As questões abaixo e os comentários tem intuito educativo de verificarmos como os
assuntos tratados em sala de aula são abordados em diversos concursos públicos.
Isto sem dúvida é uma excelente forma de aprendermos mais sobre o assunto e
ampliarmos nossos horizontes e objetivos.
Lembrem-se: “Um obstáculo por dia, um sorriso por noite, afinal
todos estamos debaixo do mesmo céu, porém cada
um enxerga um horizonte diferente.”
Bons estudos!
Prof. Edilberto Silva
Ferramentas para elaborar modelo conceitual
● https://sourceforge.net/projects/brmodelo/
● https://online.visual-paradigm.com/drive/#diagramlist:proj=0&new=ERDiagram
● https://app.creately.com/diagram/nwSZWXzIo5b/edit
Ferramenta elaborar modelo lógico
● https://dev.mysql.com/downloads/workbench/
Referência adicional de estudo
● http://aprendaplsql.com/modelagem-de-dados/normalizacao-banco-de-dados/#3a_For
ma_Normal_3FN
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4767041E2
https://sourceforge.net/projects/brmodelo/
https://online.visual-paradigm.com/drive/#diagramlist:proj=0&new=ERDiagram
https://app.creately.com/diagram/nwSZWXzIo5b/edit
https://dev.mysql.com/downloads/workbench/
http://aprendaplsql.com/modelagem-de-dados/normalizacao-banco-de-dados/#3a_Forma_Normal_3FN
http://aprendaplsql.com/modelagem-de-dados/normalizacao-banco-de-dados/#3a_Forma_Normal_3FN
Lista de Exercícios de Banco de Dados Prof.: Edilberto Silva 2
CONCEITOS BÁSICOS
1) Cite três desvantagens em se utilizar o sistema de arquivos em relação ao SGBD
2) Defina o que é Banco de Dados x SGBD - Sistema Gerenciador de Banco de Dados
3) Sobre o que trata a abstração de dados no contexto do Banco de Dados
4) Sobre o que trata o independência de dados no contexto do Banco de Dados
5) Discorra sobre o que trata o "Suporte para múltiplas visões de usuário" dentro de um
Banco de Dados
6) Como a redundância (de dados) deve ser tratada/gerenciada dentro do Banco de Dados.
Justifique
7) Em que situações não se convém utilizar Banco de Dados
8) Sobre o que trata a persistência de dados no contexto do Banco de Dados (ACID)
a) A-Atomicidade
b) C-Consistência
c) I-Isolamento
d) D-Durabilidade
9) Sobre o que trata o instância de dados no contexto do Banco de Dados
10)Sobre o que trata o esquema de dados no contexto do Banco de Dados
11)Qual a diferença entre esquema lógico e esquema físico
12)Discorra sobre as características do modelo de dados Relacional
13)Discorra sobre as características do modelo de dados em rede
14)Discorra sobre as características do modelo de dados Hierárquicos
15)Discorra sobre as características do modelo de dados Orientados a objetos
16)Discorra sobre as características do modelo de dados Objeto-relacionais
17)Qual a diferença entre os Bancos de dados Mono-usuários e Multi-usuários
18)Qual a diferença entre os Bancos de dados Centralizados e Distribuídos.
19)Qual a diferença entre as funções do Projetista de Dados (Administrador de Dados) e DBA
(Administrador de Bancos de dados)
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4767041E2
Lista de Exercícios de Banco de Dados Prof.: Edilberto Silva 3
20)Qual a relação entre requisitos e um projeto de banco de dados
21)Qual a relação entre documento de visão e um modelo de banco de dados
22)Cite as diferenças entres os níveis Externo, conceitual e interno
23)Qual a função dos índices em um banco de dados
24)Qual a função das "páginas" em um banco de dados
25)Discorra sobre o é um SGBD e sua diferença com Banco de Dados.
26)Cite três funções básicas de um SGBD
27)Qual o objetivo do modelo conceitual?
28)Qual o objetivo do modelo lógico e qual diferença com o modelo conceitual?
29)Qual o objetivo do modelo físico e qual diferença com o modelo lógico?
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4767041E2
Lista de Exercícios de Banco de Dados Prof.: Edilberto Silva 4
QUESTÕES DE CONCURSOS
30) ANO: 2015 BANCA: FUNDATEC ÓRGÃO: BRDE PROVA: ANÁLISE DE SISTEMAS -
SUPORTE - O projeto de um novo banco de dados ocorre em três fases, quais sejam:
A DDL, SSD e modelagem virtual
B Modelagem conceitual, projeto lógico e projeto físico
C Projeto físico, SQL e SSD
D SQL, modelagem conceitual e projeto físico
E SQL, DDL e SSD 1
31) ANO: 2015 BANCA: CESPE ÓRGÃO: CGE-PI PROVA: AUDITOR GOVERNAMENTAL -
TECNOLOGIA DA INFORMAÇÃO - Um modelo de dados pode ser usado para representar os
tipos de dados existentes em um banco de dados de um sistema online de reservas.2
32) ANO: 2015 BANCA: CESPE ÓRGÃO: DEPEN PROVA: AGENTE PENITENCIÁRIO FEDERAL -
TECNOLOGIA DA INFORMAÇÃO - Os níveis interno, externo e conceitual da arquitetura de um
banco de dados são responsáveis, respectivamente, por gerenciar o modo como os dados
serão armazenados fisicamente, por gerenciar o modo como os dados serão vistos pelos
usuários e por representar todo o conteúdo de informações do banco de dados.3
33) ANO: 2014 BANCA: UFG ÓRGÃO: UEAP PROVA: ANALISTA DE TI - BANCO DE DADOS -
Metadados são dados sobre outros dados. No contexto de bancos de dados, metadados são
usados para
A descrever a estrutura do banco de dados.
B descrever o conteúdo do log do sistema.
C resumir o conteúdo dos dados de cada relação.
D resumir a estrutura dos programas de aplicação. 4
4 A
3 C
2 C
1 B
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4767041E2
Lista de Exercícios de Banco de Dados Prof.: Edilberto Silva 5
34) ANO: 2014 BANCA: UFG ÓRGÃO: UEAP PROVA: ANALISTA DE TI - SUPORTE E
INFRAESTRUTURA- Sistemas de Bancos de Dados são baseados nos conceitos de “esquema”
de bancos de dados e “instância” de bancos de dados. A relação existente entre esses
conceitos é:
A a instância de banco de dados define o conjunto de dados contidos no banco de dados
em um determinado instante, e o esquema de banco de dados define o conjunto de
metadados que especificam os estados válidos para o banco de dados.
B a instância de banco de dados define o modelo de dados utilizado para representar os
dados em um determinado instante, e o esquema de banco de dados define a
linguagem utilizada para representar os estados válidos de dados.
C o esquema de banco de dados define o conjunto de dados contidos no banco de
dados em um determinado instante, e a instância de banco de dados define o conjunto
de metadados que especificam os estados válidos para o banco de dados.
D o esquema de banco de dados define o modelo de dados utilizado para representar o
banco de dados em um determinado instante, e a instância de banco de dados define a
linguagem utilizada para representar estados válidos de dados. 5
35) ANO: 2016 BANCA: CESPE ÓRGÃO: TRE-PI PROVA: ANALISTA JUDICIÁRIO - ANÁLISE
DE SISTEMA - A respeito dos diferentes modelos de banco de dados — relacional, rede,
hierárquico, distribuído e orientado a objetos —, assinale a opção correta.
A Em bancos de dados orientados a objetos, busca-se agrupar os dados e os códigos
que manipulam esses dados em vários elementos formando um grafo, e podendo, como
uma extensão do modelo hierárquico, cada segmento pai ter mais de um segmento
filho, e cada segmento filho ter mais de um segmento pai
B No modelo em rede, representam-se os dados em um conjunto de árvores
normalizadas, sendo possível modificar sua estrutura com facilidade, uma vez que não
é preciso reconstruir o banco de dados
C Nos bancos de dados relacionais, representam-se os dados em um conjunto de
tabelas inter-relacionadas, o que torna o banco de dados mais flexível no que concerne
à tarefa de modificação da estrutura de uma tabela dentro desse banco de dados,
porque não há necessidade de reconstruí-lo
D Segundo o padrão SQL ANSI, para a definição de um esquema de um banco de dados
relacional, deve-se adotar uma linguagem de definição de dados usando hierarquias de
classes baseadas em linguagens orientadas a objetos
E O modelo hierárquico se assemelha a um organograma com um segmento raiz eum
número qualquer de segmentos subordinados, podendo cada segmento filho ter mais
de um segmento pai.6
6 c
5 A
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4767041E2
Lista de Exercícios de Banco de Dados Prof.: Edilberto Silva 6
36) ANO: 2015 BANCA: MP-RS ÓRGÃO: MP-RS PROVA: TÉCNICO EM INFORMÁTICA -
APOIO AO USUÁRIO-Qual modelo de banco de dados representa todos seus dados em tabelas
simples, mas permite que as informações possam ser combinadas e recuperadas facilmente?
A Hierárquico.
B Orientado a objetos.
C Rede.
D Relacional.
E Vetorial .7
37) ANO: 2014 BANCA: IDECAN ÓRGÃO: DETRAN-RO PROVA: ANALISTA EM TRÂNSITO -
SUPORTE EM INFORMÁTICA - Assinale a alternativa que apresenta uma DESVANTAGEM do
modelo hierárquico e não dos modelos de bancos de dados.
A Exige uma ampla aprendizagem.
B Não há linguagem de manipulação de dados.
C Trata-se de um sistema navegacional complexo.
D Alterações estruturais exigem alterações em todos os aplicativos.
E Não há linguagem de definição ou manipulação de dados no SGBD. .8
38) ANO: 2014 BANCA: FUNCAB ÓRGÃO: PRODAM PROVA: ANALISTA DE TI - ANALISTA DE
REDES No modelo de banco de dados hierárquicos seus registros são organizados como uma
coleção de:
A listas.
B filas.
C tabelas.
D registros duplamente encadeados.
E árvores..9
9 E
8 E
7 D
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4767041E2
Lista de Exercícios de Banco de Dados Prof.: Edilberto Silva 7
39) ANO: 2014 BANCA: VUNESP ÓRGÃO: EMPLASA PROVA: ANALISTA ADMINISTRATIVO -
TECNOLOGIA DA INFORMAÇÃO Assinale a alternativa que apresenta uma afirmação
verdadeira sobre o modelo hierárquico de bancos de dados.
A Cada registro, exceto a raiz, participa como filho em pelo menos dois relacionamentos
pai-filho.
B Cada registro, exceto a raiz, participa como filho em exatamente um relacionamento
pai-filho.
C O registro denominado raiz participa como filho em pelo menos um relacionamento
pai-filho.
D O registro denominado raiz participa como filho em, no máximo, dois
relacionamentos pai-filho.
E Todo registro que participa como pai em um relacionamento pai-filho é chamado de
folha..10
40) ANO: 2014 BANCA: CESPE ÓRGÃO: TJ-SE PROVA: ANALISTA JUDICIÁRIO - BANCO DE
DADOS - Em um relacionamento pai-filho, no modelo hierárquico, registros do mesmo tipo do
lado pai correspondem a um único registro do lado filho..11
41) ANO: 2014 BANCA: CESGRANRIO ÓRGÃO: IBGE PROVA: SUPERVISOR DE PESQUISAS -
TECNOLOGIA DA INFORMAÇÃO E COMUNICAÇÃO - O modelo relacional tornou-se o padrão
estabelecido do mercado. Outros modelos anteriores ao modelo relacional, porém, podem ser
encontrados em sistemas usados no passado e, algumas vezes, encontrados como sistemas
legados nas empresas. Dois desses modelos são os
A em rede e XML
B hierárquico e em rede
C hierárquico e XML
D orientado a objetos e em rede
E orientado a objetos e XML.12
42) ANO: 2013 BANCA: CESPE ÓRGÃO: TCE-RO PROVA: ANALISTA JUDICIÁRIO -
INFORMÁTICA Para armazenar as informações da estrutura organizacional de uma empresa
com suas hierarquias, desde o presidente até o auxiliar administrativo, é necessário utilizar
um banco de dados hierárquico..13
43) ANO: 2013 BANCA: CESPE ÓRGÃO: ANTT PROVA: ANALISTA ADMINISTRATIVO -
DESENVOLVIMENTO DE SISTEMAS - Os sistemas gerenciadores de banco de dados (SGBDs)
evoluíram de sistemas de arquivos para novas estruturas de dados. O modelo em rede surgiu
como extensão ao modelo hierárquico (estrutura de árvore), ambos orientados a registros; o
modelo relacional não tem caminhos predefinidos para fazer acesso aos dados, mas
13 E
12 B
11 E
10 B
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4767041E2
Lista de Exercícios de Banco de Dados Prof.: Edilberto Silva 8
implementa estruturas de dados organizadas em relações (tabelas); e o modelo orientado a
objetos surgiu da necessidade de representar tipos complexos de dados utilizando semântica,
em que o diagrama de classes UML serve como esquema para representação de dados
orientado a objetos. .14
44) ANO: 2013 BANCA: FGV ÓRGÃO: AL-MA PROVA: TÉCNICO DE GESTÃO
ADMINISTRATIVA - ANALISTA DE SISTEMAS Sobre sistemas de gerenciamento de bancos de
dados, assinale a afirmativa incorreta.
A Em uma tabela chamada Carro, com os atributos Modelo, Ano, Cor e Placa, o atributo
mais apropriado para servir como chave primária é Placa.
B O processo de aplicação de regras ao projeto de um banco de dados, com o intuito de
permitir um acesso eficiente e armazenamento consistente dos dados, é denominado
normalização do banco de dados, ou apenas normalização.
C O modelo hierárquico de banco de dados é o mais apropriado para dados que são
representados por um relacionamento pai‐filho, onde cada registro pai pode estar
relacionado com vários registros filho.
D Uma Visão (View) de um banco de dados contém todas as informações sobre as
entidades, atributos e tabelas. Seu objetivo é padronizar e unificar os termos utilizados
nas variáveis utilizadas nos banco de dados.
E O "varchar" é uma cadeia de caracteres de tamanho indeterminado. Campos do tipo
“varchar” podem ter qualquer tamanho, até um limite que varia de acordo com o
SGBD..15
45) ANO: 2012 BANCA: FCC ÓRGÃO: TST PROVA: ANALISTA JUDICIÁRIO - ANALISTA DE
SISTEMA O entendimento dos modelos de banco de dados é fundamental para compreender
as vantagens e desvantagens em aspectos de estrutura e manipulação dos dados. Um destes
modelos utiliza tabelas bidimensionais para o armazenamento dos dados e a maneira como os
dados são armazenados influencia na facilidade de acesso às informações, existindo técnicas
de normalização para aperfeiçoar a organização. Trata-se do modelo
A hierárquico.
B em rede.
C relacional.
D distribuído.
E orientado a objetos..16
16 C
15 D
14 C
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4767041E2
Lista de Exercícios de Banco de Dados Prof.: Edilberto Silva 9
46) ANO: 2015 BANCA: NUCEPE ÓRGÃO: SEFAZ - PI PROVA: ANALISTA - SISTEMAS
JÚNIOR A abstração de um banco de dados pode acontecer em três níveis: visão do usuário;
conceitual; e físico. Responda a alternativa INCORRETA sobre abstração e esses níveis.
A O nível de visão do usuário compreende as partes do banco de dados que o usuário
tem acesso.
B O nível conceitual define quais os dados que estão armazenados sem preocupar-se
com o relacionamento entre eles.
C O nível físico define efetivamente de que maneira os dados estão armazenados.
D No nível conceitual podemos ter vários níveis de visão do usuário.
E Não importa qual unidade de armazenamento é usada para guardar os dados.17
47) ANO: 2015 BANCA: NUCEPE ÓRGÃO: SEFAZ - PI PROVA: ANALISTA - SISTEMAS
JÚNIOR Um Sistema Gerenciador de Banco de Dados (SGBD) permite criar e manipular o
banco de dados. Entre as alternativas abaixo, qual está INCORRETA sobre o SGBD?
A Garantem restrições de integridade.
B Tem suporte a controle de concorrência.
C A abstração é suportada para os níveis de visão do usuário e conceitual, sendo o nível
físico negligenciado e de responsabilidade somente do sistema operacional.
D Permite controle de acesso.
E Otimiza as consultas por métodos de acessos eficientes. 18
48) ANO: 2015 BANCA: CESPE ÓRGÃO: MEC PROVA: TÉCNICO DE NÍVEL SUPERIOR -
ANALISTA DE SISTEMAS - O modelo conceitual corresponde ao mais baixo nível de abstração,
visto que estabelece como os dados são armazenados. Trata-se de um modelo simples, de
fácil compreensão pelo usuário final, além de independente de um SGBD particular..19
49) ANO: 2015 BANCA: CESPE ÓRGÃO: MEC PROVA: TÉCNICO DE NÍVEL SUPERIOR -
DESENVOLVEDOR - Entidade é um agrupamento lógico de informações inter-relacionadas que
representa uma abstração do mundo real..20
20 C
19 E
18C
17 B
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4767041E2
Lista de Exercícios de Banco de Dados Prof.: Edilberto Silva 10
50) ANO: 2014 BANCA: UFG ÓRGÃO: UEAP PROVA: ANALISTA DE TI - SUPORTE E
INFRAESTRUTURA - A Arquitetura de Referência ANSI-SPARC para Bancos de Dados definetrês níveis de abstração para descrever os dados em um Sistema de Bancos de Dados: nível
físico (ou interno), nível lógico (ou conceitual) e nível de visão (ou externo). A capacidade de
modificar a definição dos esquemas de dados em determinado nível, sem afetar o esquema do
nível superior, é chamada de
A abstração de dados.
B arquitetura de dados.
C independência de dados.
D mapeamento de dados. .21
51) ANO: 2014 BANCA: VUNESP ÓRGÃO: DESENVOLVESP PROVA: ANALISTA - ANALISTA
DE SISTEMAS - Em um banco de dados relacional deve haver, em cada uma de suas relações,
um conjunto de um ou mais atributos que não admite valores iguais, nesse conjunto, para
qualquer par de tuplas da relação. Esse conjunto de atributos tem a seguinte denominação:
A abstração.
B chave primária.
C domínio.
D índice.
E instância..22
52) ANO: 2012 BANCA: CESPE ÓRGÃO: POLÍCIA FEDERAL PROVA: PERITO CRIMINAL -
ANALISTA DE SISTEMAS - A arquitetura ANSI de três níveis separa o nível externo dos
usuários, o nível conceitual do banco de dados e o nível de armazenamento interno no projeto
de um banco de dados. O nível interno tem um esquema interno, que descreve a estrutura do
armazenamento físico do banco de dados e descreve os detalhes completos do
armazenamento de dados e os caminhos de acesso para o banco de dados.23
23 C
22B
21 C
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4767041E2
Lista de Exercícios de Banco de Dados Prof.: Edilberto Silva 11
53) ANO: 2013 BANCA: FCC ÓRGÃO: MPE-SE PROVA: ANALISTA DO MINISTÉRIO PÚBLICO
- GESTÃO E ANÁLISE DE PROJETO DE SISTEMA - Em projetos de Banco de Dados, o objetivo
da arquitetura de três-esquemas é separar o usuário da aplicação do banco de dados físico.
Nessa arquitetura, os esquemas podem ser definidos por três níveis:
I. O nível interno tem um esquema que descreve a estrutura de armazenamento físico do
banco de dados. Esse esquema utiliza um modelo de dado físico e descreve os detalhes
complexos do armazenamento de dados e caminhos de acesso ao banco;
II. O nível conceitual possui um esquema que descreve a estrutura de todo o banco de dados
para a comunidade de usuários. O esquema conceitual oculta os detalhes das estruturas de
armazenamento físico e se concentra na descrição de entidades, tipos de dados, conexões,
operações de usuários e restrições. Geralmente, um modelo de dados representacional é usado
para descrever o esquema conceitual quando o sistema de banco de dados for implementado.
Esse esquema de implementação conceitual é normalmente baseado em um projeto de
esquema conceitual em um modelo de dados de alto nível;
III. O nível interno ainda abrange os esquemas externos ou visões de usuários. Cada esquema
interno descreve a parte do banco de dados que um dado grupo de usuários tem interesse e
oculta o restante do banco de dados desse grupo. Como no item anterior, cada esquema é
tipicamente implementado usando-se um modelo de dados representacional, possivelmente
baseado em um projeto de esquema externo em um modelo de dados de alto nível.
Está correto o que se afirma em
A II, apenas.
B II e III, apenas.
C I, II e III.
D I e II, apenas.
E III, apenas.24
54) ANO: 2014 BANCA: BIO RIO ÓRGÃO: EMGEPRON PROVA: ANALISTA DE SISTEMAS -
BANCO DE DADOS - O conceito da arquitetura de três camadas que define a capacidade de
alterar o esquema em um nível do sistema de banco de dados sem ter de alterar o esquema
no nível mais alto é denominado independência de:
A dados
B esquema
C instância
D atualização25
25 A
24 D
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4767041E2
Lista de Exercícios de Banco de Dados Prof.: Edilberto Silva 12
55) ANO: 2015 BANCA: CESPE ÓRGÃO: DEPEN PROVA: AGENTE PENITENCIÁRIO FEDERAL -
TECNOLOGIA DA INFORMAÇÃO - Os níveis interno, externo e conceitual da arquitetura de um
banco de dados são responsáveis, respectivamente, por gerenciar o modo como os dados
serão armazenados fisicamente, por gerenciar o modo como os dados serão vistos pelos
usuários e por representar todo o conteúdo de informações do banco de dados.26
56) ANO: 2010 BANCA: FCC ÓRGÃO: TCE-SP PROVA: AGENTE DA FISCALIZAÇÃO
FINANCEIRA - CONHECIMENTOS BÁSICOS - As três visões da arquitetura básica de um SGBD,
pela ordem, desde a mais próxima do usuário até a mais distante, são:
A externa, conceitual e interna.
B externa, interna e conceitual.
C conceitual, interna e externa.
D conceitual, externa e interna.
E interna, conceitual e externa.27
57) ANO: 2013 BANCA: BIO RIO ÓRGÃO: ELETROBRAS PROVA: ANALISTA DE SISTEMAS -
BANCO DE DADOS - Leia o fragmento a seguir, relacionado à arquitetura ANSI/SPARC de
bancos de dados.
(1) Nível ________ - define views e consiste em uma “janela” parcial que é criada sobre a
totalidade do BD, permitindo trabalhar apenas com uma parte dos dados que seja de interesse
de uma determinada aplicação.
(2) Nível ________ - esconde os detalhes da implementação física dos arquivos que
armazenam os dados e corresponde a uma representação independente de qualquer usuário
ou aplicação.
(3) Nível ________ - equivale ao armazenamento físico dos dados e definição das estruturas
físicas que permitem obter um bom nível de desempenho.
Assinale a alternativa cujos itens completam corretamente as lacunas do fragmento acima.
A externo – conceitual – interno;
B externo – interno – conceitual;
C conceitual – externo – interno;
D interno – externo – conceitual;
E interno – conceitual – externo.28
28A
27 A
26C
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4767041E2
Lista de Exercícios de Banco de Dados Prof.: Edilberto Silva 13
58) ANO: 2014 BANCA: CESGRANRIO ÓRGÃO: BANCO DA AMAZÔNIA PROVA: TÉCNICO
CIENTÍFICO - BANCO DE DADO - Na arquitetura ANSI/SPARC de banco de dados, o nível
conceitual
A define a estrutura de armazenamento do banco de dados.
B define a estrutura do banco de dados para uma comunidade de usuários.
C descreve a parte do banco de dados em que um grupo de usuários está interessado,
escondendo as outras partes.
D descreve os caminhos de acesso para a base de dados.
E inclui um número de visões de usuário.29
59) ANO: 2014 BANCA: VUNESP ÓRGÃO: TJ-PA PROVA: ANALISTA JUDICIÁRIO -
DESENVOLVIMENTO DE SISTEMA - Sobre uma tabela de um banco de dados relacional, é
correto afirmar que
A tem pelo menos duas chaves primárias.
B pode conter somente um atributo do tipo booleano.
C deve ter, no mínimo, um atributo do tipo numérico.
D sua chave primária deve ser do tipo literal.
E sua chave primária pode ser composta por mais de um atributo.30
30 E
29A
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4767041E2
Lista de Exercícios de Banco de Dados Prof.: Edilberto Silva 14
CONCEITOS SOBRE MODELAGEM
60)Qual o objetivo do Diagrama Entidade-Relacionamento (DER)?
61)Tendo a tabela "aluno" como referência, qual seria o exemplo de um atributo, de uma
tupla e de um relacionamento?
62)Discuta o papel de um modelo de dados de alto-nível no processo de projeto de base de
dados.
63)Cite alguns casos onde o valor null pode ser aplicado.
64)Defina os seguintes termos: entidade, atributo, valor de atributo, instância de
relacionamento, atributo composto, atributo multivalorado, atributo derivado e atributo
chave.
65)O que é um tipo de entidade? Descreva as diferenças entre entidade e tipo de entidade.
66)O que é um tipo de relacionamento? Descreva as diferenças entre instância e tipo de
relacionamento.
67)Quando é necessário utilizar nome de papéis na descrição de tipos de relacionamentos?
68)Descreva as duas alternativas para especificar as restrições estruturais sobre tipos de
relacionamentos. Quais são as vantagens e desvantagens de cada uma?
69)Sobre quais condições pode um atributo de um tipo de relacionamento binário ser
promovido a um atributo de um dos tipos de entidades participantes?
70)Sobre quais condições um tipo de relacionamento pode se tornar um atributo de um tipo
de entidade?
71)Qual o significado de um tipo de relacionamento recursivo? Dê alguns exemplos disso.72)Quando o conceito de entidade-fraca é útil na modelagem de dados? Defina os termos:
tipo de entidade proprietário, tipo de relacionamento de identificação e chave-parcial.
73)Um tipo de relacionamento de identificação pode ter grau maior que dois?
74)O que é uma entidade associativa.
75)Explique o que são:
a. Atributos opcionais
b. Atributos compostos
c. Atributos multivalorados
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4767041E2
Lista de Exercícios de Banco de Dados Prof.: Edilberto Silva 15
76) Apresente um exemplo para cada um dos seguintes casos:
a. Generalização/Especialização
b. Entidade com atributo opcional
c. Entidade com atributo composto
d. Entidade com atributo multivalorado
77)O que é uma tabela no contexto dos bancos de dados relacionais?
78)Explique o que você entende por cada um dos seguintes termos:
a. Chave primária
b. Chave única
c. Chave estrangeira
79)O que são relacionamentos?
80)Que solução deve ser adotada no modelo relacional para relacionamentos com
cardinalidade N:N (muitos para muitos)?
81)O que você entende por:
a. Integridade de domínio
b. Integridade de entidade
c. Integridade referencial
82) .
83) .
84) .
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4767041E2
Lista de Exercícios de Banco de Dados Prof.: Edilberto Silva 16
EXERCÍCIOS DE MODELAGEM
85) Locadora
Elabore o MER (Modelo Entidade Relacionamento)
Entidades: CLIENTE, APÓLICE, CARRO E ACIDENTES.
Requisitos:
a) Um cliente pode ter várias apólices (no mínimo uma);
b) Cada apólice somente dá cobertura a um carro;
c) Carro pode possuir mais de uma apólice;
d) Um carro pode ter zero ou n registros de acidentes a ele.
Atributos:
a) Cliente: Número, Nome e Endereço;
b) Apólice: Número e Valor;
c) Carro: Registro e Marca;
d) Acidente: Data, Hora e Local;
86) Clínica
Elabore o MER (Modelo Entidade Relacionamento)
Entidades: Médico (Especialidade), Consulta, Paciente e Exame.
Requisitos:
O banco de dados deverá armazenar informações sobre os vários exames de um
determinado paciente. O exame deve conter a indicação do paciente e do médico;
Atributos:
a) Médico: Número(CRM - Ex.: 12345-DF, 45678-PE), Nome e (Especialidade);
b) Paciente: Número (Sequencial), Nome, email;
c) Exame: Descrição Exame, Requisitos.
d) Consulta: DataHora, Valor;
Exemplos:
RGM 14-11348798
CPF 123.456.789-00 (com máscara)
12345678900 (sem máscara)
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4767041E2
Lista de Exercícios de Banco de Dados Prof.: Edilberto Silva 17
Regras:
● Um paciente pode ou não ter vários exames; O exame é somente de um
paciente e de um médico;
● Médico pode realizar várias consultas, para vários pacientes, mas sempre um
paciente por vez;
● Um paciente pode ter várias consultas com vários médicos mas em dias e horas
distintos;
● Médico somente pode ter uma especialidade (pediatra, neurologia, etc..) e
podem haver vários médicos da mesma especialidade
87) Empresa
Elabore o MER (Modelo Entidade Relacionamento)
Elaborar um diagrama para uma Indústria.
Entidades:
Pecas (IdPeca, Descricao);
Depósitos (IdDeposito, Endereco);
Fornecedor (idFornecedor, Nome);
Projeto (DataInicio, DataFim);
Funcionário (IdFuncionario, Nome); e
Departamento (IdDepartamento, Nome)
Requisitos:
a) Cada Funcionário pode estar alocado a somente
um Departamento; Um departamento possui vários Funcionários.
b) Cada Funcionário pode pertencer a mais de um Projeto; Um projeto está
associado somente a um Funcionário.
c) Um projeto pode utilizar-se de vários Fornecedores e de
várias Peças;
d) Uma Peça pode ser fornecida por vários Fornecedores
e um Fornecedor pode fornecer várias peças para atender a vários Projetos;
e) Um Fornecedor pode atender a vários Projetos e fornecedor fornecer várias
Peças;
f) Um Depósito pode conter várias Peças; Uma peça está somente em um Depósito.
Exercício:
● Fazer o modelo Lógico
● Criar o banco de dados no mySQL
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4767041E2
Lista de Exercícios de Banco de Dados Prof.: Edilberto Silva 18
● Fazer por meio de “Insert” a inclusão de dois registros para cada tabela
● Fazer consultas usando o SELECT
88) Catálogo de CDs
Elabore o MER (Modelo Entidade Relacionamento)
Requisitos: Criar um banco de dados para organizar os meus CDs;
A. Um CD possui um título e diversas músicas;
B. Uma musica pode estar em vários CDs
C. Toda música possui um título e uma duração;
D. Para compositores guardo o Nome;
E. Para cantores guardo o Nome;
F. Uma música pode ter sido composta por um ou mais compositores e um
compositor pode compor mais de uma música;
G. Uma cantor pode interpretar uma ou mais músicas; (uma música somente
pode ser interpretada por um cantor);
Exercício:
● Fazer o modelo Lógico;
● Criar o banco de dados no mySQL;
● Fazer por meio de “Insert” a inclusão de dois registros para cada tabela
● Fazer consultas usando o SELECT trazendo, por exemplo:
○ Título do CD e suas músicas;
○ Nome do Cantor e suas músicas;
○ Título do CD, suas músicas com nome do cantor
89) Indústria ACME
Elabore o MER (Modelo Entidade Relacionamento)
(criar SKs - surrogate Key (chave artificial) para todas as tabelas com PK (Primary Key
- Chave Primária), com exceção das associativas)
A ACME é uma indústria localizada em uma pequena cidade do interior.
Na ACME todo funcionário (Id e nome) está lotado em um departamento (id, nome).
Cada departamento faz parte de uma diretoria (id, nome).
Uma diretoria controla diversos departamentos.
No cadastro do funcionário estão cadastrados todos os seus dependentes.
Como a cidade é pequena, alguns dependentes de funcionários são também
funcionários e a ACME precisa registrar esses casos.
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4767041E2
Lista de Exercícios de Banco de Dados Prof.: Edilberto Silva 19
90) Construtora
Elabore o MER (Modelo Entidade Relacionamento).
Uma construtora desenvolve projetos de grande porte. Esta empresa está organizada
em departamentos, sendo que cada projeto é sempre coordenado por um
departamento.
Os departamentos possuem empregados que podem ser chefes. Embora um
empregado pertença sempre a um departamento, ele pode ser alocado a projetos
de outros departamentos.
91) Organização de saúde
Elabore o MER (Modelo Entidade Relacionamento).
Uma organização de saúde está estudando doenças e possui o seguinte conjunto de
dados:
● Nome e número de habitantes das cidades em que se manifestam doenças;
● Nome científico e popular de doenças em estudo;
● CPF, nome e cidade de residência de pessoas que foram contaminadas por
doenças (apenas aquelas doenças que estão em estudo por esta organização) e
com quais doenças elas foram contaminadas.
92) Frota
Elabore o MER (Modelo Entidade Relacionamento).
Várias empresas possuem frotas de veículos que são identificados através da placa
(XYZ-1234). São registrados também os fabricantes e modelos de cada veículo. Os
funcionários são identificados através do número de matrícula. São mantidos registros
do nome e CPF de cada funcionário. Criar o MER (Modelo Entidade Relacionamento)para
cada um dos casos descritos a seguir:
Empresa A: Cada veículo (sem exceção) é dirigido por um apenas funcionário. Todos
os veículos estão alocados aos funcionários. Cada funcionário pode utilizar apenas um
veículo e todos os funcionários têm veículos pertencentes à frota da empresa.
Empresa B: Cada veículo (sem exceção) é dirigido por um apenas funcionário. Todos
os veículos estão alocados aos funcionários. Cada funcionário pode utilizar apenas um
veículo, porém alguns funcionários não têm veículos pertencentes à frota da
empresa.
c. Empresa C: Cada veículo pode ser dirigido por um ou mais funcionários. Todos os
veículos estão alocados aos funcionários. Alguns funcionários podem utilizar mais de
um veículo e todos os funcionários têm veículos pertencentes à frota da empresa.
d. Empresa D: Cada veículo (sem exceção) é dirigido por um apenas funcionário.Todos os veículos estão alocados aos funcionários. Alguns funcionários podem utilizar
mais de um veículo, porém alguns funcionários não têm veículos pertencentes à frota
da empresa.
e. Empresa E: Cada veículo pode ser dirigido por um ou mais funcionários. Todos os
veículos estão alocados aos funcionários. Cada funcionário pode utilizar apenas um
veículo e todos os funcionários têm veículos pertencentes à frota da empresa.
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4767041E2
Lista de Exercícios de Banco de Dados Prof.: Edilberto Silva 20
93) Aluno e Curso
Tomando como base os diagramas a seguir elabore um texto breve (similar aos apresentados
nas questões acima) para explicar cada caso.
94) Video Locadora
Elabore o MER (Modelo Entidade Relacionamento).
Uma locadora de vídeos possui aproximadamente 5000 DVDs. O objetivo do sistema é manter
um controle das locações efetuadas pelos clientes.
Cada DVD (id, codigo Barros) possui um código exclusivo e contém somente um filme. Para
cada filme, é necessário saber seu título e sua categoria (comédia, drama, aventura,etc.).
Cada filme recebe um identificador próprio. Há pelo menos um DVD de cada filme.
Os clientes frequentemente desejam encontrar os filmes estrelados pelos seus atores
prediletos. Por isso, é necessário manter a informação dos atores que estrelam em cada
filme. Nem todo filme possui atores (exemplo: documentários). Cada Ator cadastrado
participa pelo menos de um filme e no seu cadastro em relação a filmes descreve se o ator
atuou como (principal, coadjuvante).
Para cada ator os clientes desejam saber o nome real, além do nome artístico e a data de
nascimento. Todo ator deve possuir um código único.
A locadora possui aproximadamente 3000 clientes cadastrados. Somente clientes cadastrados
podem alugar DVDs. Para cada cliente é necessário saber seu nome, seus telefones e o tipo
(celular, comercial, residencial). Cada cliente recebe um número de associado como
identificador.
Um cliente pode alugar vários DVDs em um instante do tempo e um DVD pode ser alugado por
vários clientes. É necessário manter os registros históricos das locações com as datas de
retirada e data de entrega dos DVDs.
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4767041E2
Lista de Exercícios de Banco de Dados Prof.: Edilberto Silva 21
95) Escola
Elabore o MER (Modelo Entidade Relacionamento).
Uma escola de informática oferece vários cursos livres com duração entre trinta e sessenta
dias. Cada curso recebe um código identificador. Professores são contratados para ministrar
um ou mais cursos e, portanto é necessário saber quais cursos cada professor está habilitado
a ministrar. Os professores recebem um número de matrícula.
A escola deseja manter também registrado o nome, endereço, telefone, e-mail de todos os
seus professores.
Há várias turmas para cada curso. Cada turma, identificada por um código, tem apenas um
professor e está alocada em apenas uma sala. Porém, uma sala pode ser alocada para mais de
uma turma em diferentes períodos. Um aluno pode matricular-se simultaneamente em vários
cursos e, portanto, pertencer a mais de uma turma. No momento da matrícula o aluno recebe
um RA (válido para um ou mais cursos).
A escola mantém registrado o nome, endereço, telefone, email, RG e CPF de todos os seus
alunos.
96) Empresa XPTO
Elabore o MER (Modelo Entidade Relacionamento).
Uma empresa é organizada em departamentos. Cada departamento possui um nome e um
código único e pode ter várias localidades (cidades). Os projetos existentes na empresa são,
obrigatoriamente, controlados por um departamento, e cada projeto possui um nome, um
código único e uma única localização (cidade), que pode ser diferente das possíveis localidades
do departamento que o controla.
Alguns departamentos não possuem projetos sob sua responsabilidade. No caso dos
empregados da empresa é armazenado número de matrícula, nome, endereço, salário, sexo e
data de nascimento. Quase todos os empregados têm um outro empregado que é o seu
supervisor direto, e consequentemente, somente alguns são supervisores. Em função da
cadeia hierárquica existem empregados que não possuem supervisores.
A maioria dos empregados são alocados a um departamento, ou seja, pode até existir um
empregado sem departamento, mas todo departamento deve possuir empregados alocados a
ele, além disso, todo departamento tem um chefe que o gerencia, a partir de uma data, pois a
empresa implementa um sistema de rodízio na chefia dos departamentos, o rodízio na chefia
determina que um empregado só pode ser chefe de somente um departamento.
Um empregado pode trabalhar em mais de um projeto, mesmo que não seja do seu
departamento, dedicando algumas horas por semana em cada um dos projetos. E, é claro,
alguns empregados não estão empenhados em nenhum projeto. Por outro lado, todo projeto
tem pelo menos um ou mais empregados trabalhando nele.
A empresa oferece alguns benefícios sociais aos dependentes dos seus empregados, caso ele
possua. Para tanto, é mantido para cada dependente do empregado o nome do dependente, o
sexo, a data de nascimento e o grau de parentesco.
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4767041E2
Lista de Exercícios de Banco de Dados Prof.: Edilberto Silva 22
97) Trem
Elabore o MER (Modelo Entidade Relacionamento).
Trens podem ser de dois tipos: trens locais ou trens expressos, mas nunca ambos.
Cada trem tem um numero unívoco e um engenheiro.
Estações são paradas expressas ou paradas locais, mas nunca ambas.
Uma estação tem um nome unívoco e um endereço.
Todos os trens locais param em todas as estações.
Trens expressos param unicamente em estações expressas
Para cada trem e cada estação, existem dois horários em que o trem para (um para
cada sentido do trajeto)
98) Blue Empresa Aérea
Elabore o MER (Modelo Entidade Relacionamento).
O objetivo é projetar um sistema de reservas para uma companhia de aviação. O
sistema contará com um banco de dados central, que será acessado por aplicações
clientes, rodando tanto dentro da própria companhia, quanto fora dela.
A transação central do sistema é a reserva. Uma reserva é identificada por um código
gerado pelo sistema em computador. A reserva é feita para um único passageiro, do
qual se conhece apenas o nome.
A reserva compreende um conjunto de trechos de voos, que acontecerão em
determinada data e hora. Para cada trecho, a reserva é feita em uma classe
(econômica, executiva, etc.). Um voo é identificado por um código e possui uma origem
e um destino. Por exemplo, o voo 595 sai de Porto Alegre, com destino a São Paulo.
Um voo é composto de vários trechos, correspondendo as escalas intermediárias do
voo. Por exemplo, o voo 595 é composto de dois trechos, um de Porto Alegre a
Londrina, o outro de Londrina a São Paulo. Cabe salientar que há cidades que são
servidas por vários aeroportos.
Por isso, é importante informar ao passageiro que faz a reserva, qual é o aeroporto no
qual o voo passa. Às vezes os clientes, ao fazer a reserva, desejam saber qual é o tipo
de aeronave que será utilizada em determinado trecho do voo. Alguns poucos voos,
principalmente internacionais, tem troca de aeronave em determinadas escalas.
Nem todos os voos operam em todos os dias da semana. Inclusive, certos voos têm
pequenas mudanças de horário em certos dias da semana.
Cada reserva possui um prazo de validade. Caso os bilhetes não tenham sido emitidos,
até esgotar-se o prazo da reserva, a mesma é cancelada. Reservas podem ser
prorrogadas.
Como o “check-in” de todos os voos está informatizado, a companhia possibilita a
reserva de assento para o passageiro. Reservas de assento podem ser feitas com até 6
meses de antecedência.
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4767041E2
Lista de Exercícios de Banco de Dados Prof.: Edilberto Silva 23
Além de efetivar reservas, o sistema deve servir para vários tipos de consultas que os
clientes podem querer fazer:
1. possibilidades de viagem de uma cidadeou de um aeroporto para o outro;
2. o mesmo, mas restrito a determinados dias da semana;
3. horarios de chegada ou de saida em determinados voos;
4. disponibilidade de vagas em um trecho de voo;
5. disponibilidade de determinados assentos em um trecho de voo.
Baseados nos documentos de Requisitos disponibilizados abaixo elabore o Elabore o MER
(Modelo Entidade Relacionamento).
99) H6
Documento do Sistema de Protocolos H6
Regras de Negócios:
a) Processo possui natureza, onde, uma natureza pode estar associada a mais de um
processo
b) Processo possui tipo, onde, um tipo pode estar associado a mais de um processo
c) Processo está relacionado com Envolvidos que podem ser pessoas Físicas (CPF) ou
Jurídicas (CNPJ). A mesma pessoa por estar relacionada a vários processos em vários
tipos de envolvimento (Réu, Requerente, Requerido, Testemunhas, etc..)
100) CheckNota
Documento do Nota Legal - CheckNota
101) Cinema Easy
Documento do Cinema Easy
102) Agenda
Documento do sistema Agenda
103) PRS: locação de bicicletas
A empresa PRS atende dois tipos de clientes: pessoas físicas e pessoas jurídicas. Para
acelerar o atendimento, é importante conhecer os dados de clientes que já tenham sido
atendidos no passado. Para cada pessoa física é necessário conhecer seu CPF e sexo. Já
para as pessoas jurídicas é necessário conhecer seu CNPJ e inscrição estadual. Todos os
clientes são identificados por um código identificador interno locadora, além de
endereço e telefone.
Cada bicicleta é identificada por um código, possui cor e valor de aluguel. É necessário
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4767041E2
https://drive.google.com/file/d/0BzptWkFdfaxCc2lXTGZyQTRVTjQ/view?usp=sharing
https://drive.google.com/file/d/0BzptWkFdfaxCM2RqNUxnTTdwWnc/view?usp=sharing
https://drive.google.com/file/d/0BzptWkFdfaxCTGJNR1lxNFpSOFE/view
https://drive.google.com/file/d/0BzptWkFdfaxCR19BZW8xc18yY2M/view
Lista de Exercícios de Banco de Dados Prof.: Edilberto Silva 24
gerenciar as marcas das bicicletas (Venzo, Specialized, Scott,etc) cada bicicleta é de
uma marca e uma marca pode estar associada a várias bicicletas. Para cada marca é
necessário guardar o código e sua descrição.
Cada bicicleta é de um tipo (Mountain Bike, Speed, Downhill, etc). Toda bicicleta tem
um tipo e um tipo pode estar associado a várias bicicletas. Para cada tipo é necessário
guardar o código identificador e sua descrição.
Um cliente pode alugar mais de uma bicicleta, mas somente uma por vez a cada
locação e uma uma, no mínimo. Cada bicicleta pode ser alugada por vários clientes.
Cada locação possui um código, valor da locação e uma data.
104) ENADE 2014 - Ciencia da Computação
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4767041E2
Lista de Exercícios de Banco de Dados Prof.: Edilberto Silva 25
105) ENADE 2014 - ADS (3)
106) ENADE 2014 - Ciência da Computação (SQL) (QUESTÃO 24)
A. SELECT E.UF FROM Estado AS E A WHERE E.nome_estado NOT IN ( SELECT F.UF FROM
Fornecedor AS F);
B. SELECT E.nome_estado FROM Estado AS E, FROM B Fornecedor AS F WHERE E.UF =
F.UF;
C. SELECT E.nome_estado FROM Estado AS E WHERE E.UF NOT IN ( C SELECT F.UF FROM
Fornecedor AS F);
D. SELECT E.nome_estado D FROM Estado AS E, FROM Fornecedor AS F WHERE
E.nome_estado = F.UF;
E. SELECT E.nome_estado FROM Estado AS E E WHERE E.UF IN (SELECT F.UF FROM
Fornecedor AS F);
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4767041E2
Lista de Exercícios de Banco de Dados Prof.: Edilberto Silva 26
107) ENADE 2014 - ADS (SQL) (QUESTÃO 11)
A select titulo from livro except
select l.titulo from emprestimo e inner join livro l
on e.livro_cod = l.liv_cod where e.data_dev is null
B select titulo from livro union
select l.titulo from emprestimo e inner join livro l
on e.livro_cod = l.liv_cod where e.data_dev is null
C select titulo from livro except
select l.titulo from emprestimo e inner join livro l
on e.livro_cod = l.liv_cod where e.data_dev is not null
D select titulo from livro union select l.titulo from emprestimo e left join livro l on e.livro_cod =
l.liv_cod where e.data_dev is null
E select titulo from livro except
select l.titulo from emprestimo e right join livro l
on e.livro_cod = l.liv_cod where e.data_dev is not null
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4767041E2
Lista de Exercícios de Banco de Dados Prof.: Edilberto Silva 27
108) ENADE 2014 - ADS (QUESTÃO 21)
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4767041E2
Lista de Exercícios de Banco de Dados Prof.: Edilberto Silva 28
109) ENADE 2014 - ADS (QUESTÃO 22)
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4767041E2
Lista de Exercícios de Banco de Dados Prof.: Edilberto Silva 29
SQL
110) Escola
Criar por meio de comandos DDL o banco de Dados correspondente ao modelo lógico abaixo..
Obs.: Começar pelas tabelas que não possuem FK
111) Escola 2
Modificar por meio de comandos DDL - Data Definition Language
A. Incluir o campo Aluno.DtNascimento do tipo DATE;
B. Remover o campo Curso_Aluno.DtMatricula de
C. Modificar o Campo Professor.NomeProfessor para varchar (100);
D. Mudar o nome do Campo Professor.NomeProfessor varchar (100) para
Professor.NomeDocente varchar (100);
Comandos básicos DML
/*SQL - LINGUAGEM DE PESQUISA
DDL - Definição de Dados (CREATE/DROP/ALTER)
DML - Manipulação de Dados (INSERT/SELECT/UPDATE -- USE/DESCRIBE)
DCL - Controle/Permissão de Dados(GRANT/REVOKE)*/
-- Conectar-se ao Database
use exercicio110;
-- Inserção de dados
INSERT INTO <NomedaTabela> (campo1, campo2)
VALUES (valor1, 'valor2');
-- Listar os campos da tabela
DESCRIBE <NomedaTabela>;
-- Consultar os dados da tabela
SELECT campo1, campo2 FROM <NomedaTabela>;
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4767041E2
Lista de Exercícios de Banco de Dados Prof.: Edilberto Silva 30
SELECT * FROM <NomedaTabela1>
INNER JOIN <NomedaTabela2>
ON <ChavedaTabela1> = <ChavedaTabela2>
WHERE <condição>
ORDER BY <campo1>;
112) Clinica
Criar por meio de comandos DDL e fazer os insert do banco de Dados referenciado na página
5 da Apostila de SQL disponibilizada.
(https://drive.google.com/open?id=0BzptWkFdfaxCWkl1aHhHV21oRmtUal9UZkcwV
kxiRUlFLVo4 )
Obs.: Começar pelas tabelas que não possuem FK
113) Cliente e Telefones
Criar por meio de comandos DDL e fazer os insert do banco de Dados referenciado na página 9
da Apostila de SQL disponibilizada
(Cliente e Telefones (Observar a ligação entre as tabelas)
(https://drive.google.com/open?id=0BzptWkFdfaxCWkl1aHhHV21oRmtUal9UZkcwV
kxiRUlFLVo4 )
Obs.: Começar pelas tabelas que não possuem FK
114) Médicos, Paciente
Criar por meio de comandos DDL e fazer os insert do banco de Dados referenciado na páginas
25 e 26 da Apostila de SQL disponibilizada.
(Médicos, Paciente)
(https://drive.google.com/open?id=0BzptWkFdfaxCWkl1aHhHV21oRmtUal9UZkcwV
kxiRUlFLVo4 )
Obs.: Começar pelas tabelas que não possuem FK
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4767041E2
https://drive.google.com/open?id=0BzptWkFdfaxCWkl1aHhHV21oRmtUal9UZkcwVkxiRUlFLVo4
https://drive.google.com/open?id=0BzptWkFdfaxCWkl1aHhHV21oRmtUal9UZkcwVkxiRUlFLVo4
https://drive.google.com/open?id=0BzptWkFdfaxCWkl1aHhHV21oRmtUal9UZkcwVkxiRUlFLVo4
https://drive.google.com/open?id=0BzptWkFdfaxCWkl1aHhHV21oRmtUal9UZkcwVkxiRUlFLVo4
https://drive.google.com/open?id=0BzptWkFdfaxCWkl1aHhHV21oRmtUal9UZkcwVkxiRUlFLVo4
https://drive.google.com/open?id=0BzptWkFdfaxCWkl1aHhHV21oRmtUal9UZkcwVkxiRUlFLVo4
Lista de Exercícios de Banco de Dados Prof.: Edilberto Silva 31
115) Aluno, Alunos_da_Banda
Criar por meio de comandos DDL e fazer os insert do banco de Dados referenciado nas
páginas 30 e 31 da Apostila de SQL disponibilizada
(https://drive.google.com/open?id=0BzptWkFdfaxCWkl1aHhHV21oRmtUal9UZkcwV
kxiRUlFLVo4 )
Obs.: Começar pelas tabelas que não possuem FK
116) Produto, Detalhes_pedido, Pedido
Criar por meio de comandos DDL e fazer os insert do banco de Dados referenciado na página
3da Apostila de SQL disponibilizada
(https://drive.google.com/open?id=0BzptWkFdfaxCWkl1aHhHV21oRmtUal9UZkcwV
kxiRUlFLVo4 )
Obs.: Começar pelas tabelas que não possuem FK
117) Faculdade
Inserir por meio de comandos DML os seguintes registros
StatusAluno
idStatusAluno,DeTipoAluno
(1,'Egresso')
(2,'Transferido')
(3,'Cursando')
Aluno
idAluno, NomeAluno,idStatusAluno
(1,'Paloma Oliveira',1)
(2,'Marina Ruy Barbosa',2)
(3,'Aline Riscado',2)
(4,'Bruna Marquezine',3)
(5,'Isabela Fontana',2)
(6,'Eva Andressa',1)
(7,'Camila Queiroz',3);
Curso
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4767041E2
https://drive.google.com/open?id=0BzptWkFdfaxCWkl1aHhHV21oRmtUal9UZkcwVkxiRUlFLVo4
https://drive.google.com/open?id=0BzptWkFdfaxCWkl1aHhHV21oRmtUal9UZkcwVkxiRUlFLVo4
https://drive.google.com/open?id=0BzptWkFdfaxCWkl1aHhHV21oRmtUal9UZkcwVkxiRUlFLVo4
https://drive.google.com/open?id=0BzptWkFdfaxCWkl1aHhHV21oRmtUal9UZkcwVkxiRUlFLVo4
Lista de Exercícios de Banco de Dados Prof.: Edilberto Silva 32
idCurso,DeCurso
(1,'ADS Analise Desenvolvimento de
Sistemas')
(2,'GTI Gestão de Tecnologia da
Informação')
(3,'Engenharia')
(4,'Medicina')
(5,'Direito')
(6,'Educação Física')
Professor
idProfessor,Nomeprofessor
(1,'Eisntein')
(2,'Girafalis')
(3,'Patata')
(4,'Raimundo')
(5,'Pardal');
Disciplina
idDisciplina,DeDisciplina,idCurso,
idProfessor
(1,'Banco de Dados',1,1)
(2,'Civil',4,1)
(3,'Java',2,2)
(4,'Anatomia',4,3)
(5,'Fisiologia',4,1)
(6,'Engenharia Software',2,2)
(7,'Constitucional',5,3);
Inserir em Curso_Aluno
idCurso, idAluno, Ativo,DtMatricula
(1,1,1,'2018-04-23')
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4767041E2
Lista de Exercícios de Banco de Dados Prof.: Edilberto Silva 33
(1,2,1,'2018-04-17')
(1,3,0,'2018-03-12')
(3,6,0,'2018-01-23')
(4,4,1,'2018-03-13')
(5,5,1,'2018-02-27');
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4767041E2
Lista de Exercícios de Banco de Dados Prof.: Edilberto Silva 34
118) Vários SELECTs
Fazer SELECT que retorne os seguintes registros:
A. Todos os alunos que tem Status cursando;
B. Todos os alunos, Somente Nome do Aluno ordenado pelo nome (Ordem Crescente e
Descrescente);
C. Todos os alunos, Nome do Aluno e IdAluno ordenado pelo idaluno;
D. Todos os campos, somente Alunos com idaluno >=3;
E. Todos os campos, Somente Alunos com idaluno <4;
F. Nomes dos alunos e Status do Aluno (DeTipoAluno) ordenado pelo Nome do Aluno
G. Nomes dos alunos e Nome do Curso matriculado ordenado pelo nomealuno;
H. Todos os campos, Somente Alunos com idaluno <7 e >4;
I. Todos os campos, Somente Alunos com idaluno <5 e >=2 ordenado pelo nomealuno;
J. Todos os alunos do curso de Medicina;
K. Todos os alunos do curso de ADS e que sejam egressos;
L. Todos os Alunos que comecem com a letra P;
M. Todos os Alunos que terminem com a letra A;
N. Todos os Alunos que tenham a letra V e sejam do curso de Engenharia;
O. Nome dos Alunos e curso matriculado com idaluno <7 e >4 ordenado pelo nomealuno,
que contenham a letra N, estejam “Transferido”;
P. Trazer Nome do Aluno e somente o ano de dtMatricula ordenado pelo Nomedo Aluno
Q. Trazer a data e hora atual, somente mês de matricula ordenado pelo Nomedo Aluno
R. Contar quantos alunos se matricularam no mês de Abril;
S. Contar quantos alunos se matricularam no dia 23 de qualquer mês;
T. Contar os nomes dos alunos agrupados por nome do Curso
U. Contar o Nomes dos professores agrupados por Disciplina
V. Contar os Nomes dos Disciplinas agrupados por Professor
W. Nome do Aluno, Status, Nome do Curso que a todos os alunos que comecem com “Eva”
estejam matriculados
X. Todos os Alunos que tenha com a letra letra A no nome e sejam do curso de Medicina
status diferente de “Cursando”;
Y. Todos os Alunos que tenha com a letra letra A no nome e sejam do curso de Medicina
status igual a “Cursando”;
Z. Contar os Alunos agrupados por Disciplina
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4767041E2
Lista de Exercícios de Banco de Dados Prof.: Edilberto Silva 35
119) Vários UPDATEs
ATUALIZAR os registros para as condições abaixo. Fazer uma consulta antes e depois de
atualizar
A. Mudar o nome da aluna idaluno=3 para “Joana Treptow”
B. Mudar o nome da aluna “Bruna Marquezine” para “Paloma Tocci”
C. Mudar data de matrícula da aluna “Eva Andressa” para 02/12/2011
D. Mudar data de matrícula da aluna “Isabela Fontana” para 09/03/2015
E. Mudar o status para “Ativo” para todos os alunos com idaluno >=2 em Curso aluno.
F. Mudar o nome do professor “Pardal” para “Mickey”
G. Mudar o nome da disciplina “Fisiologia” para “Nefrologia”
H. Mudar nome da disciplina e código do professor na tabela disciplina, onde, de “Civil”
para “Sistemas Operacionais” e código professor de 1 para 4;
I. Mudar nome do aluno e status na tabela aluno, onde, de “Isabela Fontana” para
“Fiorella Matheis” e status de 2 para 3;
120) Vários DELETES
EXCLUIR os registros para as condições abaixo. Fazer uma consulta antes e depois
de excluir.
Obs.: Caso seja necessário excluir as suas dependência antes
A. Excluir a Disciplina iddisciplina = 3
B. Excluir Curso_aluno para todos os cursos idcurso=4;
C. Excluir Status_Aluno = “Egresso”
D. Excluir o Professor “Raimundo”
E. Excluir o Professor “Girafalis”
F. Excluir as matriculas realizadas em “Abril”
121) Modelo PI
Modelo e Exemplo para o Projeto Interdisciplinar
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4767041E2
https://docs.google.com/document/d/1ikgrcbbm7gDlbzuBIvKEQV06pZNgDflU-1hebj5zyjE/edit#
Lista de Exercícios de Banco de Dados Prof.: Edilberto Silva 36
NORMALIZAÇÃO
Cliente.csv
IdCliente (PK) NoCliente Cidade UF Telefone Email
1 Aline Riscado 123 DF
DF76UJGK
8787-7676
aline@gmail.com; riscado@gmail.com
1 Aline Riscado Santa Maria DF
9989-8989
8787-7676
aline@gmail.com; riscado@gmail.com
1 Aline Riscado Gama DF
9989-8989
8787-7676
aline@gmail.com; riscado@gmail.com
2 Paloma Oliveira Gama DF
9873-1234
8876-0000
paloma@gmail.com; oliveira@gmail.com
3 Marina Ruy Barbosa Taguatinga DF 1234-4567 marina@uol.com.br
4 Bruna Marquezine Taguatinga Sul DF 4567-8900 Bruna@terra.com.br
Compra.csv
idCompra (PK) IdProduto (PK) NoProduto DataCompra ValorCompra CategoriaProduto CodFornecedor NoFornecedor
10 100 Produto A 09/03/2020 500,00 Beleza 11 Fornecedor 11
10 200 Produto B 09/03/2020 500,00 Eletrônico 22 Fornecedor 22
10 300 Produto B 09/03/2020 500,00 Alimentação 33 Fornecedor 33
20 100 Produto A 22/10/2020 200,00 Beleza 55 Fornecedor 55
30 200 Produto B 02/12/2020 150,00 Eletrônico 22 Fornecedor 22
40 400 Produto D 02/12/2020 1000,00 Móvel 11 Fornecedor 11
1a Formal Normal
Uma relação está na 1FN se, e somente se, todos os seus atributos contêm apenas
valores atômicos (simples, indivisíveis) e não contém tabelas aninhadas;
2ª Forma Normal
3ª Forma Normal
Resolução do Exercício
https://docs.google.com/spreadsheets/d/1fCEP_wHVBA8BrBN5L0t01ZW3ZLyb68h3ocGUb4Jj62
Q/edit?usp=sharing
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4767041E2
https://docs.google.com/spreadsheets/d/1fCEP_wHVBA8BrBN5L0t01ZW3ZLyb68h3ocGUb4Jj62Q/edit?usp=sharing
https://docs.google.com/spreadsheets/d/1fCEP_wHVBA8BrBN5L0t01ZW3ZLyb68h3ocGUb4Jj62Q/edit?usp=sharing
Lista de Exercícios de Banco de Dados Prof.: Edilberto Silva 37
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4767041E2
Lista de Exercícios de Banco de Dados Prof.: Edilberto Silva 38
DESNORMALIZAÇÃO
Cliente.csv
IdCliente (PK) NoCliente Cidade UF Telefone Email
1 Aline Riscado 123 DF
DF76UJGK
8787-7676
aline@gmail.com; riscado@gmail.com
1 Aline Riscado Santa Maria DF
9989-8989
8787-7676
aline@gmail.com; riscado@gmail.com
1 Aline Riscado Gama DF
9989-8989
8787-7676
aline@gmail.com; riscado@gmail.com
2 Paloma Oliveira Gama DF
9873-1234
8876-0000
paloma@gmail.com; oliveira@gmail.com
3 Marina Ruy Barbosa Taguatinga DF 1234-4567 marina@uol.com.br
4 Bruna Marquezine Taguatinga Sul DF 4567-8900 Bruna@terra.com.br
Compra.csv
idCompra (PK) IdProduto(PK) NoProduto DataCompra ValorCompra CategoriaProduto CodFornecedor NoFornecedor
10 100 Produto A 09/03/2020 500,00 Beleza 11 Fornecedor 11
10 200 Produto B 09/03/2020 500,00 Eletrônico 22 Fornecedor 22
10 300 Produto B 09/03/2020 500,00 Alimentação 33 Fornecedor 33
20 100 Produto A 22/10/2020 200,00 Beleza 55 Fornecedor 55
30 200 Produto B 02/12/2020 150,00 Eletrônico 22 Fornecedor 22
40 400 Produto D 02/12/2020 1000,00 Móvel 11 Fornecedor 11
Criar modelo Multidimensional
Data
09/03/2020
22/10/2020
02/12/2020
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4767041E2
Lista de Exercícios de Banco de Dados Prof.: Edilberto Silva 39
RESPOSTAS
85) Entidades: Cliente, Apólice, Carro e Acidentes
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4767041E2
Lista de Exercícios de Banco de Dados Prof.: Edilberto Silva 40
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4767041E2
Lista de Exercícios de Banco de Dados Prof.: Edilberto Silva 41
86) Entidades: Médico, Paciente e Exame.
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4767041E2
Lista de Exercícios de Banco de Dados Prof.: Edilberto Silva 42
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4767041E2
Lista de Exercícios de Banco de Dados Prof.: Edilberto Silva 43
87) Resposta do exercicio para Indústria.
-- MySQL Workbench Forward Engineering
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE,
SQL_MODE='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERR
OR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
-- -----------------------------------------------------
-- Schema Exercicio87
-- -----------------------------------------------------
DROP SCHEMA IF EXISTS `Exercicio87` ;
-- -----------------------------------------------------
-- Schema Exercicio87
-- -----------------------------------------------------
CREATE SCHEMA IF NOT EXISTS `Exercicio87` DEFAULT CHARACTER SET utf8 ;
USE `Exercicio87` ;
-- -----------------------------------------------------
-- Table `Exercicio87`.`Deposito`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Exercicio87`.`Deposito` (
`idDeposito` INT NOT NULL AUTO_INCREMENT,
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4767041E2
Lista de Exercícios de Banco de Dados Prof.: Edilberto Silva 44
`Endereco` VARCHAR(70) NOT NULL,
PRIMARY KEY (`idDeposito`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `Exercicio87`.`Peca`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Exercicio87`.`Peca` (
`idPeca` INT NOT NULL AUTO_INCREMENT,
`Descricao` VARCHAR(45) NOT NULL,
`idDeposito` INT NOT NULL,
PRIMARY KEY (`idPeca`),
CONSTRAINT `fk_Peca_Deposito1`
FOREIGN KEY (`idDeposito`)
REFERENCES `Exercicio87`.`Deposito` (`idDeposito`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
CREATE INDEX `fk_Peca_Deposito1_idx` ON `Exercicio87`.`Peca` (`idDeposito` ASC) VISIBLE;
-- -----------------------------------------------------
-- Table `Exercicio87`.`Fornecedor`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Exercicio87`.`Fornecedor` (
`idFornecedor` INT NOT NULL AUTO_INCREMENT,
`Nome` VARCHAR(45) NOT NULL,
PRIMARY KEY (`idFornecedor`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `Exercicio87`.`Departamento`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Exercicio87`.`Departamento` (
`idDepartamento` INT NOT NULL AUTO_INCREMENT,
`Nome` VARCHAR(45) NOT NULL,
PRIMARY KEY (`idDepartamento`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `Exercicio87`.`Funcionario`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Exercicio87`.`Funcionario` (
`idFuncionario` INT NOT NULL AUTO_INCREMENT,
`Nome` VARCHAR(45) NOT NULL,
`idDepartamento` INT NOT NULL,
PRIMARY KEY (`idFuncionario`),
CONSTRAINT `fk_Funcionario_Departamento1`
FOREIGN KEY (`idDepartamento`)
REFERENCES `Exercicio87`.`Departamento` (`idDepartamento`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4767041E2
Lista de Exercícios de Banco de Dados Prof.: Edilberto Silva 45
ENGINE = InnoDB;
CREATE INDEX `fk_Funcionario_Departamento1_idx` ON `Exercicio87`.`Funcionario`
(`idDepartamento` ASC) VISIBLE;
-- -----------------------------------------------------
-- Table `Exercicio87`.`Projeto`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Exercicio87`.`Projeto` (
`DataInicio` DATETIME NOT NULL,
`DataFim` DATETIME NOT NULL,
`idFuncionario` INT NOT NULL,
`idProjeto` INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`idProjeto`),
CONSTRAINT `fk_Projeto_Funcionario1`
FOREIGN KEY (`idFuncionario`)
REFERENCES `Exercicio87`.`Funcionario` (`idFuncionario`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
CREATE INDEX `fk_Projeto_Funcionario1_idx` ON `Exercicio87`.`Projeto` (`idFuncionario` ASC)
VISIBLE;
-- -----------------------------------------------------
-- Table `Exercicio87`.`Peca_Fornecedor`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Exercicio87`.`Peca_Fornecedor` (
`idPeca` INT NOT NULL,
`idFornecedor` INT NOT NULL,
PRIMARY KEY (`idPeca`, `idFornecedor`),
CONSTRAINT `fk_Peca_has_Fornecedor_Peca1`
FOREIGN KEY (`idPeca`)
REFERENCES `Exercicio87`.`Peca` (`idPeca`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_Peca_has_Fornecedor_Fornecedor1`
FOREIGN KEY (`idFornecedor`)
REFERENCES `Exercicio87`.`Fornecedor` (`idFornecedor`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
CREATE INDEX `fk_Peca_has_Fornecedor_Fornecedor1_idx` ON `Exercicio87`.`Peca_Fornecedor`
(`idFornecedor` ASC) VISIBLE;
CREATE INDEX `fk_Peca_has_Fornecedor_Peca1_idx` ON `Exercicio87`.`Peca_Fornecedor` (`idPeca`
ASC) VISIBLE;
-- -----------------------------------------------------
-- Table `Exercicio87`.`Projeto_Peca`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Exercicio87`.`Projeto_Peca` (
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4767041E2
Lista de Exercícios de Banco de Dados Prof.: Edilberto Silva 46
`idProjeto` INT NOT NULL,
`idPeca` INT NOT NULL,
PRIMARY KEY (`idProjeto`, `idPeca`),
CONSTRAINT `fk_Projeto_has_Peca_Projeto1`
FOREIGN KEY (`idProjeto`)
REFERENCES `Exercicio87`.`Projeto` (`idProjeto`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_Projeto_has_Peca_Peca1`
FOREIGN KEY (`idPeca`)
REFERENCES `Exercicio87`.`Peca` (`idPeca`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
CREATE INDEX `fk_Projeto_has_Peca_Peca1_idx` ON `Exercicio87`.`Projeto_Peca` (`idPeca` ASC)
VISIBLE;
CREATE INDEX `fk_Projeto_has_Peca_Projeto1_idx` ON `Exercicio87`.`Projeto_Peca` (`idProjeto` ASC)
VISIBLE;
-- -----------------------------------------------------
-- Table `Exercicio87`.`Projeto_Fornecedor`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Exercicio87`.`Projeto_Fornecedor` (
`idProjeto` INT NOT NULL,
`idFornecedor` INT NOT NULL,
PRIMARY KEY (`idProjeto`, `idFornecedor`),
CONSTRAINT `fk_Projeto_has_Fornecedor_Projeto1`
FOREIGN KEY (`idProjeto`)
REFERENCES `Exercicio87`.`Projeto` (`idProjeto`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_Projeto_has_Fornecedor_Fornecedor1`
FOREIGN KEY (`idFornecedor`)
REFERENCES `Exercicio87`.`Fornecedor` (`idFornecedor`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
CREATE INDEX `fk_Projeto_has_Fornecedor_Fornecedor1_idx` ON `Exercicio87`.`Projeto_Fornecedor`
(`idFornecedor` ASC) VISIBLE;
CREATE INDEX `fk_Projeto_has_Fornecedor_Projeto1_idx` ON `Exercicio87`.`Projeto_Fornecedor`
(`idProjeto` ASC) VISIBLE;
SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4767041E2
Lista de Exercícios de Banco de Dados Prof.: Edilberto Silva 47
85) Resposta do exercicio para Catálogo de CDs
-- MySQL Workbench Forward Engineering
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE,
SQL_MODE='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERR
OR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
-- -----------------------------------------------------
-- Schema Exercicio88
-- -----------------------------------------------------
DROP SCHEMA IF EXISTS `Exercicio88` ;
-- -----------------------------------------------------
-- Schema Exercicio88
-- -----------------------------------------------------
CREATE SCHEMA IF NOT EXISTS `Exercicio88` DEFAULT CHARACTER SET utf8 ;
USE `Exercicio88` ;
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4767041E2
Lista de Exercícios de Banco de Dados Prof.: Edilberto Silva 48
-- -----------------------------------------------------
-- Table `Exercicio88`.`CD`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Exercicio88`.`CD` (
`idCD` INT NOT NULL AUTO_INCREMENT,
`Titulo` VARCHAR(45) NOT NULL,
PRIMARY KEY (`idCD`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `Exercicio88`.`Cantor`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Exercicio88`.`Cantor` (
`idCantor` INT NOT NULL AUTO_INCREMENT,
`Nome` VARCHAR(45) NULL,
PRIMARY KEY (`idCantor`))
ENGINE = InnoDB;
CREATE UNIQUE INDEX `Nome_UNIQUE` ON `Exercicio88`.`Cantor` (`Nome` ASC) VISIBLE;
-- -----------------------------------------------------
-- Table `Exercicio88`.`Musica`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Exercicio88`.`Musica` (
`idMusica` INT NOT NULL AUTO_INCREMENT,
`titulo` VARCHAR(45) NOT NULL,
`duracao` TIME NOT NULL,
`idCantor` INT NOT NULL,
PRIMARY KEY (`idMusica`),
CONSTRAINT `fk_Musica_Cantor1`
FOREIGN KEY (`idCantor`)
REFERENCES `Exercicio88`.`Cantor` (`idCantor`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
CREATE INDEX `fk_Musica_Cantor1_idx` ON `Exercicio88`.`Musica` (`idCantor` ASC) VISIBLE;
-- -----------------------------------------------------
-- Table `Exercicio88`.`Compositor`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Exercicio88`.`Compositor` (
`idCompositor` INT NOT NULL AUTO_INCREMENT,
`Nome` VARCHAR(45) NOT NULL,
PRIMARY KEY (`idCompositor`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `Exercicio88`.`Compositor_Musica`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Exercicio88`.`Compositor_Musica` (
`idCompositor` INT NOT NULL,
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4767041E2
Lista de Exercícios de Banco de Dados Prof.: Edilberto Silva 49
`idMusica` INT NOT NULL,
PRIMARY KEY (`idCompositor`, `idMusica`),
CONSTRAINT `fk_Compositor_has_Musica_Compositor1`
FOREIGN KEY (`idCompositor`)
REFERENCES `Exercicio88`.`Compositor` (`idCompositor`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_Compositor_has_Musica_Musica1`
FOREIGN KEY (`idMusica`)
REFERENCES `Exercicio88`.`Musica` (`idMusica`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
CREATE INDEX `fk_Compositor_has_Musica_Musica1_idx` ON `Exercicio88`.`Compositor_Musica`
(`idMusica` ASC) VISIBLE;
CREATE INDEX `fk_Compositor_has_Musica_Compositor1_idx` ON `Exercicio88`.`Compositor_Musica`
(`idCompositor` ASC) VISIBLE;
-- -----------------------------------------------------
-- Table `Exercicio88`.`Cantor_Musica`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Exercicio88`.`Cantor_Musica` (
`idCantor` INT NOT NULL,
`idMusica` INT NOT NULL,
PRIMARY KEY (`idCantor`, `idMusica`),
CONSTRAINT `fk_Cantor_has_Musica_Cantor1`
FOREIGN KEY (`idCantor`)
REFERENCES `Exercicio88`.`Cantor` (`idCantor`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_Cantor_has_Musica_Musica1`
FOREIGN KEY (`idMusica`)
REFERENCES `Exercicio88`.`Musica` (`idMusica`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
CREATE INDEX `fk_Cantor_has_Musica_Musica1_idx` ON `Exercicio88`.`Cantor_Musica` (`idMusica`
ASC) VISIBLE;
CREATE INDEX `fk_Cantor_has_Musica_Cantor1_idx` ON `Exercicio88`.`Cantor_Musica` (`idCantor`
ASC) VISIBLE;
-- -----------------------------------------------------
-- Table `Exercicio88`.`CD_Musica`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Exercicio88`.`CD_Musica` (
`idCD` INT NOT NULL,
`idMusica` INT NOT NULL,
PRIMARY KEY (`idCD`, `idMusica`),
CONSTRAINT `fk_CD_has_Musica_CD1`
FOREIGN KEY (`idCD`)
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4767041E2
Lista de Exercícios de Banco de Dados Prof.: Edilberto Silva 50
REFERENCES `Exercicio88`.`CD` (`idCD`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_CD_has_Musica_Musica1`
FOREIGN KEY (`idMusica`)
REFERENCES `Exercicio88`.`Musica` (`idMusica`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
CREATE INDEX `fk_CD_has_Musica_Musica1_idx` ON `Exercicio88`.`CD_Musica` (`idMusica` ASC)
VISIBLE;
CREATE INDEX `fk_CD_has_Musica_CD1_idx` ON `Exercicio88`.`CD_Musica` (`idCD` ASC) VISIBLE;
SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
-------------
DML
use exercicio88;
INSERT INTO cd (titulo) values ('Classic Metal');
INSERT INTO cd (titulo) values ('Furacao 2000');
INSERT INTO cd (titulo) values ('AC/DC');
SELECT * FROM cd;
INSERT INTO cantor (Nome) values ('Scorpions'), ('Led Zeppelin'), ('Eagles'), ('AC/DC');
SELECT * FROM cantor;
INSERT INTO musica (titulo,duracao,idcantor) values ('Stairway to Heaven','03:00',2),('Hotel California',
'04:09', 3),('Shoot to thrill Iron Man','05:10',4),('Still Loving You','06:11',1);
SELECT * from musica;
INSERT INTO cd_Musica (idCD, idMusica) values (1,1),(1,2),(1,4),(3,3);
SELECT * from cd_Musica;
SELECT cd.titulo as CD, c.nome as Cantor, m.titulo as Musica
FROM cd
INNER JOIN cd_Musica as cm
on cd.idcd = cm.idcd
INNER JOIN musica m
on m.idmusica = cm.idmusica
INNER JOIN cantor c
on c.idcantor = m.idcantor;
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4767041E2
Lista de Exercícios de Banco de Dados Prof.: Edilberto Silva 51
86) Elabore o MER (Modelo Entidade Relacionamento)
Indústria ACME
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4767041E2
Lista de Exercícios de Banco de Dados Prof.: Edilberto Silva 52
87) Elabore o MER (Modelo Entidade Relacionamento).
Construtora
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4767041E2
Lista de Exercícios de Banco de Dados Prof.: Edilberto Silva 53
88) Elabore o MER (Modelo Entidade Relacionamento).
Organização de saúde
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4767041E2
Lista de Exercícios de Banco de Dados Prof.: Edilberto Silva 54
89) Elabore o MER (Modelo Entidade Relacionamento).
Frota
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4767041E2
Lista de Exercícios de Banco de Dados Prof.: Edilberto Silva 55
91) Elabore o MER (Modelo Entidade Relacionamento).
SISTEMA VIDEO LOCADORA
-- MySQL Workbench Forward Engineering
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4767041E2
Lista de Exercícios de Banco de Dados Prof.: Edilberto Silva 56
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE,
SQL_MODE='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVI
SION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
-- -----------------------------------------------------
-- SchemaExercicio94
-- -----------------------------------------------------
-- -----------------------------------------------------
-- Schema Exercicio94
-- -----------------------------------------------------
CREATE SCHEMA IF NOT EXISTS `Exercicio94` DEFAULT CHARACTER SET utf8 ;
USE `Exercicio94` ;
-- -----------------------------------------------------
-- Table `Exercicio94`.`Categoria`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Exercicio94`.`Categoria` (
`idCategoria` INT NOT NULL AUTO_INCREMENT,
`Descricao` VARCHAR(45) NULL,
PRIMARY KEY (`idCategoria`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `Exercicio94`.`Filme`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Exercicio94`.`Filme` (
`idFilme` INT NOT NULL AUTO_INCREMENT,
`Titulo` VARCHAR(45) NOT NULL,
`idCategoria` INT NOT NULL,
PRIMARY KEY (`idFilme`),
CONSTRAINT `fk_Filme_Categoria1`
FOREIGN KEY (`idCategoria`)
REFERENCES `Exercicio94`.`Categoria` (`idCategoria`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
CREATE INDEX `fk_Filme_Categoria1_idx` ON `Exercicio94`.`Filme` (`idCategoria` ASC) VISIBLE;
-- -----------------------------------------------------
-- Table `Exercicio94`.`DVD`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Exercicio94`.`DVD` (
`idDVD` INT NOT NULL AUTO_INCREMENT,
`idFilme` INT NOT NULL,
PRIMARY KEY (`idDVD`),
CONSTRAINT `fk_DVD_Filme`
FOREIGN KEY (`idFilme`)
REFERENCES `Exercicio94`.`Filme` (`idFilme`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
CREATE INDEX `fk_DVD_Filme_idx` ON `Exercicio94`.`DVD` (`idFilme` ASC) VISIBLE;
-- -----------------------------------------------------
-- Table `Exercicio94`.`Ator`
-- -----------------------------------------------------
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4767041E2
Lista de Exercícios de Banco de Dados Prof.: Edilberto Silva 57
CREATE TABLE IF NOT EXISTS `Exercicio94`.`Ator` (
`idAtor` INT NOT NULL AUTO_INCREMENT,
`NomeReal` VARCHAR(70) NULL,
`NomeArtistico` VARCHAR(70) NULL,
`DtNascimento` DATE NULL,
PRIMARY KEY (`idAtor`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `Exercicio94`.`Ator_Filme`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Exercicio94`.`Ator_Filme` (
`idAtor` INT NOT NULL,
`idFilme` INT NOT NULL,
PRIMARY KEY (`idAtor`, `idFilme`),
CONSTRAINT `fk_Ator_Filme_Ator1`
FOREIGN KEY (`idAtor`)
REFERENCES `Exercicio94`.`Ator` (`idAtor`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_Ator_Filme_Filme1`
FOREIGN KEY (`idFilme`)
REFERENCES `Exercicio94`.`Filme` (`idFilme`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
CREATE INDEX `fk_Ator_Filme_Filme1_idx` ON `Exercicio94`.`Ator_Filme` (`idFilme` ASC) VISIBLE;
CREATE INDEX `fk_Ator_Filme_Ator1_idx` ON `Exercicio94`.`Ator_Filme` (`idAtor` ASC) VISIBLE;
-- -----------------------------------------------------
-- Table `Exercicio94`.`Cliente`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Exercicio94`.`Cliente` (
`idCliente` INT NOT NULL AUTO_INCREMENT,
`Nome` VARCHAR(45) NULL,
`NuCliente` INT NULL,
PRIMARY KEY (`idCliente`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `Exercicio94`.`Locacao`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Exercicio94`.`Locacao` (
`idCliente` INT NOT NULL,
`idDVD` INT NOT NULL,
`DtRetirada` DATE NULL,
`DtEntrega` DATE NULL,
PRIMARY KEY (`idCliente`, `idDVD`),
CONSTRAINT `fk_Cliente_DVD_Cliente1`
FOREIGN KEY (`idCliente`)
REFERENCES `Exercicio94`.`Cliente` (`idCliente`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_Cliente_DVD_DVD1`
FOREIGN KEY (`idDVD`)
REFERENCES `Exercicio94`.`DVD` (`idDVD`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4767041E2
Lista de Exercícios de Banco de Dados Prof.: Edilberto Silva 58
CREATE INDEX `fk_Cliente_DVD_DVD1_idx` ON `Exercicio94`.`Locacao` (`idDVD` ASC) VISIBLE;
CREATE INDEX `fk_Cliente_DVD_Cliente1_idx` ON `Exercicio94`.`Locacao` (`idCliente` ASC) VISIBLE;
-- -----------------------------------------------------
-- Table `Exercicio94`.`Tefefone`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `Exercicio94`.`Tefefone` (
`idTefefone` INT NOT NULL AUTO_INCREMENT,
`NuTelefone` VARCHAR(45) NULL,
`idCliente` INT NOT NULL,
PRIMARY KEY (`idTefefone`),
CONSTRAINT `fk_Tefefone_Cliente1`
FOREIGN KEY (`idCliente`)
REFERENCES `Exercicio94`.`Cliente` (`idCliente`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
CREATE INDEX `fk_Tefefone_Cliente1_idx` ON `Exercicio94`.`Tefefone` (`idCliente` ASC) VISIBLE;
SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4767041E2
Lista de Exercícios de Banco de Dados Prof.: Edilberto Silva 59
92) Elabore o MER (Modelo Entidade Relacionamento).
SISTEMA ESCOLA
-- MySQL Workbench Forward Engineering
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE,
SQL_MODE='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVI
SION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
-- -----------------------------------------------------
-- Schema Exercicio95
-- -----------------------------------------------------
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4767041E2
Lista de Exercícios de Banco de Dados Prof.: Edilberto Silva 60
DROP SCHEMA IF EXISTS `Exercicio95` ;
-- -----------------------------------------------------
-- Schema Exercicio95
-- -----------------------------------------------------
CREATE SCHEMA IF NOT EXISTS `Exercicio95` DEFAULT CHARACTER SET utf8 ;
USE `Exercicio95` ;
-- -----------------------------------------------------
-- Table `Exercicio95`.`Curso`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `Exercicio95`.`Curso` ;
CREATE TABLE IF NOT EXISTS `Exercicio95`.`Curso` (
`idCurso` INT NOT NULL AUTO_INCREMENT,
`DuCurso` INT NOT NULL,
PRIMARY KEY (`idCurso`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `Exercicio95`.`Professor`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `Exercicio95`.`Professor` ;
CREATE TABLE IF NOT EXISTS `Exercicio95`.`Professor` (
`idProfessor` INT NOT NULL AUTO_INCREMENT,
`Nome` VARCHAR(45) NULL,
`Endereco` VARCHAR(45) NULL,
`Email` VARCHAR(45) NULL,
`Telefone` VARCHAR(45) NULL,
`NuMatricula` VARCHAR(45) NULL,
PRIMARY KEY (`idProfessor`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `Exercicio95`.`Professor_Ministra_Curso`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `Exercicio95`.`Professor_Ministra_Curso` ;
CREATE TABLE IF NOT EXISTS `Exercicio95`.`Professor_Ministra_Curso` (
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4767041E2
Lista de Exercícios de Banco de Dados Prof.: Edilberto Silva 61
`idCurso` INT NOT NULL,
`idProfessor` INT NOT NULL,
PRIMARY KEY (`idCurso`, `idProfessor`),
CONSTRAINT `fk_Curso_Professor_Curso`
FOREIGN KEY (`idCurso`)
REFERENCES `Exercicio95`.`Curso` (`idCurso`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_Curso_Professor_Professor1`
FOREIGN KEY (`idProfessor`)
REFERENCES `Exercicio95`.`Professor` (`idProfessor`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
CREATE INDEX `fk_Curso_Professor_Professor1_idx` ON `Exercicio95`.`Professor_Ministra_Curso` (`idProfessor`
ASC) VISIBLE;
CREATE INDEX `fk_Curso_Professor_Curso_idx` ON `Exercicio95`.`Professor_Ministra_Curso` (`idCurso`

Outros materiais