Baixe o app para aproveitar ainda mais
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`
Compartilhar