Caderno - Exercicios - Modelizacao e Relacional 2pag

20
Bráulio Alturas Carlos Conceição Elsa Cardoso Luisa Domingues Caderno Exercícios de Informática II © ISCTE – DCTI, 2005 2 1 Exercícios de Modelização _________________________________________ 3 1.1 Exercícios de Diagrama de Classes ______________________________ 3 1.1.1 Fornecimento de Peças ______________________________________ 3 1.1.2 Encomendas ______________________________________________ 3 1.1.3 Biblioteca _________________________________________________ 3 1.1.4 Formação Profissional _______________________________________ 4 1.1.5 Concursos ________________________________________________ 4 1.1.6 Pessoal __________________________________________________ 5 1.1.7 Alunos ___________________________________________________ 5 1.1.8 Agenda___________________________________________________ 5 1.1.9 Gestão de Pessoal__________________________________________ 6 1.1.10 Carros ___________________________________________________ 6 1.1.11 Mapas ___________________________________________________ 6 1.1.12 Programas ________________________________________________ 7 1.1.13 Concertos_________________________________________________ 7 1.1.14 Stocks ___________________________________________________ 7 1.1.15 Artigos ___________________________________________________ 8 1.1.16 Processos ________________________________________________ 9 1.1.17 Projectos _________________________________________________ 9 1.1.18 Futebol __________________________________________________ 10 1.1.19 Filmes___________________________________________________ 10 1.1.20 Registo de Automóveis _____________________________________ 11 1.1.21 Planeamento _____________________________________________ 11 1.1.22 Gestão de Hospitais________________________________________ 12 1.1.23 Vencimentos _____________________________________________ 12 1.1.24 Seguros _________________________________________________ 13 1.1.25 Companhia de Aviação _____________________________________ 14 1.2 Exercícios Integrados de Modelização ___________________________ 15 1.2.1 Bar _____________________________________________________ 15 1.2.2 Imobiliária________________________________________________ 16 1.2.3 Livraria Virtual ____________________________________________ 17 1.2.4 Hotéis Praia Mar __________________________________________ 18 1.2.5 Call Center _______________________________________________ 19 1.2.6 Jardim Zoológico __________________________________________ 21 1.2.7 Laboratório de Análises Clínicas ______________________________ 22 1.2.8 Health Clubs______________________________________________ 23 1.2.9 Self-Service de Computadores _______________________________ 24 1.2.10 Trailer Movies_____________________________________________ 26 1.2.11 Corretora On-line E-Broker __________________________________ 29 2 Exercícios de SQL _______________________________________________ 32

Transcript of Caderno - Exercicios - Modelizacao e Relacional 2pag

Page 1: Caderno - Exercicios - Modelizacao e Relacional 2pag

��

����������������� ����������� ������������� ���������

��������������� Bráulio Alturas�Carlos Conceição�Elsa Cardoso Luisa Domingues �����������������

Caderno Exercícios de Informática II

© ISCTE – DCTI, 2005 2

����������������������������

1 Exercícios de Modelização _________________________________________ 3

1.1 Exercícios de Diagrama de Classes ______________________________ 3 1.1.1 Fornecimento de Peças ______________________________________ 3 1.1.2 Encomendas ______________________________________________ 3 1.1.3 Biblioteca _________________________________________________ 3 1.1.4 Formação Profissional _______________________________________ 4 1.1.5 Concursos ________________________________________________ 4 1.1.6 Pessoal __________________________________________________ 5 1.1.7 Alunos ___________________________________________________ 5 1.1.8 Agenda___________________________________________________ 5 1.1.9 Gestão de Pessoal__________________________________________ 6 1.1.10 Carros ___________________________________________________ 6 1.1.11 Mapas ___________________________________________________ 6 1.1.12 Programas ________________________________________________ 7 1.1.13 Concertos_________________________________________________ 7 1.1.14 Stocks ___________________________________________________ 7 1.1.15 Artigos ___________________________________________________ 8 1.1.16 Processos ________________________________________________ 9 1.1.17 Projectos _________________________________________________ 9 1.1.18 Futebol __________________________________________________ 10 1.1.19 Filmes___________________________________________________ 10 1.1.20 Registo de Automóveis _____________________________________ 11 1.1.21 Planeamento _____________________________________________ 11 1.1.22 Gestão de Hospitais________________________________________ 12 1.1.23 Vencimentos _____________________________________________ 12 1.1.24 Seguros _________________________________________________ 13 1.1.25 Companhia de Aviação _____________________________________ 14

1.2 Exercícios Integrados de Modelização ___________________________ 15 1.2.1 Bar _____________________________________________________ 15 1.2.2 Imobiliária________________________________________________ 16 1.2.3 Livraria Virtual ____________________________________________ 17 1.2.4 Hotéis Praia Mar __________________________________________ 18 1.2.5 Call Center _______________________________________________ 19 1.2.6 Jardim Zoológico __________________________________________ 21 1.2.7 Laboratório de Análises Clínicas ______________________________ 22 1.2.8 Health Clubs______________________________________________ 23 1.2.9 Self-Service de Computadores _______________________________ 24 1.2.10 Trailer Movies_____________________________________________ 26 1.2.11 Corretora On-line E-Broker __________________________________ 29

2 Exercícios de SQL _______________________________________________ 32

Page 2: Caderno - Exercicios - Modelizacao e Relacional 2pag

Caderno Exercícios de Informática II

© ISCTE – DCTI, 2005 3

���� ��� �������� ��������� ���� �������� ��������� ���� �������� ��������� ���� �������� ��������� �����

������������ ��� �������������� ������������� �������������� ������������� �������������� ������������� �������������� ��������������

1.1.1 Fornecimento de Peças

Uma empresa possui fornecedores que fornecem peças, podendo cada peça ser fornecida por vários fornecedores. Aos fornecedores é atribuído um código que os identifica univocamente. Idêntico procedimento é usado para as peças. Os fornecedores são ainda caracterizados por um nome, morada e telefone. As peças são caracterizadas por designação e cor. As cores possíveis são preto, branco, cinzento e vermelho. Os fornecimentos são feitos a um dado preço e numa dada data.

1.1.2 Encomendas

Uma empresa efectua encomendas numeradas de um em diante. Cada encomenda possui um número variável de posições (linhas de encomenda), cada uma das quais diz respeito a uma peça a encomendar. Cada peça só pode estar numa posição de cada encomenda. As posições numeram-se de um em diante, dentro de cada encomenda. A encomenda tem uma data e dirige-se a um só fornecedor, podendo cada fornecedor satisfazer várias encomendas de peças. Tanto as peças como os fornecedores são identificados por um código próprio. As posições incluem o número da posição, o código da peça, o preço unitário e a quantidade encomendada.

1.1.3 Biblioteca

Pretende-se criar uma base de dados para a gestão da informação referente a uma dada biblioteca. Depois de um estudo preliminar, apurou-se que a informação relevante a este problema se podia sintetizar nos seguintes requisitos. Uma publicação (artigo, livro, revista,...) é caracterizada por um número, um nome, um ano, uma editora, uma cota e um estado, que pode ser: “em conferência”, “reservada”, “disponível”, “consultada” ou “requisitada. Cada autor é caracterizado por um número e pelo seu nome. Aos autores de nacionalidade portuguesa é atribuído um dado código pela Sociedade Portuguesa de Autores (SPA). No caso de uma publicação ser escrita por mais do que um autor conhece-se a ordem pela qual aparecem os nomes destes na referida publicação. A cada publicação pode corresponder um conjunto de ‘palavras-chave’, permitindo-se assim uma selecção das primeiras por assunto. Para cada requisição de uma dada publicação, é importante conhecer, para além da identificação do requisitante, o número da requisição, a data de requisição e a data de entrega dessa publicação. Cada requisitante é caracterizado por um nome, pelo número do seu bilhete de identidade, pela sua morada e telefone. Pretende-se poder pesquisar os requisitantes e os autores pelo seu último nome.

Caderno Exercícios de Informática II

© ISCTE – DCTI, 2005 4

1.1.4 Formação Profissional

Pretende-se desenvolver um sistema que automatiza, na medida do possível, as tarefas de organização dos cursos de formação profissional. Enunciam-se de seguida alguns dos requisitos de informação que a base de dados do sistema terá de armazenar. As acções de formação processam-se sob a forma de cursos, os quais são identificados pelo organismo promotor através de um código alfanumérico. Os cursos têm um nome e uma data de início. Em cada um dos cursos são ministrados vários módulos (que equivalem às disciplinas no ensino regular). Cada módulo tem uma sigla, que o identifica no curso respectivo, uma designação e um número total de horas. Os formandos são os alunos dos cursos, e são identificados por um número sequencial no curso que frequentam. Sobre os formandos têm de registar-se ainda o estado e os módulos que frequentam, uma vez que se admite que um formando pode frequentar só alguns dos módulos do curso. No organismo promotor trabalham diversos funcionários, os quais são identificados internamente por um número. Directamente envolvidos nos cursos estão os funcionários formadores, coordenadores e administrativos. Sobre todos os funcionários têm de se registar a data de admissão no organismo; sobre os formadores e coordenadores o seu grau académico. Sabe-se ainda que cada curso tem um coordenador, podendo contudo um coordenador ser responsável por vários cursos. Os formandos e os funcionários constituem os participantes nos cursos. Todos eles têm um nome, um número de bilhete de identidade e uma morada. Por outro lado, qualquer participante pode ser ou não empregado de outras empresas, no caso de o ser interessa registar a firma e o número de pessoa colectiva dessas várias empresas. Uma aula tem início a uma determinada hora de um dos dias úteis em que decorre o curso. Esta é uma das duas formas possíveis de identificar uma aula de um curso; a outra é através de um número sequencial que é atribuído à aula no curso. Por exemplo, a aula das 10.00 horas do dia 20 de Outubro do curso X pode igualmente ser identificada como sendo a aula número 50 desse mesmo curso. Sobre cada aula interessa ainda registar o módulo leccionado.

1.1.5 Concursos

Uma dada organização publica regularmente listas de resultados de concursos. Cada lista é numerada com um número natural atribuído de forma crescente e autónoma. Cada lista é composta por um número variável de elementos, sendo estes caracterizados por um número de ordem dentro da lista. Cada elemento da lista referencia uma pessoa, sendo esta identificada univocamente pelo respectivo número de bilhete de identidade, possuindo ainda um dado nome e morada. Cada concurso é realizado numa dada data e identificado por um número, nele podem participar várias pessoas, originando uma ou mais listas de resultados.

Page 3: Caderno - Exercicios - Modelizacao e Relacional 2pag

Caderno Exercícios de Informática II

© ISCTE – DCTI, 2005 5

1.1.6 Pessoal

Uma empresa armazena informação sobre os seus clientes e empregados. Existe uma codificação interna que permite identificar estas pessoas, independentemente de serem clientes ou empregados, ambos têm um nome e uma morada. Sobre os clientes sabe-se a actividade a que se dedicam. Na empresa existem também departamentos, identificados por uma sigla, nos quais trabalham os empregados. Os departamentos têm uma designação e uma localização e identificam internamente os seus empregados através de um número sequencial independente dos outros departamentos. Sobre os empregados sabe-se ainda a data de admissão, o vencimento mensal e o seu responsável, que também é um empregado da empresa. Cada departamento tem uma pessoa que o chefia, conhecendo-se a data de posse do chefe. Cada pessoa só pode chefiar um departamento. Os departamentos podem ser subdivididos em secções, consoante o produto produzido. As diversas secções são numerados de 1 até ao número necessário. Em cada secção produzem-se diversos modelos podendo cada modelo ser produzido em várias secções. Um modelo varia de preço conforme a secção em que é produzido. Os modelos são univocamente identificados por um código e têm uma cor.

1.1.7 Alunos

Os alunos de licenciatura de uma universidade, sejam diurnos ou nocturnos, são identificados por meio de um número natural, o qual é atribuído de forma crescente. Para o caso dos alunos nocturnos, interessa saber a empresa onde eventualmente trabalham, a posição que ocupam na hierarquia da empresa e a experiência profissional que possuem. Existem também alunos de mestrado, sendo estes igualmente identificados por um número natural, atribuído de forma crescente, mas de um modo independente dos de licenciatura. Tanto os alunos de mestrado como os de licenciatura possuem nome, morada e telefone.

