Cristiano (discussão | contribs)
 
(38 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 =


Neste exemplo podemos notar a cardinalidade entre as entidades.
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-EXEMPLO1.JPG]]
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.


= Exemplo 2 =
= 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.


Com esta representação notamos os atributos que são dados as entidades e a sua relação.


[[Arquivo:DER-EXEMPLO3.JPG]]


= Exemplo 3 =
[[Arquivo:Diagramaentidade.jpeg]]


[[Arquivo:DER-EXEMPLO2.JPG]]
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>


Silberschatz, Korth e Sudarshan, Sistema Banco de Dados, 5 Ed., Editora Campus
* Apresentou apenas um modelo de DER
http://www.ic.unicamp.br/~beatriz/cursos/mc536/slides/MER-p-pagina.pdf

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