Baixe o app para aproveitar ainda mais
Prévia do material em texto
Aula 1 SISTEMAS TRADICIONAIS SISTEMAS DE BANCOS DE DADOS Nos Sistemas Tradicionais os dados são armazenados em arquivos que estão fisicamente armazenados, separados uns dos outros O acesso é feito pelos programas de aplicação, utilizando o nome externo dos arquivos e definindo todo o registro, independente da utilização dos campos Nos Sistemas de Banco de Dados os dados são definidos para o Sistema Gerenciador de Banco de Dados (SGBD), através da DDL (linguagem de definição de dados) Fisicamente estão armazenados em um único local, e o acesso só se realiza através do SGBD Nos programas de aplicação, é necessário apenas definir os campos a serem utilizados pelo programa O desenvolvimento de Sistemas informatizados de uso comercial ao longo do tempo: Houve evolução dos sistemas tradicionais para os sistemas de bancos de dados REDUNDÂNCIA DE DADOS Trata-se da duplicação dos mesmos dados em dois ou mais arquivos O problema com a redundância é que as mudanças ao serem feitas no arquivo de uma aplicação não são automaticamente realizadas nos arquivos das outras aplicações, gerando a falta de integridade dos dados Com o passar do tempo, essas aplicações e arquivos independentes podem proliferar a ponto de os recursos de informações da empresa ficarem fora de controle Isso muitas vezes resulta em: DEPENDÊNCIA ENTRE PROGRAMAS E DADOS Os aplicativos tradicionais de banco de dados de arquivos são caracterizados pela dependência entre programas e dados, isto é, programas e dados desenvolvidos e organizados para uma aplicação são incompatíveis com os programas e dados organizados diferentemente para um outro aplicativo CUSTO EXCESSIVO EM SOFTWARE Resultam da criação, documentação e acompanhamento de muitos arquivos e aplicações diferentes AMBIENTE DE DESENVOLVIMENTO DE SISTEMAS O que é um banco de dados? * conjunto de dados que se relacionam * Propriedades: _ coleção lógica e coerente de dados com um significado inerente; _ projetado, construído e populado com dados para um propósito específico; _ possui um conjunto pré definido de usuários e aplicações; _ representa algum aspecto do mundo real - “mini-mundo” e qualquer alteração efetuada neste mini-mundo é automaticamente refletida no banco de dados Benefícios de uso de um SBD * Implementação do Conceito de transação * Controle de Concorrência * Mecanismo de acesso aos dados * Mecanismo de recuperação (Tolerância a falhas) * Maior Segurança SISTEMAS TRADICIONAIS A abordagem de bancos de dados ao gerenciamento de dados surgiu devido a problemas associados com a abordagem tradicional do gerenciamento de dados como: redundância, dificuldades de acesso, integridade e problemas de segurança Um banco de dados é uma coleção de dados organizados de tal forma que possam ser acessados e utilizados por muitas aplicações diferentes Ou seja, em vez de armazenar dados em arquivos separados para utilização, os dados são armazenados e organizados em um só local permitindo compartilhamento e inter- relacionamento por múltiplos usuários A fim de usar a abordagem de banco de dados para o gerenciamento de dados, foi necessário um software adicional – um sistema de gerenciamento de banco de dados (SGBD) O SGBD consiste em um grupo de programas que pode ser usado como uma interface entre o banco de dados e um usuário ou um banco de dados e um programa aplicativo MODELO RELACIONAL 3 - Conceituar Relação 4 - Identificar os componentes do modelo relacional 5 - Conceituar integridade referencial Nossas vidas são gerenciadas por enormes bases de dados Quando vamos, por exemplo, realizarmos um saque no caixa eletrônico de um banco, o sistema do equipamento tem que acessar as informações de agencia, numero da conta, senha e saldo disponível Estas informações, na realidade dados, necessitam de gerenciamento eficiente e confiável que permita sua rápida recuperação e atualização É exatamente este o grande objetivo dos Sistemas de Banco de dados Desenvolvimento de sistemas informatizados 2 - Definir modelo de dados Objetivos da aula 1 1 - Conhecer as principais características de um Sistema de Banco de Dados Conjunto de Tuplas = Instância Campo = Encontro de Linha e Coluna Administrativo => Valor do Campo Nome na terceira Tupla SAIBA MAIS Oracle SqlServer Postgresql MySql FK é quando o ATRIBUTO de uma relação é PK (chave primária) em outra relação É o ELO LÓGICO entre duas tabelas Implementado fisicamente nos RELACIONAMENTOS da Modelagem Conceitual Garante INTEGRIDADE REFERENCIAL do BD Relação = Tabela Atributo = Coluna Valores dos Atributos = Domínio Conjunto de Atributo = Esquema RELAÇÃO ATRIBUTO TUPLA CAMPO CHAVE ESTRANGEIRA As tuplas de uma relação constituem as LINHAS da tabela O CONJUNTO DE TUPLAS de uma tabela constituem a sua INSTÂNCIA Tupla = Linha Ordem das tuplas na relação não é relevante para diferenciar as relações Os valores dos atributos devem ser atômicos, não sendo divisíveis em componentes Os atributos de uma relação constinuem as COLUNAS da tabela TODO ATRIBUTO POSSUI UM DOMÍNIO O CONJUNTO DE ATRIBUTOS de uma tabela constituem seu ESQUEMA TODO CAMPO POSSUI UM VALOR Não há tuplas duplicadas em uma relação Baixo nível ou modelos de dados FÍSICO Fornece uma visão mais detalhada do modo como os dados estão realmente armazenados no computador O modelo relacional, o modelo de rede e o hierárquico e o orientado a objetos são exemplos deste tipo de representação O Esquema de um Banco de Dados é a especificação da estrutura do Banco de Dados De um modo geral se utiliza o termo esquema apenas para os modelos referentes ao aspecto estrutural do mundo real Instância é o conjunto de ocorrências dos objetos de dados de um esquema em um dado momento do tempo (Estado do BD num momento do tempo) Estrutura Geral de um Sistema de Banco de Dados MODELOS DE DADOS O SGBD é responsável por garantir que toda instância do banco de dados satisfaça ao esquema do banco de dados, respeitando sua estrutura e suas restrições Arquitetura 3 Esquemas Visando facilitar o desenvolvimento de sistemas e realçar as vantagens da utilização de Sistemas de Banco de Dados foi criada a Arquitetura Três Esquemas, cuja principal meta é separar as aplicações do usuário do banco de dados físico Os esquemas podem ser definidos como: MODELO RELACIONAL Foi proposto por Edgar Codd em 1970 Modelo Dominante nos SGBD Comerciais Possui uma extensão denominada Objeto Relacional Representa os dados como um CONJUNTO DE RELAÇÕES (TABELAS) ESQUEMAS E INSTÂNCIAS O Modelo de Dados é basicamente um conjunto de conceitos utilizados para descrever um banco de dados Não existe uma única forma de representação deste modelo, porém qualquer forma que permita a correta compreensão das estruturas de dados compreendidas no banco de dados pode ser considerada adequada Os tipos de modelo são: Alto nível ou modelo de dados CONCEITUAL Fornece uma visão mais próxima do modo como os usuários visualizam os dados realmente O modelo entidade-relacionamento e o funcional são exemplos deste tipo de abordagem O CAMPO de uma relação é definido como a área de interseção entre um ATRIBUTO (coluna) e uma TUPLA (linha) Você pode visitar sites de SGBD como: Além disso você pode pesquisar na internet sites, vídeos e artigos relacionados ao conteúdo visto Se ainda tiver alguma dúvida, fale com seu professor online utilizando os recursos disponíveis no ambiente de aprendizagem SQL Linguagem Estruturada de Consultas Meta dados Conjunto de valores armazenados pelo Banco de Dados em seus arquivos Informações referentes ao tipo e organização dos dados do banco Módulo do SGBD responsável pelo controle do acesso físico aos dados. Módulodo SGBD responsável por determinar a forma de executar a consulta solicitada pelo usuário, via aplicação. Realiza a interpretação do comando (análise sintática, léxica e semântica) e elabora o plano de execução do comando, estabelecendo a forma de acessar fisicamente os dados. PESSOA CPF NOME COD_DEP 123 A D-10 456 B D-10 789 C D-20 DEPART COD_DEP NOME LOCAL D-10 DEPART-10 L1 D-20 DEPART-20 L2 D-30 DEPART-30 L3 ESQUEMA INSTÂNCIA DBA Desenvolvedor EXERCÍCIOS AULA 01 1 08 Q 03 ERROS 05 ACERTOS 62,5 a b c d e 1 3 3 2 0 0 a nova (s): 3 REP 7 b c X d E e 2 a b c x d e 3 a b x c d e 4 a x b c d e 5 a b x c d e 6 a X b E c d e 7 a x b c d e 8 a E b X c d e Analise as afirmações a seguir, relativas ao conceito de chave primária: i Pode ser composta por um ou vários atributos ii Não admite duplicidade de valores, exceto no caso de valores nulos iii Deve ser definida durante a construção do modelo de E-R Marque a alternativa correta (apenas uma opção) As afirmações II e III são falsas um grupo de valores atômicos a partir dos quais um ou mais atributos (ou colunas) retiram seus valores reais Considere o esquema de banco de dados ilustrado na figura abaixo em que as chaves primárias estão sublinhadas Podemos afirmar que a coluna cod_curso da tabela Aluno é _____________ da tabela Curso na coluna cod_curso Assinale a alternativa que contém a sentença que completa a frase acima: Chave primária Chave estrangeira Super Chave Chave candidata Chave Apenas as afirmações I e III são verdadeiras Apenas as afirmações II e III são verdadeiras As afirmações I e II são falsas Todas as afirmações são verdadeiras Uma chave candidata é: uma ou mais colunas que identificam univocamente a relação, porém não fazem parte da chave primária uma coluna ou uma combinação de colunas, cujos valores aparecem necessariamente na chave primária de uma tabela um conjunto de valores que cada atributo, definido no esquema, assume em um determinado instante, formando o conjunto de tuplas um conjunto de atributos que descrevem as características dos elementos a serem modelados Os índices da tabela As colunas da tabela As tuplas da tabela As linhas da tabela Os nomes das tabelas Analise as seguintes afirmações: "(1) O valor de uma chave estrangeira só pode ser inserido em uma tabela se já existe na tabela onde é chave primária PORQUE (2) esta restrição garante a integridade referencial" Podemos afirmar: As duas afirmações são verdadeiras e primeira justifica a segunda As duas afirmações são falsas A primeira afirmação é falsa e a segunda é verdadeira A primeira afirmação é verdadeira e a segunda é falsa As duas afirmações são verdadeiras e primeira não justifica a segunda É responsável por garantir a Integridade Referencial: Chave Candidata Chave Estrangeira Chave Secundária Chave Primária Chave de Atributo Considere o texto a seguir e complete as lacunas, com as expressões constantes nas alternativas, respeitando a correlação sequencial em que estão dispostas Uma é uma coluna ou uma combinação de colunas cujos valores distinguem uma linha das demais, dentro de uma tabela Uma é uma coluna ou uma combinação de colunas cujos valores aparecem, necessariamente, na de uma tabela Em alguns casos, mais de uma coluna ou combinações de colunas podem servir para distinguir uma linha das demais Uma das colunas (ou combinação de colunas) é escolhida como As demais colunas ou combinações são denominadas A seqüência correta encontra-se apenas em: Chave primária; chave estrangeira; chave primária; chave secundária; chaves alternativas Chave primária; super-chave; chave primária; chave candidata; chaves secundárias Chave primária; chave estrangeira; chave primária; chave primária; chaves alternativas Chave primária; chave estrangeira; chave primária; chave primária; chaves estrangeiras Chave primária; chave primária; chave primária; super-chave; chaves secundárias Dentre as vantagens da utilização dos SGBDs a seguir, qual NÃO é uma vantagem? Redução ou Eliminação de redundâncias Padronização dos dados Dependência entre programas e dados Compartilhamento de Dados Independência dos dados Os atributos de uma tabela constituem: EXERCÍCIOS AULA 01 2 08 Q 00 ERROS 08 ACERTOS 100,0 a b c d e 1 8 2 4 1 1 0 nova a 0 nova (s): 9 REP 1 b X 0 173 170 c 0 644 759 d 0 e 0 Chave primária; chave estrangeira; chave primária; chave primária; chaves alternativas 2 nova a 0 b 0 c X 0 184 d 0 e 0 3 Mas há ERRO... nova a 0 b X 0 c 0 d 0 e 0 4 177 a 0 b x 0 c 0 d 0 e 0 5 nova a 0 b x 0 c 0 d 0 e 0 6 nova a 0 b 0 c 0 d x 0 e 0 7 nova a x 0 b 0 c 0 d 0 e 0 8 nova a x 0 b 0 c 0 d 0 e 0 cpf, nome matricula, nome matricula, cpf matricula, endereco Questão não Localizada Questão não Localizada Os conceitos de banco de dados relacional refletem o nível de abstração dos dados. Desta forma, marque a alternativa que se refere à instância da entidade. Uma chave estrangeira é sempre uma chave primária em outra tabela. Toda entidade deve possui chave primária. É o conjunto de opções de preenchimento do atributo. Pode ser considerado como o resultado da aplicação do SELECT. Pode ser modificado com o uso dos comandos DDL. Questão não Localizada Considere a tabela aluno mostrada abaixo: Qual o atributo poderia ser chave candidata da tabela acima? cpf cidade endereco Não existe atributo que poderia ser chave candidata. nome Questão não Localizada Considere o esquema: Aluno(matricula, cpf, nome, endereço). Assinale a alternativa que não representa uma super-chave deste esquema. nome, endereço Chave primária Chave candidata Super Chave Questão não Localizada Dentre as vantagens da utilização dos SGBDs a seguir, qual NÃO é uma vantagem? Compartilhamento de Dados. Dependência entre programas e dados. Redução ou Eliminação de redundâncias. Independência dos dados. Padronização dos dados. Dependência entre programas e dados De uma chave primária é certo afirmarmos: I Pode ser simples ou composta IINão pode constar entre as chaves candidatas da relação III O atributo da chave primária deve ser único Estão corretas: II e III I e III I, II e III Somente I I e II Considere o texto a seguir e complete as lacunas, com as expressões constantes nas alternativas, respeitando a correlação sequencial em que estão dispostas. Uma ..................... é uma coluna ou uma combinação de colunas cujos valores distinguem uma linha das demais, dentro de uma tabela. Uma ...................... é uma coluna ou uma combinação de colunas cujos valores aparecem, necessariamente, na ........................ de uma tabela. Em alguns casos, mais de uma coluna ou combinações de colunas podem servir para distinguir uma linha das demais. Uma das colunas (ou combinação de colunas) é escolhida como ..................... As demais colunas ou combinações são denominadas ........................ A seqüência correta encontra-se apenas em: Chave primária; chave estrangeira; chave primária; chave primária; chaves estrangeiras. Chave primária; chave estrangeira; chave primária; chave primária; chaves alternativas. Chave primária; chave primária; chave primária; super-chave; chaves secundárias. Chave primária; chave estrangeira; chave primária; chave secundária; chaves alternativas. Chave primária; super-chave; chave primária; chave candidata; chaves secundárias. Questão não Localizada Os atributosde uma tabela constituem: Os índices da tabela. As linhas da tabela. As colunas da tabela. As tuplas da tabela. Os nomes das tabelas. As colunas da tabela Considere o esquema de banco de dados ilustrado na figura abaixo em que as chaves primárias estão sublinhadas. Podemos afirmar que a coluna cod_curso da tabela Aluno é _____________ da tabela Curso na coluna cod_curso. Assinale a alternativa que contém a sentença que completa a frase acima: Chave Chave estrangeira EXERCÍCIOS AULA 01 3 08 Q 02 ERROS 06 ACERTOS 75,0 a b c d e 1 8 3 1 2 0 2 nova a x 0 nova (s): 9 REP 1 b 0 c e 0 d 0 e 0 2 nova a x 1 b 0 c 0 212 d 0 e 0 3 nova a 0 b 0 c 0 d 0 e x 0 4 nova a 0 b 0 c 0 d 0 e x 0 5 nova a 0 b x 0 c 0 d 0 e 0 6 nova a x 0 b 0 206 205 c 0 303 309 d 0 e 0 As afirmações II e III são falsas 7 198 a 0 b 0 c x 1 d 0 e 0 8 nova a e 0 b 0 c x 0 d 0 e 0 Chave Estrangeira Chave de Atributo Chave Primária Chave Estrangeira Analise as seguintes afirmações: "(1) A restrição de integridade referencial diz que chave primária em uma relação não pode ter seu valor nulo PORQUE (2) esta chave identifica as tuplas da relação" Podemos afirmar: As duas afirmações são verdadeiras e a primeira justifica a segunda. A primeira afirmação é verdadeira e a segunda é falsa. A primeira afirmação é falsa e a segunda é verdadeira. As duas afirmações são falsas. As duas afirmações são verdadeiras e a primeira não justifica a segunda. Questão não Localizada O entendimento dos modelos de banco de dados é fundamental para compreender as vantagens e desvantagens em aspectos de estrutura e manipulação dos hierárquico relacional. orientado a objetos. distribuído. em rede Questão não Localizada Analise as afirmações a seguir, relativas ao conceito de chave primária: i. Pode ser composta por um ou vários atributos. ii. Não admite duplicidade de valores, exceto no caso de valores nulos. iii. Deve ser definida durante a construção do modelo de E-R. Marque a alternativa correta (apenas uma opção) As afirmações II e III são falsas. Todas as afirmações são verdadeiras. Apenas as afirmações I e III são verdadeiras. Apenas as afirmações II e III são verdadeiras. As afirmações I e II são falsas. Questão não Localizada É responsável por garantir a Integridade Referencial: Chave Secundária Chave Candidata um conjunto de valores que cada atributo, definido no esquema, assume em um determinado instante, formando o conjunto de tuplas. um conjunto de atributos que descrevem as características dos elementos a serem modelados. uma ou mais colunas que identificam univocamente a relação, porém não fazem parte da chave primária. Com relação a arquitetura distribuída de computadores utilizadas em SGBDs, marque a resposta correta: 3 Camadas, Cliente/Servidor, Multicamadas (N camadas) Cliente/Servidor, 3 Camadas , 3 Camadas Cliente/Servidor, Cliente/Servidor , Multicamadas (N camadas) Cliente/Servidor, Multicamadas (N camadas), 3 Camadas Cliente/Servidor, 3 Camadas, Multicamadas (N camadas) Questão não Localizada Um atributo de uma tabela que é chave primária em alguma outra tabela é denominado: Chave simples Chave candidata Chave externa Não existe atributo com esta característica Chave estrangeira Questão não Localizada Analise as seguintes afirmações: "(1) O valor de uma chave estrangeira só pode ser inserido em uma tabela se já existe na tabela onde é chave primária PORQUE (2) esta restrição garante a integridade referencial." Podemos afirmar: As duas afirmações são verdadeiras e primeira justifica a segunda. As duas afirmações são falsas. As duas afirmações são verdadeiras e primeira não justifica a segunda A primeira afirmação é verdadeira e a segunda é falsa. A primeira afirmação é falsa e a segunda é verdadeira. Questão não Localizada Uma chave candidata é: uma ou mais colunas que identificam univocamente a relação, porém não fazem parte da chave primária. uma coluna ou uma combinação de colunas, cujos valores aparecem necessariamente na chave primária de uma tabela. um grupo de valores atômicos a partir dos quais um ou mais atributos (ou colunas) retiram seus valores reais. EXERCÍCIOS AULA 01 4 08 Q 00 ERROS 08 ACERTOS 100,0 a b c d e 1 8 2 3 1 0 2 nova a 0 nova (s): 6 REP 4 b x 0 c 0 d 0 e 0 2 nova a 0 b X 0 2136 2135 c 0 1 244 d 0 e 0 Chave primária; chave estrangeira; chave primária; chave primária; chaves alternativas 3 nova a 0 b 0 c 0 d 0 e X 0 4 270 a X 1 b 0 c 0 d 0 e 0 5 277 a X 1 b 0 c 0 d 0 e 0 6 nova a 0 b 0 c X 1 242 d 0 e 0 7 256 a 0 b X 1 c 0 d 0 e 0 8 177 a 0 b 0 c 0 d 0 e X 0 Chave candidata Super Chave Chave estrangeira De uma chave primária é certo afirmarmos: II e III I e III I, II e III Somente I I e II I e III Dentre as vantagens da utilização dos SGBDs a seguir, qual NÃO é uma vantagem? Independência dos dados. Padronização dos dados. Compartilhamento de Dados. Redução ou Eliminação de redundâncias. Dependência entre programas e dados. Dependência entre programas e dados cpf endereco cidade Não existe atributo que poderia ser chave candidata. nome cpf Considere o esquema: Aluno(matricula, cpf, nome, endereço). Assinale a alternativa que não representa uma super-chave deste esquema. nome, endereço matricula, endereco matricula, cpf matricula, nome cpf, nome nome, endereço Considere o esquema de banco de dados ilustrado na figura abaixo em que as chaves primárias estão sublinhadas. Chave primária Chave Chave estrangeira 5,3,2,1,4 Questão não Localizada (CONSULPLAN - 2012) Dentre os objetivos da implementação de bancos de dados, um visa solucionar um problema que ocorre quando aplicações diferentes operam sobre os mesmos dados, armazenados em arquivos diferentes. Esse problema é conhecido por: Dependência de dados. Redundância de dados. Replicação de dados. Consistência de dados. Integridade de dados. Questão não Localizada Em banco de dados, todo método de controle de concorrência deve evitar anomalias de sincronização. Essas anomalias estão relacionadas a: I - perda da consistência do banco. II - acesso via ODBC. III - acesso a dados inconsistentes. IV - consulta recursiva. V - perda de atualizações. Estão certos apenas os itens II, III e V. I, II e IV. II, III e IV. I, IV e V. I, III e V. Questão não Localizada Considere a tabela aluno mostrada abaixo: Relacione as colunas abaixo: 5,2,1,3,4 5,2,3,1,4 4,2,3,1,5 5,2,3,4,1 EXERCÍCIOS AULA 01 5 08 Q 00 ERROS 08 ACERTOS 100,0 a b c d e 1 8 1 2 2 2 1 nova a 0 nova (s): 4 REP 6 b 0 c X 1 228 d 0 e 0 2 nova a 0 b X 0 c 0 184 d 0 e 0 3 263 a 0 b 0 c 0 d X 1 e 0 4 212 a X 1 b 0 c 0 d 0 e 0 5 336 a 0 b 0 c X 1 d 0 e 0 6 nova a 0 b 0 c 0 301 d 0 e X 1 7 308 a 0 b 0 c 0 d X 1 e 0 8 nova a 0 b X 1 c 0 315 d 0 e 0 orientado a objetos. relacional. hierárquico em rede distribuído. relacional. As duas afirmações são verdadeiras e a primeira não justifica a segunda. A primeira afirmação é falsa e a segunda é verdadeira. Com relação a arquitetura distribuída de computadores utilizadas em SGBDs, marque a resposta correta: Cliente/Servidor, Cliente/Servidor , Multicamadas (N camadas) Cliente/Servidor, Multicamadas (N camadas), 3 Camadas 3 Camadas, Cliente/Servidor, Multicamadas (N camadas) Cliente/Servidor, 3 Camadas , 3 Camadas Cliente/Servidor,3 Camadas, Multicamadas (N camadas) Cliente/Servidor, 3 Camadas, Multicamadas (N camadas) Um atributo de uma tabela que é chave primária em alguma outra tabela é denominado: Chave simples Chave externa Chave candidata Chave estrangeira Não existe atributo com esta característica Chave estrangeira O entendimento dos modelos de banco de dados é fundamental para compreender as vantagens e desvantagens em aspectos de estrutura e manipulação dos É o conjunto de opções de preenchimento do atributo. Uma chave estrangeira é sempre uma chave primária em outra tabela. Pode ser considerado como o resultado da aplicação do SELECT. Toda entidade deve possui chave primária. Pode ser considerado como o resultado da aplicação do SELECT. Uma chave candidata é: uma ou mais colunas que identificam univocamente a relação, porém não fazem parte da chave primária. um conjunto de atributos que descrevem as características dos elementos a serem modelados. um grupo de valores atômicos a partir dos quais um ou mais atributos (ou colunas) retiram seus valores reais. um conjunto de valores que cada atributo, definido no esquema, assume em um determinado instante, formando o conjunto de tuplas. uma coluna ou uma combinação de colunas, cujos valores aparecem necessariamente na chave primária de uma tabela. uma ou mais colunas que identificam univocamente a relação, porém não fazem parte da chave primária. Analise as seguintes afirmações: As duas afirmações são falsas. A primeira afirmação é verdadeira e a segunda é falsa. A primeira afirmação é falsa e a segunda é verdadeira. As duas afirmações são verdadeiras e a primeira justifica a segunda. Considere o texto a seguir e complete as lacunas, com as expressões constantes nas alternativas, respeitando a correlação sequencial em que estão dispostas. Uma ..................... é uma coluna ou uma combinação de colunas cujos valores distinguem uma linha das demais, dentro de uma tabela. Uma ...................... é uma coluna ou uma combinação de colunas cujos valores aparecem, necessariamente, na ........................ de uma tabela. Em alguns casos, mais de uma coluna ou combinações de colunas podem servir para distinguir uma linha das demais. Uma das colunas (ou combinação de colunas) é escolhida como ..................... As demais colunas ou combinações são denominadas ........................ A seqüência correta encontra-se apenas em: Chave primária; chave primária; chave primária; super-chave; chaves secundárias. Chave primária; chave estrangeira; chave primária; chave primária; chaves estrangeiras. Chave primária; chave estrangeira; chave primária; chave primária; chaves alternativas. Chave primária; chave estrangeira; chave primária; chave secundária; chaves alternativas. Chave primária; super-chave; chave primária; chave candidata; chaves secundárias. Chave primária; chave estrangeira; chave primária; chave primária; chaves alternativas. Os atributos de uma tabela constituem: As linhas da tabela. As colunas da tabela. Os índices da tabela. As tuplas da tabela. Os nomes das tabelas. As colunas da tabela Os conceitos de banco de dados relacional refletem o nível de abstração dos dados. Desta forma, marque a alternativa que se refere à instância da entidade. Pode ser modificado com o uso dos comandos DDL. Aula 2 EXERCÍCIOS AULA 02 1 08 Q 02 ERROS 06 ACERTOS 75,0 a b c d e 1 2 1 3 0 2 a E nova (s): 0 REP 10 b c d e x 2 a b c x d e 3 a x b c d e 4 a b c x d e 5 a b E c x d e 6 a b x c d e 7 a x b c d e 8 a b c d e x σ ID > 102 OU id_Depto = 10 E Salario > 2000 (Empregado) σ ID = 102 OU id_Depto = OU E Salario > 2000 (Empregado) Em relação a álgebra relacional, o operador de _____________ permite combinar seleções e um produto cartesiano em uma só operação Projeção Interseção Junção União Diferença A partir da tabela abaixo, identifique a expressão, em álgebra relacional, que permite listar a matrícula dos funcionários do setor de Projetos: π matricula (σ setor = "Projetos" (Funcionarios_ste)) σ matricula (π setor = "Projetos" (Funcionarios_ste)) π setor = "Projetos" (σ matricula (Funcionarios_ste)) σ setor = "Projetos" (Funcionarios_ste) π Funcionarios_ste (σ matricula, setor = "Projetos") De acordo com a tabela a seguir, como fica a instrução de seleção para recuperarmos os funcionários possuem ID maior do que 102, trabalham no Departamento 10 e ganham mais de R$ 2000,00 de Salário? Considere as relações: ALUNO (matriculaluno, nomealuno, endereço, telefone) CURSA (matricula, codigo) matricula REFERENCIA matriculaluno em ALUNO codigo REFERENCIA codigodisciplina em DISCIPLINA DISCIPLINA (codigodisciplina, nomedisciplina, creditos) A consulta em álgebra relacional que responde a questão "Quais os alunos (nome e matrícula) que cursam a disciplina com código CCT0199" está corretamente representada em: π matriculaaluno, nomealuno (CURSA matriculaluno = ⋈matricula DISCIPLINA) π matriculaaluno, nomealuno (ALUNO matriculaluno = ⋈matricula DISCIPLINA) π matriculaaluno, nomealuno (ALUNOmatriculaluno = ⋈matricula (σcodigo = CCT0199 (DISCIPLINA))) Não existe consulta que reponda a questão π matriculaluno, nomealuno (ALUNO matriculaluno = ⋈matricula (σcodigo = CCT0199 (CURSA))) II e III Somente I I e III Admitindo as relações abaixo especificadas, marque a alternativa que representa a consulta em álgebra relacional que responde corretamente a seguinte pergunta: quais os nomes dos alunos e seus respectivos cursos? Alunos(matricula, nome, endereco, cpf, cod_curso) Cursos(codigo, nome_curso) π nome, nome_curso(σcod_curso=codigo (Alunos)) π nome, nome_curso(Alunos X Cursos) π nome, nome_curso(σmatricula=codigo (Alunos X Cursos)) σ nome, nome_curso(ᴨcod_curso=codigo (Alunos X Cursos)) π nome, nome_curso(σcod_curso=codigo (Alunos X Cursos)) σ ID > 102 E id_Depto = 10 E Salario > 2000 (Empregado) σ ID = 102 E id_Depto = 10 E Salario > 2000 (Empregado) σ ID > 102 OU id_Depto = 10 OU Salario > 2000 (Empregado) A relação T1 abaixo conterá: T1 = π nome, sexo,salário,dept (σ(sexo="MASCULINO") and (salário<5000) (EMPREGADO)) Nome, sexo, salário e depto de todos os empregados homens que ganham menos que 5000 Nome, sexo, salário e depto de todos os empregados que ganham menos que 5000 Esta não é uma consulta válida Nome, sexo, salário e depto de todos os empregados homens que ganham 5000 Nome e depto de todos os empregados homens que ganham menos que 5000 Considere a relação: FILME (nome, diretor, tempoduracao, genero, ano) A consulta em álgebra relacional que retorna o nome e o ano de todos os filmes de ação com tempo de duração entre 120 e 180 minutos π nome, ano (σ(genero = "ação" OR tempoduracao >= 120 AND tempoduracao <= 180) (FILME) ) π nome, ano (σ(genero = "ação" AND tempoduracao >= 120 OR tempoduracao <= 180) (FILME) ) π nome, ano (σ(genero = "ação" AND tempoduracao >= 120 AND tempoduracao <= 180) (FILME) ) π nome, ano (σ(genero = "ação" AND tempoduracao = 120) (FILME) ) π nome, ano (π(genero = "ação" AND tempoduracao >= 120 AND tempoduracao <= 180) (FILME) ) Em relação a álgebra linear é correto afirmar que: I - A operação de projeção é aplicada sobre apenas uma relação visando selecionar um subconjunto de tuplas (com todos os seus atributos) II O produto cartesiano é uma operação binária que combina todas as tuplas de duas tabelas III - A operação de seleção é aplicada sobre apenas uma relação de visando projetar os atributos de uma relação de acordo com uma lista de atributos oferecida Estão corretas: Somente III Somente a II MODELO RELACIONAL EXERCÍCIOS AULA 02 2 08 Q00 ERROS 08 ACERTOS 100,0 a b c d e 1 2 3 0 1 2 a nova (s): 3 REP 7 b c d e x 2 a b x c d e 3 a x b c d e 4 a b c d x e 5 a b x c d e 6 a b x c d e 7 a b c d e x 8 a x b c d e ᴨnome, nome_curso(σcod_curso=codigo (Alunos)) ᴨnome, nome_curso(σcod_curso=codigo (Alunos X Cursos)) p nome, ano (s(genero = "ação" AND tempoduracao = 120) (FILME) ) p nome, ano (p(genero = "ação" AND tempoduracao >= 120 AND tempoduracao <= 180) (FILME) ) p nome, ano (s(genero = "ação" AND tempoduracao >= 120 OR tempoduracao <= 180) (FILME) ) A relação T1 abaixo conterá: T1 = p nome, sexo,salário,dept (s(sexo="MASCULINO") and (salário<5000) (EMPREGADO)) Nome, sexo, salário e depto de todos os empregados homens que ganham 5000 Em relação a álgebra relacional, o operador de _____________ permite combinar seleções e um produto cartesiano em uma só operação Junção Interseção Projeção União Diferença Nome e depto de todos os empregados homens que ganham menos que 5000 Esta não é uma consulta válida Nome, sexo, salário e depto de todos os empregados homens que ganham menos que 5000 Admitindo as relações abaixo especificadas, marque a alternativa que representa a consulta em álgebra relacional que responde corretamente a seguinte pergunta: quais os nomes dos alunos e seus respectivos cursos? Alunos(matricula, nome, endereco, cpf, cod_curso) Cursos(codigo, nome_curso) Nome, sexo, salário e depto de todos os empregados que ganham menos que 5000 s ID > 102 OU id_Depto = 10 OU Salario > 2000 (Empregado) s ID > 102 OU id_Depto = 10 E Salario > 2000 (Empregado) s ID = 102 OU id_Depto = OU E Salario > 2000 (Empregado) Considere as relações: ALUNO (matriculaluno, nomealuno, endereço, telefone) CURSA (matricula, codigo) matricula REFERENCIA matriculaluno em ALUNO codigo REFERENCIA codigodisciplina em DISCIPLINA DISCIPLINA (codigodisciplina, nomedisciplina, creditos) A consulta em álgebra relacional que responde a questão "Quais os alunos (nome e matrícula) que cursam a disciplina com código CCT0199" está corretamente representada em: p matriculaaluno, nomealuno (ALUNO matriculaluno = ⋈matricula DISCIPLINA) p matriculaaluno, nomealuno (ALUNOmatriculaluno = ⋈matricula (scodigo = CCT0199 (DISCIPLINA))) p matriculaaluno, nomealuno (CURSA matriculaluno = ⋈matricula DISCIPLINA) Não existe consulta que reponda a questão p matriculaluno, nomealuno (ALUNO matriculaluno = ⋈matricula (scodigo = CCT0199 (CURSA))) De acordo com a tabela a seguir, como fica a instrução de seleção para recuperarmos os funcionários possuem ID maior do que 102, trabalham no Departamento 10 e ganham mais de R$ 2000,00 de Salário? s ID > 102 E id_Depto = 10 E Salario > 2000 (Empregado) s ID = 102 E id_Depto = 10 E Salario > 2000 (Empregado) σ matricula (π setor = "Projetos" (Funcionarios_ste)) π Funcionarios_ste (σ matricula, setor = "Projetos") σ setor = "Projetos" (Funcionarios_ste) Em relação a álgebra linear é correto afirmar que: II e III Somente a II I e III Somente III Somente I Considere a relação: FILME (nome, diretor, tempoduracao, genero, ano) A consulta em álgebra relacional que retorna o nome e o ano de todos os filmes de ação com tempo de duração entre 120 e 180 minutos p nome, ano (s(genero = "ação" AND tempoduracao >= 120 AND tempoduracao <= 180) (FILME) ) p nome, ano (s(genero = "ação" OR tempoduracao >= 120 AND tempoduracao <= 180) (FILME) ) A partir da tabela abaixo, identifique a expressão, em álgebra relacional, que permite listar a matrícula dos funcionários do setor de Projetos: π setor = "Projetos" (σ matricula (Funcionarios_ste)) π matricula (σ setor = "Projetos" (Funcionarios_ste)) ᴨnome, nome_curso(Alunos X Cursos) σnome, nome_curso(ᴨcod_curso=codigo (Alunos X Cursos)) ᴨnome, nome_curso(σmatricula=codigo (Alunos X Cursos)) EXERCÍCIOS AULA 02 3 08 Q 01 ERROS 07 ACERTOS 87,5 a b c d e 1 8 1 0 2 2 3 nova a 0 nova (s): 10 REP 0 b 0 c 0 d X 0 e 0 2 nova a 0 b 0 623 620 c 0 201 202 d E 0 e X 1 π nome, ano (σ(genero = "ação" AND tempoduracao >= 120 AND tempoduracao <= 180) (FILME) ) 3 nova a 0 b 0 c 0 d 0 e X 0 4 nova a 0 b 0 c 0 592 d X 0 e 0 5 nova a 0 b 0 c 0 d 0 e X 0 6 nova a 0 b 0 c X 0 d 0 e 0 7 nova a X 0 b 0 c 0 d 0 e 0 8 nova a 0 b 0 616 613 c X 1 197 198 d 0 e 0 σ ID > 102 E id_Depto = 10 E Salario > 2000 (Empregado) Não existe consulta que responda a esta questão. p matriculaprf, nomeprf (PROFESSOR matriculaprf = ⋈matricula (snomedisciplina = "Implementação de Bancos de Dados" (DISCIPLINA)) p matriculaprf, nomeprf (PROFESSORmatriculaprf = ⋈matricula MINISTRA) p matriculaprf, nomeprf (PROFESSOR matriculaprf = ⋈matricula (MINISTRAcodigo = ⋈codigodisciplina(DISCIPLINA))) Questão não Localizada De acordo com a tabela a seguir, como fica a instrução de seleção para recuperarmos os funcionários possuem ID maior do que 102, trabalham no Departamento 10 e ganham mais de R$ 2.000,00 de Salário? σ ID > 102 OU id_Depto = 10 OU Salario > 2000 (Empregado) σ ID = 102 OU id_Depto = OU E Salario > 2000 (Empregado) σ ID > 102 E id_Depto = 10 E Salario > 2000 (Empregado) σ ID > 102 OU id_Depto = 10 E Salario > 2000 (Empregado) σ ID = 102 E id_Depto = 10 E Salario > 2000 (Empregado) σ ID > 102 E id_Depto = 10 E Salario > 2000 (Empregado) π nome, nome_curso(σcod_curso=codigo (Alunos X Cursos)) Uma linguagem de consulta procedural, onde o objetivo fundamental é permitir a escrita de expressões relacionais é denominada de álgebra relacional. Com suas operações fundamentais é possível exprimir qualquer consulta nesta linguagem. Sendo assim, para apresentar os dados de acordo com a tabela abaixo, marque a alternativa correta que descreve a álgebra a ser utilizada. σProduto.Cod_Prod = Estoque.Cod_Prod(πNome, Qualidade, Qtde) πNome, Qualidade, Qtde(σProduto.Cod_Prod = Estoque.Cod_Prod) σProduto.Cod_Prod = Estoque.Cod_Prod(Produto X Estoque) πNome, Qualidade, Qtde πNome, Qualidade, Qtde(σProduto.Cod_Prod = Estoque.Cod_Prod(Produto X Estoque)) Questão não Localizada Em relação a álgebra linear é correto afirmar que: I - A operação de projeção é aplicada sobre apenas uma relação visando selecionar um subconjunto de tuplas (com todos os seus atributos). II O produto cartesiano é uma operação binária que combina todas as tuplas de duas tabelas. III - A operação de seleção é aplicada sobre apenas uma relação de visando projetar os atributos de uma relação de acordo com uma lista de atributos oferecida. Estão corretas: Somente I II e III Somente a II I e III Somente III Questão não Localizada Considere as relações: PROFESSOR (matriculaprf, nomeprf, titulacao, anoadmissao) MINISTRA (matricula, codigo) matricula REFERENCIA matriculaprf em PROFESSOR codigo REFERENCIA codigodisciplina em DISCIPLINA DISCIPLINA (codigodisciplina, nomedisciplina, creditos) A consulta em álgebra relacional que responde a questão "Quem são os professores (nome e matrícula) que ministram a disciplina Implementação de Bancos de Dados" está corretamente representada em: p matriculaprf, nomeprf (PROFESSOR matriculaprf = ⋈matricula (MINISTRA codigo = ⋈codigodisciplina(snomedisciplina = "Implementação de Bancos de Dados" (DISCIPLINA))) π nome, ano (σ(genero = "ação" AND tempoduracao >= 120 OR tempoduracao <= 180) (FILME) ) π nome, ano (σ(genero = "ação" OR tempoduracao >= 120 AND tempoduracao <= 180) (FILME) ) π nome, ano (σ(genero = "ação" AND tempoduracao >= 120 AND tempoduracao <= 180) (FILME) ) π nome, ano (σ(genero = "ação" AND tempoduracao >= 120 AND tempoduracao<= 180) (FILME) ) Em relação a álgebra relacional, o operador de _____________ permite combinar seleções e um produto cartesiano em uma só operação. Projeção Diferença União Interseção Junção Questão não Localizada Admitindo as relações abaixo especificadas, marque a alternativa que representa a consulta em álgebra relacional que responde corretamente a seguinte σnome, nome_curso(ᴨcod_curso=codigo (Alunos X Cursos)) ᴨnome, nome_curso(σmatricula=codigo (Alunos X Cursos)) ᴨnome, nome_curso(σcod_curso=codigo (Alunos)) ᴨnome, nome_curso(σcod_curso=codigo (Alunos X Cursos)) ᴨnome, nome_curso(Alunos X Cursos) Produto cartesiano Projeção Junção Seleção Diferença Questão não Localizada Considere a relação: FILME (nome, diretor, tempoduracao, genero, ano) A consulta em álgebra relacional que retorna o nome e o ano de todos os filmes de ação com tempo de duração entre 120 e 180 minutos. π nome, ano (σ(genero = "ação" AND tempoduracao = 120) (FILME) ) π nome, ano (π(genero = "ação" AND tempoduracao >= 120 AND tempoduracao <= 180) (FILME) ) EXERCÍCIOS AULA 02 4 08 Q 02 ERROS 06 ACERTOS 75,0 a b c d e 1 8 0 2 1 2 3 nova a E 0 nova (s): 8 REP 2 b 0 c 0 d 0 e X 0 2 nova a 0 b X 1 c 0 606 d 0 e 0 3 nova a 0 b 0 c 0 641 d 0 e X 0 4 650 a 0 b X 1 1104 1098 c 0 0 114 d 0 e 0 INSERT INTO paciente VALUES (5430005, 'Beatriz Ferro', '1970-05-28', 'feminino', 'casada'); 5 nova a 0 b 0 c E 0 CLIQUEI ERRADO NA WEB 743 d X 1 e 0 6 nova a 0 b 0 c 0 750 d X 1 e 0 7 757 a 0 b 0 c X 0 d 0 e 0 8 nova a 0 b 0 c 0 736 d 0 e X 1 πNome, Qualidade, Qtde(σProduto.Cod_Prod = Estoque.Cod_Prod(Produto X Estoque)) Não existe consulta que responda a esta questão. p matriculaprf, nomeprf (PROFESSOR matriculaprf = ⋈matricula (MINISTRA codigo = ⋈codigodisciplina(snomedisciplina = "Implementação de Bancos de Dados" (DISCIPLINA))) p matriculaprf, nomeprf (PROFESSORmatriculaprf = ⋈matricula MINISTRA) p matriculaprf, nomeprf (PROFESSOR matriculaprf = ⋈matricula (MINISTRA codigo = ⋈codigodisciplina(snomedisciplina = "Implementação de Bancos de Dados" (DISCIPLINA))) De acordo com a tabela a seguir, como fica a instrução de seleção para recuperarmos os funcionários possuem ID maior do que 102, trabalham no Departamento 10 e ganham mais de R$ 2.000,00 de Salário? s ID > 102 OU id_Depto = 10 E Salario > 2000 (Empregado) s ID > 102 OU id_Depto = 10 OU Salario > 2000 (Empregado) s ID > 102 E id_Depto = 10 E Salario > 2000 (Empregado) s ID = 102 OU id_Depto = OU E Salario > 2000 (Empregado) s ID = 102 E id_Depto = 10 E Salario > 2000 (Empregado) σ ID > 102 E id_Depto = 10 E Salario > 2000 (Empregado) Uma linguagem de consulta procedural, onde o objetivo fundamental é permitir a escrita de expressões relacionais é denominada de álgebra relacional. Com suas operações fundamentais é possível exprimir qualquer consulta nesta linguagem. Sendo assim, para apresentar os dados de acordo com a tabela abaixo, marque a alternativa correta que descreve a álgebra a ser utilizada. σProduto.Cod_Prod = Estoque.Cod_Prod(πNome, Qualidade, Qtde) πNome, Qualidade, Qtde σProduto.Cod_Prod = Estoque.Cod_Prod(Produto X Estoque) πNome, Qualidade, Qtde(σProduto.Cod_Prod = Estoque.Cod_Prod) πNome, Qualidade, Qtde(σProduto.Cod_Prod = Estoque.Cod_Prod(Produto X Estoque)) A relação T1 abaixo conterá: T1 = p nome, sexo,salário,dept (s(sexo="MASCULINO") and (salário<5000) (EMPREGADO)) Nome, sexo, salário e depto de todos os empregados homens que ganham 5000 Nome, sexo, salário e depto de todos os empregados homens que ganham menos que 5000 Nome e depto de todos os empregados homens que ganham menos que 5000 Esta não é uma consulta válida Nome, sexo, salário e depto de todos os empregados que ganham menos que 5000 Nome, sexo, salário e depto de todos os empregados homens que ganham menos que 5000 Em relação a álgebra linear é correto afirmar que: I e III Somente I Somente III Somente a II II e III Somente a II Considere as relações: PROFESSOR (matriculaprf, nomeprf, titulacao, anoadmissao) MINISTRA (matricula, codigo) matricula REFERENCIA matriculaprf em PROFESSOR codigo REFERENCIA codigodisciplina em DISCIPLINA DISCIPLINA (codigodisciplina, nomedisciplina, creditos) A consulta em álgebra relacional que responde a questão "Quem são os professores (nome e matrícula) que ministram a disciplina Implementação de Bancos de Dados" está corretamente representada em: p matriculaprf, nomeprf (PROFESSOR matriculaprf = ⋈matricula (MINISTRAcodigo = ⋈codigodisciplina(DISCIPLINA))) p matriculaprf, nomeprf (PROFESSOR matriculaprf = ⋈matricula (snomedisciplina = "Implementação de Bancos de Dados" (DISCIPLINA)) Nome de todas mulheres que ganham 1500 e estão lotados no departamento 5. Nome de todas mulheres que ganham mais do que 1500 e não estão lotadas no departamento 5. Questão não Localizada A partir da tabela abaixo, identifique a expressão, em álgebra relacional, que permite listar a matrícula dos funcionários do setor de Projetos: σ setor = "Projetos" (Funcionarios_ste) π matricula (σ setor = "Projetos" (Funcionarios_ste)) π Funcionarios_ste (σ matricula, setor = "Projetos") σ matricula (π setor = "Projetos" (Funcionarios_ste)) π setor = "Projetos" (σ matricula (Funcionarios_ste)) π matricula (σ setor = "Projetos" (Funcionarios_ste)) Considere as relações: ALUNO (matriculaluno, nomealuno, endereço, telefone) CURSA (matricula, codigo) matricula REFERENCIA matriculaluno em ALUNO codigo REFERENCIA codigodisciplina em DISCIPLINA DISCIPLINA (codigodisciplina, nomedisciplina, creditos) A consulta em álgebra relacional que responde a questão "Quais os alunos (nome e matrícula) que cursam a disciplina com código CCT0199" está corretamente representada em: p matriculaaluno, nomealuno (ALUNOmatriculaluno = ⋈matricula (scodigo = CCT0199 (DISCIPLINA))) Não existe consulta que reponda a questão p matriculaaluno, nomealuno (ALUNO matriculaluno = ⋈matricula DISCIPLINA) p matriculaaluno, nomealuno (CURSA matriculaluno = ⋈matricula DISCIPLINA) p matriculaluno, nomealuno (ALUNO matriculaluno = ⋈matricula (scodigo = CCT0199 (CURSA))) π matriculaluno, nomealuno (ALUNO matriculaluno = ⋈matricula (σcodigo = CCT0199 (CURSA))) Sejam as relações: T1 = p nome (s(sexo="FEMININO") and (salário>1500) (EMPREGADO)) T2 = p nome (sdept=5 (EMPREGADO)) A relação T3 = T1 - T2 conterá: Nome de todas mulheres que ganham mais do que 1500 e estão lotadas no departamento 5. Nome de todas mulheres que ganham mais do que 1500 ou estão lotadas no departamento 5. Nome de todas mulheres que ganham mais do 1500 EXERCÍCIOS AULA 02 5 08 Q 00 ERROS 08 ACERTOS 100,0 a b c d e 1 8 2 3 1 1 1 nova a X 1 nova (s): 6 REP 4 b 0 c 0 708 d 0 e 0 2 nova a X 0 b 0 c 0 715 d 0 e 0 3 722 a 0 b 0 c X 1 d 0 e 0 4 nova a 0 b 0 c 0 592 d 0 e X 0 5 nova a 0 b X 1 c 0 736 d 0 e 0 6 nova a 0 b 0 c 0 743 d X 1 e 0 7 nova a 0 b X 1 c 0 750 d 0 e 0 8 757 a 0 b X 0 c 0 d 0 e 0 De acordo com a tabela a seguir, como fica a instrução de seleção para recuperarmos os funcionários possuem ID maior do que 102, trabalham no Departamento 10 e ganham mais de R$ 2.000,00 de Salário? s ID > 102 OU id_Depto = 10 E Salario > 2000 (Empregado) s ID > 102 E id_Depto = 10 E Salario > 2000 (Empregado) s ID > 102 OU id_Depto = 10 OU Salario > 2000 (Empregado) s ID = 102 E id_Depto = 10 E Salario > 2000 (Empregado) s ID = 102 OU id_Depto = OU E Salario > 2000 (Empregado) σ ID > 102 E id_Depto = 10 E Salario > 2000 (Empregado) πNome, Qualidade, Qtde(σProduto.Cod_Prod= Estoque.Cod_Prod) σProduto.Cod_Prod = Estoque.Cod_Prod(πNome, Qualidade, Qtde) πNome, Qualidade, Qtde(σProduto.Cod_Prod = Estoque.Cod_Prod(Produto X Estoque)) Em relação a álgebra linear é correto afirmar que: II e III I e III Somente I Somente a II Somente III Somente a II Considere as relações: PROFESSOR (matriculaprf, nomeprf, titulacao, anoadmissao) MINISTRA (matricula, codigo) matricula REFERENCIA matriculaprf em PROFESSOR codigo REFERENCIA codigodisciplina em DISCIPLINA DISCIPLINA (codigodisciplina, nomedisciplina, creditos) A consulta em álgebra relacional que responde a questão "Quem são os professores (nome e matrícula) que ministram a disciplina Implementação de Bancos de Dados" está corretamente representada em: p matriculaprf, nomeprf (PROFESSORmatriculaprf = ⋈matricula MINISTRA) p matriculaprf, nomeprf (PROFESSOR matriculaprf = ⋈matricula (MINISTRA codigo = ⋈codigodisciplina(snomedisciplina = "Implementação de Bancos de Dados" (DISCIPLINA))) p matriculaprf, nomeprf (PROFESSOR matriculaprf = ⋈matricula (MINISTRAcodigo = ⋈codigodisciplina(DISCIPLINA))) p matriculaprf, nomeprf (PROFESSOR matriculaprf = ⋈matricula (snomedisciplina = "Implementação de Bancos de Dados" (DISCIPLINA)) Não existe consulta que responda a esta questão. p matriculaprf, nomeprf (PROFESSOR matriculaprf = ⋈matricula (MINISTRA codigo = ⋈codigodisciplina(snomedisciplina = "Implementação de Bancos de Dados" (DISCIPLINA))) União Projeção Junção Diferença Interseção Junção Admitindo as relações abaixo especificadas, marque a alternativa que representa a consulta em álgebra relacional que responde corretamente a seguinte pergunta: quais os nomes dos alunos e seus respectivos cursos? Alunos(matricula, nome, endereco, cpf, cod_curso) Cursos(codigo, nome_curso) σnome, nome_curso(ᴨcod_curso=codigo (Alunos X Cursos)) ᴨnome, nome_curso(σmatricula=codigo (Alunos X Cursos)) ᴨnome, nome_curso(Alunos X Cursos) ᴨnome, nome_curso(σcod_curso=codigo (Alunos)) ᴨnome, nome_curso(σcod_curso=codigo (Alunos X Cursos)) π nome, nome_curso(σcod_curso=codigo (Alunos X Cursos)) Uma linguagem de consulta procedural, onde o objetivo fundamental é permitir a escrita de expressões relacionais é denominada de álgebra relacional. Com suas operações fundamentais é possível exprimir qualquer consulta nesta linguagem. Sendo assim, para apresentar os dados de acordo com a tabela abaixo, marque a alternativa correta que descreve a álgebra a ser utilizada. πNome, Qualidade, Qtde πNome, Qualidade, Qtde(σProduto.Cod_Prod = Estoque.Cod_Prod(Produto X Estoque)) σProduto.Cod_Prod = Estoque.Cod_Prod(Produto X Estoque) A operação da álgebra relacional que recupera linhas em uma tabela é denominada: Seleção Produto cartesiano Diferença Junção Projeção Seleção Considere a relação: p nome, ano (s(genero = "ação" AND tempoduracao >= 120 AND tempoduracao <= 180) (FILME) ) p nome, ano (p(genero = "ação" AND tempoduracao >= 120 AND tempoduracao <= 180) (FILME) ) p nome, ano (s(genero = "ação" AND tempoduracao >= 120 OR tempoduracao <= 180) (FILME) ) p nome, ano (s(genero = "ação" AND tempoduracao = 120) (FILME) ) p nome, ano (s(genero = "ação" OR tempoduracao >= 120 AND tempoduracao <= 180) (FILME) ) π nome, ano (σ(genero = "ação" AND tempoduracao >= 120 AND tempoduracao <= 180) (FILME) ) Em relação a álgebra relacional, o operador de _____________ permite combinar seleções e um produto cartesiano em uma só operação. Aula 3 EXERCÍCIOS AULA 03 1 08 Q 05 ERROS 03 ACERTOS 37,5 a b c d e 1 0 2 3 1 2 a nova (s): 0 REP 10 b c x d e 2 a b x c d e 3 a b c x d e 4 a b c d E e x 5 a b E c d e x 6 a b x c d E e 7 a b c d x e e 8 a E b c x d e CREATE TABLE PROFESSOR ( MATRICULAPRF NUMBER(5) NOT NULL,NOMEPRF VARCHAR(20) NOT NULL, TITULACAO VARCHAR (15) NOT NULL, ANOADMISSAO VARCHAR (4) NOT NULL, PRIMARY KEY (MATRICULAPRF)); CREATE TABLE DISCIPLINA ( CODIGODISCIPLINA VARCHAR (5) NOT NULL,NOMEDISCIPLINA VARCHAR(20) NOT NULL, CREDITOS NUMBER (2) NOT NULL, PRIMARY KEY (CODIGODISCIPLINA)); CREATE TABLE MINISTRA (MATRICULA NUMBER (5) NOT NULL, CODIGO VARCHAR (5) NOT NULL, PRIMARY KEY (MATRICULA, CODIGO), FOREIGN KEY MATRICULA REFERENCES PROFESSOR (MATRICULAPRF), FOREIGN KEY CODIGO REFERENCES DISCIPLINA (CODIGODISCIPLINA)); CREATE TABLE PROFESSOR ( MATRICULAPRF NUMBER (5) NOT NULL,NOMEPRF VARCHAR(20) NOT NULL, TITULACAO VARCHAR (15) NOT NULL, ANOADMISSAO VARCHAR (4) NOT NULL, PRIMARY KEY (MATRICULAPRF)); CREATE TABLE DISCIPLINA ( CODIGODISCIPLINA VARCHAR (5) NOT NULL, NOMEDISCIPLINA VARCHAR(20) NOT NULL, CREDITOS NUMBER (2) NOT NULL, PRIMARY KEY (CODIGODISCIPLINA)); CREATE TABLE MINISTRA (MATRICULA NUMBER (5) NOT NULL, CODIGO VARCHAR (5), PRIMARY KEY (MATRICULA, CODIGO)); CREATE TABLE PROFESSOR ( MATRICULAPRF NUMBER (5) NOT NULL, NOMEPRF VARCHAR(20) NOT NULL, TITULACAO VARCHAR (15) NOT NULL, ANOADMISSAO VARCHAR (4) NOT NULL); CREATE TABLE DISCIPLINA ( CODIGODISCIPLINA VARCHAR (5) NOT NULL,NOMEDISCIPLINA VARCHAR(20) NOT NULL, CREDITOS NUMBER (2) NOT NULL); CREATE TABLE MINISTRA (MATRICULA NUMBER (5) NOT NULL, CODIGO VARCHAR (5) NOT NULL); CHAR(tam) RAW(tam) Assinale a opção que possui o comando CREATE TABLE que cria corretamente a tabela "Alunos", segundo o seguinte esquema de banco de dados: Alunos(matricula, nome, endereco, cod_curso) Cursos(codigo, nome) Admitindo que os campos "matricula" e "codigo" são chaves primárias de suas tabelas e que o campo "cod_curso" é chave estrangeira da tabela "Cursos" na tabela "Alunos" create table Alunos ( matricula int not null, nome varchar(50) not null, endereco varchar(255) null, cod_curso int not null, constraint pk_alunos primary key (nome), constraint fk_alunos_cursos foreign key (cod_curso) references Cursos(codigo) ) create table Alunos ( matricula int not null, nome varchar(50) not null, endereco varchar(255) null, cod_curso int not null, constraint pk_alunos primary key (matricula) ) create table Alunos ( matricula int not null, nome varchar(50) not null, endereco varchar(255) null, cod_curso int not null, constraint fk_alunos_cursos foreign key (cod_curso) references Cursos(codigo) ) create table Alunos ( matricula int not null, nome varchar(50) not null, endereco varchar(255) null, cod_curso int not null, constraint pk_alunos primary key (matricula), constraint fk_alunos_cursos foreign key (cod_curso) references Cursos(codigo) ) create table Alunos ( matricula int not null, nome varchar(50) not null, endereco varchar(255) null, cod_curso int not null, constraint pk_alunos primary key (matricula), constraint fk_alunos_cursos foreign key (codigo) references Cursos(cod_curso) ) Considere o esquema abaixo: PROFESSOR (matriculaprf, nomeprf, titulacao, anoadmissao) MINISTRA (matricula, codigo) matricula REFERENCIA matriculaprf em PROFESSOR codigo REFERENCIA codigodisciplina em DISCIPLINA DISCIPLINA (codigodisciplina, nomedisciplina, creditos) Os comandos SQL apresentam todos os elementos necessários para a sua criação estão representados em:CREATE TABLE PROFESSOR ( MATRICULAPRF NUMBER (5) NOT NULL,NOMEPRF VARCHAR(20) NOT NULL, TITULACAO VARCHAR (15) NOT NULL, ANOADMISSAO VARCHAR (4) NOT NULL); CREATE TABLE DISCIPLINA ( CODIGODISCIPLINA VARCHAR (5) NOT NULL,NOMEDISCIPLINA VARCHAR(20) NOT NULL, CREDITOS NUMBER (2) NOT NULL); CREATE TABLE MINISTRA (MATRICULA NUMBER(5) NOT NULL, CODIGO VARCHAR (5) NOT NULL, PRIMARY KEY (MATRICULA, CODIGO), FOREIGN KEY MATRICULA REFERENCES PROFESSOR (MATRICULAPRF), FOREIGN KEY CODIGO REFERENCES DISCIPLINA (CODIGODISCIPLINA)); CREATE TABLE PROFESSOR ( MATRICULAPRF NOT NULL,NOMEPRF NOT NULL, TITULACAO NOT NULL, ANOADMISSAO NOTNULL, PRIMARY KEY (MATRICULAPRF)); CREATE TABLE DISCIPLINA ( CODIGODISCIPLINA NOT NULL,NOMEDISCIPLINA NOT NULL, CREDITOS NOT NULL, PRIMARY KEY (CODIGODISCIPLINA)); CREATE TABLE MINISTRA (MATRICULA NOT NULL, CODIGO NOT NULL, PRIMARY KEY (MATRICULA, CODIGO), FOREIGN KEY MATRICULA REFERENCES PROFESSOR (MATRICULAPRF), FOREIGN KEY CODIGO REFERENCES DISCIPLINA (CODIGODISCIPLINA)); Os funcionários ativos recebem aumento Na figura é exibida a estrutura da tabela TCC Deseja-se realizar uma mudança nesta tabela que não permita o cadastro de um TCC contendo o mesmo título que um TCC já cadastrado previamente Assinale qual a alternativa abaixo realiza esta mudança corretamente: ALTER TABLE TITULO ADD UNIQUE(TCC); ALTER TABLE TCC CHANGE UNIQUE(TITULO); ALTER TABLE TCC ADD TITULO (UNIQUE); ALTER TABLE TCC CHANGE TITULO (UNIQUE); ALTER TABLE TCC ADD UNIQUE(TITULO); No Script SQL de criação da tabela pagamento aparece a palavra 'funcionario' 4 vezes Sendo assim, é possível afirmar que se referem, respectivamente: tupla, chave primária, apelido, chave estrangeira coluna, tabela, apelido, chave primária apelido, atributo, tabela, chave estrangeira campo, atributo, apelido, tabela atributo, apelido, campo, tabela Durante a criação de uma tabela, é detectada a necessidade de se definir um atributo de texto que armazenará dados com tamanhos entre 2000 e 3000 caracteres Qual é o tipo adequado a ser usado este atributo neste caso? LONG VARCHAR2(tam) LONG RAW A linguagem SQL pode ter vários enfoques, EXCETO: Linguagem de consulta em ambiente cliente/servidor Linguagem para acesso às bases de dados Linguagem para a programação de sistemas de informação Linguagem interativa de consulta (query AdHoc) Linguagem de administração de banco de dados Sabemos que a Linguagem SQL é utilizada para acesso a banco de dados e é dividida em comandos DDL, DQL, DML, DCL e DTL São comandos da DML (Data Manipulation Language) GRANT, REVOKE INSERT, UPDATE e DELETE SELECT CREATE, DROP e ALTER Qual o efeito da seguinte instrução no banco de dados? UPDATE Funcionarios SET salario = salario * 1.1 Todos os funcionários são apagados A coluna salario é excluída da tabela Todos os funcionários recebem um aumento de 10% Todos os funcionários passam a ganhar 11 MODELO RELACIONAL EXERCÍCIOS AULA 03 2 08 Q 01 ERROS 07 ACERTOS 87,5 a b c d e 1 1 4 0 0 3 a nova (s): 0 REP 10 b x c d e 2 a b c d e x 3 a E b x c d e 4 a b x c d e 5 a x b c d e 6 a b c d e x 7 a b x c d e 8 a b c d e x INSERT INTO paciente SET (5430005, 'Beatriz Ferro', '1970-05-28', 'feminino', 'casada'); INSERT INTO paciente VALUES (5430005, 'Beatriz Ferro', '1970-05-28', 'feminino', 'casada'); Para desenvolvimento de aplicações gráficas Para desenho de telas Para manipulação de banco de dados (CONSULPLAN - 2012) Ao contrário das linguagens tradicionais, que são procedimentais, SQL é uma linguagem declarativa, que integra três sublinguagens: Data Manipulation Language (DML), Data Definition Language (DDL) e Data Control Language (DCL) Um comando DML e outro DDL são, respectivamente: Update e Grant Update e Drop Delete e Update Drop e Grant Grant e Delete CREATE TABLE CURSOS (CODIGO INTEGER, DESCRICAO VARCHAR(100), PRIMARY KEY (CODIGO)); CREATE TABLE ALUNOS (MATRICULA INTEGER, NOME VARCHAR(100), CURSO INTEGER, PRIMARY KEY (MATRICULA)); CREATE TABLE CURSOS (CODIGO INTEGER, DESCRICAO VARCHAR(100), PRIMARY KEY (CODIGO)); CREATE TABLE ALUNOS (MATRICULA INTEGER, NOME VARCHAR(100), PRIMARY KEY (MATRICULA)); CREATE TABLE INSCRICAO (ALUNO INTEGER, CURSO INTEGER, PRIMARY KEY (ALUNO,CURSO)); CREATE TABLE ALUNOS (MATRICULA INTEGER, NOME VARCHAR(100), CURSOS VARCHAR(50), PRIMARY KEY (MATRICULA)); Dependência de fabricante Considere o script: CREATE TABLE PECA (CODIGO NUMERIC(5) NOT NULL, DESCRICAO VARCHAR(20) NOT NULL, ESTOQUE NUMERIC(5) NOT NULL, PRIMARY KEY(CODIGO)); Após a criação desta tabela, o comando que inclui a tupla (1234, "lápis de cor", 500) está representado em: INSERT INTO PECA (1234, "lápis de cor", 500); INCLUDE INTO PECA (1234, "lápis de cor", 500); INSERT PECAS (1234, "lápis de cor", 500); INSERT INTO PECAS ("1234", "lápis de cor", 500); INSERT INTO PECAS (1234, "lápis de cor", 500); SQL é uma linguagem? Para criação de scripts Para criar regras de negócios que rodam no servidor Para incluir a tupla mostrada abaixo na tabela PACIENTE executaríamos o seguinte comando: ADD INTO paciente SET (5430005, 'Beatriz Ferro', '1970-05-28', 'feminino', 'casada'); ADD INTO paciente VALUES (5430005, 'Beatriz Ferro', '1970-05-28', 'feminino', 'casada'); INSERT INTO paciente (5430005, 'Beatriz Ferro', '1970-05-28', 'feminino', 'casada'); É uma vantagem de uso da linguagem SQL: Visão única dos dados Como ficaria o comando SQL para criar a tabela a seguir? CREATE TABLE X_EMPR ( CODIGO NUMBER(5) PRIMARY KEY, DESCRICAO VARCHAR2(40) NOT NULL UNIQUE, QUANTIDADE NUMBER(8), VALOR_UNIT NUMBER(9,2) ) CREATE TABLE X_PROD ( CODIGO NUMBER(5) PRIMARY KEY, DESCRICAO VARCHAR2(40) NOT NULL UNIQUE, QUANTIDADE NUMBER(8), VALOR_UNIT NUMBER(9,2) ) CREATE TABLE X_EMPR ( CODIGO NUMBER(5) PRIMARY KEY, DESCRICAO VARCHAR2(40) NOT NULL, QUANTIDADE NUMBER(8), VALOR_UNIT NUMBER(9,2) ) CREATE TABLE X_PROD ( CODIGO VARCHAR2(5) PRIMARY KEY, DESCRICAO VARCHAR2(40) NOT NULL UNIQUE, QUANTIDADE NUMBER(8), VALOR_UNIT NUMBER(9,2) ) CREATE TABLE X_PROD ( CODIGO NUMBER(5) PRIMARY KEY, DESCRICAO VARCHAR2(40) NOT NULL, QUANTIDADE NUMBER(8), VALOR_UNIT NUMBER(9,2) ) Definição dinâmica dos dados Alto custo de treinamento Dependência de plataforma Dado o seguinte requisito funcional: É necessário cadastrar a matrícula, o nome e o curso dos alunos, e sabendo que um aluno pode fazer mais de um curso e um curso ter mais de um aluno Qual das questões representa a normalização correta de um banco de dados relacional? CREATE TABLE CURSOS (CODIGO INTEGER, DESCRICAO VARCHAR(100), PRIMARY KEY (CODIGO)); CREATE TABLE ALUNOS (MATRICULA INTEGER, NOME VARCHAR(100), CURSO INTEGER, PRIMARY KEY (MATRICULA), FOREIGN KEY (CURSO) REFERENCES CURSOS (CODIGO)); CREATE TABLE CURSOS (CODIGO INTEGER, DESCRICAO VARCHAR(100), PRIMARY KEY (CODIGO)); CREATE TABLE ALUNOS (MATRICULA INTEGER, NOME VARCHAR(100), PRIMARY KEY (MATRICULA)); CREATE TABLE INSCRICAO (ALUNO INTEGER, CURSO INTEGER, PRIMARY KEY (ALUNO,CURSO), FOREIGN KEY (ALUNO) REFERENCES ALUNOS (MATRICULA), FOREIGN KEY (CURSO) REFERENCES CURSOS (CODIGO)); O comando SQL que apaga um tabela é: INSERT INTO REMOVE TABLE UPDATE DELETE TABLE DROP TABLE EXERCÍCIOS AULA 03 3 08 Q 00 ERROS 08 ACERTOS 100,0 a b c d e 1 1 5 1 0 1 a nova (s): 2 REP 8 b x c d e 2 a x b c d e 3 a b x c d e 4 a b c d e x 5 a b x c d e 6 a b x c d e 7 a b c x d e 8 a b x c d e CREATE / ALTER / DROP Como ficaria o comando SQL para criar a tabela a seguir? CREATE TABLE X_PROD ( CODIGO NUMBER(5) PRIMARY KEY, DESCRICAO VARCHAR2(40) NOT NULL, QUANTIDADE NUMBER(8), VALOR_UNIT NUMBER(9,2) ) CREATE TABLE X_PROD ( CODIGO NUMBER(5) PRIMARY KEY, DESCRICAO VARCHAR2(40) NOT NULL UNIQUE, QUANTIDADE NUMBER(8), VALOR_UNIT NUMBER(9,2) ) CREATE TABLE X_EMPR ( CODIGO NUMBER(5) PRIMARY KEY, DESCRICAO VARCHAR2(40) NOT NULL UNIQUE, QUANTIDADE NUMBER(8), VALOR_UNIT NUMBER(9,2) ) CREATE TABLE X_PROD ( CODIGO VARCHAR2(5) PRIMARY KEY, DESCRICAO VARCHAR2(40) NOT NULL UNIQUE, QUANTIDADE NUMBER(8), VALOR_UNIT NUMBER(9,2) ) CREATE TABLE X_EMPR ( CODIGO NUMBER(5) PRIMARY KEY, DESCRICAO VARCHAR2(40) NOT NULL, QUANTIDADENUMBER(8), VALOR_UNIT NUMBER(9,2) ) Na figura é exibida a estrutura da tabela TCC Deseja-se realizar uma mudança nesta tabela que não permita o cadastro de um TCC contendo o mesmo título que um TCC já cadastrado previamente Assinale qual a alternativa abaixo realiza esta mudança corretamente: ALTER TABLE TCC ADD TITULO (UNIQUE); ALTER TABLE TCC ADD UNIQUE(TITULO); ALTER TABLE TITULO ADD UNIQUE(TCC); ALTER TABLE TCC CHANGE TITULO (UNIQUE); ALTER TABLE TCC CHANGE UNIQUE(TITULO); INSERT INTO UPDATE DELETE TABLE A linguagem SQL pode ter vários enfoques, EXCETO: Linguagem interativa de consulta (query AdHoc) Linguagem de consulta em ambiente cliente/servidor Linguagem para a programação de sistemas de informação Linguagem de administração de banco de dados Linguagem para acesso às bases de dados O comando SQL que apaga um tabela é: REMOVE TABLE DROP TABLE (CONSULPLAN - 2012) Ao contrário das linguagens tradicionais, que são procedimentais, SQL é uma linguagem declarativa, que integra três sublinguagens: Data Manipulation Language (DML), Data Definition Language (DDL) e Data Control Language (DCL) Um comando DML e outro DDL são, respectivamente: Update e Drop Drop e Grant Grant e Delete Delete e Update Update e Grant Para incluir a tupla mostrada abaixo na tabela PACIENTE executaríamos o seguinte comando: ADD INTO paciente VALUES (5430005, 'Beatriz Ferro', '1970-05-28', 'feminino', 'casada'); INSERT INTO paciente VALUES (5430005, 'Beatriz Ferro', '1970-05-28', 'feminino', 'casada'); INSERT INTO paciente SET (5430005, 'Beatriz Ferro', '1970-05-28', 'feminino', 'casada'); ADD INTO paciente SET (5430005, 'Beatriz Ferro', '1970-05-28', 'feminino', 'casada'); INSERT INTO paciente (5430005, 'Beatriz Ferro', '1970-05-28', 'feminino', 'casada'); São comandos da categoria de Definição de Dados (DDL): GRANT / REVOKE SELECT INSERT / UPDATE / DELETE COMMIT / ROLLBACK É uma vantagem de uso da linguagem SQL: Dependência de plataforma Definição dinâmica dos dados Dependência de fabricante Alto custo de treinamento Visão única dos dados EXERCÍCIOS AULA 03 4 08 Q 00 ERROS 08 ACERTOS 100,0 a b c d e 1 8 0 2 0 3 3 nova a 0 nova (s): 7 REP 3 b 0 c 0 1063 d 0 e X 1 2 nova a 0 b 0 c 0 991 d X 1 e 0 3 nova a 0 b X 0 1017 1012 c 0 258 260 d 0 e 0 ALTER TABLE TCC ADD UNIQUE(TITULO); 4 1099 a 0 b 0 c 0 d 0 e X 1 5 nova a 0 b 0 2167 2164 c 0 1 73 d X 0 e 0 Exclui todas as linhas da tabela 6 1005 a 0 b X 0 1008 1005 c 0 102 102 d 0 e 0 Todos os funcionários recebem um aumento de 10% 7 1130 a 0 b 0 c 0 d 0 e X 1 8 nova a 0 b 0 1000 998 c 0 167 168 d X 0 e 0 INSERT, UPDATE e DELETE GRANT / REVOKE INSERT / UPDATE / DELETE SELECT COMMIT / ROLLBACK CREATE / ALTER / DROP CREATE / ALTER / DROP Sabemos que a Linguagem SQL é utilizada para acesso a banco de dados e é dividida em comandos DDL, DQL, DML, DCL e DTL. São comandos da DML (Data Manipulation Language) SELECT GRANT, REVOKE CREATE, DROP e ALTER INSERT, UPDATE e DELETE Questão não Localizada INSERT INTO paciente VALUES (5430005, 'Beatriz Ferro', '1970-05-28', 'feminino', 'casada'); INSERT INTO paciente VALUES (5430005, 'Beatriz Ferro', '1970-05-28', 'feminino', 'casada'); Qual o efeito da seguinte instrução no banco de dados? DELETE FROM tabela Exclui o banco de dados inteiro Exclui a primeira linha da tabela Exclui todas as colunas da tabela Exclui todas as linhas da tabela Exclui a tabela do banco de dados Questão não Localizada Qual o efeito da seguinte instrução no banco de dados? UPDATE Funcionarios SET salario = salario * 1.1 Os funcionários ativos recebem aumento Todos os funcionários recebem um aumento de 10% A coluna salario é excluída da tabela Todos os funcionários são apagados Todos os funcionários passam a ganhar 1.1 Questão não Localizada São comandos da categoria de Definição de Dados (DDL): Linguagem para acesso às bases de dados Linguagem de consulta em ambiente cliente/servidor Linguagem para a programação de sistemas de informação Linguagem interativa de consulta (query AdHoc) Linguagem para a programação de sistemas de informação Na figura é exibida a estrutura da tabela TCC. Deseja-se realizar uma mudança nesta tabela que não permita o cadastro de um TCC contendo o mesmo título que um TCC já cadastrado previamente. Assinale qual a alternativa abaixo realiza esta mudança corretamente: ALTER TABLE TCC ADD TITULO (UNIQUE); ALTER TABLE TCC ADD UNIQUE(TITULO); ALTER TABLE TITULO ADD UNIQUE(TCC); ALTER TABLE TCC CHANGE TITULO (UNIQUE); ALTER TABLE TCC CHANGE UNIQUE(TITULO); Questão não Localizada Para incluir a tupla mostrada abaixo na tabela PACIENTE executaríamos o seguinte comando: INSERT INTO paciente (5430005, 'Beatriz Ferro', '1970-05-28', 'feminino', 'casada'); ADD INTO paciente VALUES (5430005, 'Beatriz Ferro', '1970-05-28', 'feminino', 'casada'); ADD INTO paciente SET (5430005, 'Beatriz Ferro', '1970-05-28', 'feminino', 'casada'); INSERT INTO paciente SET (5430005, 'Beatriz Ferro', '1970-05-28', 'feminino', 'casada'); É uma vantagem de uso da linguagem SQL: Dependência de plataforma Dependência de fabricante Alto custo de treinamento Visão única dos dados Definição dinâmica dos dados Definição dinâmica dos dados A linguagem SQL pode ter vários enfoques, EXCETO: Linguagem de administração de banco de dados EXERCÍCIOS AULA 03 5 08 Q 01 ERROS 07 ACERTOS 87,5 a b c d e 1 8 4 0 1 1 2 nova a 0 nova (s): 8 REP 2 b 0 c 0 1078 d 0 e X 1 2 nova a X 0 b 0 c 0 d 0 e E 0 3 nova a X 0 b 0 c 0 d 0 e 0 4 nova a 0 b 0 1024 1019 c X 0 149 150 d 0 e 0 atributo, apelido, campo, tabela 5 nova a 0 b 0 c 0 d 0 e X 0 6 nova a X 1 b 0 c 0 1033 d 0 e 0 7 nova a 0 b 0 c 0 d X 0 e 0 8 nova a X 1 b 0 1073 1071 c 0 271 272 d 0 e 0 CREATE TABLE CURSOS (CODIGO INTEGER, DESCRICAO VARCHAR(100), PRIMARY KEY (CODIGO)); CREATE TABLE ALUNOS (MATRICULA INTEGER, NOME VARCHAR(100), PRIMARY KEY (MATRICULA)); CREATE TABLE INSCRICAO (ALUNO INTEGER, CURSO INTEGER, PRIMARY KEY (ALUNO,CURSO), FOREIGN KEY (ALUNO) REFERENCES ALUNOS (MATRICULA), FOREIGN KEY (CURSO) REFERENCES CURSOS (CODIGO)); CREATE TABLE CURSOS (CODIGO INTEGER, DESCRICAO VARCHAR(100), PRIMARY KEY (CODIGO)); CREATE TABLE ALUNOS (MATRICULA INTEGER, NOME VARCHAR(100), CURSO INTEGER, PRIMARY KEY (MATRICULA)); CREATE TABLE CURSOS (CODIGO INTEGER, DESCRICAO VARCHAR(100), PRIMARY KEY (CODIGO)); CREATE TABLE ALUNOS (MATRICULA INTEGER, NOME VARCHAR(100), PRIMARY KEY (MATRICULA)); CREATE TABLE INSCRICAO (ALUNO INTEGER, CURSO INTEGER, PRIMARY KEY (ALUNO,CURSO), FOREIGN KEY (ALUNO) REFERENCES ALUNOS (MATRICULA), FOREIGN KEY (CURSO) REFERENCES CURSOS (CODIGO)); create table Alunos ( matricula int not null, nome varchar(50) not null, endereco varchar(255) null, cod_curso int not null, constraint pk_alunos primary key (nome), constraint fk_alunos_cursos foreign key (cod_curso) references Cursos(codigo) ) create table Alunos ( matricula int not null, nome varchar(50) not null, endereco varchar(255) null, cod_curso int not null, constraint pk_alunos primary key (matricula) ) create table Alunos ( matricula int not null, nome varchar(50) not null, endereco varchar(255) null, cod_curso int not null, constraint pk_alunos primary key (matricula), constraint fk_alunos_cursos foreign key (codigo) references Cursos(cod_curso) ) create table Alunos ( matricula int not null, nome varchar(50) not null, endereco varchar(255) null, cod_curso int not null, constraint fk_alunos_cursos foreign key (cod_curso) references Cursos(codigo) ) createtable Alunos ( matricula int not null, nome varchar(50) not null, endereco varchar(255) null, cod_curso int not null, constraint pk_alunos primary key (matricula), constraint fk_alunos_cursos foreign key (cod_curso) references Cursos(codigo) ) Durante a criação de uma tabela, é detectada a necessidade de se definir um atributo de texto que armazenará dados com tamanhos entre 2000 e 3000 caracteres. Qual é o tipo adequado a ser usado este atributo neste caso? CHAR(tam) RAW(tam) LONG RAW VARCHAR2(tam) LONG Questão não Localizada Dado o seguinte requisito funcional: É necessário cadastrar a matrícula, o nome e o curso dos alunos, e sabendo que um aluno pode fazer mais de um curso e um curso ter mais de um aluno. Qual das questões representa a normalização correta de um banco de dados relacional? CREATE TABLE CURSOS (CODIGO INTEGER, DESCRICAO VARCHAR(100), PRIMARY KEY (CODIGO)); CREATE TABLE ALUNOS (MATRICULA INTEGER, NOME VARCHAR(100), PRIMARY KEY (MATRICULA)); CREATE TABLE INSCRICAO (ALUNO INTEGER, CURSO INTEGER, PRIMARY KEY (ALUNO,CURSO), FOREIGN KEY (ALUNO) REFERENCES ALUNOS (MATRICULA), FOREIGN KEY (CURSO) REFERENCES CURSOS (CODIGO)); CREATE TABLE ALUNOS (MATRICULA INTEGER, NOME VARCHAR(100), CURSOS VARCHAR(50), PRIMARY KEY (MATRICULA)); CREATE TABLE CURSOS (CODIGO INTEGER, DESCRICAO VARCHAR(100), PRIMARY KEY (CODIGO)); CREATE TABLE ALUNOS (MATRICULA INTEGER, NOME VARCHAR(100), PRIMARY KEY (MATRICULA)); CREATE TABLE INSCRICAO (ALUNO INTEGER, CURSO INTEGER, PRIMARY KEY (ALUNO,CURSO)); CREATE TABLE CURSOS (CODIGO INTEGER, DESCRICAO VARCHAR(100), PRIMARY KEY (CODIGO)); CREATE TABLE ALUNOS (MATRICULA INTEGER, NOME VARCHAR(100), CURSO INTEGER, PRIMARY KEY (MATRICULA), FOREIGN KEY (CURSO) REFERENCES CURSOS (CODIGO)); Questão não Localizada No Script SQL de criação da tabela pagamento aparece a palavra 'funcionario' 4 vezes. Sendo assim, é possível afirmar que se referem, respectivamente: tupla, chave primária, apelido, chave estrangeira apelido, atributo, tabela, chave estrangeira atributo, apelido, campo, tabela coluna, tabela, apelido, chave primária campo, atributo, apelido, tabela Questão não Localizada O comando SQL para excluir os registros da tabela Aluno, cujo campo nome comece com a letra M, é: DELETE FROM Aluno WHERE nome='M'. DELETE FROM Aluno WHERE nome LIKE 'G%'. DELETE FROM Aluno WHERE nome SUCH '%M'. DELETE FROM Aluno DELETE FROM Aluno WHERE nome LIKE 'M%'. Questão não Localizada Assinale a opção que possui o comando CREATE TABLE que cria corretamente a tabela "Alunos", segundo o seguinte esquema de banco de dados: create table Alunos ( matricula int not null, nome varchar(50) not null, endereco varchar(255) null, cod_curso int not null, constraint pk_alunos primary key (matricula), constraint fk_alunos_cursos foreign key (cod_curso) references Cursos(codigo) ) INSERT INTO PECAS (1234, "lápis de cor", 500); INSERT INTO PECAS ("1234", "lápis de cor", 500); INSERT INTO PECA (1234, "lápis de cor", 500); INSERT INTO PECA (1234, "lápis de cor", 500); Partindo da tabela a seguir, considerando que a mesma já foi criada de acordo com essa ordem de atributos, como ficaria o comando SQL para inserir um registro na tabela? INSERT INTO X_PROD VALUES ( 20, 'TV Led 40 polegadas', 400, 3000); INSERT INTO X_PROD VALUES ('TV Led 40 polegadas', 20, 400, 3000); INSERT INTO X_PROD VALUES (20, TV Led 40 polegadas, 400, 3000); INSERT INTO X_PROD VALUES ( TV Led 40 polegadas, 20, 400, 3000); INSERT INTO X_PROD VALUES ('20', 'TV Led 40 polegadas', '400', '3000'); Questão não Localizada Para excluir tuplas de uma tabela devemos utilizar? DELETE DROP UPDATE INSERT SELECT Considere o script: INCLUDE INTO PECA (1234, "lápis de cor", 500); INSERT PECAS (1234, "lápis de cor", 500); EXERCÍCIOS AULA 04 1 08 Q 02 ERROS 06 ACERTOS 75,0 a b c d e 1 1 1 2 1 3 a nova (s): 0 REP 10 b c x d e 2 a b c d x e 3 a b c d e x 4 a b c x d e 5 a b x c E d e 6 a b c d e x 7 a b c d e x 8 a x b c E d e SELECT PRIM_NOME || ' ' || ULT_NOME FROM EMPREGADO WHERE CARGO LIKE '%VENDA%' ; SELECT PRIM_NOME, ULT_NOME FROM EMPREGADO WHERE UPPER(CARGO) LIKE '%VENDA%' ; SELECT PRIM_NOME, ULT_NOME FROM EMPREGADO WHERE CARGO LIKE '%VENDA%' ; SELECT PRIM_NOME || ' ' || ULT_NOME FROM EMPREGADO WHERE UPPER(CARGO) LIKE '%VENDA%' ; SELECT EID_EMP_MATRICULA AS MATRICULA, EVC_EMP_NOME AS NOME, CVC_CAR_NOME AS CARGO FROM EMPREGADO E INNER JOIN CARGO C ON ENU_EMP_CARGO = CID_CAR_CODIGO; SELECT EID_EMP_MATRICULA AS MATRICULA, EVC_EMP_NOME AS NOME, CVC_CAR_NOME AS CARGO FROM EMPREGADO E RIGHT JOIN CARGO C ON ENU_EMP_CARGO = CID_CAR_CODIGO; SELECT EID_EMP_MATRICULA AS MATRICULA, EVC_EMP_NOME AS NOME, CVC_CAR_NOME AS CARGO FROM EMPREGADO E, CARGO C WHERE ENU_EMP_CARGO = CID_CAR_CODIGO; SELECT NOMEP, NOMEA, TITULO FROM PROFESSOR P, ALUNO A, TCC T WHERE PMATP = AMATP AND AMATA = TMATA; SELECT NOMEP PROFESSOR, NOMEA ALUNO, TITULO "TÍTULO" FROM PROFESSOR P, ALUNO A, TCC T WHERE PMATP = AMATP AND AMATA = TMATA; SELECT NOMEP PROFESSOR, NOMEA ALUNO, TITULO "TÍTULO" FROM PROFESSOR P, ALUNO A, TCC T WHERE PMATP = AMATP; De acordo com o modelo de dados definido pelas tabelas a seguir, indique a instrução SQL adequada para: Apresentar apenas os nomes completos dos Empregados que trabalhem nos Departamentos 11, 21, 22, 31, 42 ou 51 SELECT PRIM_NOME, ULT_NOME FROM EMPREGADO WHERE ID_DEPTO ON (11, 21, 22, 31, 42, 51); SELECT PRIM_NOME || ' ' || ULT_NOME FROM EMPREGADO WHERE ID_DEPTO ON (11, 21, 22, 31, 42, 51); SELECT PRIM_NOME || ' ' || ULT_NOME FROM EMPREGADO WHERE ID_DEPTO =11 AND ID_DEPTO =21 AND ID_DEPTO =22 AND ID_DEPTO =31 AND ID_DEPTO =42 AND ID_DEPTO =51; Aula 04 SELECT PRIM_NOME, ULT_NOME FROM EMPREGADO WHERE ID_DEPTO IN (11, 21, 22, 31, 42, 51); SELECT PRIM_NOME || ' ' || ULT_NOME FROM EMPREGADO WHERE ID_DEPTO IN (11, 21, 22, 31, 42, 51); O comando SELECT FROM WHERE corresponde as seguintes operações da álgebra relacional: Projeção e União Seleção e Junção Seleção e Projeção Seleção e Diferença União e Interseção O esquema abaixo refere-se a um banco de dados criado para auxiliar na gerência de orientação de alunos por professores e da defesa do Trabalho de Conclusão de Curso (TCC) pelos alunos Analise-o: Professor (MatP,NomeP, telP, emailP) Aluno (MatA, MatP, NomeA, emailA) TCC (IDTCC, MatA, Titulo, Resumo) Assinale a única alternativa que retorna exatamente os dados exibidos na figura: SELECT NOMEA ALUNO, NOMEP PROFESSOR, TITULO "TÍTULO" FROM PROFESSOR P, ALUNO A, TCC T WHERE PMATP = AMATP AND AMATA = TMATA; SELECT NOMEA ALUNO, NOMEP PROFESSOR, TITULO FROM PROFESSOR P, ALUNO A, TCC T WHERE PMATP = AMATP AND AMATA = TMATA; SELECT DATA, TEMPAGUA, (COMPRIMENTO * 39,3700787) Polegadas FROM TUBARÃO T, CAPTURA C WHERE CIDTUBARÃO = TIDTUBARÃO; SELECT DATA, TEMPAGUA, "COMPRIMENTO * 39,3700787" Polegadas FROM TUBARÃO T, CAPTURA C WHERE CIDTUBARÃO = TIDTUBARÃO; SELECT DATA, TEMPAGUA, COMPRIMENTO * 39,3700787 Polegadas FROM TUBARÃO T, CAPTURA C WHERE CIDTUBARÃO = TIDTUBARÃO; De acordo com o modelo de dados definido pelas tabelas a seguir, indique a instrução SQL adequada para: Apresentar apenas os nomes completos dos Empregados que tenham no cargo a palavra "venda" SELECT PRIM_NOME || ' ' || ULT_NOME FROM EMPREGADO WHERE UPPER(CARGO) LIKE '%venda%' ; Ao selecionar os dados de uma tabela, para visualização ou outra necessidade podemos restringir o seu espectro de visualização utilizando a cláusula: ORDER UNTIL WHERE FROM UP O esquema de banco de dados apresentado abaixo faz parte de um banco de dados criado a partir de um conjunto de dados públicos de captura de tubarões
Compartilhar