Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

Sistemas de Banco de Dados Prof. Dr. Fernando Martins
PONTIFÍCIA UNIVERSIDADE CATÓLICA
Faculdade de Informática
INF 1341 - Sistemas de Banco de Dados
Trabalho Prático 2 - SQL e Normalização
Professor: Dr. Fernando Martins
Monitores: Juliana Santos — Rafael Oliveira
Peŕıodo: 2024.2
Valor: 15 pontos
Entrega: 25/11/2024 até 23:59 via Moodle
Formato de Entrega:
• Arquivo ZIP contendo: scripts SQL (.sql) + relatório PDF
• Nomeie: TP2 SeuNome Matricula.zip
• Scripts devem executar sem erros no MySQL 8.0+
• Relatório: máximo 10 páginas, fonte 12pt
• Trabalhos copiados: nota zero para todos os envolvidos
1 Contexto do Sistema (Obrigatório - Leia com atenção)
Você foi contratado para desenvolver o banco de dados de um Sistema de Gerencia-
mento de Biblioteca Universitária. O sistema deve gerenciar:
• Livros: ISBN, t́ıtulo, editora, ano, número de exemplares
• Autores: CPF, nome, nacionalidade, data de nascimento
• Usuários: matŕıcula, nome, tipo (aluno, professor, funcionário), email, telefone
• Empréstimos: data de empréstimo, data de devolução prevista, data de devolução
real
• Multas: valor, data de aplicação, status (paga/pendente)
Regras de Negócio:
1. Um livro pode ter vários autores e um autor pode ter escrito vários livros
2. Alunos podem emprestar até 3 livros por 14 dias
3. Professores podem emprestar até 6 livros por 30 dias
4. Funcionários podem emprestar até 4 livros por 21 dias
5. Multa de R$ 2,00 por dia de atraso
6. Usuários com multas pendentes não podem fazer novos empréstimos
7. Um exemplar não pode ser emprestado se já estiver emprestado
1
Sistemas de Banco de Dados Prof. Dr. Fernando Martins
2 Parte 1 - Modelagem e Normalização (4,0 pontos)
Exerćıcio 1.1 - Modelo Conceitual (1,5 pontos)
Crie o Diagrama Entidade-Relacionamento (DER) completo para o sistema des-
crito. Seu diagrama deve incluir:
• Todas as entidades necessárias
• Atributos (incluindo chaves primárias e atributos multivalorados)
• Relacionamentos com cardinalidades corretas
• Atributos dos relacionamentos (quando aplicável)
Entrega: Desenhe usando ferramenta digital (draw.io, Lucidchart, MySQL Work-
bench) e inclua no relatório.
Exerćıcio 1.2 - Normalização (1,5 pontos)
Considere a seguinte tabela não normalizada:
MatriculaUsuario NomeUsuario ISBN TituloLivro Autores
2021001 João Silva 123456 BD Avançado Ana Costa, Pedro Lima
2021001 João Silva 789012 SQL na Prática Maria Santos
2021002 Ana Santos 123456 BD Avançado Ana Costa, Pedro Lima
Pede-se:
(a) Identifique as dependências funcionais
(b) Em qual forma normal a tabela se encontra? Justifique.
(c) Normalize até a Terceira Forma Normal (3FN), mostrando cada etapa
(d) Apresente o esquema final normalizado
Exerćıcio 1.3 - Modelo Lógico (1,0 ponto)
Converta o DER do Exerćıcio 1.1 para o Modelo Relacional. Para cada tabela, espe-
cifique:
• Nome da tabela
• Atributos e tipos de dados
• Chave primária (PK)
• Chaves estrangeiras (FK) com ações de integridade referencial
2
Sistemas de Banco de Dados Prof. Dr. Fernando Martins
3 Parte 2 - Implementação SQL (5,0 pontos)
Exerćıcio 2.1 - DDL - Criação do Banco (2,0 pontos)
Implemente em SQL o esquema do banco de dados. Seu script deve:
• Criar o banco de dados biblioteca
• Criar todas as tabelas com:
– Tipos de dados apropriados
– Constraints de chave primária e estrangeira
– Constraints CHECK quando aplicável
– Índices em colunas frequentemente consultadas
• Incluir comentários explicativos
Exemplo de estrutura esperada:
1 CREATE TABLE Livro (
2 ISBN VARCHAR (13) PRIMARY KEY ,
3 titulo VARCHAR (200) NOT NULL ,
4 editora VARCHAR (100) ,
5 ano_publicacao YEAR ,
6 num_exemplares INT DEFAULT 1,
7 CONSTRAINT chk_ano CHECK (ano_publicacao >= 1500 AND
ano_publicacao

Mais conteúdos dessa disciplina