ISEL - DEETC
1ª Época / 2º Semestre / 2007/2008
SI1 – SISTEMAS DE INFORMAÇÃO 1
Duração: 3’00’’
23.JUN.2008
ATENÇÃO
• Todas as folhas devem ser identificadas, de forma legível, com o nome e número do aluno.
• As questões podem ser respondidas com consulta de 1 única folha A4.
• As questões devem ser respondidas na folha do enunciado.
• A interpretação do enunciado faz parte da avaliação.
• A legibilidade da resposta faz parte da avaliação.
GRUPO . QUESTÃO
(ALÍNEA) COTAÇÃO
TOTAL GRUPO
I.1
I.2
I.3
(a) 1; (b) 2
(a) 3; (b) 2
(a) 2; (b) 2
12
II . 1
II . 2
(a) 3; (b) 1
4
8
IDENTIFICAÇÃO DO ALUNO
Nome:
Número:
Nome do Aluno:
Número do Aluno:
GRUPO I (12 VALORES)
1. Considere o esquema de relação R(nome, local, distrito, descricao, revisor, pontos)
e a sua seguinte relação:
nome Local Joaquim Guimarães Joaquim Guimarães Joaquim Alverca José Covilhã José Mação Sónia Belém distrito descricao revisor pontos Braga Castelo de Guimarães João 5 Braga Castelo de Guimarães Clara 3 Lisboa Jardim Ana 4 Castelo Branco Serra da Estrela Ana 5 Castelo Branco KartCross Joaquim 2 Lisboa Torre de Belém João 5 (a) Considerando o conjunto F de dependências funcionais. Indique se existirem, as chaves candidatas de
R. Justifique a sua resposta.
F = {
{nome, local}->descricao,
{nome, local, revisor}->pontos,
local->distrito
}
(b) Admitindo as dependências funcionais enumeradas na alínea anterior, diga justificando qual é a formal
normal de R. Apresente uma decomposição de R que esteja na terceira forma normal (3FN).
“Sistemas de Informação 1” – 1ª Época / 2º Semestre / 2007/2008
Pág. 2 / 6
Nome do Aluno:
2.
Número do Aluno:
Uma empresa multinacional, no ramo do turismo, pretende conceber um sistema de informação para
apoiar a gestão de reservas de visitas a Pontos de Interesse Turístico (PIT). Para o efeito, é necessário
manter informação sobre os PIT que estão distribuídos geograficamente por países, regiões e
localidades. Por cada região, deve ser possível saber qual é a língua mais falada, a moeda e o fuso
horário. Tendo em vista satisfazer as necessidades de alojamento dos clientes a empresa deseja
manter registo dos hotéis com as respectivas distâncias a cada um dos PIT. Em relação a cada um dos
hotéis deve ser mantida informação sobre o preço médio do quarto, tempo médio de transferência para
os aeroportos mais próximos e sobre as instalações de lazer (ténis, sauna, piscina, divertimentos para
crianças e etc.). Todas as entidades possuem nomes ou designações que as identificam univocamente
no contexto em que são referidas.
(a) Elabore o modelo entidade-associação (modelo conceptual) que caracteriza, na perspectiva dos dados,
a situação atrás descrita. Sempre que considerar necessário indique os pressupostos que tiver
assumido (lembre-se que a legibilidade da resposta é considerada na avaliação).
(b) Transforme o modelo apresentado na alínea anterior num modelo relacional (modelo lógico). Indique as
chaves primárias, candidatas e chaves estrangeiras assim como outras restrições que ache
convenientes.
“Sistemas de Informação 1” – 1ª Época / 2º Semestre / 2007/2008
Pág. 3 / 6
Nome do Aluno:
Número do Aluno:
3. Considere o seguinte esquema relacional, que representa parte de um sistema de informação sobre
turismo.
CLIENTE(BI_cliente, pais, nome, data_nascimento, designacao, regiao)
HOTEL(designacao, regiao, preco, data_inauguracao)
Considere ainda que:
Os atributos sublinhados são chave primária do esquema de relação; os atributos em itálico são
chave estrangeira. A chave estrangeira referencia a relação que tem a chave primária com o mesmo
nome.
Todos os atributos são obrigatórios.
(a) Complete a directiva SQL com o objectivo de aumentar 10% do preço dos hotéis inaugurados depois
de 1/1/2008 e que já tiveram mais de 1000 clientes.
UPDATE HOTEL SET preco =
WHERE
(b) Indique uma expressão em álgebra relacional que calcule o valor da média de idades dos clientes dos
hotéis da região de Lisboa com preços superiores a 100 euros. Escreva uma única directiva SQL
relativa à expressão que indicou anteriormente.
GRUPO II (8 VALORES)
1. Tendo como base o modelo relacional apresentado no “Grupo I.3”.
(a) Complete a seguinte especificação XSD, de modo a representar uma estrutura equivalente a esse
modelo relacional.
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" >
<xs:complexType name="CT_hotel" >
<xs:simpleContent>
<xs:extension base="xs:string">
_______________________________________________________________________
_______________________________________________________________________
_______________________________________________________________________
</xs:extension>
</xs:simpleContent>
</xs:complexType>
“Sistemas de Informação 1” – 1ª Época / 2º Semestre / 2007/2008
Pág. 4 / 6
Nome do Aluno:
Número do Aluno:
<xs:complexType name="CT_cliente" >
<xs:simpleContent>
<xs:extension base="____________">
<xs:attribute name="_______________" type="_________" use="required"
<xs:attribute name="_______________" type="_________" use="required"
<xs:attribute name="_______________" type="_________" use="required"
<xs:attribute name="designacao"
type="xs:string" use="required"
<xs:attribute name="regiao"
type="xs:string" use="required"
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="CT_visitas">
<xs:sequence>
<xs:element name="__________" type="__________" maxOccurs="__________"
<xs:element name="__________" type="__________" maxOccurs="__________"
</xs:sequence>
</xs:complexType>
<xs:element name="visitas" type="CT_visitas" >
<xs:key name="PK_HOTEL" >
<xs:selector xpath="________________________________" />
<xs:field
xpath="________________________________" />
<xs:field
xpath="________________________________" />
</xs:key>
<xs:key name="PK_CLIENTE" >
<xs:selector xpath="cliente" />
<xs:field
xpath="@bi"
/>
<xs:field
xpath="@pais" />
</xs:key>
<xs:keyref name="FK_CLIENTE_HOTEL" refer="____________" >
<xs:selector xpath="________________________________" />
<xs:field
xpath="________________________________" />
<xs:field
xpath="________________________________" />
</xs:keyref>
</xs:element>
</xs:schema>
/>
/>
/>
/>
/>
/>
/>
(b) Apresente uma instância do esquema (XSD) indicado na alínea anterior.
“Sistemas de Informação 1” – 1ª Época / 2º Semestre / 2007/2008
Pág. 5 / 6
Nome do Aluno:
Número do Aluno:
2. Pretende-se processar, usando uma transformação XSLT, o documento XML indicado na ilustração 1
para obter a lista apresentada na ilustração 2.
<?xml version="1.0" encoding="iso-8859-1"?>
<?xml-stylesheet type="text/xsl" href="listar.xsl"?>
<alunos>
<leic>
<aluno numero='li12'>
<nome>Joaquim Silva</nome>
<email>[email protected]</email>
</aluno>
<aluno numero='lt34'>
<nome>João Santos</nome>
<email>[email protected]</email>
</aluno>
</leic>
<meic>
<aluno numero='li56'>
Ilustração 2 - Lista de e-mails
<nome>José Saraiva</nome>
<email>[email protected]</email>
</aluno>
</meic>
</alunos>
Ilustração 1 - Documento “alunos.xml”
Para o efeito deve completar o documento “listar.xsl” seguinte:
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" version="1.0" encoding="ISO-8859-1" />
<xsl:template match="/">
<html>
<body>
<h3>Lista de e-mails:</h3>
<table>
<xsl:for-each select="/alunos_____________________________">
<xsl:sort select="______________________________________"/>
<tr>
<td>
<xsl:value-of select="____________"/>
</td>
<td>:</td>
<td>
<xsl:value-of select="____________"/>
</td>
</tr>
</xsl:for-each>
</table>
<hr/>
LEIC: <xsl:value-of select="count(/alunos______________________)" />
MEIC: <xsl:value-of select="____________________________________" />
TOTAL: <xsl:value-of select="____________________________________" />
<hr/>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
“Sistemas de Informação 1” – 1ª Época / 2º Semestre / 2007/2008
Pág. 6 / 6
Download

ISEL - DEETC 1ª Época / 2º Semestre / 2007/2008 SI1 – SISTEMAS