Aula 3 - Modelo Entidade-Relacionamento

Documentos relacionados
MATA60 BANCO DE DADOS Aula 3- Modelo de Entidades e Relacionamentos. Prof. Daniela Barreiro Claro

Banco de Dados I 2007 Módulo II: Modelagem Entidade- Relacionamento versus Relacional. (Aula 1) Clodis Boscarioli

BANCO DE DADOS. Engenharia da Computação Univasf. Modelo Entidade-Relacionamento. Aula 2. Conjuntos de Entidades - Representação Exemplo:

Bancos de Dados Aula #2 - Modelos Conceituais de Dados

Computação Instrumental

Análise e Projeto de Sistemas I

18/03/2012. Independência de Dados: capacidade de modificar a definição dos esquemas em. determinado nível, sem afetar o esquema do nível superior;

MODELAGEM DE DADOS PARTE 1

Modelagem Conceitual e o Modelo Entidade-Relacionamento

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE BANCO DE DADOS MODELO ENTIDADE- RELACIONAMENTO

Ciclo de Desenvolvimento de BD

Banco de Dados. Aula 3 - Prof. Bruno Moreno 26/08/2011

Introdução. Modelo de dados conceitual para o projeto de BD

IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1/64

BANCO DE DADOS. Bacharelado em Sistemas de Informação MODELAGEM DE DADOS. Profº Luciano Roberto Rocha. Itararé, 2º período

Modelagem de dados usando MER. Andre Noel

Banco de dados. Objetivo: Reter os dados de forma que possam ser utilizados em outros momentos

Banco de dados. Objetivo: Reter os dados de forma que possam ser utilizados em outros momentos

Modelagem semântica permite aproximar o modelo obtido do mundo real Exemplo de modelos:

Modelagem de dados usando o modelo Entidade- Relacionamento (ER)

Unidade 2 Modelo Conceitual

MC536. Modelo Entidade- Relacionamento

Restrições de Integridade. Prof. Jefferson Silva CEFET.PHB - PI

Banco de Dados. André Luís Duarte Capítulo 2. exatasfepi.com.br

Banco de Dados Modelagem de Dados. Prof. Joel da Silva

UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ CIÊNCIA DA COMPUTAÇÃO PROJETO DE BANCO DE DADOS RELACIONAL. Profº Erinaldo Sanches Nascimento

Prof. Fabiano Taguchi

Revisão e Exercícios. Relacionamento. Projeto de Bancos de Dados. Chave e Domínio. Tipos de Atributos

NORMALIZAÇÃO. Lílian Simão Oliveira

Bancos de Dados. 7. Mapeamento ER/ERE para Relacional

Modelo Lógico de Dados. Modelo Relacional

Unidade II ADMINISTRAÇÃO DE BANCO DE DADOS

BANCO DE DADOS E APLICAÇÕES EM NEGÓCIOS: Modelagem usando o Modelo Entidade Relacionamento. Evandro Eduardo Seron Ruiz, Ph.D.!

Modelo Entidade-Relacionamento

Prof. Fabiano Taguchi

Universidade Federal da Paraíba CCEN Departamento de Informática Disciplina: Banco de Dados. Aula 1 Introdução a Banco de Dados

Banco de Dados Modelagem de Dados

Modelo Relacional. Aula 02

Ciclo de Desenvolvimento de Sistemas de BD

Faculdade Ieducare. 5º Semestre Sistemas de Informação. Professor: Rhyan Ximenes. Banco de Dados II 1. Banco de Dados II

MODELAGEM DE DADOS. Projeto de Banco de Dados Modelo Conceitual. Prof. Rosemary Melo

MODELO DE BANCO DE DADOS RELACIONAL

Sumário. Modelo Entidade-Associação. Modelo Entidade-Associação. Entidades. André Restivo. September 21, 2010

Modelo Entidade-Relacionamento. Aécio Costa

