MODELAGEM DE DADOS
Este texto-base aborda os seguintes temas:
Modelagem relaciona-se à ideia de representar algo que existe ou existirá, ou seja, representar o banco de dados que será criado, demonstrando aspectos relevantes para sua implantação. A ideia é representar como serão construídas as estruturas de dados que darão suporte aos processos de negócio, como esses dados estarão organizados e quais relacionamentos pretende-se estabelecer entre eles.
Vamos pensar no exemplo de um estoque informatizado de um supermercado: o sistema deve identificar os dados de um produto que passou pelo caixa, relacioná-los com o que há no BD e registrar a saída do item. Esses relacionamentos devem ser previstos antes de o banco de dados ser criado, ainda no momento de projeto, por isso a modelagem é fundamental.
O diagrama a seguir representa a situação do estoque do supermercado:
Esse tipo de diagrama, chamado Diagrama de Entidade e Relacionamento (Diagrama ER ou DER), é uma ferramenta do Modelo de Entidade e Relacionamento, e neste material você estudará seus principais componentes: Entidade, Relacionamento e Atributos.
O Modelo Entidade-Relacionamento é um modelo conceitual usado para identificar como as entidades (pessoas, objetos ou conceitos) com suas propriedades e características (atributos) se relacionam entre si dentro de um sistema (relacionamento). Ele é muito utilizado devido a sua simplicidade e eficiência.
Já o Diagrama Entidade Relacionamento (DER) é uma representação gráfica que apresenta o modelo lógico do banco de dados, ou seja, demonstra como esse banco funcionará, como será a estrutura do BD. Para construir o DER adequadamente, deve-se utilizar um conjunto definido de símbolos, que você conhecerá nessa unidade.
Conheça os conceitos do Modelo ER e seus símbolos indicativos no Diagrama ER
As entidades podem ser classificadas de acordo com sua função dentro do sistema. Assim, podemos classificá-las em Fortes, Fracas ou Associativas. Veja:
Entidade Forte
Uma entidade é considerada forte quando existe por ela só, independentemente da existência de outras entidades. Por exemplo, em um sistema acadêmico, a entidade curso é independe de quaisquer outras para existir, portanto, é considerada “forte”.
Agora que você já conhece os tipos de entidade, deverá definir a forma como elas se relacionam entre si. De acordo com a quantidade de objetos envolvidos em cada lado do relacionamento, podemos classificar os relacionamentos: relacionamento um para um, um para muitos e muitos para muitos.
Você já conhece os tipos de entidade e de relacionamento. Agora, verá o detalhamento do último componente do Modelo ER: os atributos, que, como você já sabe, são as propriedades que caracterizam uma entidade. Os atributos podem ser classificados de diversas formas:
Atributo Simples
Também conhecido por atômico, é um atributo que não pode ser dividido. Por exemplo: CEP, nome, CPF.
Com base nos conceitos que você estudou sobre modelagem ER, tente esquematizar a situação a seguir:
Uma biblioteca deseja informatizar os Cadastros de seus livros. Para isso a bibliotecária passou as seguintes informações:
Os livros são definidos pelo número do ISBN, título, número de páginas e preço. Um livro pode ser escrito por vários autores, sendo os autores definidos pelo código, nome e formação. As editoras são definidas pelo código da editora, nome, endereço e e-mail. Alguns livros podem ter várias cópias cadastradas na biblioteca, sendo estas cópias definidas pelo número da cópia e data de aquisição da cópia. É claro, só podemos ter a cópia de algum livro na biblioteca se existir o livro, caso contrário, não é permitido. Uma editora pode publicar vários livros, mas um livro pode ser publicado por uma única editora.
Para desenhar um Diagrama ER, primeiramente você deve ter atenção aos requisitos do sistema, ou seja, perceber quais são as necessidades do cliente e entender o funcionamento esperado do sistema.
Com base nas informações da bibliotecária e nos conceitos de modelagem que você estudou, faça o levantamento de todas as entidades, realize os relacionamentos entre elas e defina seus atributos.
Existem diversos softwares para desenvolver diagramas, como BrModelo ou DbDesign, mas nesse momento você pode utilizar editores simples como Word ou Excell.
Reflita e busque resolver essa questão antes de visualizar a solução.
Passo 1 - Identificar as entidades existentes no sistema
Para saber se um determinado conceito é uma entidade, você deve sempre se perguntar se há informações a serem armazenadas sobre esse conceito e se você deseja armazená-las. Se a resposta for sim, você pode identificá-lo como uma entidade:
Com base na informação: “só podemos ter a cópia de algum livro na biblioteca se existir o livro”, a entidade cópia foi definida como fraca, portanto, representada por uma caixa de contorno duplo.
Passo 2 - Identificar os relacionamentos entre as entidades, definindo suas cardinalidades
Diante das informações que foram oferecidas sobre o funcionamento do sistema:
- Com base na informação “um livro pode ser escrito por vários autores” e, é claro, que um autor pode escrever vários livros, pode-se definir o seguinte relacionamento:
- Com base na informação “alguns livros podem ter várias cópias cadastradas na biblioteca”, pode-se definir o seguinte relacionamento:
Observe que pelo fato da cópia ser uma entidade fraca, o relacionamento é representado por um traço duplo também.
- Com base na informação de que: “uma editora pode publicar vários livros, mas um livro pode ser publicado por uma única editora”, cria-se o seguinte relacionamento.
Passo 3 - Identificar quais são os atributos de cada entidade e a representação dos seus tipos
Lembre-se de que os atributos qualificam e descrevem a entidade.
Observe que o atributo “formação” do autor é multivalorado. Você sabe por quê? Bem, uma pessoa pode ter mais do que uma formação, não pode? Um professor pode ser matemático, filósofo e pedagogo. Por isso, definiremos o atributo formação do tipo multivalorado para poder armazenar mais de um valor para esse campo.
Resultado
Seu Diagrama Entidade-Relacionamento deverá ficar desta forma: