Diagrama de Classes Transposição SQLhome.iscte-iul.pt/~ipxa/FBD/fich/ExerciciosFBD.pdf · Pedro...

37
Pedro Ramos, DCTI/ISCTE Enunciados Exercícios - Enunciados Diagrama de Classes Transposição SQL

Transcript of Diagrama de Classes Transposição SQLhome.iscte-iul.pt/~ipxa/FBD/fich/ExerciciosFBD.pdf · Pedro...

Page 1: Diagrama de Classes Transposição SQLhome.iscte-iul.pt/~ipxa/FBD/fich/ExerciciosFBD.pdf · Pedro Ramos, DCTI/ISCTE Enunciados Exercícios - Enunciados Diagrama de Classes Transposição

Pedro Ramos, DCTI/ISCTE Enunciados

Exercícios - Enunciados

Diagrama de Classes

Transposição

SQL

Page 2: Diagrama de Classes Transposição SQLhome.iscte-iul.pt/~ipxa/FBD/fich/ExerciciosFBD.pdf · Pedro Ramos, DCTI/ISCTE Enunciados Exercícios - Enunciados Diagrama de Classes Transposição

Pedro Ramos, DCTI/ISCTE Enunciados

Exercícios Diagrama de Classes (UML)

Notas de Avaliações

Agenda Contactos

Gestão de Projectos

Multibanco

Vendedores

Estatística de Vendas

Rodoviária

Metropolitano

IRS

Exames

Filiais

Farmácias

Música

Reserva Mesa

Receita

Ginásio I

Ginásio II

Page 3: Diagrama de Classes Transposição SQLhome.iscte-iul.pt/~ipxa/FBD/fich/ExerciciosFBD.pdf · Pedro Ramos, DCTI/ISCTE Enunciados Exercícios - Enunciados Diagrama de Classes Transposição

Pedro Ramos, DCTI/ISCTE Enunciados

E-DC – Notas de Avaliações

Objectivo: guardar as notas das avaliações de alunos de uma licenciatura

Requisitos:

a) Os alunos inscrevem-se em várias disciplinas;

b) Uma disciplina apenas existe em uma licenciatura e está associada a um ano lectivo;

c) Cada aluno, disciplina a disciplina, opta pelo tipo de avaliação que mais lhe convém; os tipos de avaliação existentes são: Teste & Trabalho, Teste.

d) Para cada avaliação de uma disciplina é registada a nota que os alunos obtiveram;

e) As disciplinas e as licenciaturas caracterizam-se por uma sigla e a correspondente designação; os alunos pelo seu número na escola, nome e morada.

UML – Diagrama de Classes

Resolução

jmplf1

Page 4: Diagrama de Classes Transposição SQLhome.iscte-iul.pt/~ipxa/FBD/fich/ExerciciosFBD.pdf · Pedro Ramos, DCTI/ISCTE Enunciados Exercícios - Enunciados Diagrama de Classes Transposição

Slide 3

jmplf1 Passei esta frase para aqui. Estava no fim.José Farinha; 21-09-2005

Page 5: Diagrama de Classes Transposição SQLhome.iscte-iul.pt/~ipxa/FBD/fich/ExerciciosFBD.pdf · Pedro Ramos, DCTI/ISCTE Enunciados Exercícios - Enunciados Diagrama de Classes Transposição

Pedro Ramos, DCTI/ISCTE Enunciados

E-DC – Agenda de Contactos

Pretende-se desenhar uma base de dados para armazenar a informação relativa a

contactos de investigadores. Sobre cada investigador, para além da informação

relativa ao nome, morada, grau académico e naturalidade (país), importa saber: as

áreas em que ele investiga e os organismos onde ele trabalha ou trabalhou (é

importante saber quando é que ele trabalhou nos referidos organismos e quais as

funções que aí desempenhava).

UML – Diagrama de Classes

Resolução

Page 6: Diagrama de Classes Transposição SQLhome.iscte-iul.pt/~ipxa/FBD/fich/ExerciciosFBD.pdf · Pedro Ramos, DCTI/ISCTE Enunciados Exercícios - Enunciados Diagrama de Classes Transposição

Pedro Ramos, DCTI/ISCTE Enunciados

E-DC – Gestão de Projectos

Pretende-se desenhar uma base de dados para armazenar a informação relativa à gestão de

projectos.

Um projecto é composto por tarefas, que por sua vez são decompostas em subtarefas. Tanto

as tarefas como as subtarefas, para além de uma identificação (feita através de atributos

numéricos), são caracterizadas por uma descrição e uma data de início e término.

É também importante guardar alguma informação relativa às pessoas envolvidas no

projecto, nomeadamente o número de contribuinte, o nome e morada e as tarefas e

subtarefas em que participam. Em relação à participação das pessoas nas tarefas/subtarefas é

necessário saber o calendário da participação (i.e., os intervalos de datas em que as pessoas

são associadas às tarefas/subtarefas).