Análise Estruturada. Modelagem de Software Prof. Flávio de Oliveira Silva, Ph.D.

Bancos (Bases) de Dados Aula #4 Modelo Relacional

Modelagem de Dados Usando o Modelo Entidade-Relacionamento (ME-R)

Modelo Entidade- Relacionamento (MER) Adão de Melo Neto

SISTEMA DE INFORMAÇÃO Modelo Conceitual. Prof. Luiz Fernando Laguardia Campos FMS

Abordagem ER. Capítulo 2

Modelo Entidade- Relacionamento

Fundamentos de Banco de Dados e Modelagem de Dados

BCD29008 Banco de dados

1. MINI MUNDO Descrição formal da realidade a ser representada. Exemplo: suponhamos que as Faculdades Dom Bosco funcionem assim:

Modelos Conceituais de Dados

Arquitetura dos SBDs Características e Benefícios Visão Geral de Projeto de BD MER: Entidades e Atributos Atividade.

INF1012 MODELAGEM DE DADOS. Departamento de Informática PUC-Rio. Ivan Mathias Filho A Abordagem Entidade-Relacionamento

INTRODUÇÃO AO MODELO RELACIONAL

Projeto Banco de Dados

P R O J E T O: C A R N A V A L. 2. Informações Básicas sobre o Sistema a ser Desenvolvido

MODELAGEM DE DADOS PARTE 2

MER e DER Entidades Relacionamentos Atributos Ferramentas CASE Exemplos de DERs Exemplo de Minimundo. Banco de Dados. Aula 1.

Análise e Projeto de Sistemas

Banco de Dados. Modelo de Dados Relacional. João Eduardo Ferreira Osvaldo Kotaro Takai DCC-IME-USP

Informática. Banco de Dados Relacional. Professor Julio Alves.

BCD29008 Banco de dados

Modelagem de Dados MODELAGEM DE DADOS. Projeto de Banco de Dados Modelo Conceitual. Profa. Rosemary Melo

Modelagem de Dados MODELAGEM DE DADOS. Projeto de Banco de Dados Modelo Conceitual. Profa. Rosemary Melo

Modelo Entidade Relacionamento

1. MINI MUNDO Descrição formal da realidade a ser representada. Exemplo: suponhamos que as Faculdades Dom Bosco funcionem assim:

Modelo Entidade Relacionamento (MER) Professor : Esp. Hiarly Alves

Modelo Relacional. Banco de Dados 2º trimestre Prof. Patrícia Lucas

Banco de Dados. Aula 4 - Prof. Bruno Moreno 02/09/2011

Banco de Dados. Modelo Entidade Relacionamento. João Eduardo Ferreira Osvaldo Kotaro Takai Marcelo Finger

Dependência Funcional e Normalização)

Apostila de Modelagem de Banco de Dados

01 - Quais as principais vantagens da utilização de um Sistema de Banco de Dados em relação aos sistemas tradicionais de gerenciamento de arquivos?

Tópico: Modelagem CONTEÚDO PROGRAMÁTICO

Projeto Conceitual Usando o Modelo-Entidade Relacionamento

Banco de Dados Diagrama Entidade Relacionamento DER

Transcrição:

Aula 3 - Modelo Entidade-Relacionamento 1. Conceitos básicos O modelo Entidade-Relacionamento (E-R) tem por base a percepção de que o mundo real é formado por um conjunto de objetos chamados de entidades e pelo conjunto de relacionamentos entre esses objetos. Foi desenvolvido para facilitar o projeto do banco de dados, permitindo a especificação do esquema da empresa que representa toda a estrutura lógica. O modelo E-R é um dos modelos com maior capacidade semântica; que se referem a tenativa de representar o significado dos dados. Existem três noções básicas empregadas pelo modelo E-R: conjunto de entidades, conjunto de relacionamentos, e os atributos. 1.1. Conjunto de Entidades Uma entidade é uma coisa ou um objeto do mundo real que pode ser identificada de forma unívoca em relação a todos os outros objetos. Por exemplo, cada pessoa na empresa é uma entidade. Uma entidade tem um conjunto de propriedades, e os valores para alguns conjuntos dessas propriedades devem ser únicos. Uma entidade pode ser concreta como uma pessoa ou um livro, ou pode ser abstrata como um empréstimo, uma viagem de férias ou um conceito.