1.1.8 Agenda

Deseja-se guardar informação sobre pessoas com os respectivos nomes, números de telefone pessoais (não profissionais), mnemónica, data de nascimento, morada e código postal. As pessoas trabalham ou não em organizações as quais podem conter um ou mais locais de trabalho (correspondentes a diversos edifícios e/ou locais diversos no mesmo edifício). Cada pessoa pode trabalhar em mais do que um desses locais de trabalho. Para cada organização pretende-se guardar a sua designação, as moradas, um número de telefone por morada, telefax e mnemónica (da organização e da morada). Nas organizações as pessoas podem possuir uma extensão própria e/ou telefone directo e trabalham em determinado sector.

Caderno Exercícios de Informática II

© ISCTE – DCTI, 2005 6

1.1.9 Gestão de Pessoal

Uma empresa de investigação e desenvolvimento possui diversos tipos de pessoal. Cada elemento de pessoal possui um número de identificação único e um nome. Os tipos de pessoal são: investigador, técnico contratado, bolseiro, estagiário e administrativo. Com excepção do pessoal administrativo, os elementos de todos os restantes tipos estão afectos a projectos. Pelos projectos, que têm um nome, são realizadas obras e cursos (numerados de forma independente). Interessa saber quais os projectos, obras e cursos a que o pessoal é afecto e qual o investigador responsável por cada um deles.

1.1.10 Carros

Pretende-se guardar informação sobre os carros que se encontram em circulação. A informação considerada relevante sintetiza-se nos seguintes pontos: a) Os carros em circulação são caracterizados pelo ano de fabrico, cor e cilindrada.

São ainda determinados univocamente pelo respectivo número de série e possuem um modelo específico.

b) Em cada momento a um carro poderá estar associada, no máximo, uma matrícula. c) Às matriculas é atribuído um determinado número, sendo ainda caracterizadas pelo

ano e local de emissão. d) Os fabricantes podem produzir diversas marcas e caracterizam-se pelo seu nome e

nacionalidade. Uma marca é identificada pelo seu nome comercial e nacionalidade. Uma marca pode ser produzida por vários fabricantes.

e) Cada marca pode possuir vários modelos de carros, caracterizados pelo respectivo nome do modelo e ano de concepção.

f) Os carros possuem um proprietário, podendo este possuir mais de um carro. g) Os proprietários podem ser particulares ou organizações. Ambos têm nome e

morada, sendo os particulares identificados pelo seu número do bilhete de identidade e as organizações pelo seu número de pessoa colectiva.

1.1.11 Mapas

Numa dada aplicação de cartografia pretende-se armazenar informação sobre vários mapas que possuem escalas diferentes. Existem mapas-base (com menor detalhe) que são posteriormente decomponíveis em mapas que tratam zonas menores (com maior detalhe). Após várias decomposições existem mapas já não decomponíveis. Os mapas são designados por um número que unicamente determina o mapa no caso de ser mapa-base. Os mapas não base são identificados pelo número do mapa-base respectivo e pelo número da decomposição. Pode haver mapas-base não decomponíveis.

Page 4: Caderno - Exercicios - Modelizacao e Relacional 2pag

Caderno Exercícios de Informática II

© ISCTE – DCTI, 2005 7

1.1.12 Programas

Um dado sistema guarda informação sobre documentação de programas escritos numa dada linguagem de programação, programas esses que são identificados por um nome. Assume-se que numa dada especificação não existem programas com o mesmo nome. Em cada programa podem existir identificadores com o mesmo nome, os quais podem ser nomes de variáveis e constantes (em ambos os casos, de um determinado tipo). É ainda possível definir procedimentos também com nomes distintos dentro de uma dada especificação. Os programas podem chamar procedimentos e estes podem chamar-se uns aos outros dentro dos programas. Os procedimentos são compostos de duas zonas: a declaração dos parâmetros formais e o corpo do procedimento. Os parâmetros formais são zero ou mais sem número máximo e são denotados também por um identificador. Na chamada dos procedimentos interessa manter informação sobre quais os parâmetros actuais que substituem cada um dos parâmetros formais.

1.1.13 Concertos

Estão agendados vários concertos para a temporada de música deste ano no Auditório Nacional. Cada concerto, identificado por uma data, vai constar da apresentação de várias obras de compositores diversos. Num só concerto podem ser interpretadas mais do que uma obra do mesmo compositor. Cada compositor é classificado por dado número de entrada no arquivo, conhecendo-se ainda o seu nome e nacionalidade, e as respectivas obras são numeradas por ordem de aparecimento, tendo uma designação. Pretende-se que sejam facilmente conhecidos os programas dos concertos agendados.

1.1.14 Stocks

O tratamento dos stocks numa dada empresa requer diversos impressos, um dos quais se designa por requisição interna. Estes impressos são utilizados pelo pessoal da empresa para requisitar aos serviços administrativos diversos tipos de material. Estas requisições são numeradas pela entidade emissora com o número de ordem e o respectivo ano (por exemplo 023/96) e classificadas com o número do projecto, obra ou curso a que o material se destina. Os diversos tipos de requisição que existem são: exploração, investimento, stock, material de escritório (nacional e estrangeiro) e livros técnicos.

Caderno Exercícios de Informática II

© ISCTE – DCTI, 2005 8

O corpo da requisição é constituído por posições numeradas de 1 a 11. Em cada posição pode registar-se um determinado item. Para tal é necessário fornecer as indicações apresentadas no impresso sobre cada posição (quantidade, preço unitário, etc.). Existe igualmente um campo para observações diversas e para o montante total da requisição. As requisições são assinadas por quatro entidades: a entidade que autoriza, o requisitante, a pessoa que fornece material (pessoa esta que pertence aos serviços administrativos da empresa) e a que recebe. A autorização é dada pela direcção no caso de se tratar de uma requisição de investimento ou de livros, ou pelo chefe de projecto ou responsável pela obra ou curso nos restantes casos. Os chefes de projecto, obra ou curso podem ainda delegar a competência de autorizar requisições de um determinado tipo até um determinado montante a outros membros do seu projecto, obra ou curso. As diversas assinaturas no final do impresso levarão igualmente a data em que foram postas.

1.1.15 Artigos

Pretende-se conceber um sistema de informação para a gestão de artigos técnico/científicos. Enunciam-se de seguida alguns dos requisitos de informação: Cada artigo é identificado por um código e por uma data (mês e ano). Assim tem-se, por exemplo, o artigo 031/87. Os artigos podem ou não ser publicados. No caso se serem publicados sê-lo-ão apenas num local de publicação. As publicações têm também um código, que as identifica univocamente, um nome e uma data. Existem diversos tipos de publicações: livros, revistas e actas de conferências. Entende-se neste contexto apenas os livros que são colectâneas de artigos. As actas dizem respeito a uma conferência que tem um nome, um ano e um local de realização e poderão ou não terem uma editora. Têm ainda um número de ISBN. Os livros têm forçosamente uma editora, nome, data de publicação e ISBN. As revistas têm título, volume e número e poderão ou não ter uma editora. Todos os tipos de publicações podem ter um ou mais editores (pessoas) que tal como os autores são identificados por um código e possuem ainda um nome. Tanto os autores como os editores pertencem a uma organização (e só uma). As organizações identificam-se por uma mnemónica e tem ainda morada e número de telefone. O conteúdo dos artigos é classificado com o auxílio de palavras-chave. Um artigo pode ter várias palavras-chave e uma palavra-chave pode estar associada a vários artigos.

Page 5: Caderno - Exercicios - Modelizacao e Relacional 2pag

Caderno Exercícios de Informática II

© ISCTE – DCTI, 2005 9

1.1.16 Processos

Um sistema para aplicações administrativas mantém informação sobre processos. a) Estes são identificados por um número de ordem (de 1 a n) dentro de um dado ano

civil (ex.: processo 175/96). Os processos são conjuntos de documentos. Dentro de um processo os documentos são também numerados por ordem de entrada no processo (tem-se assim os documentos nº 1, 2, 3, etc. dentro do processo 175/96). Por outro lado os documentos são de natureza diversa e têm uma numeração autónoma consoante o tipo de documento. Os tipos existentes são: certidões, pareceres e boletins de inscrição.

b) Os processos podem ainda classificar-se em processos pendentes e processos activos. O sistema administrativo é operado por elementos de pessoal que são individualmente assignados aos processos activos. Ninguém está atribuído aos processos pendentes. Cada pessoa pode estar atribuída a mais do que um processo, mas cada processo só está a ser tratado por uma única pessoa.

c) Os elementos do pessoal são identificados por um código de pessoal que é formado da seguinte maneira: um dígito que representa a categoria profissional e um número com três algarismos que constitui uma numeração sequencial atribuída por ordem de contratação. Interessa guardar informação sobre o nome, estado civil, data de nascimento e salário dos empregados.

d) Sobre cada um dos diversos tipos de documentos tem-se que sobre os pareceres guarda-se a data, a entidade emissora, o assunto e o objecto do parecer. Sobre as certidões regista-se a data, o tipo e a pessoa a que diz respeito. Sobre os boletins, regista-se a data, a pessoa a que diz respeito, o tipo e o objectivo da inscrição.

1.1.17 Projectos

Pretende-se implementar um Sistema de Informação para auxiliar a tarefa de coordenação de projectos de software. O sistema deve manter informação sobre os diferentes módulos que compõem o projecto, bem como das pessoas a eles afectas. Para cada módulo e sub-módulo importa saber:

• data de início e término; • pessoas envolvidas na sua realização e respectivo número de horas previstas; • sub-módulos que o compõem; • módulos “anteriores” e “posteriores” (módulos que o activam e são activados

por ele); • variáveis de programação utilizadas no módulo (convém distinguir aquelas que

são criadas no próprio módulo e aquelas que podem sofrer atribuições); • o nome que o permite diferenciar dos restantes dentro do projecto.

Os módulos podem ser ecrãs, relatórios, programas, etc. Em relação às pessoas envolvidas no projecto, importa saber o número de horas de afectação semanal para cada projecto (elas podem trabalhar para vários projectos), dados pessoais e a sigla que as permite identificar. A informação relevante para as variáveis é a seguinte:

• identificação; • tipos de dados; • comprimento; • número de casas decimais; • tipo (global ou local); • descrição.

Caderno Exercícios de Informática II

© ISCTE – DCTI, 2005 10

1.1.18 Futebol

Pretende-se implementar um sistema de informação de gestão futebolística. O sistema deve permitir que se consulte informação sobre os diferentes clubes que participam nas jornadas dos campeonatos nacionais, bem como informação respeitante aos sócios dos clubes. a) Em cada jogo das diferentes jornadas que compõem o campeonato nacional,

defrontam-se dois clubes. Em relação a esses jogos importa saber quais os jogadores que participaram, quantos golos marcaram, a data e hora de início do jogo e a cidade onde ocorreu o jogo. As jornadas identificam-se através de um número sequencial respeitante ao campeonato, enquanto os jogos se identificam através de um número, dentro de cada jornada.

b) Os jogadores e os sócios são identificados internamente pelos clubes através de um número, no entanto a numeração é diferente para cada um deles. Tanto em relação aos sócios como aos jogadores, interessa saber o nome, morada e telefone. Importa ainda conhecer a data de contrato dos jogadores, a data de admissão dos sócios e a taxa de desconto dos sócios auxiliares (em relação aos sócios efectivos essa taxa não existe).

c) Os clubes são identificados por uma sigla, sendo também necessário conhecer o seu nome, cidade sede, e os campeonatos em que foram campeões.

1.1.19 Filmes

A empresa cinematográfica EUROFILMES é responsável pela gestão de várias salas de um cinema e pretende ter um sistema que automatize as suas actividades. Enunciam-se de seguida alguns dos requisitos de informação: a) Cada sala tem um número e uma lotação, sendo os lugares sujeitos a marcação. b) Numa sala realizam-se várias sessões por dia. Em cada sessão é exibido um filme,

o qual é precedido da apresentação de vários anúncios publicitários e de resumos de outros filmes que ainda não saíram de cartaz. Note-se que um filme pode ser exibido em mais que uma sala, e que numa sala podem ser exibidos diferentes filmes em diferentes sessões.