Pretende-se ainda que seja possível registar quem é a pessoa que está responsável pela

gestão de cada projecto.

UML – Diagrama de Classes

Resolução

Page 7: Diagrama de Classes Transposição SQLhome.iscte-iul.pt/~ipxa/FBD/fich/ExerciciosFBD.pdf · Pedro Ramos, DCTI/ISCTE Enunciados Exercícios - Enunciados Diagrama de Classes Transposição

Pedro Ramos, DCTI/ISCTE Enunciados

Banco• Faça um modelo de dados que permita a um banco manter informação acerca dos seus clientes,

contas e transacções. É importante saber quem tem autorização para movimentar (realizar transacções) sobre cada conta. Tenha em atenção que uma conta pode ser movimentada por vários titulares e também por pessoas que, não sendo donos (titulares) da conta, têm procuração passada pelos titulares da conta, o que lhes dá autorização para realizar movimentos sobre essa conta.

• Numa primeira fase de realização deste exercício, tenha apenas em consideração as operações bancárias realizadas pelos clientes ao balcão das várias agências do banco.

• Procure definir todos os aspectos que sejam necessários para o banco fazer uma boa operacionalidade desta vertente do seu negócio (i.é, por exemplo, para conseguir enviar extractos para casa dos clientes, saber quem fez cada levantamento, saber quanto há a pagar de juros a cada ano, etc.). No entanto, não inclua aspectos da informação supérfluos.

• Justifique por escrito a utilidade que antevê para cada atributo, associação, etc., que decida incluir no seu modelo.

Enunciado intencionalmente vago. Pretende-se exercitar o raciocínio analítico-exploratório do aluno, essencial para o processo de apuramento de requisitos de um sistema de informação.

Autoria: JF

Page 8: Diagrama de Classes Transposição SQLhome.iscte-iul.pt/~ipxa/FBD/fich/ExerciciosFBD.pdf · Pedro Ramos, DCTI/ISCTE Enunciados Exercícios - Enunciados Diagrama de Classes Transposição

Pedro Ramos, DCTI/ISCTE Enunciados

Banco, 2ª parte

• Desenvolva o modelo de dados que concebeu anteriormente de modo a contemplar as necessidades de informação relativas aos vários tipos de movimentos: levantamentos, depósitos, pagamentos de serviços, transferências bancárias, operações realizadas em MB, operações realizadas por Net, etc.

Enunciado intencionalmente vago. Pretende-se exercitar o raciocínio analítico-exploratório do aluno, essencial para o processo de apuramento de requisitos de um sistema de informação.

Autoria: JF

Page 9: Diagrama de Classes Transposição SQLhome.iscte-iul.pt/~ipxa/FBD/fich/ExerciciosFBD.pdf · Pedro Ramos, DCTI/ISCTE Enunciados Exercícios - Enunciados Diagrama de Classes Transposição

Pedro Ramos, DCTI/ISCTE Enunciados

Futebol

A Federação Portuguesa de Futebol necessita de uma base de dados para guardar informação acerca dos desafios realizados no presente campeonato. Faça o modelo de dados para essa base de dados, sabendo que se pretende guardar informação acerca dos clubes, jogadores e jogo realizados. • Relativamente a cada clube de futebol pretende-se poder registar que jogadores tem na sua equipa e que estádio possui.• Quanto aos jogadores, pretende-se guardar o seu nome, idade, quantidade de golos marcados até à data e em que posição de campo joga. A posição de campo poderá ser “Guarda redes”, “Avançado esquerdo”, “Defesa central”, etc.• Pretende-se também que seja possível assinalar quem é o capitão de cada equipa, não podendo, obviamente existir mais do que um capitão.• Quanto aos desafios, é importante saber que equipas participaram, identificando qual foi visitada, qual foi visitante e quantos golos marcaram. É importante também saber que jogadores jogaram em cada jogo. Em particular, pretende-se poder assinalar qual foi o guarda-redes, sendo de esperar que, no momento de indicar este, o sistema de informação seja capaz de mostrar uma lista dos guarda-redes existentes na equipa, para que possamos seleccionar qual deles jogou. • É também importante saber onde foi realizado o jogo, sendo que o jogo éhabitualmente realizado no estádio da equipa visitada e apenas excepcionalmente érealizado em outro estádio.

Autoria: JF

Page 10: Diagrama de Classes Transposição SQLhome.iscte-iul.pt/~ipxa/FBD/fich/ExerciciosFBD.pdf · Pedro Ramos, DCTI/ISCTE Enunciados Exercícios - Enunciados Diagrama de Classes Transposição

Pedro Ramos, DCTI/ISCTE Enunciados

Futebol, 2ª parte