Um conjunto de entidades é um conjunto de abrange entidades de um mesmo tipo que compartilham as mesmas propriedades: os atributos. As entidades individuais que constituem um conjunto são chamadas de extensões do conjunto de entidades. Uma entidade é representada por um conjunto de atributos. Atributos são propriedades descritivas de cada membro de um conjunto de entidades. Formalmente um atributo de um conjunto de entidades é uma função que relaciona o conjunto de entidades a seu domínio. Um atributo, como é usado no modelo E-R, pode ser caracterizado pelos seguintes tipos: Atributos Simples ou compostos. Os atributos simples são aqueles que não são divididos em partes. Os compostos podem ser divididos em partes, por exemplo, nome_cliente, pode ser estruturado em prenome, nome_intermediário, e sobrenome. Os atributos compostos ajudam-nos a agrupar atributos correlacionados tornando o modelo mais claro. Atributos monovalorados ou multivalorados. Um exemplo de um atributo monovalorado poderia ser o atributo número_empréstimo, o qual teria associado apenas um número de empréstimo. Pode acontecer, no entanto, que uma determinada instância possua um conjunto de valores para uma única entidade. Por exemplo, o atributo nome_dependente, da entidade empregado, pode ter um, nenhum ou vários dependentes cadastrados. Atributos nulos. Um atributo é nulo quando uma entidade não apresenta valor para o mesmo. Por exemplo, se um empregado não possui dependentes o valor do atributo

nome_dependente será nulo, significando que este atributo não é aplicável a esta instância em particular. Atributo derivado. O valor deste atributo pode ser derivado de outros atributos ou entidades a ele relacionados. Por exemplo, a idade de um funcionário pode ser calculada pela data de seu aniversário. 2. Conjunto de Relacionamentos Um relacionamento é uma associação entre uma ou várias entidades. Um conjunto de relacionamentos é um conjunto formado por relacionamentos de um mesmo tipo. Considere dois relacionamentos de entidades cliente e empréstimo. O conjunto de relacionamentos devedor denota a associação entre clientes e empréstimos bancários contraídos pelo cliente. A associação entre os conjuntos de entidades é referida como uma participação, isto é, o conjunto de entidades E 1, E 2,..., E n participa do conjunto de relacionamentos R. A função que uma entidade desempenha em um relacionamento é chamada papel. Uma vez que os conjuntos de entidades participantes em um conjunto de relacionamentos são geralmente distintos, papéis são implícitos, e não são em geral, especificados. Mas, são úteis quando o relacionamento precisa ser esclarecido. Em conjuntos de relacionamentos recursivos, nomes explícitos de papéis muitas vezes são necessários. Por exemplo, o conjunto de entidades empregado, e o conjunto de

relacionamentos trabalha_para, que é modelado para ordenar os pares da entidade empregado. O primeiro empregado tem papel de gerente, enquanto que o outro tem o papel de empregado. Um relacionamento pode ter atributos descritivos. O conjunto de relacionamentos depositante, com o conjunto de entidades cliente e conta, por exemplo, apresenta o atributo data_acesso. Relacionamento binário é um relacionamento que envolve dois conjuntos de entidades. A maior parte dos conjuntos de relacionamentos modelados em um sistema de banco de dados é do tipo binário. Algumas vezes, no entanto, aparecem relacionamentos que envolvem mais de dois conjuntos de entidades. Como exemplo, podemos combinar os conjuntos de relacionamentos devedor e agência_empréstimo formando o conjunto de relacionamentos CEA, entre as entidades Cliente, Empréstimo e Agência. O número de entidades que participam de um relacionamento define o grau deste relacionamento. Um conjunto de relacionamento binário tem grau 2, e um ternário, grau 3. Conjunto de Entidades ou Atributos? Muitas vezes aparecem dificuldades no reconhecimento do que seja uma entidade ou um atributo. Por exemplo, uma entidade empregado com dois atributos: nome_empregado, e telefone. O atributo telefone pode ser modelado como uma entidade. Se definirmos como atributo, isto implica dizer que cada empregado tem precisamente um número de telefone a ele associado. Caso seja modelado como entidade, reflete que um

