Figura 1. Figura 2. Prova Escrita de Base de Dados 5 Novembro 2005 - V2 Número do Aluno: Nome do Aluno: 1º Teste (90 Minutos)



Documentos relacionados
Sistemas de Bases de Dados Relacionais Introdução ao SQL. Interrogações diversas sobre a Base de Dados Northwind

Revisão / Exercícios. Prof. Márcio Bueno. {bd2tarde,bd2noited}@marciobueno.com

Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Standards ISO e ANSI SQL-86, SQL-89, SQL-92, SQL:1999, SQL:2003

Função dos Sistemas de Bases de Dados Visão dos dados Modelos de dados Linguagem de Definição de Dados Linguagem de Manipulação de Dados Gestão de

Sistemas de Bases de Dados Relacionais Introdução ao SQL. Interrogações diversas sobre a Base de Dados Northwind - Parte II

Bases de Dados 2007/2008 Exame

Capítulo 3: Modelo Relacional!

1. Assinale as afirmações que são verdadeiras e as que são falsas, corrigindo-as:

EXAME DE 1ª ÉPOCA Semestre de Verão 2004/ Junho 2005 duração: 2h30m

António Rocha Nuno Melo e Castro

Desenvolvimento de uma base de dados. Relação. Modelo lógico: SGBD relacional

Tarefa Orientada 14 Subconsultas

Índice. Introdução Tutorial 1: O Microsoft Access como Sistema de Gestão de Bases de Dados Relacionais... 35

Consistem num conjunto de apontadores para instâncias especificas de cada relação.

Tipos de dados complexos e objectos Tipos de dados estruturados e herança em SQL Herança de tabelas Matrizes e multi-conjuntos em SQL Identidade de

Álgebra Relacional. Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída. Operações básicas:

Bases de Dados 2007/2008 Exame

Banco de Dados. Marcio de Carvalho Victorino Exercícios SQL

1.264 Aula 7. Introdução ao SQL

Tarefa Orientada 12 Junção Externa, Auto-Junção e União

Comandos de Manipulação

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Índice. Introdução 31. Tutorial 1: O Microsoft Access como Sistema de Gestão de Bases de Dados Relacionais 35

Tarefa Orientada 19 Triggers

Tarefa Orientada 16 Vistas

SQL (Structured Querie Language) Escola Secundária de Emídio Navarro 2001/2002 Estruturas, Tratamento e Organização de Dados

Tarefa Orientada 13 Agrupamento e sumário de dados

Bases de Dados. Lab 1: Introdução ao ambiente

SQL Linguagem de Definição de Dados. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Structured Query Language (SQL) SQL é uma linguagem normalizada (ANSI) para consultas e actualizações de bases de dados relacionais.

Banco de Dados I Módulo II: Modelagem Entidade- Relacionamento versus Relacional. (Aula 3) Clodis Boscarioli

Banco de Dados. Módulo 7 - Modelo Relacional. Definição do Esquema Relacional em SQL. modulo07.prz 1 10/09/01

SQL Linguagem de Manipulação de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Computadores e Sistemas de Informação. Bases de Dados Relacionais (linguagem SQL)

SQL. SQL (Structured Query Language) Comando CREATE TABLE. SQL é uma linguagem de consulta que possibilita:

Os dados no MySQL são armazenado em tabelas. Uma tabela é uma colecção de informação relacionada e consiste em colunas e linhas.

Curso:... Prova de Sistemas de Informação para Bibliotecas (21105) Nome:... Nº de Estudante:... B. I. nº... Assinatura do Vigilante:...

Bases de Dados 1º semestre

Exercícios de Lógica Exercícios de Fixação 08

Esquema da Relação. Modelo Relacional. Instância da Relação. Exemplo. Uma base de dados é uma colecção de uma ou mais relações com nomes distintos