Acrescente ao modelo de dados que já tem elementos que permitam contemplar os seguintes requisitos adicionais: • Faça com que a sua base de dados permita armazenar informação acerca dos jogos ocorridos ao longo de vários campeonatos (2004/2005, 2005/2006, etc.) e a que jornada correspondeu cada jogo. Nota: Uma jornada corresponde aos jogos ocorridos numa dada semana; as jornadas são designadas por “1ªjornada”, “2ª jornada”, “3ª jornada”, etc., em cada campeonato.• Para cada jogo pretende-se saber quem marcou cada golo e em que momento do jogo ocorreu.• Relativamente a cada clube pretende-se indicar de que localidade é originário (por exemplo, o Benfica é de Lisboa, o Beira-Mar de Aveiro, etc.). Pretende-se também poder registar quantos sócios tem cada clube.• Faça com que dois clubes não possam jogar duas vezes no mesmo campeonato na mesmas condições de visitado-visitante; i.é, se em determinado campeonato o Benfica já jogou em casa com o Porto (Benfica é clube visitado, Porto é o visitante), apenas poderá jogar mais uma vez com Porto, sendo desta vez o Porto a jogar em casa (Porto é visitado).

Autoria: JF

Page 11: Diagrama de Classes Transposição SQLhome.iscte-iul.pt/~ipxa/FBD/fich/ExerciciosFBD.pdf · Pedro Ramos, DCTI/ISCTE Enunciados Exercícios - Enunciados Diagrama de Classes Transposição

Pedro Ramos, DCTI/ISCTE Enunciados

E-DC – Multibanco

O número de caixa corresponde ao número da caixa onde foi efectuada a operação e o número de transacção respeita ao número de transacções efectuadas naquela caixa. O cartão e a conta dizem respeito ao cliente. Considere que estas máquinas estão afectas a apenas um banco, ou seja, só aceita cartões emitidos pelo banco proprietário da caixa. Considere ainda que associado a cada cartão (número), para cada operação de levantamento, existe um limite máximo por operação e um limite diário máximo.

O valor do Saldo após Operação corresponde ao saldo existente na conta menos (ou mais no caso de uma operação de depósito) o valor levantado.

Só poderá ser efectuado um levantamento desde que não ultrapasse os limites antes indicados e no caso de o Saldo Após Operação não ficar negativo.

Pretende-se um modelo que armazene a informação de modo a que um sistema proceda à a geração automática dos extractos de depósito e levantamento.

UML – Diagrama de Classes

Resolução

Page 12: Diagrama de Classes Transposição SQLhome.iscte-iul.pt/~ipxa/FBD/fich/ExerciciosFBD.pdf · Pedro Ramos, DCTI/ISCTE Enunciados Exercícios - Enunciados Diagrama de Classes Transposição

Pedro Ramos, DCTI/ISCTE Enunciados

E-DC – Vendedores

Pretende-se desenhar uma base de dados para armazenar a informação relativa ao

volume de vendas anual dos vendedores de uma empresa. Nesta empresa, à semelhança

de todos os funcionários, os vendedores são caracterizados por um nome, uma morada,

telefone, BI e Nº Contribuinte. Em termos de identificação, os vendedores têm a

mesma identificação dos restantes funcionários. Para além dessa informação, os

vendedores têm a particularidade de estar associados a uma região do país, é nessa

região que eles (e apenas eles) actuam. Em termos de mapas de análise, é importante

poder obter o volume anual de vendas de cada vendedor, sendo que essa informação

tanto pode ser consultada por cliente, ou por produto.

Pretende-se que desenhe um diagrama que permita implementar uma base de dados

para armazenar a informação relativa aos vendedores, clientes e produtos, bem como

permitir a elaboração automática dos mapas.

UML – Diagrama de Classes

Resolução

Page 13: Diagrama de Classes Transposição SQLhome.iscte-iul.pt/~ipxa/FBD/fich/ExerciciosFBD.pdf · Pedro Ramos, DCTI/ISCTE Enunciados Exercícios - Enunciados Diagrama de Classes Transposição

Pedro Ramos, DCTI/ISCTE Enunciados

E-DC – Estatísticas de Vendas (I)

UML – Diagrama de Classes

Considere o seguinte mapa estatístico relativo à distribuição das vendas de um grupo de vendedores de uma empresa. O mapa é elaborado mensalmente.

Para cada vendedor é indicada, para cada produto, a quantidade de unidades (e respectivo valor monetário) que ele vendeu no concelho em que ele actua, bem como as unidades que tinham sido previstas para o mês.

Um vendedor apenas actua em um concelho e apenas vende um conjunto pré-determinado de produtos (esse conjunto pode variar apenas de ano para ano), no entanto, num mesmo concelho podem actuar vários vendedores (no mapa exemplo tal situação não está ilustrada).

Pretende-se o desenho de um diagrama que permita armazenar a informação necessária à elaboração automática do mapa. Para a elaboração do mapa, o utilizador

apenas terá que indicar o ano e mês a que diz respeito o mapa. Note-se que em qualquer momento deverá ser possível elaborar mapas de meses / anos anteriores.

Resolução