empregado pode ter vários (ou nenhum) números de telefones a ele associado. Já o atributo nome_empregado não poderia nunca ser modelado como entidade. Infelizmente não existe uma resposta simples para sabermos do que constitui um atributo e o que constitui uma entidade. As distinções vão depender da estrutura geral que está sendo modelada. Conjuntos de Entidades ou de Relacionamentos? Nem sempre fica claro se devemos modelar um objeto como um conjunto de entidades ou de relacionamentos. Por exemplo, considere o problema do empréstimo bancário representado como um relacionamento entre clientes e agências, com número_empréstimo e conta como atributos. Cada empréstimo é representado como um relacionamento entre um cliente e uma agência. Se todo empréstimo é tomado por exatamente um cliente e está associado à exatamente uma agência, podemos resolver o projeto de modo satisfatório, representando empréstimo como relacionamento. Mas, considere que vários clientes tomem um mesmo empréstimo em conjunto. Então, nesse caso, é necessário definir um relacionamento em separado para cada componente do empréstimo conjunto. Desta forma, os atributos descritivos numero_empréstimo e conta precisarão ser replicados para cada um dos relacionamentos. Os problemas que surgem devido a esta replicação são: (1) os dados são armazenados diversas vezes, desperdiçando espaço em

memória, e (2) as atualizações deixam potencialmente os dados em estado inconsistente. Ao descrever empréstimo como uma entidade, este problema de replicação desaparece. Relacionamentos n-ésimos. Uma outra característica importante que diz respeito a relacionamentos, é que sempre é possível recompor um conjunto de relacionamentos não-binário, por um número de relacionamentos binários distintos. Mas, pode ser necessária a criação de um atributo de identificação para o conjunto de entidades criado para substituir o conjunto de relacionamentos. Além disso, um conjunto de relacionamentos n-ésimo mostra claramente todos os conjuntos de entidades que participam de uma determinada relação. O projeto correspondente usando somente relacionamentos binários torna mais difícil estabelecer as restrições desta participação. 3. Mapeamento de Restrições 3.1 Cardinalidade O esquema E-R de uma empresa pode definir certas restrições as quais o conteúdo do banco de dados deve respeitar. Exemplos de restrições são: o mapeamento de cardinalidades e a existência de dependências. O mapeamento de cardinalidades expressa o número de entidades às quais outras entidades podem estar associadas através de um conjunto de relacionamentos. Para um conjunto de relacionamentos binário, o mapeamento de cardinalidades segue as instruções abaixo:

Um para um. Uma entidade em A está associada no máximo a uma entidade em B, e uma entidade em B está associada no máximo a uma entidade em A. Um para muitos. Uma entidade em A está associada a várias entidades em B. Uma entidade em B deve estar associada a uma única entidade em A. A B A B a1 a2 a3 a4 b1 b2 b3 b4 a1 a2 a3 b1 b2 b3 b4 b5 (a) (b) Figura 1 Mapeamento de cardinalidades. (a) Um para um. (b) Um para muitos. Muitos para um. Uma entidade em A está associada a no máximo uma entidade em B. Uma entidade em B, entretanto, pode estar associada a um número qualquer de entidades em A.