c) Cada filme tem um título, uma duração, actores, um realizador, produtores e um resumo, que, por sua vez, tem uma dada duração. Existem três tipos de filme, em exibição, por exibir e já exibidos.

d) Por cada bilhete emitido para uma sessão registam-se o lugar e o preço. Consideram-se os tipos de bilhete normal, de imprensa e convite. Interessa armazenar o número de bilhetes vendidos em filmes que já saíram de exibição.

e) Nas várias sessões são passados anúncios publicitários. Cada anúncio tem um número, uma duração e o nome da empresa a que pertence.

f) Pretende-se armazenar a nacionalidade dos realizadores, actores e produtores. g) Em relação aos actores, produtores e realizadores, a EUROFILMES não lhes

atribui nenhum código, identificando-os apenas pelo nome e apelido.

Page 6: Caderno - Exercicios - Modelizacao e Relacional 2pag

Caderno Exercícios de Informática II

© ISCTE – DCTI, 2005 11

1.1.20 Registo de Automóveis

A autoridade responsável pelo registo de carros pretende desenvolver um sistema de informação que lhe permita saber quem é ou quem foi o dono de um determinado carro. Cabe a essa autoridade registar os donos de um carro sempre que haja uma mudança de propriedade. A informação tem os seguintes requisitos: a) Cada carro é de um particular modelo e é-lhe atribuído um número de série único

pelo seu fabricante. A partir do momento em que o carro sai da fábrica, ele é registado pela autoridade responsável pelos registos com um número único para todos os carros. Desta forma o fabricante é o primeiro dono do carro.

b) Um modelo de carros tem um nome único. Carros de um dado modelo são fabricados por um único fabricante.

c) Existem várias garagens ("stands"), cada uma com um nome único. Enquanto estão na posse dos carros para venda são consideradas donas deles. As garagens só podem ter carros de 3 fabricantes na mesma altura.

d) As pessoas podem comprar um ou mais carros. Cada pessoa tem um nome único. Somente pessoas que sejam ou tenham sido donas de carros conhecidos pela Autoridade de Registos têm interesse para o sistema.

e) A propriedade dos carros (dono de carro) pode ser obtida por fabricantes, garagens e pessoas.

f) Quando se efectua uma transferência de propriedade, interessa registar a data de transferência.

1.1.21 Planeamento

A empresa BDs, Lda. dedica-se à realização de Sistemas de Informação “por medida” e pretende desenvolver um sistema de apoio ao planeamento das suas actividades. Descrevem-se de seguida alguns dos requisitos de informação desse sistema. a) A encomenda de um novo sistema dá origem à criação de um projecto. No

planeamento de cada projecto são estabelecidas as várias tarefas necessárias para a realização do sistema. A cada projecto é atribuído um código, sendo as suas tarefas numeradas sequencialmente (de um modo independente dos outros projectos), os projectos têm ainda um estado, que pode ser: “planeado”, “codificado”, “em execução” ou “terminado”.

b) A execução duma tarefa pode ser assegurada por diversos funcionários, sendo indicado o período (datas de início e fim) de participação de cada um dos funcionários. Estes são identificados por um código, podendo ou não pertencer ao quadro da empresa.

c) Para os funcionários não pertencentes ao quadro interessa registar a data em que termina o contrato, e no caso de terem sido recomendados por um outro funcionário interessa ainda a identificação desse outro funcionário. Cada projecto tem um chefe que tem de ser um funcionário do quadro.

d) No início de cada ano todos os funcionários a trabalhar há mais de um ano na empresa têm de marcar os dias de férias que planeiam usufruir nesse ano.

Caderno Exercícios de Informática II

© ISCTE – DCTI, 2005 12

1.1.22 Gestão de Hospitais

Um grupo de Hospitais pretende implementar uma base de dados onde resida a informação que se descreve de seguida: a) Nos hospitais os empregados têm como função tratar os doentes que se

encontram nas enfermarias. Cada hospital tem um nome, um número que o identifica, e situa-se numa cidade. Os empregados recebem vencimentos de acordo com a categoria que possuem e são identificados pelo número de ordem com que foram contratados no hospital em que trabalham. Uma enfermaria tem disponível um determinado número de camas e é identificada no hospital por uma sigla. Um empregado pode trabalhar em diversas enfermarias, exercendo em cada uma delas determinada função.

b) Os enfermeiros e os médicos são dois dos tipos de empregados dos hospitais. Cada médico exerce uma especialidade. Sobre os médicos da especialidade oftalmologia interessa saber se são ou não míopes.

c) Quando um doente dá entrada num hospital é diagnosticada a sua doença e atribuído um número com que passa a ser identificado nesse hospital. De seguida realiza diversas análises sendo registado em cada uma o tipo, a data e o resultado. As análises são realizadas em laboratórios, os quais têm um nome e são identificados por um número que é independente dos hospitais.

d) Quer os doentes quer os empregados são pessoas e como tal possuem um número de bilhete de identidade, um nome, uma morada e um telefone. Por outro lado, ambos podem ou não ser sócios de uma instituição de segurança social. No caso de o serem têm um número atribuído nessa instituição. As instituições são identificadas por um código e têm um nome e uma morada.

e) Por vezes um empregado adoece e passa também a ser um doente do hospital.

1.1.23 Vencimentos

Pretende-se desenvolver um sistema que automatize as actividades de processamento de vencimentos e de gestão de pessoal duma dada instituição Universitária. Apresentam-se de seguida alguns dos requisitos de informação do sistema a desenvolver. a) Quando um funcionário é admitido é aberto um processo ao qual é atribuído um

número que serve de identificação do novo funcionário na instituição. Existem dois tipos de funcionários: Docentes e Não Docentes. Sobre os docentes interessa registar o grau académico e o ano em que o obteve. Para todos os funcionários tem de registar-se o nome, número do bilhete de identidade, data de nascimento e data de entrada na função pública.

b) Cada funcionário recebe mensalmente valores de diferentes tipos de abonos e desconta valores de diferentes tipos de descontos. Cada tipo de abono é identificado por um número cuja descrição está numa tabela de abonos. Do mesmo modo, cada desconto é identificado por um número autónomo cuja descrição está numa tabela de descontos.

c) Os docentes podem ou não exercer actividade exclusiva na instituição. Caso não estejam em exclusividade tem de se registar a percentagem de tempo que dedicam à instituição e quais as empresas em que também exercem actividade com o respectivo vencimento que auferem em cada uma. Note-se que numa mesma empresa podem trabalhar vários funcionários da instituição. Sobre cada uma destas empresas é registado o código que a identifica, e o sector de actividade.

Page 7: Caderno - Exercicios - Modelizacao e Relacional 2pag

Caderno Exercícios de Informática II

© ISCTE – DCTI, 2005 13

d) O sistema tem ainda de guardar informação acerca das instituições para onde são enviados os descontos. Estas são identificadas por códigos que são independentes dos códigos das empresas dos funcionários sem exclusividade. Quer sobre estas últimas empresas, quer sobre as instituições dos descontos interessa registar o nome, morada e telefone. A tabela de descontos, já referida acima, tem ainda para cada tipo de desconto qual o código da instituição a que diz respeito. Refira-se que um desconto só pode ser entregue a uma instituição.

1.1.24 Seguros

Seguros Viva Descansado é uma companhia de seguros especializada em diversas áreas do negócio dos seguros, como por exemplo: Vida, Automóvel e Navegação. Descrevem-se de seguida alguns dos requisitos de informação do sistema, que a companhia pretende desenvolver, para automatização das suas actividades. a) Um cliente pode ser possuidor de várias apólices. Cada apólice é identificada por

um número de ordem que é atribuído no ano em que é realizada. Os clientes são identificados por um código, interno à companhia, sendo ainda registado para cada cliente o nome, morada e profissão. Cada apólice diz respeito a um só cliente.

b) Os produtos oferecidos pela companhia são agrupados por áreas de negócios, isto é, por Vida, Automóvel, Navegação, etc. Cada área de negócios tem uma sigla, que a identifica, e um texto descritivo. Cada produto tem um código, que o identifica de um modo independente das áreas de negócios, e a taxa anual praticada pela companhia. Um produto só pode pertencer a uma das áreas de negócios. Sobre os produtos da área de negócios Vida interessa registar a idade máxima com que um cliente pode realizar um seguro deste tipo.

c) Numa apólice podem ser incluídos vários produtos de uma dada área de negócios. Assim, para cada apólice tem de guardar-se os produtos que inclui.

d) As participações de acidentes são realizadas por apólice. Estas são identificadas por um código que inclui a identificação da apólice e um número de ordem que é atribuído sequencialmente nessa apólice. Sobre cada participação é registado o local, data, e descrição do acidente.

e) As apólices são vendidas por correctores, recebendo estes uma comissão por cada apólice vendida. Sobre cada corrector tem de registar-se, para além do código, que o identifica, e dos valores das comissões, o respectivo vencimento base. Saliente-se que um corrector só recebe uma comissão por apólice.

f) Um cliente pode ser simultaneamente um corrector da empresa, interessando nesse caso ter registado esse facto.

g) A companhia tem interesse em guardar informação sobre clubes e associações de modo a enviar para estas, pelo correio, publicidade acerca dos seus produtos. Cada associação é identificada pelo número de pessoa colectiva, e cada clube por uma sigla. Sobre as associações interessa ainda registar o número total de associados, e sobre os clubes o número de modalidades que possui. Em ambos os tipos de instituições regista-se igualmente o nome, a morada, telefone e fax.

h) Caso um cliente pertença a um dos tipos de instituições referidos, tem de registar-se a data admissão nessa instituição. Refira-se ainda que um cliente pode pertencer a diferentes clubes e/ou associações.

Caderno Exercícios de Informática II

© ISCTE – DCTI, 2005 14

1.1.25 Companhia de Aviação

Tem-se por objectivo criar um protótipo dum sistema de informação, que permita a uma dada companhia de aviação a gestão automática de algumas das suas actividades correntes. A informação considerada relevante sintetiza-se nos seguintes pontos: a) Aos passageiros que utilizam os serviços oferecidos pela companhia é atribuído um

dado código interno que os identifica sendo ainda registado sobre estes o nome, morada e telefone.

b) Na companhia a cada voo é atribuído um número. Os voos realizam-se entre um aeroporto origem e um aeroporto destino sempre com a mesma hora de partida e hora prevista de chegada. Admite-se como simplificação que os voos não têm escalas.

c) Uma partida corresponde à realização de um voo num dado dia do ano (data). Note-se que os voos são realizados normalmente com uma dada periodicidade (diária, semanal, etc.).

d) A cada reserva é atribuído um código que é único na companhia. A reserva é realizada por um dado passageiro para uma dada partida, podendo cada passageiro efectuar várias reservas para outras tantas partidas. Sobre cada reserva é ainda registado se está ou não confirmada.

e) A cada avião é atribuído um número de série, que o identifica na companhia, e um nome. Os aviões são referenciados como pertencentes a um dado tipo de avião. Sobre cada tipo de avião interessa conhecer o fabricante e o modelo.

f) Um voo é sempre realizado num dado avião podendo, por outro lado, cada um destes servir diversos voos. A organização do avião em classes é dependente do voo, isto é, a configuração das classes de um dado avião pode variar de voo para voo. A cada classe é atribuída uma dada lotação e preço por lugar.

g) Pretende-se igualmente guardar informação sobre os empregados da companhia. Sobre cada um interessa conhecer o número, que o identifica na companhia, o nome, a morada, o telefone e o vencimento mensal. Sobre cada partida tem de se registar os empregados que nela participam (pessoal de terra e de voo). Quando um empregado é designado para participar numa dada partida interessa saber qual a função que vai desempenhar.

h) Para os pilotos interessa ter registado, para além da informação comum a todos os empregados, o número de horas de voo e o seu número de licença de voo (número da carta de piloto). Pretende-se igualmente conhecer quais os tipos de avião que cada um pode pilotar.

Page 8: Caderno - Exercicios - Modelizacao e Relacional 2pag

Caderno Exercícios de Informática II

© ISCTE – DCTI, 2005 15

������������ ��� ���������������� �� ��������� ���� ���������������� �� ��������� ���� ���������������� �� ��������� ���� ���������������� �� ��������� �����

Os exercícios integrados de modelização incluem especificações de requisitos de diversos sistemas de informação. Para cada especificação construa o modelo de use cases e o diagrama de classes utilizando a notação UML.