Page 14: Diagrama de Classes Transposição SQLhome.iscte-iul.pt/~ipxa/FBD/fich/ExerciciosFBD.pdf · Pedro Ramos, DCTI/ISCTE Enunciados Exercícios - Enunciados Diagrama de Classes Transposição

Pedro Ramos, DCTI/ISCTE Enunciados

E-DC – Estatísticas de Vendas (II)

UML – Diagrama de Classes

17481271545987Total

...3

123000180177Prod D3

244555145150Prod C2

9204040Prod B1

Ana2

8053530Prod B2

99000150200Prod A1

João1

RealizadoRealizadoPrevistoRealizadoRealizadoPrevisto

ValoresNº UnidadesValoresNº UnidadesDescriçãoIDNomeID

...ÉvoraAveiroProdutoVendedor

Mapas de Vendas por Concelho (em contos) Março de 1999

Page 15: Diagrama de Classes Transposição SQLhome.iscte-iul.pt/~ipxa/FBD/fich/ExerciciosFBD.pdf · Pedro Ramos, DCTI/ISCTE Enunciados Exercícios - Enunciados Diagrama de Classes Transposição

Pedro Ramos, DCTI/ISCTE Enunciados

E-DC – Rodoviária (I)Considere a seguinte informação relativa a uma carreira da Rodoviária de Lisboa.

Carreira: 207 Bairro Sete Castelos ----------------------- Lisboa (Entrecampos)

UML – Diagrama de Classes

Bairro SeteCastelos Casal

PrevilégioOdivelas

Lisboa(Entrecampos)

5 m 5 m 5 m 2 m 8 m

4545454550feriados

1515151500domingos

454530

4515151520Sábados

40

45453020

00000000202ª a 6ª

1:000:0023:00…6:005:00horas

Partidas de Bairro Sete Castelos

30154550feriados

15001500domingos

303050

45151500Sábados

40

45154530

000015002ª a 6ª

1:000:0023:00…6:005:00horas

Partidas de Lisboa (Entrecampos)

Resolução

Page 16: Diagrama de Classes Transposição SQLhome.iscte-iul.pt/~ipxa/FBD/fich/ExerciciosFBD.pdf · Pedro Ramos, DCTI/ISCTE Enunciados Exercícios - Enunciados Diagrama de Classes Transposição

Pedro Ramos, DCTI/ISCTE Enunciados

E-DC – Rodoviária (II)

Todas as carreiras são identificadas por um número e têm duas estações limite (Bairro

Sete Castelos e Lisboa - Entrecampos - no exemplo). Existem várias estações

associadas a cada Carreira, sendo que duração do trajecto entre elas é sempre a mesma

a qualquer dia da semana e a qualquer hora do dia.

Pretende-se um diagrama que permita armazenar os horários e trajectos (acima

exemplificados) de todas as carreiras. A Base de Dados resultante do diagrama, deverá

(i) permitir gerar os horários e trajectos e (ii), dadas as horas de partida de uma carreira

(partida da primeira estação), obter automaticamente as horas de passagem em todas as

estações do percurso.

UML – Diagrama de Classes

Bairro SeteCastelos Casal

PrevilégioOdivelas

Lisboa(Entrecampos)

5 m 5 m 5 m 2 m 8 m

Page 17: Diagrama de Classes Transposição SQLhome.iscte-iul.pt/~ipxa/FBD/fich/ExerciciosFBD.pdf · Pedro Ramos, DCTI/ISCTE Enunciados Exercícios - Enunciados Diagrama de Classes Transposição

Pedro Ramos, DCTI/ISCTE Enunciados

E-DC – Metropolitano

UML – Diagrama de Classes

Enunciado

Documento Word

Resolução

Page 18: Diagrama de Classes Transposição SQLhome.iscte-iul.pt/~ipxa/FBD/fich/ExerciciosFBD.pdf · Pedro Ramos, DCTI/ISCTE Enunciados Exercícios - Enunciados Diagrama de Classes Transposição

Pedro Ramos, DCTI/ISCTE Enunciados

E-DC – IRS

UML – Diagrama de Classes

27%30%31%32%32%Superior a 800500$00

...

0%1%2,5%4%7%até 52 000$00

0%0%0%2%4até 48 000$00

0%0%0%0%0%até 47 500$00

4 ou mais3210Remuneração mensal

Tabela 1 – Não casado

Número de dependentes

Considere a seguinte tabela de taxas de IRS. Trata-se de uma tabela para pessoas não casadas, e as taxas (%) são determinadas em função do rendimento da pessoas (remuneração mensal) e do número de dependentes a cargo da pessoa. O ministério das finanças numera as tabelas através de números inteiros (1, neste caso). Existem outras tabelas, todas com a mesma estrutura só que para situações diferentes; são elas, tabela 2 - casado, único titular; tabela 3 - casado, dois titulares; tabela 4 - não casado, deficiente; tabela 5 - casado, único titular, deficiente; tabela 6 - casado, dois titulares, deficiente.