Índice. Introdução às bases de dados. Parte 1 ÍNDICE DE FIGURAS E QUADROS 11 CONVENÇÕES USADAS NESTE MANUAL 15 PREFÁCIO 17

Banco de Dados. Arquitetura e Terminologia. Prof. Walteno Martins Parreira Jr waltenomartins@yahoo.

Profa. Daniela Barreiro Claro

Consultas SQL com mais de uma 01 tabela

SQL (Structured Query Language)

UML (Unified Modelling Language) Diagrama de Classes

Tarefa Orientada 11 Junção Interna

SQL TGD/JMB 1. Projecto de Bases de Dados. Linguagem SQL

Linguagem SQL. Comandos Básicos

Bases de Dados 2005/2006. Aula 5

Memória de aula Aulas 11 e 12

Exame de Época Especial / 1º Semestre / 2007/2008. Todas as folhas devem ser identificadas, de forma legível, com o nome e número do aluno.

Roteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos

Introdução às Bases de Dados

SQL UMA ABORDAGEM INTERESSANTE

Structured Query Language (SQL)

Introdução ao SQL. Aécio Costa

Modelo de Dados. Modelo para organização dos dados de um BD

1. SQL Instrumental Select Delete Update Insert Group by Having Unnion All...

Bases de Dados. Conversão para Modelo Relacional. Diagrama E-A. IST DEI Bases de Dados

Definida pelo American National Standard Institute (ANSI) em 1986

Principais Instruções em SQL

Programação SQL. Manipulação de Dados. DML Data Manipulation Language

Bases de Dados. Conversão para Modelo Relacional. Modelo Entidade-Associação. IST DEI Bases de Dados

UNIVERSIDADE FEDERAL FLUMINENSE PÓLO UNIVERSITÁRIO DE RIO DAS OSTRAS FACULDADE FEDERAL DE RIO DAS OSTRAS CURSO DE CIÊNCIA DA COMPUTAÇÃO

Projeto de Banco de Dados: Empresa X

Uma expressão básica em SQL consiste em três cláusulas: select, from e where.

Banco de dados 1. Linguagem DML SQL Select Avançado. Professor: Victor Hugo L. Lopes

Bases de Dados. O ficheiro create-bank.sql contém um conjunto de instruções SQL para criar a base de dados de exemplo ilustrada na figura 1.

Ex.: INSERT INTO tmpautor (CDAUTOR, NMAUTOR) VALUES (1, Renato Araújo )

Programação SQL. Introdução

Introdução às funções e procedimentos. SQL suporta funções e procedimentos úteis com tipos de dados específicos

Introdução à Manipulação de Dados

Modelo de Dados Relacional Restrições de um Banco de Dados Relacional

UNIVERSIDADE FEDERAL DO MARANHÃO - UFMA. Banco de Dados II. Integridade. Carlos Eduardo Portela Serra de Castro

SQL comando SELECT. SELECT [DISTINCT] <campos> FROM <tabela> [condição] [ ; ] Paulo Damico - MDK Informática Ltda.

Aplicações - SQL. Banco de Dados: Teoria e Prática. André Santanchè e Luiz Celso Gomes Jr Instituto de Computação UNICAMP Agosto de 2013

Bases de Dados. Junção de relações. Junção de relações

Programação SQL. INTRODUÇÃO II parte

Exercícios. Exercícios

Projeto Conceitual Usando o Modelo-Entidade Relacionamento

Projeto de Banco de Dados

BASES DE DADOS I LTSI/2. Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2010/2011

MICROSOFT ACCESS MICROSOFT ACCESS. Professor Rafael Vieira Professor Rafael Vieira

Um modelo de dados é a colecção de, pelo menos, 3 componentes:

Fernando Albuquerque - fernando@cic.unb.br. Bancos de Dados. Fernando Albuquerque fernando@cic.unb.br

Bases de Dados! 2014/15! João Leite

SQL - Criação de Tabelas

