Artigo SQL Magazine 50 - Estudos de Caso de Projetos de Bancos de Dados

Neste artigo 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.

Esse artigo faz parte da revista SQL Magazine edição 50. Clique aqui para ler todos os artigos desta edição

Clique aqui para ler essa revista em PDF.

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

 

Em posse da Tabela Livro (Figura 1), precisaremos verificar se ela esta normalizada. O primeiro passo é verificar se ela está na 1FN (Primeira Forma Normal). A 1FN diz que “Uma tabela se encontra na 1FN se todos os atributos possuírem apenas valores atômicos (simples e indivisíveis) e os valores de cada atributo no registro também deve ser um valor simples (ou seja, o atributo não é composto)”.

" [...] continue lendo...
Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados