Cristiano (discussão | contribs)
 
(45 revisões intermediárias por 3 usuários não estão sendo mostradas)
Linha 1: Linha 1:
= Conceito =
= Conceito =
<br>


O Diagrama de Entidade Relacionamento (DER) é um modelo gráfico que descreve, em alto nível, um modelo prático de negócio ou banco de dados.
Utilizando-se de figuras geométricas diversas para determinar as entidades e seus relacionamentos, podemos, grosso modo, chamar este diagrama de uma espécie de “planta” do projeto ou banco de dados a ser criado.


= Entidade =
== Introdução ==


As entidades podem ser concretas como pessoas ou objetos, ou abstratas como um conceito. Cada entidade é única e caracterizada por um conjunto de propriedades chamadas de atributos.


= Relacionamento =
Esta pesquisa traz uma breve amostra do conceito de um Diagrama de Entidade-Relacionamento (DER), bem como sua modelagem e aplicações, bastante utilizados em Engenharia de Software. Este é um importante recurso que permite identificar entidades e seus relacionamentos, a partir de um banco de dados conceitual, cuja ferramenta gráfica é utilizada para projetar e auxiliar no tratamento de banco de dados.


O relacionamento é o que “liga” as entidades e apresenta qual a relação existente entre elas. Esse relacionamento normalmente é representado por uma ação ou indicação de posse. E possui uma cardinalidade, que é a representação da quantidade de entidades que se relacionam (em função de n).
== Entendendo uma modelagem de dados em OOA ==


= Exemplo 1 =
[[Arquivo:DER-EXEMPLO1.JPG]]


= Exemplo 2 =
Antes de entender do que se trata um DER, é preciso compreender bem o que é uma Análise Orientada a Objetos (OOA) bem como a modelagem de dados. Uma OOA consiste da definição das classes (objetos) que representam o problema a ser resolvido, o modo pelo qual as classes se relacionam e interagem umas com as outras, o funcionamento interno (atributos e operações) dos objetos e os mecanismos de comunicação (mensagens) que permitem a eles trabalharem juntos. Essas relações podem ser expressas através de uma modelagem de dados, que pode ou não seguir um padrão de linguagem. Um deles é o UML (Unified Modeling Language), uma linguagem gráfica para visualização, especificação, construção e documentação de artefatos de sistemas complexos de software, iniciada pelos grandes nomes da Engenharia de Software Booch, Rumbaugh e Jacobson, hoje aprovada pela OMG (Object Management Group), organização que define padrões para aplicações orientadas a objetos.
[[Arquivo:DER-EXEMPLO2.JPG]]


= Exemplo 3 =
Deste modo, um DER é um diagrama de blocos que demonstra todas as relações entre as entidades, suas especializações, seus atributos e auto-relações.
 
= Entidades =
<br>
Uma entidade é um conjunto de objetos do mundo real,ou uma classe destes, sobre os quais se deseja manter informações em um banco de dados. No diagrama é representado por um nome que designa uma classe no interior de um retângulo.
 
 
 
[[Arquivo:Diagramaentidade.jpeg]]
 
São exemplos de entidades em um sistema bancário: cliente, conta, agência, banco. Já em um ambiente empresarial poderíamos ter: produto, empregado, departamento, entre outros.
 
'''OBS:''' ''Uma entidade é denominada entidade fraca quando há dependência desta com outra entidade regular. É o caso de uma empresa que possui em seu banco de dados a entidade "Funcionários" bem como a entidade "Dependentes". No entanto, caso um objeto funcionário seja destituído do banco de dados, a entidade Dependentes também deverá ser, uma vez que não é de interesse mantê-la. Neste caso, utilizamos a seguinte representação:''
 
 
[[Arquivo:Diagramaentidadefraca.jpeg]]
 
 
 
== Atributos ==
 
 
São dados associados a cada ocorrência de uma entidade ou de um relacionamento. Ou seja, apresentam características de uma classe de objetos, no caso uma entidade, ou de um relacionamento, como veremos a seguir. Em diagramas, é representado por elipses.
 
 
 
[[Arquivo:Diagramaatributos.jpeg]]
 
Os atributos podem ser:
 
'''(a) Simples ou composto:''' o atributo pode ou não ser particionado;
 
'''(b) Único ou multivalorado:''' o atributo pode assumir um único valor ou muitos deles;
 
'''(c) Armazenado ou Derivado:''' o atributo pode ser fixo ou dependente de outro;
 
'''(d) NULL:''' pode ser não aplicável ou desconhecido
 
 
 
'''OBS:''' Um atributo é denominado atributo chave, quando este não pode se repetir, ou seja, seus valores são distintos para cada entidade. É o caso de CPF e RG, no âmbito empresarial, quando do cadastro de clientes, por exemplo. É representado por elipses hachuradas ou por seu nome sublinhado.
 
 
[[Arquivo:Diagramaatributochave.jpeg]]
 
= Relacionamentos =
<br>
 