Introdução à Banco de Dados. Nathalia Sautchuk Patrício

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

PROGRAMA. Aquisição dos conceitos teóricos mais importantes sobre bases de dados contextualizados à luz de exemplos da sua aplicação no mundo real.

Modelo de Dados. Modelos Conceituais

Exame de Recurso de Base de Dados Universidade do Algarve 03/Fev/2005, (duração: 2 horas)

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

TRABALHO PRÁTICO. Sistema de Gestão de Bases de Dados. Doenças. Alunos: Filipe Alexandre da Silva Vila Real Nuno José Morais Felicio

Bases de Dados. Lab 1: Introdução ao ambiente. Figura 1. Base de dados de exemplo

Grupo I [7v] 1. [1,0] Apresente o conteúdo do IDL relativo a este programa. Assuma PROGRAM=62015 e VERSION=1.

Tarefa Orientada 15 Manipulação de dados

Transcrição:

Prova Escrita de Base de Dados 5 Novembro 2005 - V2 Número do Aluno: Nome do Aluno: 1º Teste (90 Minutos) Identifique esta prova preenchendo o seu nome e número nesta página, e o número em todas as restantes. A prova é sem consulta. As respostas erradas às perguntas de escolha múltipla indicadas descontam o valor indicado. Figura 1 Customers (CustomerID, Name, City) Orders (OrderID, OrderDate, CustomerID) OrderDetail (OrderID, ProductID, UnitPrice, Quantity) Products (ProductID, ProductName, UnitPrice, SupplierID) Supplier (SupplierID, Name, City, ZIPCode, Street) Onde Orders.CustomerID é uma chave estrangeira para Customers, OrderDetail.OrderID e OrderDetail.Product são chaves estrangeiras para Orders, e Products respectivamente, e Products.SupplierID é chave estrangeira para Suppliers. Figura 2 Página 1 de 7

1º Teste de Base de Dados Página 2 de 7 - ALUNO NÚMERO:... P1 (5 valores, 1 por alínea; não desconta) Considere o esquema relacional indicado na figura 1. Considere que o valor das relações são os expressos na figura 2. Assuma que todos os atributos estão declarados com a restrição de NOT NULL. Indique o valor das seguintes queries (em SQL Server), escrevendo o resultado das mesmas no quadro em frente de cada uma. Se achar que a query tem erros de sintaxe indique Erros de Sintaxe. alínea A) SELECT ProductID, Sum(OrderDetail.Quantity) AS S FROM OrderDetail GROUP BY ProductID ORDER BY S aliena B) SELECT Products.ProductID, Sum(OrderDetail.Quantity) AS S FROM Products INNER JOIN OrderDetail ON Products.ProductID=OrderDetail.ProductID GROUP BY Products.ProductID ORDER BY S aliena B) SELECT ProductID, ProductName FROM Products WHERE NOT EXISTS ( SELECT * FROM Orders WHERE NOT EXISTS ( SELECT * FROM OrderDetail WHERE OrderDetail.OrderID = Orders.OrderID AND OrderDetail.ProductID = Products.ProductID)) alínea D) SELECT productid FROM Products WHERE ProductID NOT IN ( SELECT productid FROM OrderDetail) alínea E) SELECT productid FROM Products WHERE ProductID NOT IN ( SELECT productid FROM OrderDetail INNER JOIN Orders ON Orders.orderID= OrderDetail.orderID INNER JOIN Customers ON Orders.customerID=Customers.CustomerID WHERE Customers.City = Porto )

