Informática, perguntado por BrunoHTS54, 10 meses atrás

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.

Anexos:

Soluções para a tarefa

Respondido por lamartinecezarpbm3x5
15

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..

Perguntas interessantes