Escolar Documentos
Profissional Documentos
Cultura Documentos
Lista de Exerccios 1
Questo 01 Um certo SGBD relacional (SGBDR) fabricado pela UC Labs permite que o usurio escolha a forma de armazenamento de suas tabelas de dados, ou seja, ele permite variar os tipos de arquivos usados para armazenar os dados das tabelas. A primeira forma chamada Transaction-Safe Tables permite que os usurios do banco utilizem recursos de transao. A segunda forma, Not Transaction-Safe no permite usar transaes. O fabricante do SGBD diz que a grande vantagem da segunda forma de armazenamento sobre a primeira que ela mais rpida, usa menos espao em disco e que usa menos memria nas atualizaes. Com base nessas informaes, pergunta-se: a) Quais seriam as vantagens oferecidas pela primeira forma de armazenamento que o fabricante deixou de mencionar ? As Transaes asseguram a integridade dos dados, sendo sua principal vantagem e recurso essncial para determinados tipos de aplicaes. b) Suponha que voc esteja desenvolvendo uma aplicao de uma loja virtual para a Internet. Nesta loja voc dever anotar os itens da compra dos internautas assim como dar baixa no estoque no momento em que ele confirmar a compra. Se voc estivesse desenvolvendo esta aplicao com o SGBD da UC Labs por qual tipo de armazenamento voc optaria? Por que ? O tipo escolhido seria o Transaction-Safe Tables, pois neste contexto existem operaes em que so necessrias a utilizao de recursos de Transao, de forma a garantir a integridade do Banco de Dados. Por exemplo, a baixa dos produtos no estoque, adicionando os mesmos em uma nota fiscal, pode ser vista como uma operao pelo cliente, mas como muitas pelo Banco de Dados, sendo portanto necessria a concluso de todo conjunto de operaes, ou que, no caso de uma falha, nenhuma delas ocorra. Seria inaceitvel a baixa no estoque sem a entrada dos produtos na nota fiscal. c) No desenvolvimento de uma aplicao para consulta a uma grande base de dados (como Yahoo ou AltaVista) voc optaria por qual tipo de armazenamento ? O tipo escolhido seria Not Transaction-Safe, pois neste contexto a prioridade seria a velocidade de acesso, uma vez que se tem um grande volume de informaes, alm de ocupar menos espao em disco. Questo 02 Desenhe um diagrama ER que mostre o esquema do modelo de dados do SPRING. No precisa colocar atributos nas entidades, somente o nome da classe de entidades e a cardinalidade dos relacionamentos.
Banco Dados Geogrfico parte-de Projetos parte-de parte-de Objeto noespacial Planos de Informao um Agrupamento Geo-Objetos um Imagem Sensor Remoto Cadastral Rede Geo-objeto
parte-de
est-em
Questo 03 Os dados geogrficos podem estar representados nas formas raster ou vector (vetorial). Cite duas formas diferentes de representao vetorial e descreva algumas vantagens e desvantagens de cada uma delas. Ponto: Trata-se da forma mais simples de representao de Dados Geogrficos, possuindo um par de coordenadas x e y, representando sua localizao espacial. Porm sua utilizao deve ser escolhida de acordo com a escala do mapa e as informaes que se deseja representar. Por exemplo, numa alta escala podemos representar os clubes de uma cidade por pontos, porm numa escala mais aproximada o interesse seja em visualizar o que h dentro do clube, no sendo possvel neste caso utilizar a representao por ponto. Linha: Uma linha pode ser composta por uma sucesso de pontos cuja referncia espacial dada pelas coordenadas destes e sua utilizao deve ser avaliada de acordo com o que ser representado. Por exemplo na representao de um rio, a linha pode ser uma alternativa, porm para se delimitar uma regio na qual ser instalada uma empresa a linha no seria uma boa alternativa, pois neste caso o interesse no est apenas das delimitaes e mas tambm no interior do terreno. Questo 04 Existem diferentes arquiteturas para banco de dados geogrficos. Cite e explique as caractersticas, vantagens e desvantagens de algumas arquiteturas existentes. Para cada arquitetura cite um sistema que a utilize.
Arquitetura Dual: Nesta arquitetura os Dados Geomtricos so armazenados em sistemas de arquivos (fora do Banco de Dados), enquanto os atributos em tabelas de um SGBD relacional. Esta arquitetura geralmente utilizada em SIG "desktop" como o SPRING, ArcView e IDRISI. Vantagens: Permite acesso externo aos atributos (via SQL); Permite a utilizao de ferramentas como geradores de formulrios; e Permite a conexo a dados existentes. Desvantagens: SQL no suporta consultas espaciais; Controle dos objetos espaciais feita fora do Banco de Dados (podendo gerar inconsistncias, onde uma alternativa o armazenamento em campos Binrios Longos no Banco de Dados); e No permite ambiente multiusurio (exige duplicao, podendo ocasionar inconsistncias). Arquitetura em camadas: Nesta arquitetura tanto os Atributos quanto os Dados Geomtricos so armazenados dentro do Banco de Dados. Esta arquitetura geralmente utilizada em SIG distribudos como o TerraLib/TerraView e ArcInfo 8. Dentre suas caractersticas pode-se destacar a diviso de responsabilidades por camadas, sendo elas: Interface (Interao com o usurio como o: TerraView e o ArcGIS 8); Acesso (Bibliotecas de funes como o: ArcSDE e a TerraLib); e Banco de Dados (Suporte apenas a campos longos: Access e o SQL Server. E Suporte para tipos de Dados Espaciais: Oracle, PostGIS e o DB2). Vantagens: Permite construir SIG distribudos (multiusurios); Tem controle de integridade dos dados espaciais; e Permite accesso e atualizao multi-usurio. Desvantagens: Complexidade de implantao e uso; e Solues proprietrias. Servidor de Mapas Remotos: Nesta arquitetura os Dados ficam armazenados no Servidor e so transferidos arquivos Matriciais ao cliente (GIF, JPEG). Esta arquitetura geralmente utilizada em SIG na Internet como o SIGMUN. Vantagens: No h necessidade carregar, instalar ou manter qualquer software ou dados especiais. Desvantagens: A cada nova pesquisa, um novo mapa gerado. Servidor de dados Remotos:
Nesta arquitetura os dados ficam no cliente e so transferidos arquivos vetoriais. Ela geralmente utilizada em SIG na Internet como o SPRINGWeb. Vantagens: Maior rapidez de processamento; e Cliente pode fazer suas anlises. Desvantagens Cliente precisa de aplicativo (plug-in); e Tempo inicial de carga de dados (pode demorar). Questo 05 Desejamos projetar uma aplicao de um sistema de transmisso e distribuio de energia eltrica. Identifique os elementos necessrios para um sistema deste tipo, descrevendo entidades, atributos e relacionamentos. Desenhe um diagrama de Entidade-Relacionamento.
UF uf_codigo uf_sigla uf_nome CentralDistribuicao cen_codigo cen_nome cen_descricao Funcionario fun_codigo pes_codigo (FK) cen_codigo (FK) fun_cart_trabalho
SubCentral sub_codigo sub_nome sub_descricao atende (FK) Terceiro ter_codigo pes_codigo (FK)
Pessoa Endereco end_codigo LogFaixa lfa_cep log_codigo (FK) lfa_num_inicial lfa_num_final pos_codigo (FK) pes_codigo (FK) lfa_cep (FK) end_num end_complemento pes_codigo pes_nome pes_descricao
Juridica pes_codigo (FK) Comercial end_codigo (FK) pes_codigo (FK) Residencial end_codigo (FK) pes_codigo (FK) jur_cnpj jur_razaosocial jur_fantasia
a) Criar as tabelas. Vide arquivo ddl.sql em anexo. b) Criar as chaves primrias. Vide arquivo ddl.sql em anexo. c) Definir as restries de integridade referencial entre as tabelas. Vide arquivo ddl.sql em anexo. d) Definir as restries de integridade das colunas e linhas se houverem. Vide arquivo ddl.sql em anexo. e) Definir ndices sobre as colunas (ou conjunto de colunas) que voc julgar necessrios.
Vide arquivo ddl.sql em anexo. f) Dar exemplo de comandos SQL que faam a insero de dados nessas tabelas.
insert into UF (cod_uf, nom_uf) values ('SP', 'So Paulo'); insert into CATEGORIA (cod_categoria, nome) values (2, 'Informtica'); insert into PALAVRA_CHAVE (cod_palavra, palavra) values (1, 'GIS');
Mais exemplos, vide arquivo dados.sql em anexo. g) Escrever o comando SQL que atualize o nome do bairro do cliente 1234 (cod_cliente) para Jardim Souto.
update Cliente set bairro = 'Jardim Souto' where cod_cliente = 1234;
h) Escrever os comandos SQL para as seguintes consultas: 1. Obter os dados de todos os funcionrios.
SELECT * FROM FUNCIONARIO;
3. Obter os pedidos com total pago maior que R$120,00, com o valor convertido para dlar ($1,00 = R$3,50).
SELECT P.NUM_PEDIDO, P.DATA_PEDIDO, P.TOTALPAGO/3.50 TOTALDOLAR, P.COD_CLIENTE, P.COD_FUNCIONARIO FROM PEDIDO P WHERE TOTALPAGO > 120
WHERE A.nome = 'Tanenbaum' AND A.cod_autor = LA.cod_autor AND LA.cod_livro = L.cod_livro AND L.cod_editora = E.cod_editora
8. Obter a lista de todos os autores que publicaram livros pela editora "Makron Books" (sem repetir o nome dos autores).
SELECT DISTINCT A.* FROM AUTOR A, LIVRO L, LIVRO_AUTOR LA, EDITORA E WHERE E.nome = 'Makron Books' AND E.cod_editora = L.cod_editora AND L.cod_livro = LA.cod_livro AND LA.cod_autor = A.cod_autor
10. Obter as editoras e o nmero de livros para as editoras com mais de 5 livros publicados.
SELECT E.cod_editora Editora, COUNT(L.cod_editora) Total FROM EDITORA E, LIVRO L WHERE L.cod_editora = E.cod_editora AND (SELECT COUNT(*) FROM LIVRO WHERE LIVRO.cod_editora = E.cod_editora) > 5 GROUP BY E.cod_editora
11. Listar a quantidade de cada livro pedido ou encomendado. Ex: se um determinado livro foi pedido 10 vezes e tambm foram feitas 5 encomendas ento o resultado para este livro dever ser 15.
SELECT L.cod_livro, SUM(PL.quantidade) + SUM(EL.quantidade) FROM LIVRO L, PEDIDO_LIVRO PL, ENCOMENDA_LIVRO EL WHERE L.cod_livro = PL.cod_livro AND L.cod_livro = EL.cod_livro GROUP BY L.cod_livro
i) Escrever o comando SQL para remover as editoras do estado do Rio Grande do Sul.
DELETE FROM EDITORA E WHERE E.cod_uf = 'RS'
Qual o efeito deste comando se as restries de integridade referencial estiverem definidas e marcadas para deleo em cascata ? Quando as Editoras forem removidas, todos registros relacionados a elas nas outras Tabelas tambm sero removidos.