DB designer

1 resposta
MrTrafford

Estou comum projeto simples de gerenciamento de bibliotecas, dentre as tabelas existentes, tem a tabela aluno,livro,bibliotecário e empréstimo.
Tentei fazer a seguinte restrição. um aluno só pode fazer um empréstimo se estiver quitado com a biblioteca. No dbdesigner tentei fazer uma relação 1:! entre a tabela aluno e a tabela empréstimo, só que não funcionou a restrição que eu quis.

1 Resposta

G

Olá,

Isso é uma regra de negócio certo? Então, você pode fazer isso com uma trigger ou procedure ou mesmo via código se preferir. Mas, acho que não estou certo do que vc quiz dizer, pois pensei que seu objetivo era aplicar regra de negócio no relacionamento entre tabelas…

Ah, eu tava aqui imaginando se o aluno rato de biblioteca pode pegar um determinado número de livros por vez durante um certo período, isso faria com que a relação tbAluno e tbEmprestimo fosse respectivamente 1:N e a relação entre as tbLivro e tbEmprestimo fosse também 1:N o que de fato torna a tbEmprestimo em uma tabela do meio. No entanto, na tbEmprestimo vc persistirá dados como a data do emprestimo e status de devolução isto faz com que esta tabela também tenha sua própria chave primária. Acredito que com essas informações já dá tá para aplicar a tal regra de negócio usando uma das três formas ditas acima. Mas, também poderia colocar um atributo boolean na tbAluno do tipo “debito=true/false” considerando o fato de estar com devolução atrasada e talvez um atributo “limite=true/false” para quando alcançar a quantidade de livros permitida por aluno. Ah, quem sabe o aluno possa ter um limite especial também, do tipo concedido/autorizado pelo teacher incrementando mais algum dia bla-bla-blabla… :wink:

Criado 15 de dezembro de 2010
Ultima resposta 15 de dez. de 2010
Respostas 1
Participantes 2