1º Teste de Base de Dados Página 3 de 7 - ALUNO NÚMERO:... P2 ( 2 valores, 1 por alínea; não desconta) Assuma que o modelo da figura 1 está implementado numa base de dados relacional, mas sem declarações de chaves estrangeiras. Assuma que as relações contêm os valores apresentados na figura 2, com excepção da relação OrderDetail que contém mais um registo, o último, apresentado em baixo: Indique nos quadros à direita o resultado das queries das alíneas A) e B) da pergunta P1, agora com este registo adicional na relação OrderDetail. Se acha que a resposta é idêntica resposta à dada em P1, indique igual a P1 no respectivo quadro. P3 (2 valores, 1 por alínea; alínea A desconta 0,2; alínea B não desconta) Considere, à esquerda, a definição das classes person, customer, employee e officer numa linguagem Orientada por Objectos. Considere, à direita a declaração da relação employee em SQL.

1º Teste de Base de Dados Página 4 de 7 - ALUNO NÚMERO:... Considere que existe uma correspondência entre os tipos de dados string, int e date usados da declaração das classes com os tipos de dados char(20), numeric(8,2) e date usados na declaração em SQL. Comente a adequabilidade da relação employee em suportar a classe employee, ou por outras palavras, a possibilidade de cada registo da relação employee poder armazenar cada instância da classe employee (indique a frase verdadeira): Alínea A) (a) A relação não é adequada apenas porque falta um atributo com o identificação de cada objecto. (b) A relação é adequada, não sendo válidas as razões apresentadas em a) e b). (c) A relação não é adequada apenas porque os atributos person_name e person_address deviam pertencer a outra relação. (d) A relação não é adequada pelas duas razões expressas em a) e b). Alínea B) represente num diagrama Entidade Associação os conceitos person, customer, employee e officer expressos na linguagem Orientada por Objectos. Responda completando o diagrama em baixo. customer officier person employee P4 (1 valor; desconta 0,3 valores) Considere a cláusula WHERE da instrução SELECT, a qual tem como argumento um predicado:...where P.... Recorde-se que P é um predicado lógico. Indique a hipótese verdadeira. (a) WHERE P é verdadeiro se e só se P não for FALSE. (b) WHERE P assume sempre o valor lógico de P. (c) Nenhum dos casos anteriores é verdadeiro.

1º Teste de Base de Dados Página 5 de 7 - ALUNO NÚMERO:... P5 (3 valores, 1 por alínea; desconta 0,2 em cada alínea) Considere o seguinte esquema Entidade Associação: Alínea A) Relativamente à capacidade dos modelos Relacionais e Orientados por Objectos suportarem a implementação directa dos conceitos expressos na figura, indique a afirmação verdadeira: (a) O modelo relacional não suporta a implementação directa deste modelo porque não suporta estruturas que não estejam na 1º Forma Normal. (b) O modelo relacional suporta a implementação directa deste modelo porque suporta estruturas que não estejam na 1º Forma Normal. (c) O modelo Orientado a Objectos não suporta a implementação directa deste modelo porque não suporta estruturas que não estejam na 1º Forma Normal. (d) O modelo Orientado a Objectos não suporta a implementação directa deste modelo porque suporta estruturas que não estejam na 1º Forma Normal. Alínea B) Relativamente implementação do modelo Entidade Associação apresentado, podemos dizer que: (escolha a afirmação verdadeira) (a) Uma implementação no modelo relacional que não apresente anomalias obriga à utilização de pelo menos duas relações, uma para customer e outra para o phonenumber. (b) Uma implementação no modelo relacional que não apresente anomalias obriga à utilização de pelo menos quatro relações, uma para customer outra para city, outra para name, e uma última para address. (c) É possível ter uma implementação no modelo relacional com uma única relação que não apresente anomalias. (d) Uma implementação no modelo relacional que não apresente anomalias obriga necessariamente à conversão do atributo phone-number numa entidade do modelo Entidade Associação.

