QUESTÃO 1
Um cliente solicitou a uma empresa a criação de um banco de dados para armazenar o resultado de uma eleição presencial, com dados sobre os partidos políticos, os candidatos e a votação obtida por cada candidato. O seguinte diagrama de classes foi elaborado como representação dos requisitos obtidos com o cliente:
As tabelas a seguir contêm os dados registrados a partir do resultado dessa eleição:
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, cardinalidades e atributos.
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
ALGUÉM AJUDA PELO AMOR EU NAO SEI NEM PRA ONDE VAI FAZER ISSO TO PERDIDA
1) Crie um DER (Diagrama de entidade e Relacionamento) com seus relacionamentos, cardinalidades e atributos.
Para esse primeiro requisito você terá que usar uma ferramenta ArgoUml para desenvolver o DER.
2) Crie um script contendo os comandos de criação das tabelas (CREATE TABLE).
Comandos para criação das tabelas usando o Postgresql, que pode ser baixado gratuitamente.
ATENÇÃO: Mudem o que está destacado de negrito, pois se ficar igual será considerado plagio!!
CREATE TABLE ELEICOES.PARTIDO(
ID_PART INTEGER PRIMARY KEY,
NOME_PART VARCHAR(50) NOT NULL,
SiGLA_PART VARCHAR(20) NOT NULL
);
CREATE TABLE ELEICOES.CANDIDATO(
CANDIDATO_ID INTEGER PRIMARY KEY,
NOME_CANDIDATO VARCHAR(60) NOT NULL,
ID_PART_FK INT NOT NULL,
FOREIGN KEY (ID_PART_FK) REFERENCES ELEICAO.PARTIDO (ID_PART)
);
CREATE TABLE ELEICOES.VOTACAO(
VOTACAO_ID INTEGER PRIMARY KEY,
DATA_VOTACAO DATE NOT NULL,
ID_CANDIDA_FK INT NOT NULL,
VOT INT NOT NULL,
UF_VOTACAO VARCHAR(10) NOT NULL,
FOREIGN KEY (ID_CANDIDA_FK) REFERENCES ELEICAO.CANDIDATO(CANDIDATO_ID)
);
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.
# Processo de inserção dos dados nas tabelas criadas acima.
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
VALUES(5, 'PARTIDO 5', 'P5');
INSERT INTO ELEICOES.CANDIDATO
VALUES(1, 'CANDIDATO 1', 1);
INSERT INTO ELEICOES.CANDIDATO
VALUES(2, 'CANDIDATO 2', 1);
INSERT INTO ELEICOES.CANDIDATO
VALUES(3, 'CANDIDATO 3', 2);
INSERT INTO ELEICOES.CANDIDATO
VALUES(4, 'CANDIDATO 4', 3);
INSERT INTO ELEICOES.CANDIDATO
VALUES(5, 'CANDIDATO 5', 4);
INSERT INTO ELEICOES.VOTACAO
VALUES(1, '07-10-2018', 1, 12345, 'SP');
INSERT INTO ELEICOES.VOTACAO
VALUES(2, '07-10-2018', 1, 98323, 'PR');
INSERT INTO ELEICOES.VOTACAO
VALUES(3, '07-10-2018', 2, 1726453, 'SP');
INSERT INTO ELEICOES.VOTACAO
VALUES(4, '07-10-2018', 2, 16253, 'PR');
INSERT INTO ELEICOES.VOTACAO
VALUES(5, '07-10-2018', 3, 293845, 'SP');
INSERT INTO ELEICOES.VOTACAO
VALUES(6, '07-10-2018', 3, 98372, 'PR');
INSERT INTO ELEICOES.VOTACAO
VALUES(7, '07-10-2018', 4, 46837, 'SP');
INSERT INTO ELEICOES.VOTACAO
VALUES(8, '07-10-2018', 4, 327264, 'PR');
Qualquer dúvida é só chamar..