Muitos para muitos. Uma entidade em A está associada a qualquer número de entidades em B e uma entidade em B está associada a um número qualquer de entidades em A. A B A B a1 a2 a3 a4 a5 b1 b2 b3 a1 a2 a3 a4 b1 b2 b3 b4 (a) (b) Figura 2 Mpeamento de Cardinalidade. (a) Muitos para um. (b) Muitos para Muitos. O mapeamento de cardinalidade para um conjunto de relacionamentos em particular é obviamente dependente das situações reais que estão sendo modeladas. O rateio de cardinalidades de um relacionamento pode afetar a colocação dos atributos nos relacionamentos. Conjuntos de relacionamentos um para um, ou um para muitos devem associar os atributos a uma das entidades participantes. Considere o caso das entidades cliente e conta, e o relacionamento depositante. O atributo dataacesso deverá estar associado à entidade conta.

3.2 Dependência de Existência Uma classe importante de restrições á a dependência de existência. Se a existência da entidade x depende da existência da entidade y, então x é dito dependente da existência de y. E se y for excluído, o mesmo deve acontecer com x. A entidade y é chamada de entidade dominante e a x é chamada entidade subordinada. Como exemplo, considere o conjunto de entidades empréstimo e o conjunto de entidades pagamento. Toda entidade pagamento está associada a uma entidade empréstimo. Se uma entidade empréstimo é excluída, todas as entidades pagamento a ela associada devem ser excluídas também. Se por outro lado, uma entidade pagamento for excluída, a entidade empréstimo não será afetada. Portanto, a entidade empréstimo é dominante e a entidade pagamento subordinada. A participação de um conjunto de entidades E no conjunto de relacionamento R é dita total se todas as entidades em E participam de pelo menos um relacionamento em R. Se somente algumas entidades em E participam do relacionamento R a participação do conjunto de entidades é dito parcial. A participação total está relacionada à existência de dependência. 4. Chaves Precisamos especificar como as entidades dentro de um dado conjunto de entidades e os relacionamentos dentro de um conjunto de relacionamentos podem ser identificados. O conceito de chave nos ajuda a fazer esta distinção. 4.1 Conjunto de Entidades

Uma superchave é um conjunto de um ou mais atributos que, tomados coletivamente, nos permitem identificar de maneira unívoca, uma entidade em um conjunto de entidades. Ex. seguro_social, e a combinação de seguro_social com nome_cliente. Se K é uma superchave, então qualquer superconjunto de K é também uma superchave. Mas, queremos supoerchaves para as quais nenhuma subconjunto possa ser uma superchave. Essas superchaves são chamadas de chaves candidatas. O termo chave primária é o termon usado para caracterizar a chave candidata escolhida pelo projetista do banco como sendo de significado especial para a identificação das entidades. A especificação de uma chave representa uma restrição ao mundo real da empresa que está sendo modelada. 4.2 Conjunto de Relacionamentos A chave primária de um conjunto de entidades permite-nos distinguir as várias entidades de um conjunto. Precisamos definir um mecanimo para a indetificação dos vários relacionamentos em um conjunto de relacionamentos. Seja R um conjunto de relacionamentos envolvendo os conjuntos de entidades E1, E2,..., Em. Seja uma chave_primária (Ei) denotando o conjunto de atributos que formam a chave primária do conjunto de entidades Ei. Se o relacionamento R não possui atributos, então o conjunto de atributos abaixo descreve um relacionamento individual do conjunto R:

Chave_primária (E1) U Chave_primária (E2) U... U Chave_primária (En) A estrutura da chave primária para o conjunto de relacionamentos depende do mapeamento da cardinalidade do mesmo. Se o relacionamento é muitos para muitos, a chave primária do relacionamento constitui a união das chaves primárias das duas entidades. Se o relacionamento é muitos para um, então a chave primária da entidade de menor cardinalidade pode identificar o relacionamento. Se o relacionamento é um para um, qualquer uma das chaves pode ser usada.