Um relacionamento é uma associação entre entidades, representando como elas se relacionam. Em diagramas, aparece como losangos.
Na figura abaixo, temos um exemplo de como um diagrama de ocorrências (instâncias) é validado em um diagrama entidade-relacionamento:
 
 
[[Arquivo:Diagramaocorrencias.jpeg]]
 
 
 
[[Arquivo:Diagramarelacionamento.jpeg]]
 
 
== Relacionamentos com Atributos ==
 
 
Um relacionamento também pode receber um atributo. Isso ocorre quando o atributo não pertence à primeira, tampouco à segunda entidades, mas sim ao relacionamento. É o caso da imagem abaixo:
 
[[Arquivo:Diagramarelacionamentoat.jpeg]]
 
== Razão de Cardinalidade ==
 
 
Representa um número máximo ou mínimo de instâncias de relacionamentos que uma entidade pode participar. Esta pode ser 1:1 (uma entidade pode ter somente um relacionamento com outra, e vice-versa), 1:N ou mesmo M:N.
 
[[Arquivo:DiagramaCardinalidade.jpeg]]
 
== Participação ==
 
 
Especifica se a existência de uma entidade depende dela estar relacionada a outra entidade, por meio do tipo de relacionamento total ou parcial. Para entender melhor isto, temos o exemplo abaixo: um funcionário pode gerenciar um departamento, mas nem todos os funcionários gerenciam; no entanto, todo departamento é gerenciado por um funcionário. Temos, portanto, uma participação parcial e total, respectivamente, representado por uma traço simples e outro duplo.
 
[[Arquivo:Diagramaparticipacao.jpeg]]
 
== Construção de um diagrama ER ==
 
 
Roteiro básico para a construção de um Diagrama Entidade-Relacionamento
 
(1) Identificar Entidades;
 
(2) Identificar relacionamentos;
 
(3) Identificar Atributos;
 
(4) Identificar cardinalidades.
 
= Exemplos =
<br>
 
'''Software DIA'''
 
O Software DIA é uma excelente ferramente free, open source, desenvolvida para a criação de diagramas, fluxogramas e muito mais. Utiliza a linguagem UML e tem uma boa abrangência para grandes diagramas, de muitas páginas. Os exemplos abaixo foram criados utilizando-se desta ferramenta. Outros softwares são também muito utilizados, principalmente no âmbito acadêmico devido à sua didática aplicável aos conceitos de Engenharia de Software. Um deles é o Astah, anteriormente denominado JUDE, uma plataforma que utiliza a linguagem JAVA, e por isso muito acessível, possuindo também um segmento free, além de também seguir o modelo UML.
 
[[Arquivo:yeddiagrameditor-thumb.jpg]]
 
Imagem: Software DIA em execução
 
[[Arquivo:04-a-customizandodescricaocasouso.jpg]]
 
Imagem: Software ASTAH em execução


= Referências =
= Referências =
FALEIRO, Adail Tiago Lima. Modelo de Entidade de Relacionamento, UPIS, 2011. Disponível em http://www.devmedia.com.br/modelo-entidade-relacionamento-mer/19821 (Acesso em 21 de abril de 2015);
PRESSMAN, Reger S., Engenharia de Software, 1995;
SOMMERVILLE, Ian. Engenharia de Software, 2003;
CARDOSO, Alexandre. Universidade Federal de Uberlândia. Faculdade de Engenharia Elétrica. Disponível em http://www.alexandre.eletrica.ufu.br/esof/ (Acesso em 21 de abril de 2015);
Homepages: http://www.ct.ufpb.br/programas/complexidade/downloads/modelagem_er_aula_2.pdf (Acesso em 21 de abril de 2015)
http://www.ime.usp.br/~jef/listabd02.pdf (Acesso em 21 de abril de 2015)
<br>
= Comentários =
<br>
* Apresentou apenas um modelo de DER

Edição atual tal como às 02h03min de 30 de abril de 2015

Conceito



Introdução

Esta pesquisa traz uma breve amostra do conceito de um Diagrama de Entidade-Relacionamento (DER), bem como sua modelagem e aplicações, bastante utilizados em Engenharia de Software. Este é um importante recurso que permite identificar entidades e seus relacionamentos, a partir de um banco de dados conceitual, cuja ferramenta gráfica é utilizada para projetar e auxiliar no tratamento de banco de dados.

Entendendo uma modelagem de dados em OOA

Antes de entender do que se trata um DER, é preciso compreender bem o que é uma Análise Orientada a Objetos (OOA) bem como a modelagem de dados. Uma OOA consiste da definição das classes (objetos) que representam o problema a ser resolvido, o modo pelo qual as classes se relacionam e interagem umas com as outras, o funcionamento interno (atributos e operações) dos objetos e os mecanismos de comunicação (mensagens) que permitem a eles trabalharem juntos. Essas relações podem ser expressas através de uma modelagem de dados, que pode ou não seguir um padrão de linguagem. Um deles é o UML (Unified Modeling Language), uma linguagem gráfica para visualização, especificação, construção e documentação de artefatos de sistemas complexos de software, iniciada pelos grandes nomes da Engenharia de Software Booch, Rumbaugh e Jacobson, hoje aprovada pela OMG (Object Management Group), organização que define padrões para aplicações orientadas a objetos.

