Modelo entidade relacionamento: diferenças entre revisões

Conteúdo apagado Conteúdo adicionado
GFFG
Etiquetas: Código wiki errado Editor Visual
HVL (discussão | contribs)
m Reversão de uma ou mais edições de 193.236.66.169 para a versão 41336276 de Marcos Elias de Oliveira Júnior, com Reversão e avisos.
Linha 1:
[[Image:ER Diagram MMORPG.png|thumb|450px|Um exemplo do '''DER''' utilizando a notação proposta por [[Peter Chen]]]]
Em [[engenharia de software]], um '''modelo entidade relacionamento''' ('''modelo ER''') é um [[modelo de dados]] para descrever os dados ou aspectos de informação de um domínio de negócio ou seus requerimentos de processo, de uma maneira abstrata que em última análise se presta a ser implementada em um [[banco de dados]], como um [[banco de dados relacional]]. Os principais componentes dos Modelos Entidades Relacionamento (MER) são as e[[entidade|ntidade]]s(coisas,objetos) suas relações e armazenamento em bancos de dados.
 
A 'MER' foi desenvolvida por [[Peter Chen]] e publicada em um artigo de 1976. Entretanto, variantes da ideia existiram anteriormente e,posteriormente, foram imaginadas como entidades de dados de supertipo e subtipo e relacionamentos de uniformização.
== ==[[Categoria:Linguagens de modelagem de dados]]
 
== Visão geral ==
Um modelo entidade relacionamento é uma maneira sistemática de descrever e definir um processo de negócio. O processo é modelado como componentes (''entidades'') que são ligadas umas as outras por ''relacionamentos'' que expressam as dependências e exigências entre elas, como: ''um edifício pode ser dividido em zero ou mais apartamentos, mas um apartamento pode estar localizado em apenas um edifício''. Entidades podem ter várias propriedades (''atributos'') que os caracterizam. Diagramas criados para representar graficamente essas entidades, atributos e relacionamentos são chamados de diagramas entidade relacionamento.
 
Um modelo ER é normalmente implementado como um [[banco de dados]]. Nos casos de um [[banco de dados relacional]], que armazena dados em tabelas, as próprias tabelas representam as entidades. Alguns campos de dados nestas tabelas apontam para índices em outras tabelas. Tais ponteiros representam relacionamentos.
 
A [[abordagem de três esquemas]] para a [[engenharia de software]] utiliza três níveis de modelos ER que podem ser desenvolvidos.
 
;[[Modelo de dados conceitual]]
:Este é o modelo ER de alto nível em que contém o detalhe menos granular mas estabelece o escopo global do que está para ser incluído dentro do conjunto do modelo. O modelo ER conceitual normalmente define entidades de dados de referência mestre que são comumente usadas pela organização. Desenvolver um modelo ER conceitual de amplitude corporativa é útil para suportar a documentação da [[arquitetura de dados]] para uma organização.
:Um modelo ER conceitual pode ser usado como a fundação para um ou mais ''modelos de dados lógicos'' (ver abaixo). O propósito do modelo ER conceitual é então estabelecer a comunalidade de [[metadados]] estruturais para as entidades de [[dados mestre]] entre o conjunto de modelos ER lógicos. O modelo de dados conceitual pode ser usado para formar comunais entre modelos ER como uma base para integração de modelo de dados.
 
==Tipos de relacionamentos==
A notação original proposta por [[Peter Chen]] e é composta de entidades ([[retângulo|retângulos]]), relacionamentos ([[losango|losangos]]), atributos ([[elipses]]) e linhas de conexão ([[linhas]]) que indicam a [[cardinalidade]] de uma entidade em um relacionamento. Os tipos de relacionamentos que são utilizadas neste diagrama:
 
* '''[[1 para 1|Relacionamento 1..1 (lê-se relacionamento um para um)]]''' - indica que as tabelas têm relacionamento apenas entre si. Você deve escolher qual tabela receberá a [[chave estrangeira]];
* '''[[1 para N|Relacionamento 1..n (lê-se um para muitos)]]''' - a '''chave primária''' da tabela que tem o lado <u>1</u> vai para a tabela do lado <u>N.</u> No lado <u>N</u> ela é chamada de '''chave estrangeira''';
* '''[[N para N|Relacionamento n..n (lê-se muitos para muitos)]]''' - quando tabelas têm entre si relacionamento n..n, é necessário criar uma nova tabela '''com as chaves primárias das tabelas envolvidas''', ficando assim uma '''''chave composta''''', ou seja, formada por diversos campos-chave de outras tabelas. O relacionamento então se reduz para uma relacionamento 1..n, sendo que o lado n ficará com a nova tabela criada.
 
=={{Veja também}}==
* [[Modelo de Entidades e Relacionamentos|MER - Modelo de Entidades e Relacionamentos]]
* [[Modelo Relacional]]
* [[Modelagem de dados]]
* [[Administração de dados]]
* [[UML]]
* [[IDEF1X]]
* [[Ferramenta CASE]]
* [[DBDesigner]]
* [[Matriz CRUD]]
 
{{esboço-informática}}
 
== ==[[Categoria:Linguagens de modelagem de dados]]
[[Categoria:Diagramas da UML]]