Pretende-se um modelo que, para além de permitir armazenar correctamente as tabelas de IRS, contemple uma classe Pessoa, e a informação necessária para, dada uma determinada pessoa (bi), poder obter-se automaticamente o montante de desconto para IRS dessa pessoa

Resolução

Page 19: Diagrama de Classes Transposição SQLhome.iscte-iul.pt/~ipxa/FBD/fich/ExerciciosFBD.pdf · Pedro Ramos, DCTI/ISCTE Enunciados Exercícios - Enunciados Diagrama de Classes Transposição

Pedro Ramos, DCTI/ISCTE Enunciados

E-DC – ExamesConsidere-se a seguinte folha de requisição de salas de exame. A parte superior é preenchida pelo docente que pretende reservar a sala, sendo a parte inferior preenchida manualmente pelo Conselho Directivo. Pretende-se que o C. Directivo utilize um sistema informático que preencha automaticamente a parte inferior da folha.

UML – Diagrama de Classes

Disciplina: _________________________________

Licenciatura: ___________________ Ano: _______

Data: _______ Hora Início: _____ Hora Fim: _____

Alunos Previstos: ____ Docentes Disponíveis: ____

Docente Responsável: ________________________

-----------------------------------------------------------------

A preencher pelo Conselho Directivo

Sala Atribuída Lotação ________ _______________ _______

Note-se que um sistema que implemente a tarefa de marcação de salas deverá validar a existência da disciplina no ano da licenciatura, bem como a identificação do docente como responsável. O sistema face ao número de alunos e ao número de docentes disponíveis para acompanhar a avaliação, deverá sugerir as melhores salas para avaliação (em função também da lotação de cada sala). É necessário ter em conta as salas disponíveis no momento da avaliação.

Resolução

Page 20: Diagrama de Classes Transposição SQLhome.iscte-iul.pt/~ipxa/FBD/fich/ExerciciosFBD.pdf · Pedro Ramos, DCTI/ISCTE Enunciados Exercícios - Enunciados Diagrama de Classes Transposição

Pedro Ramos, DCTI/ISCTE Enunciados

E-DC – Filiais

Um funcionário pode ser chefe dele próprio?

Para um determinado ano, podem ser registados vários valores de vendas de um mesmo cliente?

Um funcionário pode ter como chefe um funcionário de outra filial?

UML – Diagrama de Classes

Resolução

tem

Chefe

1 … *

Filial

Nome Funcionário

Nome

Filial RegiãoNorte

0 … *

1

Cliente

Nome

0 … 1

0 … * 0 … *

ClienteRegião Ano

Ano0 … * 0 … *

Vendas

Valor

Page 21: Diagrama de Classes Transposição SQLhome.iscte-iul.pt/~ipxa/FBD/fich/ExerciciosFBD.pdf · Pedro Ramos, DCTI/ISCTE Enunciados Exercícios - Enunciados Diagrama de Classes Transposição

Pedro Ramos, DCTI/ISCTE Enunciados

E-DC – Farmácias

Enunciado

UML – Diagrama de Classes

Documento Word

Resolução

Page 22: Diagrama de Classes Transposição SQLhome.iscte-iul.pt/~ipxa/FBD/fich/ExerciciosFBD.pdf · Pedro Ramos, DCTI/ISCTE Enunciados Exercícios - Enunciados Diagrama de Classes Transposição

Pedro Ramos, DCTI/ISCTE Enunciados

E-DC – Música

TítuloAnoEditora

Disco

Nome

Artista

0..*

1

-Título-Duração

Música

1 1..*

Título

Ano

Editora

Disco

Nome

Artista

0..*

1

-Título

-Duração

Música

1..* 1..*

Alternativa (i) Alternativa (ii)

a) A alternativa ii) é incorrecta porque não permite que, por exemplo, a música com o título “Imagine” ocorra em dois álbuns distintos

b) Na alternativa i) a associação “contém” deveria ser uma classe associativa por forma a conter o atributo duração” (que sairia da classe Música).

TítuloAnoEditora

Disco

Nome

Artista

0..*

1

ConjuntoMúsico

Considere que, num determinado momento, na base de dados que implementa o Diagrama de Classes constam 5 discos dos Beatles e 2 do John Lennon a solo. Caso fosse formulada a seguinte questão “em quantos discos o John Lennon participa?”, a única resposta possível seria 2 discos. Altere o diagrama de modo a que possa ser possível responder correctamente à questão, i.e., 7 discos.

c) Estender um dos diagrama de modo a ser possível armazenar as músicas dos discos e respectivos compositores. Note-se que nem sempre os compositores das músicas estão envolvidos no disco (classe Artista).

Page 23: Diagrama de Classes Transposição SQLhome.iscte-iul.pt/~ipxa/FBD/fich/ExerciciosFBD.pdf · Pedro Ramos, DCTI/ISCTE Enunciados Exercícios - Enunciados Diagrama de Classes Transposição

Pedro Ramos, DCTI/ISCTE Enunciados

E-DC – Reserva MesaConsidere o seguinte diagrama de classes respeitante à reserva de mesas em um restaurante. O restaurante é composto por um conjunto de lojas. O diagrama foi desenhado no pressuposto de que, quando o cliente fazia a reserva ele ficava registado na classe clientes. A classe cliente tinha inicialmente sido criada para armazenar os clientes do restaurante que efectuavam encomendas (por telefone e Internet) que eram entregues ao seu domicílio (fragmento não constante no diagrama). Os atributos Senha, código de Acesso e telefone eram fundamentais para a identificação do cliente. Dado que é fundamental recolher o nome e telefone dos clientes que efectuam reservas de mesa, a ligação de Reserva à classe cliente parecia a solução mais natural.Quando o sistema começou a ser utilizadosurgiram problemas devido ao facto que nãoera razoável atribuir senhas aos clientes queefectuavam reservas telefonicamente e, o telefone relevante para a reserva (telefone de contacto) não tinha necessariamente que ser o telefone da residência do cliente. Altere o diagrama de modo a evitar o problema anteriormente descrito.

Page 24: Diagrama de Classes Transposição SQLhome.iscte-iul.pt/~ipxa/FBD/fich/ExerciciosFBD.pdf · Pedro Ramos, DCTI/ISCTE Enunciados Exercícios - Enunciados Diagrama de Classes Transposição

Pedro Ramos, DCTI/ISCTE Enunciados

E-DC – Receita

a) Considere as seguintes três alternativas para representar os medicamentos que compõem uma receita médica.Comente as diferenças e consequentes implicações entre as diferentes alternativas. Indique qual (ou quais) considera mais adequada.

b) Relativamente aos medicamentos, altere o diagrama de modo a que possam ser armazenados quais os medicamentos que podem servir de alternativos a um determinado medicamento.

Page 25: Diagrama de Classes Transposição SQLhome.iscte-iul.pt/~ipxa/FBD/fich/ExerciciosFBD.pdf · Pedro Ramos, DCTI/ISCTE Enunciados Exercícios - Enunciados Diagrama de Classes Transposição

Pedro Ramos, DCTI/ISCTE Enunciados

E-DC – Ginásio (I)

Considere o diagrama de classes para uma aplicação de gestão das modalidades de um ginásio. Um aluno conhece todos os instrutores com quem tem aulas. Do mesmo modo, um instrutor conhece todos os alunos inscritos.Pretende-se agora adicionar um novo requisito: um instrutor pode ser um aluno em algumas modalidades. Qual das 4 alternativas é a MELHOR proposta para redesenhar a aplicação?

Aluno

NrAluno : int

Instrutor

NrInstrutor : int0..* 0..*0..* 0..*

Pessoa

nome : String

inscrito

Pessoa

nome : StringNrInstrutor : intNrAluno : int

0..*

0..*0..*

0..*inscrito

Aluno Instrutor0..* 0..*0..* 0..*

Papel

NrIdentificação : int

Pessoa

nome : String0..*0..* 0..*0..*

assume

inscritoAluno Instrutor

Pessoa

nome : StringNrIdentificação : int

Papel0..*0..* 0..*0..* inscrito

Aluno

nome : StringNrAluno : int

Instrutor

nome : StringNrInstrutor : int

0 ..*0..* 0 ..*0..*

Page 26: Diagrama de Classes Transposição SQLhome.iscte-iul.pt/~ipxa/FBD/fich/ExerciciosFBD.pdf · Pedro Ramos, DCTI/ISCTE Enunciados Exercícios - Enunciados Diagrama de Classes Transposição

Pedro Ramos, DCTI/ISCTE Enunciados

E-DC –Ginásio (II)

Pretende-se criar um sistema de informação para um ginásio que permita efectuar a inscrição de sócios e fazer a gestão da utilização dos seus espaços físicos e serviços. Para isso, deve ser possível consultar algumas informações on-line sobre o ginásio, nomeadamente: horários, modalidades que se podem praticar, respectivas frequências semanais, etc.Quando a pessoa se desloca, pela primeira vez ao ginásio, basta apenas confirmar a inscrição e pagar o valor referente à jóia. A partir desse momento, o sistema já sabe que pode debitar mensalidades ao novo sócio (que dependem das modalidades/frequências em que se inscrevem).No caso de clientes que não são sócios, o sistema deve permitir registar os seus dados pessoais e, à semelhança dos clientes sócios, guardar informação sobre os serviços que adquirem em cada deslocação ao ginásio.No caso dos sócios, não é obrigatório pagar os consumos no final de cada utilização do ginásio. Se o sócio pretende pagar mais tarde, o sistema deve reter os dados referentes aos consumos não pagos e registar, mais tarde, os pagamentos referentes a esses consumos e as formas de pagamento utilizadas.Os produtos / serviços que podem ser adquiridos no ginásio são modalidades, bar, equipamento, estética e sauna