1º Teste de Base de Dados Página 6 de 7 - ALUNO NÚMERO:... Alínea C) Relativamente à conversão do modelo Entidade Associação apresentado podemos dizer que, se for implementado com uma única relação, a chave desta relação é: (escolha a afirmação verdadeira) (a) O atributo Customer_id (b) Os atributos (Customer_id, address, name) (c) Os atributos (Customer_id, phone-number) (d) Não é possível implementar este modelo numa única relação P6 (3 Valores, 1 por alínea; alíneas A e B não descontam, C desconta 0,2) Considere que na relação Supplier (SupplierID, Name, City, ZIPCode, Street) se verificam as seguintes dependências funcionais: SupplierID Name, City, ZIPCode, Street ZIPCode City Alínea A) Indique as (ou a) opções verdadeiras, assumindo que os atributos City e ZipCode não podem ser nulos. (Nota: apenas se consideram como certas as respostas completamente certas) (f) É possível registar nesta relação a informação de que um determinado ZIPCode está associado a uma determinada City, sem registar qualquer outra informação. (g) É possível eliminar desta relação a informação de que um determinado ZIPCode está associado a uma determinada City, sem eliminar qualquer outra informação. (h) É possível registar nesta relação a informação relativa a um Supplier, sem acrescentar qualquer outra informação relativa à associação entre City e ZipCode. (i) É possível eliminar desta relação a informação relativa a um Supplier, sem eliminar qualquer outra informação relativa à associação entre City e ZipCode.. (j) Nenhuma das anteriores. Alínea B) Indique as (ou a) opções verdadeiras opções verdadeiras, assumindo agora que os atributos City e ZipCode podem ser nulos. (Nota: apenas se consideram como certas as respostas completamente certas) (a) É possível registar nesta relação a informação de que um determinado ZIPCode está associado a uma determinada City, sem registar qualquer outra informação. (b) É possível eliminar desta relação a informação de que um determinado ZIPCode está associado a uma determinada City, sem eliminar qualquer outra informação. (c) É possível registar nesta relação a informação relativa a um Supplier, sem acrescentar qualquer outra informação relativa à associação entre City e ZipCode. (d) É possível eliminar desta relação a informação relativa a um Supplier, sem eliminar qualquer outra informação relativa à associação entre City e ZipCode.. Alínea C) Suponha que se pretende decompor a relação Supplier em duas outras relações: Supplier1 e City. Indique em que cenário de composição da relação Supplier se assegura que

1º Teste de Base de Dados Página 7 de 7 - ALUNO NÚMERO:... a relação original pode ser resconstituída pelo join natural das relações Supplier1 e City propostas? (a) Supplier1 (SupplierID, Name, City, Street) City (City, ZIPCode) (b) Supplier1 (SupplierID, Name, ZIPCode, Street) (c) Supplier1 (SupplierID, Name, City) (d) Supplier1 (SupplierID, Name, ZIPCode) (e) Nenhuma das decomposições propostas. City (City, ZIPCode) City (City, ZIPCode,Street) City (City, ZIPCode,Street) P7 (4 valores, 1 por alínea; não desconta) Admita que a figura seguinte representa um esquema relacional, no qual estão apenas representadas as relações (rectângulos), os atributos (dentro da parte mais clara rectângulos) e as chaves estrangeiras (as setas com origem e destino em atributos das relações). Responda apenas com base no que pode provar a partir deste modelo relacional. Alínea A) - apenas se consideram como correctas as respostas completamente correctas. Indique os atributos da relação customer que podem não ter valor. Customer-name customer-city customer-street nenhum Alínea B) - apenas se consideram como correctas as respostas completamente correctas. Indique os atributos da relação borrower que podem não ter valor. Customer-name loan-number customer-city nenhum Alínea C) - apenas se consideram como correctas as respostas completamente correctas. Indique, se existirem, as relações que são necessariamente entidades em qualquer modelo Entidade-Associação cuja implementação corresponda a este modelo relacional. branch account loan borrower depositior customer nenhuma Alínea D) - apenas se consideram como correctas as respostas completamente correctas. Indique as relações em que podemos identificar chaves candidatas branch account loan borrower depositior customer nenhuma