1.2.1 Bar

Considere um sistema de informação através do qual o cliente ao sentar-se na mesa dum bar/restaurante encontra um pequeno ecrã onde pode consultar os produtos servidos e fazer os respectivos pedidos. Apresentam-se a seguir alguns aspectos relativos à funcionalidade do sistema. Quando os clientes chegam ao bar, para serem servidos deverão proceder ao registo do pedido. Quando os clientes indicam pela primeira vez quais os produtos e respectivas quantidades é criado um novo pedido. Durante o serviço vão sendo registados novos pedidos de produtos que deverão ser armazenados no sistema. Quando termina o serviço duma determinada mesa deverá proceder-se ao registo final do pedido. O barman responsável pelo bar cria periodicamente novos cocktails que necessita registar no sistema. Para além do registo da composição propriamente dita pode ser necessário registar novas bebidas. A gestão do bar necessita de obter a pedido uma lista das garrafas de um cliente. Com base na identificação do cliente deverá ser obtida uma listagem onde constam os seguintes dados: o nome do cliente, o(s) número(s) de garrafa e respectiva marca. O sistema terá de armazenar toda a informação sobre os produtos disponibilizados pelo bar. Sobre cada produto é necessário registar a sua designação e respectivo preço. Para além disso os produtos estão repartidos por três categorias: bebidas, cocktails e alimentação. Sobre as bebidas (rum, tequilla, brandy, etc.), pretende-se saber a sua marca (o bar só trabalha com uma marca de cada bebida). Sobre os cocktails pretende-se saber a sua composição, ou seja, unidades (mililitros, decilitros, etc.) e a respectiva quantidade de cada bebida, e também qual o acompanhamento de cada cocktail (por exemplo rodela laranja, cereja, etc.). O bar pretende também efectuar alguma gestão dos seus clientes, sendo assim o sistema deverá registar o nome, morada, telefone e data de nascimento. Alguns clientes mais frequentes, compram uma ou mais garrafas que vão sendo consumidas sempre que o cliente o entenda. É necessário por isso saber quais as garrafas de cada cliente. Para efectuar esse controlo cada garrafa é numerada e refere qual o tipo de bebida que contém.

Caderno Exercícios de Informática II

© ISCTE – DCTI, 2005 16

O restaurante dispõe de diversas mesas sobre as quais armazena o seu número, capacidade, se se pode fumar ou não e o seu estado (livre, serviço, reservada, indisponível ou manutenção). O sistema deverá também permitir registar a reserva de um cliente para uma ou mais mesas. As reservas são registadas no próprio dia e serão apagadas quando terminar o serviço. É também necessário aceitar reservas de não clientes, sendo que neste caso só poderá ser feita para uma mesa e deverá para tal ser armazenado o contacto de quem efectuar a reserva. Para facilitar a gestão das mesas, a gestão do bar considera como um conjunto mesa: a mesa propriamente dita, com as características já enumeradas; as cadeiras de cada mesa que serão no mínimo de três e sobre as quais se sabe o respectivo padrão do tecido; os bancos que deverão ser no mínimo dois e sobre o qual se sabe a cor; e o número de cinzeiros. O aspecto mais importante deste sistema prende-se com a gestão dos pedidos dos clientes. Assim sobre o pedido deverá ser armazenado o número, a hora de início, a hora de fim, o respectivo estado (não entregue, entregue ou pago)e a mesa em que foi servido. No início e durante a refeição deverão ser armazenados para cada pedido quais os produtos e respectivas quantidades. Com base nesse registo será possível desenvolver mais tarde, outro módulo que permitirá a facturação ao cliente.

1.2.2 Imobiliária

Considere um sistema de informação através do qual uma imobiliária faz a gestão da informação mais importante para o seu funcionamento. Apresentam-se a seguir alguns aspectos relativos à funcionalidade do sistema. Com base nas informações que são recolhidas pelos vendedores, ou então com base nas propostas de vendas apresentadas pelos clientes, o responsável pela imobiliária faz o registo de um imóvel. Esse registo deverá conter a morada, a área e o valor do imóvel assim como do tipo de imóvel de que se trata (apartamento, moradia ou escritório). Depois de registado o imóvel o responsável da imobiliária autoriza de imediato um vendedor para poder proceder aos passos seguintes necessários à negociação do imóvel. O responsável da imobiliária chegou à conclusão que a maioria dos potenciais clientes que se dirigem à imobiliária, procuram apartamentos com um determinado número de quartos. Para facilitar quer os potenciais clientes, que para libertar o trabalho dos vendedores, foi colocado um computador onde o cliente pode obter uma listagem com os apartamentos ainda por negociar agrupados por número de quartos. Assim o potencial cliente só tem de indicar o número de quartos que pretende e depois será produzida uma listagem com os seguintes dados morada, área, valor e vista. Uma das tarefas que o responsável da imobiliária efectua com bastante periodicidade e a autorização dos vendedores para negociação de um determinado imóvel. Esta imobiliária só permite que os vendedores autorizados possam negociar um determinado imóvel. Sendo assim o responsável obtém do sistema uma lista com todos os vendedores, onde conste o nome e o telefone, e depois liga a cada imóvel um determinado conjunto de vendedores à sua escolha. O responsável deverá também poder escolher um dos vendedores para ficar no local do imóvel.

Page 9: Caderno - Exercicios - Modelizacao e Relacional 2pag

Caderno Exercícios de Informática II

© ISCTE – DCTI, 2005 17

Identificam-se seguidamente, de forma sucinta, as principais classes de objectos e seus relacionamentos respectivos, a representar no sistema. A imobiliária tem um registo de todos os clientes com os quais tem algum relacionamento. Sobre cada cliente a imobiliária pretende saber o nome, morada, telefone, número de contribuinte e número de bilhete de identidade. Para além dos clientes a imobiliária mantém o registo de todos os imóveis que está a negociar. Sobre cada imóvel é necessário saber a morada, a área (em m2) e o valor. Os imóveis podem ser apartamentos, moradias ou escritórios. Sobre os apartamentos é necessário saber também a vista que têm (por exemplo mar, serra, etc.) e o número de quartos (T0, T1, T2, etc.). Sobre as moradias é necessário saber se tem ou não piscina e o número de quartos. Sobre os escritórios é necessário saber qual o número de estacionamentos de que dispõe assim como o número de linhas telefónicas instaladas. Para poder acompanhar a evolução da negociação de cada imóvel é necessário saber em qual das seguintes situações se encontra: por negociar, reservado ou negociado. Os clientes da imobiliária podem comprar ou vender imóveis. Sobre os clientes que fazem uma ou várias compras é apenas necessário saber qual ou quais os imóveis que compraram e a data em que o fizeram. Quanto às vendas é necessário saber qual o imóvel ou imóveis que estão a vender e saber também qual a comissão que a imobiliária irá realizar sobre o valor do imóvel. Para estabelecer contacto com os clientes a imobiliária tem um conjunto de vendedores. Sobre cada vendedor sabe-se o nome, morada, telefone e data de admissão. Estes vendedores podem estar autorizados a negociar um conjunto de imóveis, e cada imóvel tem um conjunto determinado de vendedores autorizados a negocia-lo. Por vezes alguns vendedores são colocados nos locais dos imóveis, sendo que apenas um vendedor é enviado para cada local. O imóvel poderá ou não ter um vendedor no local. Outro aspecto que a imobiliária quer gerir são os contactos. Os contactos não são mais do que visitas que eventuais compradores fazem a um dos imóveis, podendo no entanto vir a ser futuros clientes. Sempre que termina uma dessas visitas, o vendedor regista a informação do contacto efectuado, isto é, a identificação do vendedor e do imóvel, o nome da pessoa, um telefone para contacto, a data da visita e observações (por exemplo, ‘interessado em apartamento T5 com garagem’). Com base neste registo dos contactos a imobiliária poderá vir a telefonar para estas pessoas quando eventualmente vier a ter na sua carteira um imóvel que esteja de acordo com o interesse dessa pessoa.

1.2.3 Livraria Virtual

Considere um Sistema de Informação que tem como finalidade a gestão de uma livraria virtual. Identificam-se seguidamente os principais requisitos do sistema resultantes de um levantamento de requisitos efectuado junto da gerência da livraria. A livraria Camões, pretende criar um sistema para a venda de livros através da Internet. Sendo caracterizada por: morada, número de contribuinte, designação do objecto social e nome. A livraria tem como objecto social a comercialização de livros. Cada livro é caracterizado por um título, ISBN, autores, editora e ano de publicação. É importante registar a nacionalidade, nome e apelido do autor e a ordem pela qual participou na escrita do livro.

Caderno Exercícios de Informática II

© ISCTE – DCTI, 2005 18

Para se constituir como cliente da livraria, é necessário preencher um formulário na Internet do qual consta: nome, apelido, nacionalidade, e-mail, login, password, número de cartão de crédito que servirá para efectuar o pagamento, profissão, número de Bi ou Passaporte, morada e telefone. Aquando do registo como cliente, este deverá seleccionar as diferentes áreas científicas do seu interesse, e para cada uma delas o motivo associado à preferência (profissional, área de estudo, hobbie, ...). As preferências servirão de objecto para o envio automático de e-mails com a informação dos novos livros publicados. As áreas cientificas têm uma determinada designação e podem ser de diferentes domínios entre os quais: matemática, informática, gestão geral, gestão financeira,... O processo de compra através da Internet é distinto relativamente ao sistema tradicional. Assim, um cliente poderá adicionar um livro ao carrinho de compras e efectuar a compra numa data posterior, i.e., no momento de decisão de compra ele opta pelos itens a comprar nessa ocasião. Para adicionar um livro ao carrinho de compras ou aceder ao seu conteúdo é obrigatório que o cliente valide o seu acesso. Cada cliente possui um único carrinho de compras. Os vários itens adicionados pelo cliente devem mencionar a quantidade, preço e livro a que se referem. O cliente pode optar por comprar ou reservar cada um dos itens, sobre os primeiros importa saber a data de compra e a morada de entrega que poderá ser distinta da morada do cliente. No momento da efectivação da compra o cliente necessitará de validar o seu acesso. Para que o cliente possa pesquisar mais eficazmente o portfólio da livraria, é-lhe permitida a consulta de livros em função do título ou do ISBN.

1.2.4 Hotéis Praia Mar

Considere um sistema de informação que tem como finalidade facilitar a gestão de reservas e do serviço de limpezas do grupo de hotéis Praia Mar, situados no Algarve. Identificam-se seguidamente, de forma sucinta, os principais requisitos recolhidos numa reunião com a gerência e grupo de trabalho interessado do Hotel. A cadeia de hotéis tem sede em Vilamoura, onde possui os escritórios. Contudo, cada hotel sendo uma entidade autónoma caracteriza-se por: nome, morada, número de contribuinte e telefone. O serviço de reservas tem como finalidade optimizar a ocupação dos quartos da cadeia. Assim cada quarto é identificado pelo número e hotel a que pertence, e caracteriza-se por um estado (limpo, sujo, em limpeza, pronto para verificação, avariado), tipo (single, duplo, suite) e o número máximo de camas que comporta. Sobre cada quarto é importante verificar se possui ou não ar condicionado e televisão. As reservas do quarto podem ser feitas por telefone ou através da Internet, sendo que neste caso é necessário que o acesso do cliente seja validado pelo sistema. Para fazer uma reserva o cliente precisa de indicar o número de pessoas, a data de Check-In, o número de noites da estadia e os quartos pretendidos. Saliente-se que uma reserva pode estar associada a vários quartos, e como pode haver oscilações no número de camas é importante registar o número de camas correspondente bem como a respectiva diária (preço por noite).

Page 10: Caderno - Exercicios - Modelizacao e Relacional 2pag

Caderno Exercícios de Informática II

© ISCTE – DCTI, 2005 19