Page 27: Diagrama de Classes Transposição SQLhome.iscte-iul.pt/~ipxa/FBD/fich/ExerciciosFBD.pdf · Pedro Ramos, DCTI/ISCTE Enunciados Exercícios - Enunciados Diagrama de Classes Transposição

Pedro Ramos, DCTI/ISCTE Enunciados

E-DC – Ginásio (II cont)

a) O preço dos vários serviços, incluindo modalidade, está correctamente colocado na classe serviço? Caso não esteja .. alterar diagrama.

b) O diagrama traduz correctamente o requisito de que apenas os sócios podem não efectuar os pagamentos no momento em que consomem os serviços? Caso não esteja .. alterar diagrama.

c) Estender o diagrama para que seja possível conhecer informação sobre os professores, nomeadamente que modalidades leccionam com a indicação dos respectivos dias de semana (um professor pode não leccionar em todos os dias da semana de uma modalidade). Note-se que algumas modalidades podem ter vários professores em simultâneo.

Page 28: Diagrama de Classes Transposição SQLhome.iscte-iul.pt/~ipxa/FBD/fich/ExerciciosFBD.pdf · Pedro Ramos, DCTI/ISCTE Enunciados Exercícios - Enunciados Diagrama de Classes Transposição

Pedro Ramos, DCTI/ISCTE Enunciados

R-DC – Notas de Avaliações (I)

Classes (1ª Abordagem)

Licenciatura

SiglaDesignação

Aluno

NúmeroNomeMorada

Disciplina

SiglaDesignação

Associações

Os alunos inscrevem-se em várias disciplinas

1 … *

Aluno

NúmeroNomeMorada

Disciplina

SiglaDesignação

1 … *

UML – Diagrama de Classes

Page 29: Diagrama de Classes Transposição SQLhome.iscte-iul.pt/~ipxa/FBD/fich/ExerciciosFBD.pdf · Pedro Ramos, DCTI/ISCTE Enunciados Exercícios - Enunciados Diagrama de Classes Transposição

Pedro Ramos, DCTI/ISCTE Enunciados

R-DC – Notas de Avaliações (II)

Associações

Uma disciplina apenas existe em uma licenciatura e está associada a um ano lectivo

1 … *

Aluno

NúmeroNomeMorada

Disciplina

SiglaDesignação

1 … *

Licenciatura

SiglaDesignação

1 … *

1

Ano Lectivo

Para cada avaliação de uma disciplina é registada a nota que os alunos obtiveram

Cada aluno, disciplina a disciplina, opta pelo tipo de avaliação que mais lhe convém

Frequência

Tipo Avaliação

Avaliação

Data1 … *

1

1 … *

1 … * Nota

Nota

UML – Diagrama de Classes

Page 30: Diagrama de Classes Transposição SQLhome.iscte-iul.pt/~ipxa/FBD/fich/ExerciciosFBD.pdf · Pedro Ramos, DCTI/ISCTE Enunciados Exercícios - Enunciados Diagrama de Classes Transposição

Pedro Ramos, DCTI/ISCTE Enunciados

R-DC – Notas de Avaliações (III)

Alternativa

1 … *

Aluno

NúmeroNomeMorada

Disciplina

SiglaDesignação

1 … *

Frequência

Tipo Avaliação

1 … *

Aluno

NúmeroNomeMorada

Disciplina

SiglaDesignação

1 … *

Frequência

Teste & TrabalhoTeste

Pouco flexível

UML – Diagrama de Classes

Page 31: Diagrama de Classes Transposição SQLhome.iscte-iul.pt/~ipxa/FBD/fich/ExerciciosFBD.pdf · Pedro Ramos, DCTI/ISCTE Enunciados Exercícios - Enunciados Diagrama de Classes Transposição

Pedro Ramos, DCTI/ISCTE Enunciados

R-DC – Notas de Avaliações (IV)

Alternativa

1 … *

Aluno

NúmeroNomeMorada

Disciplina

SiglaDesignação

1 … *

Frequência

Tipo Avaliação

1 … *

Aluno

NúmeroNomeMorada

Disciplina

SiglaDesignação

1 … *

Frequência

Tipo Avaliação

Tipo

0 … *

1

Para ser flexível, tem que aceitar qualquer tipo de avaliação (não valida)

Solução mais completa

UML – Diagrama de Classes

Page 32: Diagrama de Classes Transposição SQLhome.iscte-iul.pt/~ipxa/FBD/fich/ExerciciosFBD.pdf · Pedro Ramos, DCTI/ISCTE Enunciados Exercícios - Enunciados Diagrama de Classes Transposição

Pedro Ramos, DCTI/ISCTE Enunciados

R-DC – Notas de Avaliações (V)

1 … *

Aluno

NúmeroNomeMorada

Disciplina

SiglaDesignação

1 … *

Licenciatura

SiglaDesignação

1 … *

1

Ano Lectivo

É possível um aluno estar “inscrito” em várias licenciaturas?

