Quando se inicia o desenvolvimento de um novo sistema, ou mesmo de uma nova funcionalidade para um sistema existente, um dos primeiros passos a ser executado � o estudo e levantamento dos requisitos necess�rios para a constru��o do produto final. Durante essa an�lise, identifica-se as principais partes e objetos envolvidos, suas poss�veis a��es e responsabilidades, suas caracter�sticas e como elas interagem entre si. Show
A partir das informa��es obtidas, pode-se desenvolver um modelo conceitual que ser� utilizado para orientar o desenvolvimento propriamente dito, fornecendo informa��es sobre os aspectos relacionados ao dom�nio do projeto em quest�o. Saiba mais sobre levantamento de requisitos na Engenharia de Software. Modelo Entidade RelacionamentoO Modelo Entidade Relacionamento (tamb�m chamado Modelo ER, ou simplesmente MER), como o nome sugere, � um modelo conceitual utilizado na Engenharia de Software para descrever os objetos (entidades) envolvidos em um dom�nio de neg�cios, com suas caracter�sticas (atributos) e como elas se relacionam entre si (relacionamentos). Em geral, este modelo representa de forma abstrata a estrutura que possuir� o banco de dados da aplica��o. Obviamente, o banco de dados poder� conter v�rias outras entidades, tais como chaves e tabelas intermedi�rias, que podem s� fazer sentido no contexto de bases de dados relacionais. Observa��o: Nem sempre criaremos modelos para um sistema completo, pois isso poderia resultar em um modelo muito extenso e dif�cil de interpretar. Dependendo da magnitude do que estaremos desenvolvendo, podemos criar modelos apenas para uma parte do sistema, um m�dulo, ou mesmo uma funcionalidade. Imagine, por exemplo, um sistema ERP de grande porte que contemple vendas, finan�as, recursos humanos, etc. V�rias entidades est�o presentes em mais de uma parte do sistema, mas n�o seria muito interessante, e provavelmente nem mesmo necess�rio, criar um �nico modelo para todo o sistema, por isso pode-se dividir a modelagem em v�rias partes menores. EntidadesOs objetos ou partes envolvidas um dom�nio, tamb�m chamados de entidades, podem ser classificados como f�sicos ou l�gicos, de acordo sua exist�ncia no mundo real. Entidades f�sicas: s�o aquelas realmente tang�veis, existentes e vis�veis no mundo real, como um cliente (uma pessoa, uma empresa) ou um produto (um carro, um computador, uma roupa). J� as entidades l�gicas s�o aquelas que existem geralmente em decorr�ncia da intera��o entre ou com entidades f�sicas, que fazem sentido dentro de um certo dom�nio de neg�cios, mas que no mundo externo/real n�o s�o objetos f�sicos (que ocupam lugar no espa�o). S�o exemplos disso uma venda ou uma classifica��o de um objeto (modelo, esp�cie, fun��o de um usu�rio do sistema). S�rie: Levantamento de Requisitos As entidades s�o nomeadas com substantivos concretos ou abstratos que representem de forma clara sua fun��o dentro do dom�nio. Exemplos pr�ticos de entidades comuns em v�rios sistemas s�o Cliente, Produto, Venda, Turma, Fun��o, entre outros. Podemos classificar as entidades segundo o motivo de sua exist�ncia:
Mais adiante veremos um exemplo pr�tico onde poderemos observar a exist�ncia dessas entidades de forma mais clara. RelacionamentosUma vez que as entidades s�o identificadas, deve-se ent�o definir como se d� o relacionamento entre elas. De acordo com a quantidade de objetos envolvidos em cada lado do relacionamento, podemos classifica-los de tr�s formas:
Os relacionamentos em geral s�o nomeados com verbos ou express�es que representam a forma como as entidades interagem, ou a a��o que uma exerce sobre a outra. Essa nomenclatura pode variar de acordo com a dire��o em que se l� o relacionamento. Por exemplo: um autor escreve v�rios livros, enquanto um livro � escrito por v�rios autores. AtributosAtributos s�o as caracter�sticas que descrevem cada entidade dentro do dom�nio. Por exemplo, um cliente possui nome, endere�o e telefone. Durante a an�lise de requisitos, s�o identificados os atributos relevantes de cada entidade naquele contexto, de forma a manter o modelo o mais simples poss�vel e consequentemente armazenar apenas as informa��es que ser�o �teis futuramente. Uma pessoa possui atributos pessoais como cor dos olhos, altura e peso, mas para um sistema que funcionar� em um supermercado, por exemplo, estas informa��es dificilmente ser�o relevantes. Os atributos podem ser classificados quanto � sua fun��o da seguinte forma:
Quanto � sua estrutura, podemos ainda classific�-los como:
Alguns atributos representam valores �nicos que identificam a entidade dentro do dom�nio e n�o podem se repetir. Em um cadastro de clientes, por exemplo, esse atributo poderia ser o CPF. A estes chamamos de Chave Prim�ria. S�rie: MVC e Regras de neg�cio. J� os atributos referenciais s�o chamados de Chave Estrangeira e geralmente est�o ligados � chave prim�ria da outra entidade. Estes termos s�o bastante comuns no contexto de bancos de dados. Mantendo o exemplo anterior, a entidade cliente tem como chave prim�ria seu CPF, assim, a venda possui tamb�m um campo �CPF do cliente� que se relaciona com o campo CPF da entidade cliente. Diagrama Entidade RelacionamentoEnquanto o MER � um modelo conceitual, o Diagrama Entidade Relacionamento (Diagrama ER ou ainda DER) � a sua representa��o gr�fica e principal ferramenta. Em situa��es pr�ticas, o diagrama � tido muitas vezes como sin�nimo de modelo, uma vez que sem uma forma de visualizar as informa��es, o modelo pode ficar abstrato demais para auxiliar no desenvolvimento do sistema. Dessa forma, quando se est� modelando um dom�nio, o mais comum � j� criar sua representa��o gr�fica, seguindo algumas regras. O diagrama facilita ainda a comunica��o entre os integrantes da equipe, pois oferece uma linguagem comum utilizada tanto pelo analista, respons�vel por levantar os requisitos, e os desenvolvedores, respons�veis por implementar aquilo que foi modelado. Em sua nota��o original, proposta por Peter Chen (idealizador do modelo e do diagrama), as entidades deveriam ser representadas por ret�ngulos, seus atributos por elipses e os relacionamentos por losangos, ligados �s entidades por linhas, contendo tamb�m sua cardinalidade (1..1, 1..n ou n..n). Por�m, nota��es mais modernas abandonaram o uso de elipses para atributos e passaram a utilizar o formato mais utilizado na UML, em que os atributos j� aparecem listados na pr�pria entidade. Essa forma torna o diagrama mais limpo e f�cil de ser lido. Observe na Figura 1 um exemplo simples de um diagrama para um sistema de imobili�rias. No dom�nio representado pelo diagrama acima temos as seguintes entidades e relacionamentos:
Uma variante da Figura 1 pode ser vista na Figura 2, onde a cardinalidade do relacionamento � exibida junto do losango. Uma outra varia��o j� mostra a cardinalidade de uma forma mais completa, deixando claro as possibilidades de n�meros de objetos envolvidos em cada relacionamento. Nesse modelo, em cada lado do relacionamento os n�meros aparecem no formato (X,Y) ao inv�s de um �nico n�mero como vemos nas figuras anteriores. A Figura 3 ilustra um exemplo desse tipo. Saiba mais sobre Cardinalidade Neste diagrama, lemos os relacionamentos da seguinte forma:
Os atributos, como j� foi dito, podem aparecer no diagrama na forma de elipses ligadas �s entidades. Essa foi a nota��o original proposta, mas como podemos ver na Figura 4, ela deixa o diagrama com muitos itens e pode atrapalhar um pouco a organiza��o destes. Em uma nota��o mais atual, comumente utilizada na UML, os atributos aparecem listados dentro do pr�prio ret�ngulo da entidade, enquanto o nome da entidade aparece no topo na forma de t�tulo. Na Figura 5 temos um exemplo. Ferramentas CASEDo ingl�s Computer-Aided Software Engineering, as chamadas ferramentas CASE s�o aquelas baseadas em computadores (softwares) utilizadas na Engenharia de Software para aux�lio nas atividades desde an�lise de requisitos at�, modelagem de dados. Voc� tamb�m pode gostar: React Native: do Hello World ao CRUD No contexto desse artigo, as ferramentas CASE permitem a cria��o de diagramas de forma simples em um ambiente de f�cil utiliza��o e com recursos para incluir as principais regras de composi��o dos diagramas. Exemplos comuns desse tipo de ferramenta s�o: Star UML, Astah e ERwin Data Modeler. Na Figura 6 vemos um exemplo de diagrama sendo constru�do no Astah. Al�m dessas ferramentas espec�ficas, alguns IDEs (Integrated Development Environment ou Ambiente de Desenvolvimento Integrado) como o Visual Studio e ferramentas de gerenciamento de bancos de dados como SQL Server Management Studio possuem funcionalidades para criar diagramas facilmente e j� gerar o c�digo equivalente (SQL para cria��o das tabelas, chaves e relacionamentos, por exemplo). Saiba mais sobre como criar diagramas com o Astah Exemplo pr�ticoPara fixar tudo que foi visto ao longo deste artigo, vamos agora desenvolver um pequeno exemplo pr�tico em que modelaremos um sistema de bibliotecas, focando especificamente no empr�stimo de livros. Primeiramente precisamos identificar as entidades envolvidas nesse contexto. Sabemos que as entidades f�sicas existentes s�o o Usu�rio da biblioteca e o Livro que ser� emprestado. Al�m disso, consideraremos aqui que o livro pertence a uma Sess�o, que ajuda na organiza��o das obras do acervo. Em um sistema real pode haver outras informa��es sobre o livro, mas para esse exemplo a sess�o � o bastante. Por fim, temos a entidade l�gica Empr�stimo, que tanto est� relacionada com o usu�rio, quanto com o livro. Assim j� podemos esbo�ar nosso primeiro diagrama, simples, contendo as principais entidades e o relacionamento entre elas (Figura 7). Neste primeiro diagrama podemos identificar alguns dos conceitos vistos:
Agora que visualizamos o dom�nio no diagrama, podemos adicionar os atributos e outras entidades que se fa�am necess�rias. Assim, passamos � Figura 8, Neste ponto cabe fazer algumas observa��es importantes: Especificamos os atributos de cada entidade e marcamos algumas elas com um asterisco, indicando que aquela � a chave prim�ria da tabela, ou seja, um atributo �nico, que nunca poder� se repetir entre as entidades do mesmo tipo. Note que neste momento ainda n�o � necess�rio especificar o tipo de cada atributo (texto, n�mero, data, etc.), isso s� ser� necess�rio mais adiante, quando j� estivermos planejando o banco de dados da aplica��o. Surgiu a entidade associativa Livro_Empr�stimo, que representa os livros contidos em um empr�stimo (considerando um empr�stimo cont�m v�rios livros e um livro pode estar contido em v�rios empr�stimos). Esta entidade � composta pelas chaves das duas entidades principais. Se fosse necess�rio, nesta entidade tamb�m poder�amos adicionar informa��es complementares como quantidade (n�o se aplica neste caso, mas caberia em um sistema de vendas, por exemplo) e observa��es sobre o item. Na entidade associativa, o relacionamento n..n foi dividido em dois relacionamentos do tipo 1..n, agora lidos da seguinte forma: um empr�stimo cont�m v�rios itens, mas um item s� pode estar contido em um �nico empr�stimo (restrito pelas chaves prim�rias); um livro pode estar contido em v�rios itens de empr�stimo (ser emprestado v�rias vezes), mas cada item refere-se a um �nico livro. O Modelo Entidade Relacionamento (e principalmente o diagrama) � uma importante ferramenta durante o desenvolvimento de sistemas, principalmente aqueles mais complexos e dif�ceis de visualizar sem uma an�lise mais aprofundada. A correta modelagem auxilia no correto desenvolvimento da base de dados e evita que v�rias altera��es sejam necess�rias para corrigir erros de concep��o provenientes de falhas durante a an�lise, ou ainda por problemas de comunica��o entre os membros da equipe.
Confira outros conte�dos:
Por Joel Em 2014 Quais os tipos de relacionamento em um BD relacional?Os relacionamentos entre dados de diferentes tabelas podem ser de três tipos:. - 1 – 1 (um para um);. - 1 – N (um para vários) ;. - N – N (vários para vários);. RELACIONAMENTO DO TIPO UM PARA UM.. RELACIONAMENTO DO TIPO UM PARA VÁRIOS.. RELACIONAMENTO DO TIPO VÁRIOS PARA VÁRIOS.. Qual dos itens abaixo não representa um relacionamento em um BD relacional?Poucos para Poucos não representa um relacionamento entre tabelas de um BD relacional.
O que são relacionamentos em um banco de dados relacional?Os relacionamentos de banco de dados são associações entre tabelas que são criadas usando instruções de junção para recuperar dados. A tabela a seguir descreve os relacionamentos do banco de dados. Ambas tabelas podem ter somente um registro de cada lado do relacionamento.
Como se estabelece o relacionamento entre duas tabelas no modelo lógico relacional?Assim, quando dizemos que duas tabelas estão relacionadas através de uma coluna devemos observar que em uma tabela esta coluna será chave primária e na outra tabela ela será uma chave estrangeira que fará a ligação entre as duas tabelas, estabelecendo o relacionamento.
|