O quarto só poderá ser reservado se ainda não tiver nenhuma reserva efectuada para as datas pretendidas. Por motivos de gestão interna deve-se registar a data em que a reserva foi realizada, o respectivo número e estado (marcada, check-in, check-out). Na marcação de reservas pelo telefone o funcionário de atendimento deverá consultar a disponibilidade dos quartos do hotel para melhor informar o cliente. A reserva é efectuada por um cliente. Este caracteriza-se por um número interno, nome, número de cartão de crédito, número do BI ou Passaporte, telefone, morada e nacionalidade. Os clientes Web têm ainda um login e palavra-chave para validação de acesso e um endereço e-mail para contacto. Estes devem registar-se no sistema como membros para terem possibilidade de efectuar reservas pela Internet. A estadia do cliente no hotel dá origem a movimentos, cada movimento deve estar associado a uma reserva e tem um número e valor. Existem dois tipos distintos de movimentos: as despesas que correspondem a consumos do cliente enquanto no hotel e os pagamentos, referentes a pagamentos que o cliente realiza para abatimento da sua dívida. As despesas devem indicar a sua natureza (bar, restaurante, diária, ...), os pagamentos devem indicar a forma em que foram realizados (cartão de crédito, cheque, dinheiro, transferência,...). Todos os movimentos são realizados pelos funcionários do atendimento do hotel à excepção do lançamento de diárias. Este movimento é realizado automaticamente pelo sistema todas as madrugadas para as reservas em estado de check-in pelo valor estipulado para a respectiva reserva/quarto. O responsável pelo serviço de limpezas pretende um relatório da performance das limpezas por empregado. Assim cada empregado de limpeza é identificado por um número e é responsável pela limpeza que realiza aos quartos do hotel. Para cada limpeza efectuada deverá registar a data, hora, e estado da limpeza (impecável, com deficiências). Estas informações serão inseridas no sistema pelo responsável das limpezas.

1.2.5 Call Center

Considere um Sistema de Informação que tem como finalidade a gestão de um Call Center de uma empresa de Telecomunicações Móveis. O Call Center é o departamento responsável pela área de apoio a clientes (i.e., atendimento) e carregamento de saldo dos telemóveis. Identificam-se seguidamente os principais requisitos do sistema resultantes de um levantamento de requisitos efectuado junto da empresa de Telecomunicações Móveis. Os funcionários responsáveis pelo atendimento de clientes são denominados por operadores e caracterizam-se por um código e nome. O cliente poderá ligar para o serviço de apoio a clientes com o objectivo de efectuar carregamentos do saldo do seu telemóvel ou para manifestar uma reclamação. A chamada é atendida no Call Center por um operador. Por cada atendimento o operador deverá registar a data, hora e alguma observação relevante, no caso de se tratar de uma reclamação do cliente. Sobre os clientes importa conhecer os seguintes dados: nome, morada, e-mail, número de contribuinte e profissão. Um cliente é identificado internamente por um número. Cada cliente pode possuir vários telemóveis da rede gerida pela empresa de Telecomunicações Móveis. No entanto, cada telemóvel está vinculado a um só cliente.

Caderno Exercícios de Informática II

© ISCTE – DCTI, 2005 20

Sobre os telemóveis importa registar o número de telemóvel (por exemplo: 932121210), os números PIN e PUK, o número de série do equipamento (i.e., do aparelho de telefone), o saldo do cartão do telemóvel e o estado de bloqueio do mesmo cartão (bloqueado à rede, ao cartão ou a ambos). A entidade telemóvel, tal como entendida pela empresa, é composta por uma caixa postal, ou Voice Mail, caracterizada por um número máximo de mensagens que pode armazenar. Os clientes poderão consultar as várias mensagens guardadas na sua caixa postal efectuando uma chamada para o número de Voice Mail, necessitando para tal de inserir o PIN para validação de acesso. As mensagens podem ser de dois tipos: voz ou texto, e têm um conteúdo. A empresa de Telecomunicações decidiu implementar no mercado um mecanismo inovador para os clientes efectuarem o carregamento do cartão de telemóvel para além do tradicional carregamento através do Multibanco. Este novo mecanismo consiste na utilização de cartões de carregamento pré-comprados, semelhantes aos cartões Telecom utilizados na rede fixa. Cada cartão é identificado por um número de série e um estado. A empresa decidiu disponibilizar apenas três tipos de cartões, com os seguintes montantes: 5 euros, 25 euros e 50 euros. Estes cartões necessitam de ser activados para poderem ser considerados como um carregamento válido para o sistema. Para um cliente efectuar um carregamento por cartão deverá ligar para o Call Center mencionando ao operador o número de série do cartão de carregamento que pretende activar. O operador registará o carregamento, isto é, a data e o valor em euros, e o estado do cartão passará de ‘por activar’ para ‘activo’. O carregamento Multibanco é caracterizado pelo NIB da conta que lhe deu origem, pelo valor e data em que foi realizado. Um cliente poderá efectuar vários carregamentos para cada telemóvel, numa data e de um determinado montante. O telemóvel recebe então uma mensagem a confirmar o carregamento. Os telemóveis efectuam chamadas. Sobre cada chamada realizada é necessário guardar o registo do número de destino, data, hora e duração. O custo de chamada é calculado atendendo ao plano tarifário escolhido pelo cliente no momento da adesão à empresa. Cada plano tarifário estabelece o preço por segundo a facturar aos clientes de acordo com certos parâmetros: rede de destino, horário e duração das chamadas. A qualquer momento o cliente poderá alterar o seu plano tarifário ligando para o Call Center. Para facilitar a gestão de saldos a empresa decidiu disponibilizar um serviço de envio automático de uma mensagem escrita para o telemóvel, alertando o cliente que o saldo atingiu o valor mínimo e que é necessário proceder a um carregamento. Este serviço é activado todos os dias às 9h.

Page 11: Caderno - Exercicios - Modelizacao e Relacional 2pag

Caderno Exercícios de Informática II

© ISCTE – DCTI, 2005 21

1.2.6 Jardim Zoológico

O Jardim Zoológico de Lisboa pretende um Sistema de Informação que tem como finalidade a gestão e controlo do tratamento dos animais em exposição no recinto. Da análise detalhada da situação, foram recolhidos os seguintes requisitos que correspondem às exigências da instituição e às necessidades de toda a equipa de trabalho. Os animais do Jardim Zoológico são identificados por um número interno, e têm um nome, origem, data de nascimento, peso, dimensão e espécie (réptil, mamífero, ...). O nome do animal é atribuído pelo tratador no momento de chegada. Cada animal está sob o cuidado de uma equipa de dois a quatro tratadores, que possuem um horário de trabalho. Diariamente os tratadores cuidam dos animais, sendo que no final do dia deverá ser realizada uma ficha de tratamento da qual deverá constar, data, diagnóstico (saudável, estado-alerta ou doente) e observações pertinentes a registar. Enquanto que o tratamento dos animais é uma tarefa diária, os veterinários possuem um sistema periódico para consultarem os respectivos “pacientes”. Contudo, em situações declaradas de cuidado, poderão ter que intervir com a realização de visitas não declaradas. As denominadas situações de cuidado são declaradas no final do dia - 20h -, quando o sistema elabora um relatório a ser entregue ao veterinário com a evolução clínica dos animais. No caso de haver alteração clínica de uma animal deverá ser enviada uma carta às entidades que os apadrinham. Quer o tratador como o veterinário devem disponibilizar o seu nome, morada e telefone para serem contactados em situação de emergência. Contudo sobre o veterinário é importante saber a data de início de actividade. O veterinário é responsável pela elaboração da Ficha Clínica do animal sempre que o visitar, onde mencionará a data, observações gerais e tipo de intervenção (rotina, preventiva, tratamento). Relativamente à intervenção preventiva importa registar a vacina que foi ministrada, em relação à de tratamento é importante registar o diagnóstico, bem como os medicamentos receitados e respectiva forma de os ministrar em termos de quantidade e periodicidade (1vez/dia, 2vezes/dia, 3 vezes/dia,...). Os medicamentos são identificados por um código, e laboratório que os produziu. O conjunto das fichas clínicas de um animal constituem o respectivo Boletim de Saúde, identificado por um número interno. Um animal possui um único Boletim de Saúde que retrata a respectiva evolução clínica. Por iniciativa do zoo, é possível que pessoas individuais ou instituições possam contribuir para ajudar financeiramente no tratamento dos animais, esta iniciativa foi designada por “Amigos dos Animais”. Ser Amigo do Animal tem algumas vantagens fiscais, mas sobretudo permite às pessoas interessadas poderem ajudar um animal favorito quando não existe possibilidade legal, ou não têm condições para alojar e cuidar de um animal semelhante. O acompanhamento dos animais é feito através de comunicados semanais do zoo aos respectivos Amigos, sobre o estado de saúde e de evolução do protegido. Uma entidade pode ser “Amiga” de vários animais. Apesar de na prática não ser possível conseguir financeiramente a exclusividade da “amizade”, uma entidade pode ser “Amiga Exclusiva” ou simplesmente “Amiga” relativamente ao animal que apadrinha. Os Amigos dos Animais são caracterizados por um número de identificação fiscal (NIF) e nome, devendo ser registado o montante de contribuição.

Caderno Exercícios de Informática II

© ISCTE – DCTI, 2005 22

1.2.7 Laboratório de Análises Clínicas

O Laboratório de Análises Clínicas Saúde & Cª pretende conceber um sistema de informação para aumentar a eficiência do atendimento e apoio ao cliente. Neste sentido realizou-se uma reunião com os proprietários e funcionários da qual surgiu o seguinte relatório de levantamento de requisitos: O laboratório recebe diariamente prescrições que o funcionário deverá inserir no sistema para melhor controlo de funcionamento. A cada prescrição é atribuído um número, data de pedido, data de entrega e tipo de pedido que deverá mencionar se se trata de um caso normal ou urgente. Uma prescrição é requerida por um médico, sobre este o laboratório necessita de conhecer o respectivo nome, morada, telefone e especialidade (cardiologia, ortopedia, neurologia, obstetrícia,...). Uma prescrição pode ser para realização de um exame ou análises. No primeiro caso importa conhecer qual o exame a realizar, no segundo caso o conjunto de análises solicitadas pelo médico. Um exame é caracterizado por ter um código interno, designação, custo e tipo (Ecografia ou Raio-X), a cada exame prescrito é atribuído um resultado pelo médico que o realiza. Como já foi mencionado, uma prescrição para a realização de análises refere o conjunto de análises solicitadas pelo médico, como cada uma tem um tempo de realização distinto, importa conhecer o estado de evolução em que se encontra (em preparação, em análise ou completo). A realização de cada análise de uma prescrição (referente a um tipo de análise) é efectuada por um analista que regista no sistema o resultado e a data da sua realização. O analista é identificado por um código interno e possui a data de admissão no laboratório. Cada tipo de análise é identificado pelo laboratório através de um código interno, e possui uma designação, prazo médio de entrega em dias, custo, valor mínimo normal e valor máximo normal. Os pacientes podem estar associados a vários sistemas de saúde, relativamente aos quais possuem um número e data de adesão. Sobre os sistemas de saúde é relevante conhecer o código de identificação, nome e morada. Sobre os pacientes é importante registar a sua data de nascimento. A prescrição é relativa a um só paciente sendo realizada no âmbito de uma adesão a um sistema de saúde, i.e., o paciente X pode apresentar uma prescrição que será comparticipada pela ADSE. Quer os exames bem como os tipos de análise possuem percentagens de comparticipação dos utentes distintas entre os sistemas de saúde, importa conhecê-las para ser possível calcular o custo da prescrição. O pagamento quer dos exames quer das análises é solicitado pelo funcionário no momento da inserção da prescrição, mediante a entrega de um recibo ao paciente. Aquando da entrega dos resultados das análises/exames ao paciente o funcionário deverá registar o respectivo levantamento. O laboratório possui dois médicos que partilham a responsabilidade pelas prescrições. Cada prescrição pode ser da responsabilidade de um ou dos dois médicos. À semelhança dos médicos também os pacientes e analistas possuem um nome, morada e telefone.

Page 12: Caderno - Exercicios - Modelizacao e Relacional 2pag

Caderno Exercícios de Informática II

© ISCTE – DCTI, 2005 23

1.2.8 Health Clubs

