Prévia do material em texto
FECAF – FACULDADE CAPITAL FEDERAL
Av. Vida Nova, 166, Taboão da Serra - SP
Curso: GTI e ADS - Turma: 1º e 2º Semestre Matutino
Disciplina: Fundamento de Banco de Dados
Professor: Eduardo Ferreira Galego
Nome: Laércio Alves RA: 9701 GTI 2 SEMESTRE
Nome: João Vitor C. de Faria RA: 13293 GTI 2 SEMESTRE
NOTA
Informações Gerais
· Em grupos de até 6 componentes
· Entrega pelo Classroom
· Data limite para entrega: 08/11/2019
· Valor da avaliação = 2,0
1) Apresente o diagrama Entidade-Relacionamento (contendo: Conjunto de entidades, atributos, atributo identificador, conjunto de relacionamentos, cardinalidade mínima e máxima) para cada um dos cenários abaixo:
Cenário 1:
Você foi contratado para modelar um banco de dados para gestão de times de futebol. Deseja-se registrar os dados de times, jogadores e torcedores incluindo:
· Para cada time, o seu nome, seus jogadores, o capitão do time (um dos jogadores) e as cores do seu uniforme.
· Para cada jogador, o seu nome, idade e gols que fez.
· Para cada torcedor, registre seu nome, seu time favorito, seus jogadores favoritos e seu uniforme
· favorito.
Deseja-se manter um histórico dos times em que um jogador já jogou (no presente um jogador joga em apenas um time), incluíndo data de início e fim.
Cenário 2:
Projete um banco de dados para fins de registro acadêmico de estudante, semelhante à da sua universidade, incluindo informações sobre: estudantes, cursos, disciplinas, professores, oferecimento de disciplinas (turmas) no semestre corrente, salas de aulas, estudantes matriculados em turmas, quais disciplinas cada professor está ministrando, notas dos estudantes etc. Inclua, opcionalmente, o histórico de disciplinas de cada estudante.
2) Transforme os diagramas entidade-relacionamento do exercício anterior em Modelo Relacional (tanto em forma de tabelas quanto em forma textual).
CENÁRIO 1
TEXTUAL
Time (Cod_time, nome, cor_uniforme).
Torcedor (Cod_torcedor, nome, Jogador_favorito, Uniforme_favorito, Time_favorito
Cod_torcedor referência Time);
Jogador (Cod_Jogador, nome, status, Idade, Gols, cod_time Cod_time referência time);
TABELA
TIME
cod_time
Nome
cor do uniforme
4879
Fecaf F.C
Azul e verde
1324
Colegio Ser
Verde e branco
JOGADOR
codigo jogador
nome
status
idade
gols
codigo do time
1
laércio
captão
36
256
4879
2
joão
volante
20
178
4879
67
lucas
atacante
23
107
4879
34
luis
reserva
26
187
1324
54
pedro
captão
34
165
1324
9
felipe
lateral
24
287
1324
TORCEDOR
codigo do torcedor
nome
jogador favorito
uniforme favorito
time favorito
5678
joao
lucas
Azul e verde
Fecaf F.C
6192
lucas
joao
Azul e verde
Fecaf F.C
9877
Luan
felipe
Verde e branco
Colegio Ser
1234
Igor
laércio
Azul e verde
Fecaf F.C
7482
Rafael
pedro
Verde e branco
Colegio Ser
POSSUI TORCIDA
codigo do torcedor
codigo do time
5678
4879
6192
4879
9877
1324
1234
4879
7482
1324
JÁ JOGOU
codigo do jogador
codigo do time
1
4879
2
4879
67
4879
34
1324
54
1324
9
1324
CENÁRIO 2
TEXTUAL
Estudante (matricula, nome, cpf, endereço, telefone);
Curso (cod_curso, nome)
Turma (Cod_turma, nome)
Sala (Número, tipo, área,
Número referência curso)
Professor (Matricula, nome, Matricula referência turma e curso)
Disciplina (cod_diciplina, nome)
Nota (valor)
TABELA
ESTUDANTES
matricula
nome
cpf
endereço
telefone
1234
joao
12345678911
Rua Itu, numero 2
1172618362
4321
luis
98765432199
Rua Anapolis, 45
1183726783
CURSO
cod_curso
Nome
1701
GTI
1905
ADS
TURMA
cod_turma
Nome
3421
MATUTINO
2413
NOTURNO
SALA
Numero
Tipo
area
5
CONVENCIONAL
300MTS
4
CONVENCIONAL
300MTS
DISCIPLINA
cod_diciplna
Nome
log_prog1
Logica de Programaçao
bd1
Banco de Dados
PROFESSORES
matricula
Nome
7894
Eduardo
6473
Fernando
ALUNO MATRICULADO
Matricula
cod_curso
1234
1701
4321
1905
TURMA CONTEM CURSO
cod_turma
cod_curso
3421
1701
2413
1905
PROFESSOR LESIONA
Matricula
cod_diciplina
7894
log_prog1
6473
bd1
CURSO CONTEM DISCIPLINA
cod_curso
cod_disciplina
4321
log_prog1
4321
bd1
1234
log_prog1
1234
bd1
3) A partir do seguinte DER:
a) Transforme em modelo relacional (tanto em forma de tabelas quanto textual).
b) Construa os comandos SQL que cria a estrutura acima.
CREATE DATABASE
CLIENTE
USE CLIENTE
CREATE TABLE CLIENTE(
cpf INT NOT NULL UNIQUE,
nome VARCHAR (30) NOT NULL,
estado_civil VARCHAR (30) NOT NULL,
primary key (cpf)
foreign key (cod_agencia) references agencia (cod_agencia)
foreign key (num_cc) references conta_corrente (num_cc)
);
CREATE TABLE CONTA_CORRENTE(
num_cc INT NOT NULL UNIQUE,
ativo VARCHAR (20) NOT NULL,
data_abertura VARCHAR (20) NOT NULL,
data_encerramento VARCHAR (20) NOT NULL,
primary key (num_cc)
);
CREATE TABLE AGENCIA (
cod_agencia INT NOT NULL UNIQUE,
nome VARCHAR (20) NOT NULL,
primary key (cod_agencia)
);
CREATE TABLE MOVIMENTACAO (
cod_movimentacao INT NOT NULL UNIQUE,
dataoperacao VARCHAR (20) NOT NULL,
tipo VARCHAR (20) NOT NULL,
valor FLOAT (2,2) NOT NULL,
saldo FLOAT (2,2) NOT NULL,
primary key (cod_movimentacao)
);
c) Apresente os comandos SQL para inclusão dos seguintes dados:
· Duas agências;
INSERT INTO AGENCIA (cod_agencia,nome)
VALUES ('0001','Agencia A')
INSERT INTO AGENCIA (cod_agencia,nome)
VALUES ('0002','Agencia B')
· Três contas-correntes;
INSERT INTO CONTA_CORRENTE (num_cc, ativo, data_abertura, data_encerramento)
VALUES ('100001', 'sim', '02/11/2019', ' ') );
INSERT INTO CONTA_CORRENTE (num_cc, ativo, data_abertura, data_encerramento)
VALUES ('100002', 'sim', '02/11/2019', '')
INSERT INTO CONTA_CORRENTE (num_cc, ativo, data_abertura, data_encerramento)
VALUES ('100003', 'sim', '02/11/2019', '')
Quatro clientes (tendo dois com uma mesma conta-corrente);
INSERT INTO CLIENTE (cpf, nome, estado_civil, cod_agencia, num_cc)
VALUES ('11111111111', 'fulano da silva', 'casado', '0001','100001') );
INSERT INTO CLIENTE (cpf, nome, estado_civil, cod_agencia, num_cc)
VALUES ('11111111112', 'fulana da silva', 'casado', '0001','100001')
INSERT INTO CLIENTE (cpf, nome, estado_civil, cod_agencia, num_cc)
VALUES ('11111111113', 'beltrano dos santos', 'casado', '0001','100002')
INSERT INTO CLIENTE (cpf, nome, estado_civil, cod_agencia, num_cc)
VALUES ('11111111114', 'ciclano silva', 'casado', '0001','100003')
· Cinco movimentações bancárias para cada conta-corrente.
INSERT INTO MOVIMENTACAO (agencia, conta_corrente, tipo, cod_moniventacao, data, valor),
VALUES ( ‘001’, ‘100001’, ‘Saq’, ‘null’ , ‘2007/02/04’, ‘-40,00’)
INSERT INTO MOVIMENTACAO (agencia, conta_corrente, tipo, cod_moniventacao, data, valor),
VALUES ( ‘001’, ‘100001’, ‘Saq’, ‘null’ , ‘2007/02/04’, ‘-500,00’)
INSERT INTO MOVIMENTACAO (agencia, conta_corrente, tipo, cod_moniventacao, data, valor),
VALUES ( ‘001’, ‘100001’, ‘transf’, ‘null’ , ‘2007/02/04’, ‘+1.500,00’)
INSERT INTO MOVIMENTACAO (agencia, conta_corrente, tipo, cod_moniventacao, data, valor),
VALUES ( ‘001’, ‘100001’, ‘dep’, ‘null’ , ‘2007/02/04’, ‘+500,00’)
INSERT INTO MOVIMENTACAO (agencia, conta_corrente, tipo, cod_moniventacao, data, valor),
VALUES ( ‘001’, ‘100001’, ‘Saq’, ‘null’ , ‘2007/02/04’, ‘-200,00’)
INSERT INTO MOVIMENTACAO (agencia, conta_corrente, tipo, cod_moniventacao, data, valor),
VALUES ( ‘001’, ‘100002’, ‘Saq’, ‘null’ , ‘2007/02/04’, ‘-40,00’)
INSERT INTO MOVIMENTACAO (agencia, conta_corrente, tipo, cod_moniventacao, data, valor),
VALUES ( ‘001’, ‘100002’, ‘Saq’, ‘null’ , ‘2007/02/04’, ‘-500,00’)
INSERT INTO MOVIMENTACAO (agencia, conta_corrente, tipo, cod_moniventacao, data, valor),
VALUES ( ‘001’, ‘100002’, ‘transf’, ‘null’ , ‘2007/02/04’, ‘+1.500,00’)
INSERT INTO MOVIMENTACAO (agencia, conta_corrente, tipo, cod_moniventacao, data, valor),VALUES ( ‘001’, ‘100002’, ‘dep’, ‘null’ , ‘2007/02/04’, ‘+500,00’)
INSERT INTO MOVIMENTACAO (agencia, conta_corrente, tipo, cod_moniventacao, data, valor),
VALUES ( ‘001’, ‘100002’, ‘Saq’, ‘null’ , ‘2007/02/04’, ‘-200,00’)
INSERT INTO MOVIMENTACAO (agencia, conta_corrente, tipo, cod_moniventacao, data, valor),
VALUES ( ‘001’, ‘100003’, ‘Saq’, ‘null’ , ‘2007/02/04’, ‘-40,00’)
INSERT INTO MOVIMENTACAO (agencia, conta_corrente, tipo, cod_moniventacao, data, valor),
VALUES ( ‘001’, ‘100003’, ‘Saq’, ‘null’ , ‘2007/02/04’, ‘-500,00’)
INSERT INTO MOVIMENTACAO (agencia, conta_corrente, tipo, cod_moniventacao, data, valor),
VALUES ( ‘001’, ‘100003’, ‘transf’, ‘null’ , ‘2007/02/04’, ‘+1.500,00’)
INSERT INTO MOVIMENTACAO (agencia, conta_corrente, tipo, cod_moniventacao, data, valor),
VALUES ( ‘001’, ‘100003’, ‘dep’, ‘null’ , ‘2007/02/04’, ‘+500,00’)
INSERT INTO MOVIMENTACAO (agencia, conta_corrente, tipo, cod_moniventacao, data, valor),
VALUES ( ‘001’, ‘100003’, ‘Saq’, ‘null’ , ‘2007/02/04’, ‘-200,00’)
image1.png
image2.jpeg
image3.png
image4.png