Deste modo, um DER é um diagrama de blocos que demonstra todas as relações entre as entidades, suas especializações, seus atributos e auto-relações.

Entidades


Uma entidade é um conjunto de objetos do mundo real,ou uma classe destes, sobre os quais se deseja manter informações em um banco de dados. No diagrama é representado por um nome que designa uma classe no interior de um retângulo.


São exemplos de entidades em um sistema bancário: cliente, conta, agência, banco. Já em um ambiente empresarial poderíamos ter: produto, empregado, departamento, entre outros.

OBS: Uma entidade é denominada entidade fraca quando há dependência desta com outra entidade regular. É o caso de uma empresa que possui em seu banco de dados a entidade "Funcionários" bem como a entidade "Dependentes". No entanto, caso um objeto funcionário seja destituído do banco de dados, a entidade Dependentes também deverá ser, uma vez que não é de interesse mantê-la. Neste caso, utilizamos a seguinte representação:



Atributos

São dados associados a cada ocorrência de uma entidade ou de um relacionamento. Ou seja, apresentam características de uma classe de objetos, no caso uma entidade, ou de um relacionamento, como veremos a seguir. Em diagramas, é representado por elipses.


Os atributos podem ser:

(a) Simples ou composto: o atributo pode ou não ser particionado;

(b) Único ou multivalorado: o atributo pode assumir um único valor ou muitos deles;

(c) Armazenado ou Derivado: o atributo pode ser fixo ou dependente de outro;

(d) NULL: pode ser não aplicável ou desconhecido


OBS: Um atributo é denominado atributo chave, quando este não pode se repetir, ou seja, seus valores são distintos para cada entidade. É o caso de CPF e RG, no âmbito empresarial, quando do cadastro de clientes, por exemplo. É representado por elipses hachuradas ou por seu nome sublinhado.


Relacionamentos


Um relacionamento é uma associação entre entidades, representando como elas se relacionam. Em diagramas, aparece como losangos. Na figura abaixo, temos um exemplo de como um diagrama de ocorrências (instâncias) é validado em um diagrama entidade-relacionamento:




Relacionamentos com Atributos

Um relacionamento também pode receber um atributo. Isso ocorre quando o atributo não pertence à primeira, tampouco à segunda entidades, mas sim ao relacionamento. É o caso da imagem abaixo:

Razão de Cardinalidade

Representa um número máximo ou mínimo de instâncias de relacionamentos que uma entidade pode participar. Esta pode ser 1:1 (uma entidade pode ter somente um relacionamento com outra, e vice-versa), 1:N ou mesmo M:N.

Participação

Especifica se a existência de uma entidade depende dela estar relacionada a outra entidade, por meio do tipo de relacionamento total ou parcial. Para entender melhor isto, temos o exemplo abaixo: um funcionário pode gerenciar um departamento, mas nem todos os funcionários gerenciam; no entanto, todo departamento é gerenciado por um funcionário. Temos, portanto, uma participação parcial e total, respectivamente, representado por uma traço simples e outro duplo.

Construção de um diagrama ER

Roteiro básico para a construção de um Diagrama Entidade-Relacionamento

(1) Identificar Entidades;

(2) Identificar relacionamentos;

(3) Identificar Atributos;

(4) Identificar cardinalidades.

Exemplos


Software DIA

O Software DIA é uma excelente ferramente free, open source, desenvolvida para a criação de diagramas, fluxogramas e muito mais. Utiliza a linguagem UML e tem uma boa abrangência para grandes diagramas, de muitas páginas. Os exemplos abaixo foram criados utilizando-se desta ferramenta. Outros softwares são também muito utilizados, principalmente no âmbito acadêmico devido à sua didática aplicável aos conceitos de Engenharia de Software. Um deles é o Astah, anteriormente denominado JUDE, uma plataforma que utiliza a linguagem JAVA, e por isso muito acessível, possuindo também um segmento free, além de também seguir o modelo UML.

Imagem: Software DIA em execução

Imagem: Software ASTAH em execução

Referências

FALEIRO, Adail Tiago Lima. Modelo de Entidade de Relacionamento, UPIS, 2011. Disponível em http://www.devmedia.com.br/modelo-entidade-relacionamento-mer/19821 (Acesso em 21 de abril de 2015);

PRESSMAN, Reger S., Engenharia de Software, 1995;

SOMMERVILLE, Ian. Engenharia de Software, 2003;

CARDOSO, Alexandre. Universidade Federal de Uberlândia. Faculdade de Engenharia Elétrica. Disponível em http://www.alexandre.eletrica.ufu.br/esof/ (Acesso em 21 de abril de 2015);

Homepages: http://www.ct.ufpb.br/programas/complexidade/downloads/modelagem_er_aula_2.pdf (Acesso em 21 de abril de 2015)

http://www.ime.usp.br/~jef/listabd02.pdf (Acesso em 21 de abril de 2015)

Comentários


  • Apresentou apenas um modelo de DER