Gestão

Informática

João

Sociologia IGE

Sim

UML – Diagrama de Classes

Page 33: Diagrama de Classes Transposição SQLhome.iscte-iul.pt/~ipxa/FBD/fich/ExerciciosFBD.pdf · Pedro Ramos, DCTI/ISCTE Enunciados Exercícios - Enunciados Diagrama de Classes Transposição

Pedro Ramos, DCTI/ISCTE Enunciados

Exercícios SQL (I)

1) Listar toda a informação dos livros existentes, ordenada por título

2) Listar as editoras existentes

3) Listar o título dos livros da Editora “Difel”

4) Listar o titulo, editora, edição e nome dos autores de todos os livros, ordenada por titulo

5) Listar os títulos dos livros do Gabriel Garcia Marquez

6) Listar o nome e nacionalidade dos autores de nacionalidade Portuguesa e Brasileira.

7) Listar os títulos e número de edições dos livros com número de edições entre 3 e 10

8) Indicar o número de livros existentes

9) Indicar o número de livros existentes com edição conhecida

Livro (IDLivro, Título, Editora, Edicao)

Autor IDAutor, Nome, Nacionalidade)

Autoria (IDLivro, IDAutor)

Resolução

Page 34: Diagrama de Classes Transposição SQLhome.iscte-iul.pt/~ipxa/FBD/fich/ExerciciosFBD.pdf · Pedro Ramos, DCTI/ISCTE Enunciados Exercícios - Enunciados Diagrama de Classes Transposição

Pedro Ramos, DCTI/ISCTE Enunciados

10) Listar, para cada editora, o número máximo de edições existentes num livro dessa editora

11) Listar o titulo de todos os livros, indicando o numero de autores que escreverem o livro

12) Listar, para cada editora, o número máximo de edições existentes num livro dessa editora.

Apenas considerar editoras cujo valor máximo de edições é maior que 5

13) Listar, para cada nome de autor, o total de livros por ele editados

14) Listar ordenadamente os nomes dos autores que não têm livros escritos

15) Listar os nomes dos autores com mais livros, indicando o número de livros

16) Listar, para cada editora, o(s) livro(s) com maior número de edições

17) Seleccionar os nomes dos autores que editam em uma editora em que mais nenhum outro autor edita

18) Listar os nomes dos autores que editaram livros em mais que uma editora

19) Listar os nomes dos autores que têm livros em parceria

20) Listar, para cada nome de autor, quais os títulos dos livros que ele não escreveu

21) Listar pares de nomes de autores que editaram o mesmo numero de livros

Exercícios SQL (II)

SQL

Page 35: Diagrama de Classes Transposição SQLhome.iscte-iul.pt/~ipxa/FBD/fich/ExerciciosFBD.pdf · Pedro Ramos, DCTI/ISCTE Enunciados Exercícios - Enunciados Diagrama de Classes Transposição

Pedro Ramos, DCTI/ISCTE Enunciados

R-TR – Notas de Avaliações

1 … *

Aluno

NúmeroNomeMorada

Disciplina

SiglaDesignação

1 … *

Licenciatura

SiglaDesignação

1 … *

1

Ano Lectivo

Frequência

Tipo Avaliação

Avaliação

Data1 … *

1

1 … *

1 … * Nota

Nota

Modelo Relacional

Disciplina (

Aluno (

Avaliação (

Licenciatura (

Frequência (

Nota (

Sigla, Designação, Ano Lectivo

Número, Nome, Morada

Data

Sigla, Designação

Tipo Avaliação

Nota

Sigla, Designação, Ano Lectivo

Número, Nome, Morada

Data

Sigla, Designação

Sigla, Designação, Ano Lectivo

Número, Nome, Morada

Data, SiglaDis

Sigla, Designação

Tipo Avaliação, Sigla, Número)

Nota, Número, Data, SiglaDis)

Sigla, Designação, Ano Lectivo, SiglaLic)

Número, Nome, Morada)

Data, SiglaDis)

Sigla, Designação)

Page 36: Diagrama de Classes Transposição SQLhome.iscte-iul.pt/~ipxa/FBD/fich/ExerciciosFBD.pdf · Pedro Ramos, DCTI/ISCTE Enunciados Exercícios - Enunciados Diagrama de Classes Transposição

Pedro Ramos, DCTI/ISCTE Enunciados

R-TR – Agenda de Contactos

UML – Diagrama de Classes

Investigador(ID, Pais, Nome, Morada, Nacionalidade)

Page 37: Diagrama de Classes Transposição SQLhome.iscte-iul.pt/~ipxa/FBD/fich/ExerciciosFBD.pdf · Pedro Ramos, DCTI/ISCTE Enunciados Exercícios - Enunciados Diagrama de Classes Transposição

Pedro Ramos, DCTI/ISCTE Enunciados

R-TR – Rodoviária

UML – Diagrama de Classes

Carreira(Num Carreira)