Um cliente solicitou a uma empresa, a criação de um banco de dados para armazenar os jogos e resultados de um campeonato de futebol. A solicitação engloba o cadastro de equipes, dos estádios, das categorias, dos jogos e seus respectivos resultados. Após a reunião da equipe de analistas o seguinte diagrama de classes foi elaborado como representação dos requisitos obtidos com o cliente:
As tabelas a seguir contêm os dados do campeonato:
Chaves e Referências:
Tabela Equipe:
- ID é chave primária.
Tabela Estádio:
- ID é chave primária.
Tabela Categoria:
- ID é chave primária.
Tabela Jogos:
- ID é chave primária.
- ID_EQUIPE1 é chave estrangeira e referencia ID da tabela EQUIPE.
- ID_EQUIPE2 é chave estrangeira e referencia ID da tabela EQUIPE.
- ID_CATEGORIA é chave estrangeira e referencia ID da tabela CATEGORIA.
- ID_ESTADIO é chave estrangeira e referencia ID da tabela ESTADIO.
Questão Adaptada ENADE 2017.
Com base nas informações descritas no Diagrama de Classes e analisando as tabelas faça as seguintes atividades:
1) Crie um DER (Diagrama de entidade e Relacionamento) com seus relacionamentos e cardinalidades.
2) Crie um script contendo os comandos de criação das tabelas (CREATE TABLE).
3) Crie um script contendo os comandos de inserção de dados (INSERT), onde seja feita a inserção dos dados descritos nas tabelas acima.
Soluções para a tarefa
1 – Para a criação do DER - Diagrama de entidade e Relacionamento, assim como seus relacionamentos, cardinalidades e atributos pode ser realizada através da ferramenta denominada de ArgoUml.
2 – O script contendo os comandos de criação das tabelas (CREATE TABLE) pode ser desenvolvido seguindo o seguinte modelo:
create table eleicoes.partido(
id_prt integer primary key,
nome_prt varchar not null,
sigla_prt varchar not null
create table eleicoes.candidato
candidat_id integer primary key,
data_voto date not null,
uf_voto varchar not null,
foreign key (id_candidato_fk) references eleicao.candidato(candidato_id)
3 – O script com os comandos de inserção de dados (INSERT), em que seja realizada a inserção dos dados pode ser desenvolvido da seguinte forma:
insert into eleicoes.partido
values(1, 'partido 1', 'p1');
insert into eleicoes.partido
values(2, 'partido 2', 'p2');
insert into eleicoes.partido
values(3, 'partido 3', 'p3');
insert into eleicoes.partido
values(4, 'partido 4', 'p4');
insert into eleicoes.partido
e assim sucessivamente.
Bons estudos!