Considere um Sistema de Informação que tem como finalidade a gestão de uma cadeia de Health Clubs In Place situados na zona de Lisboa. Identificam-se seguidamente os principais requisitos do sistema resultantes de um levantamento de requisitos efectuado junto da gerência da cadeia de Health Clubs. Cada Health Club (HC) é caracterizado por uma designação, morada, telefone, fax e email. Para efectuar a adesão ao Clube, o potencial cliente deverá facultar os seus dados pessoais: nome, morada, telefone, fax, email e NIB, para pagamento da mensalidade por transferência bancária. Um cliente só poderá estar vinculado a um HC. Relativamente à adesão de um cliente importa registar a data e o tipo de adesão (individual ou de empresa). O cliente dispõe de duas modalidades de pagamento, anual ou mensal, e deverá optar por uma delas no momento da adesão. A adesão de um potencial cliente a um clube só é efectivada mediante a aceitação da proposta pelo gestor desse HC. Se a proposta for aceite, o potencial cliente passará a cliente, sendo-lhe atribuído um número e correspondente cartão de sócio. O gestor de cada HC pretende utilizar o Sistema de Informação (SI) a desenvolver para gerir as infra-estruturas físicas bem como a equipa de monitores. Em termos de infra-estruturas, cada HC integra uma piscina, dois estúdios de aulas, um ginásio e vários balneários. Em comum todos estes locais têm um número de sala atribuído e a capacidade máxima de pessoas. Sobre a piscina é relevante registar o número de pistas e a profundidade média. Os estúdios são salas onde decorrem determinadas aulas de ginástica, caracterizando-se por uma área e tipo de pavimento. No ginásio decorrem as aulas de musculação, sendo importante registar no SI a área e o número máximo de aparelhos que podem ser instalados na sala. Os balneários podem ser masculinos ou femininos e caracterizam-se também pelo número de chuveiros e de armários existentes. Cada HC emprega vários monitores, caracterizados pela data de admissão. O gestor de cada HC pretende definir mensalmente o calendário de aulas, atribuindo a responsabilidade de cada aula a um monitor. Os tipos de aulas actualmente leccionados nos Health Clubs são Areóbica, Step, Step Cardio, Body Pump, Cycle, Hidroginástica e Musculação. Cada monitor lecciona vários tipos de aulas. Uma aula é caracterizada por uma hora de início e de fim, um dia da semana e o mês. Sobre cada aula importa ainda registar o local onde será realizada. O calendário de aulas, definido mensalmente pelo gestor, integra esta informação detalhando, para cada dia da semana, as aulas existentes nos vários horários disponíveis e os monitores responsáveis por cada aula. É de salientar que uma aula pode ser leccionada por mais do que um monitor. À semelhança dos clientes também os monitores possuem um nome, morada e telefone. A definição do calendário de aulas é uma das tarefas integrada na gestão da equipa de monitores, podendo no entanto ser realizada independentemente. Os clientes podem enviar sugestões para um melhor funcionamento do HC enviando emails para o endereço electrónico do clube onde efectivaram a adesão. O gestor de cada HC poderá enviar, periodicamente pelo correio, informação sobre eventos ou aulas especiais aos clientes.

Caderno Exercícios de Informática II

© ISCTE – DCTI, 2005 24

1.2.9 Self-Service de Computadores

Considere um sistema de informação através do qual uma empresa que pretende oferecer um serviço de self-service de computadores consiga gerir várias salas com computadores, semelhantes às do Centro de Informática do ISCTE. REQUISITOS DE INFORMAÇÃO

Identificam-se seguidamente, de forma sucinta, as principais classes de objectos e os seus respectivos relacionamentos, a representar no sistema: (a) Cada uma das salas é conhecida por uma letra, e sabe-se também a sua área.

Para tornar mais fácil a gestão, cada sala é gerida como o conjunto de computadores (caixa, monitor e teclado) e ratos disponibilizados. Sobre cada computador armazena-se o respectivo número de série, processador, designação da placa gráfica, qual a velocidade do CD-ROM (por exemplo 32X, 40X, etc.) e qual o valor hora a cobrar pela sua utilização. Os valor hora de cada computador podem ser diferentes pois existem computadores com características muito diversas o que leva à sua distinção no preço. Sobre cada rato é necessário saber o seu número de série e de quantos botões dispõe.

(b) Estas informações sobre as características dos equipamentos disponibilizados

permitem aos utilizadores escolher o que mais lhes convém para determinada tarefa. É também necessário encontrar um mecanismo que permita saber de forma rápida a qualquer momento quais os computadores livres e quais estão ocupados. Cada sala tem entre 5 a 10 computadores e é necessário também saber qual o rato que está ligada a um determinado computador.

(c) As salas estão ligadas em rede a um determinado servidor. Cada servidor tem um

nome (único no sistema), processador e uma determinada capacidade de disco. A um servidor podem estar ligadas várias salas. Sempre que um novo servidor é comprado é efectuado imediatamente o seu registo no sistema, podendo no entanto ser associado a uma determinada sala só após algum tempo.

(d) A empresa vai disponibilizar também um conjunto de impressoras. Cada

impressora estará ligada a um servidor, embora a cada servidor possam estar ligadas várias impressoras. O sistema armazena sobre cada impressora o seu nome (único no sistema), tipo (jacto de tinta ou laser) e é necessário armazenar também o número de cópias efectuadas. A empresa cobra aos utilizadores as impressões efectuadas e para isso dispõe de uma tabela de impressões. Nessa tabela consta se se trata ou não de impressão a cor, a percentagem da mancha de impressão (5%, 10%, etc.) e o valor a pagar. Cada impressora pode produzir várias impressões e cada impressão corresponde a pelo menos uma impressora.

(e) A empresa só aceita utilizadores registados e exclusivamente do ensino superior.

Sobre cada utilizador sabe-se o seu nome, login (único no sistema), a sua password e o estado. Os utilizadores podem ser docentes, alunos de licenciatura ou de mestrado. Sobre os docentes sabe-se o seu departamento. Dos alunos de licenciatura é necessário saber o seu número de aluno e a respectiva licenciatura. O sistema armazena sobre os alunos de mestrado a designação do mestrado que frequentam e qual o departamento a que o mestrado está ligado.

Page 13: Caderno - Exercicios - Modelizacao e Relacional 2pag

Caderno Exercícios de Informática II

© ISCTE – DCTI, 2005 25

(f) De cada vez que o utilizador usa um computador fica registado quanto tempo foi utilizado, a data, e se essa utilização já foi paga ou não. De cada vez que um utilizador faz um impressão fica registado qual a impressão efectuada, a respectiva quantidade, a data, e se já foi paga ou não.

(g) Um utilizador pode também antecipadamente reservar um determinado

computador, de forma a não estar dependente das disponibilidades do centro num determinado momento. Para isso deverá indicar qual o computador que pretende utilizar, a data em que o pretende fazer e indicar a que horas pretende começar.

REQUISITOS DE FUNCIONAMENTO

Podendo ocorrer as mais diversas situações em termos de funcionamento do sistema, considerou-se, para o presente caso, que o trabalho de processamento de informação mais relevante, consiste fundamentalmente em (não deve ignorar no entanto a informação fornecida anteriormente): (a) Para poder utilizar o serviço o utilizador terá de se registar no sistema. Deverá

para isso dirigir-se ao computador disponibilizado para o efeito e preencher os dados necessários. Com base nesses dados o sistema fornece um login que deverá ser registado na base de dados. De seguida deverá introduzir duas vezes a mesma password, que deverá ser também registada na base de dados. Quando concluir este procedimento passará a ser um utilizador do serviço. No registo inicial do utilizador o seu estado será activo, ou seja, pode utilizar o serviço de self-service. Sempre que o utilizador usa o sistema é efectuada a validação do seu acesso.

(b) Normalmente quando um utilizador pretende utilizar o serviço da empresa começa

por pedir uma lista com os computadores disponíveis. Nessa lista o utilizador deverá não só saber quais os computadores que pode usar naquele momento como também deverá obter os seguintes dados: sala onde está o computador, número de série do computador, o respectivo processador, placa gráfica e velocidade do CD-ROM e ainda quantos botões tem o respectivo rato.

(c) O registo da sessão ocorre em duas fases. No início da sessão o funcionário que

está no atendimento regista no sistema (no qual teve acesso após validação) qual o computador a ser usado, a data e o utilizador. Não esquecer que a partir deste momento o utilizador irá ficar em dívida para com a empresa pela utilização do computador, pelo que o seu estado deverá ser alterado. Não esquecer de verificar se o utilizador fornecido ao sistema existe ou não ou se está em condições de utilizar o serviço. No fim da sessão será registada a respectiva duração e deverá ficar também registado que a sessão não se encontra paga. O pagamento deverá ser efectuado normalmente no prazo máximo de 24 horas.

(d) Quando o utilizador se dirige ao funcionário para efectuar o pagamento deverá

fornecer ao sistema a sua identificação como utilizador. A partir daí o sistema irá procurar todas as sessões assim como todas as impressões que ainda não foram pagas. Com base nessa consulta deverá ser calculado o valor a pagar que será comunicado ao utilizador. Ao efectuar o pagamento deverá ficar registado que os valores das sessões e/ou impressões foram liquidados. O pagamento dos valores em dívida implica também uma alteração do estado do utilizador.

Caderno Exercícios de Informática II

© ISCTE – DCTI, 2005 26

(e) Todos os dias, ao fim do dia, o sistema verifica todos os pagamentos de sessão

pendentes. Para os utilizadores com valores em dívida que tenham ultrapassado as 24 horas, mas que no entanto não tenham ultrapassado uma semana, o seu estado deverá passar a suspenso e o seu login deverá ser cancelado. Para os utilizadores suspensos, após efectuarem o respectivo pagamento, a sua situação voltará ao normal. Se o prazo ultrapassar uma semana o seu estado deverá ser colocado a desactivado, e a partir desse momento não poderão voltar a usar os serviços da empresa.

(f) Sempre que um utilizador pretender pode reservar um computador para uma

determinada data. Para isso deverá fornecer a informação necessária ao funcionário que está no atendimento. No dia da reserva, quando o utilizador efectuar o registo da sessão, caso o utilizador se atrase relativamente à hora da reserva, deverá ser registada a hora da reserva e não a hora a que realmente chegou.

(g) O gestor da empresa deverá poder obter do sistema (no qual teve acesso após

validação) a seu pedido uma lista que lhe permita ter uma noção dos computadores mais usados. O objectivo é ajudá-lo na compra de novos equipamentos, para que sejam o mais possível de acordo com as necessidades dos utilizadores. Essa listagem deverá conter a descrição do computador e o número de horas de utilização de cada computador entre duas datas. Esta lista deverá ser apresentada por ordem decrescente do número de horas de utilização.

1.2.10 Trailer Movies

Considere um sistema de informação através do qual uma cadeia de cinemas, a Trailer Movies, pretende gerir o funcionamento das salas de cinema e disponibilizar a informação cinematográfica na Internet. REQUISITOS DO SISTEMA

INFRA-ESTRUTURAS

A cadeia de cinema é composta por vários cinemas. Cada cinema tem uma designação, localidade, morada e telefone. Um cinema dispõe de uma bilheteira e diversas salas de espectáculo, sendo que cada uma possui um tipo (anfiteatro, sala magna,...), lotação e sistema de som (THX, Dolby Surround, ...). As salas são identificadas por um número associado ao cinema em que se inserem (exemplo: Colombo sala 8, Amoreiras sala 2). O lugar é identificado por um número e letra correspondente à fila. Deverá ser possível consultar os lugares disponíveis para cada sala, em cada exibição.

Page 14: Caderno - Exercicios - Modelizacao e Relacional 2pag

Caderno Exercícios de Informática II

© ISCTE – DCTI, 2005 27

