Este é um post disponível para assinantes MVPou para quem possui Créditos DevMedia. Clique aqui para saber mais!
Artigo SQL Magazine 50 - Estudos de Caso de Projetos de Bancos de Dados
Artigo da revista SQL Magazine edição 50.
Você não gostou da qualidade deste conteúdo?
(opcional) Você gostaria de comentar o que não lhe agradou?
Modelagem
Estudos de Caso de Projetos de Bancos de Dados
É sabido que o objetivo de um projeto de banco de dados é obter um conjunto de esquemas de relações que nos permita armazenar dados sem redundância e que as informações necessárias para tomadas de decisões possam ser geradas facilmente. Assim, para que um projeto de banco de dados possa atender a estes pressupostos, aplicamos o que podemos chamar de normalização dos dados.
Na edição número 47 desta revista, apresentamos os conceitos envolvidos na normalização de um projeto de banco de dados.
Neste artigo, utilizaremos os conceitos citados na referida edição e abordaremos o projeto de um banco de dados para uma biblioteca e para um sistema de ordens de serviço, com algumas restrições de escopo, que detalharemos a seguir.
Escolhemos estes projetos devido ao fato das regras de negócio serem de fácil compreensão. Entretanto, eles possuem vários pontos de questionamento por parte dos projetistas de bancos de dados. Uma grande parcela destes profissionais tende a cometer grandes erros nos mais diversos projetos de bancos de dados e nestes dois exemplos, conseguiremos abordar os pontos que devem ser considerados, desde projetos de pequeno porte, até grandes projetos de bancos de dados.
Assim, inicialmente apresentaremos o estudo de caso para a biblioteca e posteriormente o de ordens de serviço.
Biblioteca
Todos nós já freqüentamos bibliotecas em algum momento de nossa vida acadêmica. Em linhas gerais, uma biblioteca possui livros que devem ser emprestados e devolvidos. Neste estudo de caso em particular, reduziremos o escopo de uma biblioteca com a finalidade de facilitar a compreensão do modelo de dados que apresentaremos. Entretanto, nada impede que o leitor acrescente outras funcionalidades no modelo aqui apresentado.
Assim, um sistema de bibliotecas, para este estudo de caso, consiste das seguintes funcionalidades:
· Cadastro de Livros: Um cadastro de livro deve armazenar informações relativas ao Título do livro, Editora, Edição, Ano de Publicação, Autores, Assunto. Sabe-se também que um livro pode possuir vários exemplares e neste caso, são emprestados os exemplares e não os títulos.
· Cadastro de Alunos: Um cadastro de aluno deve possuir número de matrícula, nome, endereço, telefone, telefone celular, CPF, RG, e-mail.
· Cadastro de Professores: Um cadastro de professor deve possuir nome, endereço, telefone, telefone celular, CPF, RG, e-mail, titulação.
· Empréstimo de Livros: Esta funcionalidade refere-se ao empréstimo de livros propriamente dita aos alunos ou professores da instituição. Este empréstimo deve armazenar a data do empréstimo, data prevista de devolução, exemplar emprestado.
· Devolução de Livros: Após serem emprestados, os livros podem ser devolvidos. Neste ponto, os livros podem ter devoluções parciais, ou seja, um aluno pode pegar emprestado 3 livros diferentes e querer devolver apenas um.
Desta forma, neste artigo não abordaremos o pagamento de multas, assim como o cadastro de periódicos que também existem em bibliotecas, pelo fato de entendermos que fogem do objetivo deste exemplo. Também não será tratado o empréstimo de livros a funcionários com regras distintas, pelo mesmo motivo. Em diversas instituições existem critérios distintos de empréstimos para professores, alunos e funcionários e neste artigo também não serão tratadas estas diferenciações de regras.
Também não serão abordadas outras funcionalidades como empréstimo de exemplares únicos, empréstimo de férias, reserva e renovação de livros.
A partir desta pequena definição das regras de negócio em questão, iremos iniciar a modelagem de dados. Não formalizamos esta definição das regras de negócio também por fugir dos objetivos deste artigo.
Na Figura 1 apresentamos a primeira parte do modelo de dados, que compreende o cadastro de livros.

Figura 1. Tabela Livro Desnormalizada
"
Este é um post disponível para assinantes MVPou para quem possui Créditos DevMedia. Clique aqui para saber mais!
Mestre em Ciências com ênfase em Inteligência Artificial e Bancos de Dados, Professor Universitário e Gerente de TI. Atua como professor desde 2000, especialmente com disciplinas na área de Bancos de Dados. Na área de TI desde 1998 com desenvolvimento, análise e projeto de Sistemas. Hoje em dia, tra...



