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.
Representa os usuários cadastrados na biblioteca.
Campo | Tipo sugerido | Detalhes |
---|---|---|
id_usuario | int | PK, auto incremento |
nome | varchar(100) | Nome completo |
varchar(100) | Deve ser único | |
data_cadastro | date | Data do cadastro do usuário |
status | enum('ativo','inativo') | Situação do usuário |
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 |
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 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 |