FILMES E EXIBIÇÕES Os filmes existentes poderão estar em cartaz, por exibir ou arquivados, porque já foram exibidos. Sobre os filmes é interessante saber qual o titulo, o título original, a duração, o realizador, os produtores, os actores – principais ou secundários -, o tipo (drama, acção, comédia, thriller, ...), um resumo sobre o enredo, um trailer, e o Link (URL1) para o site oficial do filme Sobre cada filme é possível também saber a opinião da crítica de forma resumida. Sobre os críticos de cinema é importante conhecer o seu nome, nacionalidade e entidade que representam. Uma crítica é sempre apresentada por um só crítico, no entanto este poderá escrever várias críticas a filmes. Existem fóruns discussão sobre os filmes em exibição nesse momento, onde os clientes podem confrontar opiniões e pedir sugestões. Cada fórum é subordinado a um tema. Os utilizadores que inserirem comentários no sistema necessitam de se registar previamente como membros da comunidade. Para tal necessitam de introduzir o seu nome, apelido, e-mail, login, password de acesso, e tipo(s) de filme(s) preferido(s). Esta última informação servirá para que o sistema envie automaticamente, via e-mail, os anúncios das estreias da semana de acordo com a preferência do utilizador. A introdução de comentários num fórum está sujeita à validação de acesso prévia do membro. Os comentários são descritos por um tipo (opinião, pedido de sugestão) e uma descrição. Numa sala realizam-se várias sessões por dia. Uma sessão é identificada por um horário, onde se refere a hora de início e a hora de fim, ex. das 12.00h às 14.00h. Cada sala de cinema tem um determinado número de sessões diárias. Os filmes são exibidos segundo um calendário de sessões de diversas salas. Note-se que um filme pode ser exibido em mais que uma sala, e que numa sala podem ser exibidos diferentes filmes em diferentes sessões. A exibição de um filme é precedida da apresentação de vários anúncios publicitários, os quais se caracterizam por um código, duração (em minutos), e o nome da empresa a que pertencem.

Semanalmente, às quintas-feiras, o gestor de cada cinema da Trailer Movies define o calendário de exibições da semana seguinte. No caso de existirem estreias, deverá ser introduzida a informação relativa aos novos filmes. Qualquer utilizador poderá consultar a lista de filmes actualmente em exibição. A listagem deverá conter todos os dados do filme ordenados por ordem alfabética de cinemas, e dentro destes por ordem alfabética de salas.

1 URL: Uniform Resource Locator

Caderno Exercícios de Informática II

© ISCTE – DCTI, 2005 28

BILHETEIRAS A compra de bilhetes envolve a deslocação à bilheteira e a efectivação do respectivo pagamento. Alternativamente, o membro da comunidade Web poderá efectuar reservas pela Internet, sendo que neste caso a compra e a emissão de bilhete só serão efectivados após a deslocação à bilheteira. É possível desistir da reserva de um bilhete com pelo menos uma hora de antecedência da sessão.

A venda de um bilhete pode ser realizada em qualquer bilheteira de qualquer cinema. As bilheteiras caracterizam-se pelo nome do cinema e número de postos de venda. Um bilhete deve conter a seguinte informação: a bilheteira onde foi vendido, a sala e cinema a que corresponde, o lugar, a sessão, a data, o filme e o preço. Considera-se que existem os seguintes tipos de bilhete: normal, de imprensa e convite. A informação constante da reserva é semelhante à do bilhete, à excepção do tipo de bilhete, acrescentando ainda o número da reserva. O gestor de cada cinema da Trailer Movies necessita de consultar os rácios de actividade das bilheteiras, construindo relatórios das receitas para as várias exibições de cada filme. ACTORES E REALIZADORES Os actores, produtores e realizadores são caracterizados pelo nome e apelido. Os actores têm um URL para uma página da Web que poderá ser a página oficial, ou no caso de esta não existir o URL da respectiva página da IMDB (Internet Movie Database).

SITES A VISITAR

www.cinema.etc.pt www.us.imdb.com cinecartaz.publico.pt

Page 15: Caderno - Exercicios - Modelizacao e Relacional 2pag

Caderno Exercícios de Informática II

© ISCTE – DCTI, 2005 29

1.2.11 Corretora On-line E-Broker

� Considere um sistema de informação que tem como objectivo disponibilizar um sistema de corretagem on-line, a E-Broker. Este sistema irá prestar serviços de investimentos em valores mobiliários.

� No enunciado que se apresenta a seguir não foram explorados todos os aspectos

que seriam necessários para um desenvolvimento pormenorizado. O detalhe e a complexidade apresentada têm apenas a ver com os objectivos que estão por detrás do trabalho a desenvolver.

REQUISITOS DO SISTEMA

Ao público em geral, a E-Broker disponibiliza as cotações dos títulos comercializados na Bolsa de Valores de Lisboa e Porto – BVLP - (cotações actualizadas de 30 em 30 minutos). Os títulos são representados em bolsa por um nome, uma mnemónica, um código ISIN, e ainda uma descrição (da empresa associado ao título). As cotações dos títulos variam consoante o mercado onde são transaccionadas, e indicam o valor de mercado de um título num dado instante de tempo. Os utilizadores do público em geral para se tornarem membros da E-Broker têm de fornecer o seu nome e email. Posteriormente, o gestor da corretora envia uma mensagem de email com o username e password desse novo membro. Os membros da corretora têm acesso à informação, sempre actualizada, sobre mercados e ainda às cotações dos títulos comercializados nos mercados da Bolsa de Valores de Lisboa e Porto. Esta informação poderá também ser consultada apenas para os dez títulos que registaram as maiores subidas e descidas (TOP-10). No caso de um membro querer passar a cliente da corretora será necessário preencher um formulário e enviá-lo através da Internet ou pelo correio. Neste formulário, o cliente terá de indicar que tipo de contas deseja constituir: singular ou solidária. No caso de decidir constituir uma conta solidária deverá indicar qual o número de titulares da conta e a sua ordenação dentro da mesma. Na constituição desta conta é também necessário indicar a forma de aprovisionamento inicial (valor mínimo de 1000 euros): por envio de cheque; através de transferência bancária ou transferência de títulos. Para cada titular terão de ser introduzidos os dados pessoais: nome, morada, nº de telemóvel, profissão, nº de bilhete de identidade, nº de contribuinte e email. Um cliente poderá ser titular de várias contas e todos os titulares têm de ser clientes. Cada cliente deverá indicar ainda uma password de validação de transacção, que será utilizada sempre que o cliente efectue uma negociação de títulos. Aos clientes é disponibilizado um leque mais vasto de operações. Para além da consulta da informação sobre mercados, pode ainda consultar a informação das suas contas, sobre as ordens pendentes e executadas e ainda sobre os movimentos financeiros.

Caderno Exercícios de Informática II

© ISCTE – DCTI, 2005 30

A cada conta está associada uma carteira de títulos. Em relação à carteira é possível consultar quais os títulos possuídos pelo cliente e sua quantidade total; quantidade de títulos por liquidar; preço de aquisição; cotação. A conta é ainda caracterizada pelo nome do titular principal da conta, o número de conta, saldo contabilístico e ainda o saldo disponível para transaccionar. O cliente poderá solicitar o cálculo do rácio de alocação de activos financeiros (% de Acções e % de Liquidez). O cliente pode ainda consultar informação sobre: • as ordens pendentes, ou seja, verificar quais as ordens de compra ou venda que

ainda se encontram por efectuar, podendo ainda cancelar qualquer uma delas. • as ordens executadas, ou seja, obter informação sobre todas as suas ordens de

compra e venda já efectuadas, com preços e quantidades transaccionadas. A consulta de movimentos financeiros dá oportunidade ao cliente consultar o histórico financeiro da sua conta, ordenados por data. Terá, então, a possibilidade de visualizar as liquidações financeiras de todas as suas transacções efectuadas tais como: transferência de valores (TRANS), depósitos (CRED), levantamentos (DEB), bem como de dividendos que entretanto tenham sido distribuídos e creditados na sua conta (DIV). Exemplo a seguir: Conta Nome: Joana Exemplo da Silva Número: 1325 Saldo Contabilístico: 379 Euros Saldo Disponível p/ Transaccionar: 379 Euros Movimentos

Descrição Tipo Data Montante

00-11-18 Saldo Inicial: 0.00 Euros

Transferência Interbancária

TRANS 00-11-20 1000.00

Compra Cimpor (25) DEB 00-11-20 653.5 Dividendos PTMultimédia

DIV 00-11-21 32.5

00-11-23 Saldo Final: 379.00 Euros

O cliente poderá ainda negociar os seus títulos, e para isso terá de indicar a natureza da ordem que deseja efectuar (compra ou venda), o título desejado, a quantidade, o modo de venda (melhor preço ou com limite). De modo a efectivar esta ordem de negócio, o cliente terá ainda de fornecer a sua password de transacção.

Page 16: Caderno - Exercicios - Modelizacao e Relacional 2pag

Caderno Exercícios de Informática II

© ISCTE – DCTI, 2005 31

O cliente poderá a qualquer momento alterar os seus dados pessoais ou as suas passwords. Ao cliente é ainda possível estabelecer um conjunto de alertas. Os alertas possibilitam ao cliente definir um conjunto máximo de 10 títulos onde especifica os preços ou variações de preço para os quais pretende ser automaticamente informado (através de email ou para o seu telemóvel). Os alertas possuem um número, um valor máximo e um valor mínimo, a identificação do cliente, um endereço de email ou nº de telemóvel. Os clientes poderão consultar os alertas existentes, criar novos alertas ou mesmo cancelar alertas já existentes. A informação de mercados disponibilizada aos membros da corretora, será enviada automaticamente por email na forma de newsletter. Os membros e os clientes para acederem aos serviços da E-Broker terão que efectuar uma operação de log-in, utilizando o seu username e password.

SITES A VISITAR

www.edeal.pt www.bigonline.pt www.investidorglobal.pt

Caderno Exercícios de Informática II

© ISCTE – DCTI, 2005 32

���� ��� �������� � ��� �������� � ��� �������� � ��� �������� � ����

� � �� � �� � �� � �����

Considere o seguinte esquema relacional e responda às questões apresentando o respectivo SQL2:

Cliente( cod_cliente, cliente, profissao, localidade) Agencia( cod_agencia, agencia, localidade) Conta( num_conta, tipo_conta, cod_cliente, cod_agencia, saldo) Emprestimo( num_emprestimo, cod_cliente, cod_agencia, valor)

1. Quais os clientes (cod_cliente e cliente) deste Banco? 2. Quais os clientes que residem em Braga? 3. Quais os clientes (cod_cliente) com contas na agência cod_agencia = ‘123’? 4. Quais os clientes que residem em localidades onde existem agências? 5. Quais os clientes que residem na mesma localidade das agências onde

possuem contas? 6. Quais os clientes com empréstimos de valor superior a 500.000$00? 7. Quais os nomes dos clientes com a mesma profissão que o cliente com

cod_cliente = ‘1234’? 8. Listar as contas (num_conta, saldo) da agência cujo cod_agencia = ‘123’, por

ordem decrescente do seu valor de saldo. 9. Quantas contas existem em todas as agências do Banco? 10. Quantos clientes possuem contas na agência cujo cod_agencia = ‘123’? 11. Listar o número de contas existentes em cada agência. 12. Quais os clientes cuja profissão é desconhecida? 13. Para cada agência (cod_agencia) com menos de 1000 contas, listar os valores

máximo e mínimo dos saldos dessas contas, assim como o saldo médio. 14. Quais os clientes (cod_cliente e cliente) da agência cod_agencia = ‘123’? 15. Quais os clientes (cod_cliente e cliente) que são, simultaneamente,

depositantes e devedores na agência cujo cod_agencia = ‘123’? 16. Quais os clientes (cod_cliente e cliente) da agência com cod_agencia =

‘123’que apenas são depositantes? 17. Quais os clientes (cod_cliente e cliente) com, pelo menos, um empréstimo no

banco? 18. Quais as agências (cod_agencia, agencia) com depositantes residentes em

Lisboa? 19. Quais os clientes cujo saldo total das suas contas é superior ao valor de

qualquer empréstimo contraído neste banco?

2 Retirado de Tecnologia de Bases de Dados, J. Pereira. FCA Ed.

Page 17: Caderno - Exercicios - Modelizacao e Relacional 2pag

Caderno Exercícios de Informática II

© ISCTE – DCTI, 2005 33

� � �� � �� � �� � �����

Considere o seguinte esquema relacional e resolva em SQL as questões propostas: Pessoa ( Código Interno , Nome , Morada , Tipo ) Cliente ( Código Interno , Actividade ) Empregado ( Código Interno , Número Sequencial , Vencimento Mensal, Responsável , Sigla , Data de Admissão ) Departamento ( Sigla , Designação , Localização , Chefe, Data de Posse ) Secção ( Sigla , Número ) Modelo ( Código , Cor ) Produz ( Sigla , Número , Código , Preço )

1. Quais os vencimentos dos funcionários que trabalham no Departamento

