Cenário: Sistema de Biblioteca Universitária

Você foi contratado para desenvolver a estrutura do banco de dados de uma biblioteca universitária.

Com base nas informações abaixo, crie o banco de dados e implemente todas as tabelas, incluindo as chaves primárias e estrangeiras.

Além disso, insira dados fictícios e crie consultas utilizando as funções nativas do MySQL.


1. Entidades e Atributos

Entidade: Usuario

Representa os usuários cadastrados na biblioteca.

Campo Tipo sugerido Detalhes
id_usuario int PK, auto incremento
nome varchar(100) Nome completo
email varchar(100) Deve ser único
data_cadastro date Data do cadastro do usuário
status enum('ativo','inativo') Situação do usuário

Entidade: Livro

Representa os livros disponíveis na biblioteca.

Campo Tipo sugerido Detalhes
id_livro int PK, auto incremento
titulo varchar(150) Título do livro
autor varchar(100) Autor do livro
ano_publicacao year Ano de publicação
categoria varchar(50) Ex: Romance, Técnico, Ficção
quantidade int Quantidade disponível em estoque

Entidade: Emprestimo

Representa o registro de cada empréstimo realizado.

Campo Tipo sugerido Detalhes
id_emprestimo int PK, auto incremento
id_usuario int FK → Usuarios(id_usuario)
data_emprestimo date Data em que o empréstimo foi feito
data_prevista date Data prevista para devolução
data_devolucao date Data efetiva da devolução (pode ser NULL)
status enum('ativo','devolvido','atrasado') Situação do empréstimo

Entidade: Itens_Emprestimo

Entidade Associativa entre Emprestimo e Livros.

Campo Tipo sugerido Detalhes
id_item int PK, auto incremento
id_emprestimo int FK → Emprestimos(id_emprestimo)
id_livro int FK → Livros(id_livro)
quantidade int Quantidade de exemplares emprestados

2. Relacionamentos