Comercial (Sigla: DC) ? 2. Quais as secções que a empresa possui? 3. Quais as secções (Número e Sigla) do Departamento Contabilidade (DC)? 4. Quais os empregados que entraram ao serviço da empresa há menos de 10

anos? 5. Seleccione os empregados do DOE e do DC cujo salário é superior a

180.000$00? 6. Seleccione os Departamentos que estão localizados fora de Porto? 7. Quais os empregados que entraram ao serviço nos meses de Maio, Junho e

Setembro? 8. Quais os modelos (código) produzidos pelo Departamento de Operações

Externas (DOE)? 9. Quais os modelos (código/cor) produzidos pelo Departamento de Operações

Externas (DOE)? 10. Quais os modelos produzidos por um departamento e por uma secção? ( Nota:

A indicação do departamento e secção será feita aquando da resolução da query (Run) )

11. Quais os modelos produzidos pelo departamento onde trabalha o empregado cujo código interno é 12?

12. Seleccione os dados dos empregados que são chefes de departamento? (Nota: é importante referir para cada um o Departamento (Sigla e Designação) que chefiam)

Caderno Exercícios de Informática II

© ISCTE – DCTI, 2005 34

� � !� � !� � !� � ! ����

Considere o seguinte esquema relacional:

Empresa (n_contrib, nome, mnemónica) Local (n_contrib, n_filial, morada, telefone) Empregado (n_emp, nome, morada, data_nasc, n_contr_empresa, n_filial, extensão)

que resultou da seguinte descrição: “Existem empresas identificadas univocamente pelo respectivo número de contribuinte. Adicionalmente, são caracterizadas por um nome e uma mnemónica. Cada empresa possui uma sede e zero, uma ou mais filiais. Tanto a sede como as filiais possuem uma morada e um só número de telefone, cada uma. Os empregados das empresas são identificados univocamente por um número de empregado. São ainda caracterizados pelo respectivo nome, morada e data de nascimento. Cada empregado trabalha apenas num local (sede ou filial); no seu local de trabalho, possui uma extensão telefónica privativa.” Traduza em SQL as seguintes interrogações:

1. Quantas empresas existem? 2. Qual o nome da empresa em que trabalha o empregado nº 100? 3. Quais os empregados cuja data de nascimento é desconhecida? 4. Listar o número de filiais das várias empresas.

Page 18: Caderno - Exercicios - Modelizacao e Relacional 2pag

Caderno Exercícios de Informática II

© ISCTE – DCTI, 2005 35

� � "� � "� � "� � " ����

Considere o seguinte esquema relacional e responda às questões a seguir apresentando o SQL.

Editora (editoraID, denominação, morada, telefone) Interprete (interpreteID, nome artístico, país, contacto, editoraID) Disco (referência, titulo, duração, ano edição, editoraID, interpreteID)

1. Quais os interpretes portugueses da editora ‘Pimba Records’? 2. Quantos interpretes há por país. 3. Quais as denominações, moradas e telefones das editoras com discos

anteriores a 1960. 4. Com base nos valores apresentados para as tabelas Interprete e Disco,

apresente o SQL para obter o resultado que se apresenta a seguir:

Editora EditoraI denominação morada telefone 1 Editora Estrelas Rua do Astrolábio 21556662 Pimba Records Rua dos 2122233 Interprete InterpreteID nome artístico país contacto editoraI1 Juanita Espanha 35399343488 1 2 Martim Espanha 3527788777 2 3 Grega Portugal 213377999 1 4 Joaquim Barros Portugal 21445566 2 5 Manuel Portugal 229988777 2 Resultado denominação Países Pimba Records 3 Editora Estrelas 2 � � #� � #� � #� � # ����

Considere o seguinte esquema relacional, relativo à parte estática de um Sistema de Gestão de uma pequena Biblioteca:

Livro ( número, título, ano, primeiro autor, referência ) Assunto ( referência, designação ) Leitor ( código, nome, telefone ) Lido ( número, código )

Traduza em SQL as seguintes interrogações: 1. Quantos livros existem dos anos ‘90 ? 2. Qual o título do livro mais lido na biblioteca ? 3. Quantos leitores têm o telefone desconhecido ? 4. Listar o título de cada livro e a respectiva designação de assunto.

Caderno Exercícios de Informática II

© ISCTE – DCTI, 2005 36

� � $� � $� � $� � $ ����

As tabelas seguintes foram extraídas do Esquema Relacional de uma empresa de telecomunicações a operar no ramo das comunicações móveis. Pretende-se que responda às questões, apresentando o respectivo SQL.

Cliente( numContribuinte, nome, morada) Telemovel ( numero, tipo, numContribuinte) Chamada( chamadaID, data, hora, duracao, numDestino, numero)

Obs: duracao está expressa em minutos.

1. Quais os clientes (numContribuinte e nome) que possuem mais do que 3

telemóveis? 2. Quais os clientes mais rentáveis para a empresa no mês de Maio do ano

corrente? Considere que a empresa considera como rentável os clientes cuja média de duração das chamadas é inferior a 2 minutos e o número de chamadas superior a 200. Nota: um cliente pode possuir mais que um telemóvel atribuído.

3. Qual a facturação por cliente e por número de telemóvel até ao momento? Assuma que o preço médio por minuto é de 3$80.

4. Quais as chamadas cuja duração foi superior a 30 segundos e inferior a 2 minutos?

� � %� � %� � %� � % ����

Considere o esquema relacional seguinte e responda às questões, apresentando o respectivo SQL.

Despesa ( despesaID, valor, natureza, reservaID) Pagamento( pagamentoID, montante, reservaID) Reserva( reservaID, num_noites, clienteID) Cliente( clienteID, nome, morada, telefone, dataNascimento)

1. O Hotel pretende saber o montante das vendas em função da sua natureza. 2. Qual o valor da conta corrente (pagamentos - despesas) do cliente, que deverá

ser identificado pelo clienteID. Atenda ao facto de que o cliente pode ter várias reservas em simultâneo?

3. Qual o ano em que nasceu o cliente mais idoso da cadeia de hoteis? 4. Liste os clientes (clienteID) ordenados por ordem ascendente de clienteID, cuja

média de noites por reserva é superior a 2.

Page 19: Caderno - Exercicios - Modelizacao e Relacional 2pag

Caderno Exercícios de Informática II

© ISCTE – DCTI, 2005 37

� � &� � &� � &� � & ����

Considere o seguinte esquema relacional, referente a um excerto da representação de um Sistema de Gestão de uma Livraria Virtual.

Obra ( ISBN, titulo, editora, areaCientifica, tipo ) ObraEncomendada ( numeroSequencial, preço, data, ISBN, codigo ) Cliente ( codigo, nome,data_nascimento) Preferência ( areaCientifica, codigo )

onde: • Obra – representa os produtos comercializados pela livraria, onde o tipo indica

a natureza ( livro, encilopédia, dicionário ) • ObraEncomendada – produto adquirido por um cliente • Cliente – registo do cliente da livraria • Preferência – relaciona cada cliente com as áreas científicas do seu interesse

Pretende-se que responda às questões seguintes, apresentando o respectivo SQL.

1. Liste as obras encomendadas (ISBN, titulo, data) da área científica de Bases de Dados.

2. Quais os livros (ordenados por ordem alfabética ascendente) ajustados às áreas de interesse de um cliente? A indicação do cliente deverá ser solicitada sempre que a consulta for realizada.

3. Seleccione os clientes (codigo) cujas encomendas de obras referentes ao ano 2000 ascenderam a 100.000$00 ou cujo o número de items adquiridos supera os 10.

4. Por área cientifica, qual a média de idades dos clientes com a preferência respectiva. Para efeitos do cálculo das idades considere apenas o ano de nascimento.

Caderno Exercícios de Informática II

© ISCTE – DCTI, 2005 38

����

� � '� � '� � '� � ' ����

Considere o seguinte esquema relacional, referente a um excerto da representação de um Sistema de Gestão de uma empresa de Telecomunicações Móveis.

Cliente ( numContribuinte, nome, morada ) Telemovel ( numero, PIN, PUK, valorTotalChamadas, numContribuinte) Carregamento ( carregamentoID, valor, data, tipo, numero)

onde:

• Cliente – representa o cliente da empresa de telecomunicações móveis • Telemovel – representa o registo de cada número de acesso à rede móvel de

um cliente, guardando o valor total em euros das chamadas efectuadas • Carregamento – traduz os pagamentos efectuados pelo cliente para um

determinado telemóvel. Existem dois tipos de carregamento: através de “MB” ou então por “Cartão Carregamento”

Pretende-se que responda às questões seguintes, apresentando o respectivo SQL.

1. Liste o valor total de carregamentos efectuados por cada cliente (Número de Contribuinte) e por tipo de carregamento.

2. Calcule o saldo (diferença entre carregamentos e chamadas) disponível em cada telemóvel de cada cliente, ordenados por ordem decrescente de número de forma a obter o seguinte resultado.

NumContribuinte Numero Saldo

123456789 973636363 1.000 123456789 973636361 3.000 987654321 973636360 50.000

3. Seleccione os clientes (Numero de Contribuinte, Nome, Morada) que possuem

mais que 3 telemóveis. 4. Seleccione os carregamentos efectuados pelo cliente cujo número de

contribuinte é 123456789, durante os meses de Janeiro a Março de 2000.

Page 20: Caderno - Exercicios - Modelizacao e Relacional 2pag

Caderno Exercícios de Informática II

© ISCTE – DCTI, 2005 39

����

� � �(� � �(� � �(� � �( ����

As tabelas seguintes foram extraídas do Esquema Relacional de uma Base de Dados que gere as despesas de fotocópias de uma empresa com uma organização departamental. Cada departamento é responsável por vários projectos, que no decorrer do período de actividade requisitam serviços de fotocópias. Os tipos de serviços disponibilizados são fotocópias a cores e a preto e branco. Pretende-se que responda às questões, apresentando o respectivo SQL.

Departamento( codigo, designacao, responsavel, secretaria) Projecto( projectoID, designacao, dataInicio, dataFimPrevista, dataFimEfectiva, codigo) Servico( servicoID, quantidade, data, tipoID, projectoID) TipoServico( tipoID, designacao, custoUnitario)

Nota: designacao = { “a cores”, “a preto e branco”}

1. Quais os projectos cujo terminus não ultrapassou a data prevista? 2. Qual a quantidade de fotocópias a cores gasto por cada projecto? 3. Seleccione os departamentos (código) cujo número de serviços pedidos é

superior a 500. Considere apenas os serviços efectuados para projectos que já terminaram.

4. Qual o montante gasto por cada projecto em serviços de fotocópias a cores assumindo um custo unitário de 200$00? Apresente o resultado da seguinte forma:

projectoID Total Fotocopias a Cores 1010 200 000$00 1224 547 000$00 1788 1000 000$00

Caderno Exercícios de Informática II

© ISCTE – DCTI, 2005 40

����

� � ��� � ��� � ��� � ������

Considere o seguinte esquema relacional, referente a um excerto de um hipotético Sistema de Gestão do Zoo de Lisboa.

Animal (numero, nome, origem, dataNascimento, dataEntrada, dataSaida, especie) Tratador (tratadorID, nome, morada, telefone) FichaTratamento (fichaID, data, estadoAnimal, observacao, numero, tratadorID)

onde:

• Animal – representa cada animal que é ou então já foi habitante do Jardim Zoológico, onde a espécie determina a sua natureza (réptil, mamífero,...). A data de saída só é preenchida aquando do respectivo afastamento do Zoo;

• Tratador – pessoa especializada responsável pelo tratamento dos animais; • FichaTratamento– ficha criada pelo tratador diariamente para registar o

estado clínico do animal. O estado do animal pode ser classificado em: saudável, estado_alerta, doente. A identificação desta ficha é definida por um número sequencial.

Pretende-se que responda às questões seguintes, apresentando o respectivo SQL.

1. Liste os répteis que ainda habitam no Zoo. 2. Quais os tratadores (nome ordenado por ordem alfabética ascendente) que

cuidaram de um determinado animal? A indicação do animal deverá ser solicitada sempre que a consulta for realizada.

3. Seleccione a última ficha de cada animal cujos estados de saúde registaram estado_alerta e doente.

4. Qual a média de idades para cada espécie representada por mais de 500 habitantes no Zoo? Para efeitos do cálculo das idades considere apenas o ano de nascimento.