29
Modelo Entidade- Relacionamento Conjunto de Entidades Conjunto de relacionamentos Metas de projeto Mapeamento de restrições Chaves Diagrama E-R Recursos de extensão do diagrama E-R Projeto de um esquema de banco de dados E-R Redução de um esquema E-R a tabelas

Modelo Entidade-Relacionamento Conjunto de Entidades Conjunto de relacionamentos Metas de projeto Mapeamento de restrições Chaves Diagrama E-R Recursos

Embed Size (px)

Citation preview

Page 1: Modelo Entidade-Relacionamento Conjunto de Entidades Conjunto de relacionamentos Metas de projeto Mapeamento de restrições Chaves Diagrama E-R Recursos

Modelo Entidade-Relacionamento

Conjunto de Entidades

Conjunto de relacionamentos

Metas de projeto

Mapeamento de restrições

Chaves

Diagrama E-R

Recursos de extensão do diagrama E-R

Projeto de um esquema de banco de dados E-R

Redução de um esquema E-R a tabelas

Page 2: Modelo Entidade-Relacionamento Conjunto de Entidades Conjunto de relacionamentos Metas de projeto Mapeamento de restrições Chaves Diagrama E-R Recursos

Conjuntos de Entidades

Um banco de dados pode ser modelado como:uma coleção de entidades conjuntos de relacionamentos entre entidades

Uma entidade é um objeto que existe e é distinto dos outros objetos na aplicação.

Um conjunto de entidades é uma coleção de entidades do mesmo tipo, as quais partilham as mesmas propriedades.

Page 3: Modelo Entidade-Relacionamento Conjunto de Entidades Conjunto de relacionamentos Metas de projeto Mapeamento de restrições Chaves Diagrama E-R Recursos

Atributos

Uma entidade é representada por um conjunto de atributos, os quais são propriedades descritivas de todos os membros de um conjunto de entidades.

Exemplo: Conta = (número_cta, saldo)

Domínio: o conjunto de todos os valores permitidos para um atributo.

Tipos de atributos:

simples e compostos uni e multivalorados nulos derivados

Page 4: Modelo Entidade-Relacionamento Conjunto de Entidades Conjunto de relacionamentos Metas de projeto Mapeamento de restrições Chaves Diagrama E-R Recursos

Conjuntos de Relacionamentos

Um relacionamento é uma associação entre várias entidades. Um conjunto de relacionamentos é uma relação matemática

entre n ³ 2 entidades, cada uma tomada de conjuntos de entidades.

{(e1, e2, ..., en) | e1 E1, e2 E2, ..., en En} onde (e1, e2, ..., en) é um relacionamento.

Exemplo: (Barros, A-102) Depositante. Um relacionamento pode ter seus próprios atributos. Assim, o

relacionamento Depositante pode ter o atributo data_acesso.

Page 5: Modelo Entidade-Relacionamento Conjunto de Entidades Conjunto de relacionamentos Metas de projeto Mapeamento de restrições Chaves Diagrama E-R Recursos

Grau de um Conjunto de Relacionamentos

Refere-se ao número de conjuntos de entidades que participam de um conjunto de relacionamentos.

Relacionamentos envolvendo dois conjuntos de entidades são ditos binários (ou grau 2). A maioria dos relacionamentos em um banco de dados é binária.

Relacionamentos podem envolver mais do que dois conjuntos de entidades (grau 3, grau 4, etc.).

Page 6: Modelo Entidade-Relacionamento Conjunto de Entidades Conjunto de relacionamentos Metas de projeto Mapeamento de restrições Chaves Diagrama E-R Recursos

Regras

Os conjuntos de entidades de um relacionamento não precisam ser distintos.

Os rótulos "Gerente" e "Operário" são chamados regras; eles especificam como as entidades Empregado interagem via conjunto de relacionamentos Trabalha_para.

Regras são indicadas no diagrama E-R pela rotulagem das linhas que conectam losangos com retângulos.

Os rótulos são opcionais e usados para facilitar o entendimento semântico do relacionamento.

EmpregadoOperário

GerenteChapa_emp

nome_emptel_emp

Trabalha_para

Page 7: Modelo Entidade-Relacionamento Conjunto de Entidades Conjunto de relacionamentos Metas de projeto Mapeamento de restrições Chaves Diagrama E-R Recursos

Metas de Projeto Uso de conjuntos de entidades versus atributos

A escolha depende principalmente da estrutura real da empresa que está sendo modelada e da semântica associada aos atributos.

Uso de conjuntos de entidades versus conjuntos de relacionamentos.

Uma linha mestra é recorrer ao conjunto de relacionamentos para descrever uma ação que ocorre entre entidades.

Conjuntos de relacionamentos binários versus n-ários

Embora possa-se restringir o modelo E-R para conter apenas conjuntos de relacionamentos binários, conjuntos de relacionamentos n-ários mostram mais claramente que várias entidades participam em um relacionamento.

Page 8: Modelo Entidade-Relacionamento Conjunto de Entidades Conjunto de relacionamentos Metas de projeto Mapeamento de restrições Chaves Diagrama E-R Recursos

Mapeamento de Cardinalidades

Expressa o número de entidades ãs quais outra entidade pode estar associada via um conjunto de relacionamentos.

É mais útil na descrição dos conjuntos de relacionamentos binários. Deve ser de um dos seguintes tipos para um conjunto de

relacionamentos binário: Um para um Um para muitos Muitos para um Muitos para muitos

Distingue-se entre estes tipos desenhando-se uma seta (), significando um, ou uma linha (-), significando muitos, entre o conjunto de relacionamentos e o conjunto de entidades.

Page 9: Modelo Entidade-Relacionamento Conjunto de Entidades Conjunto de relacionamentos Metas de projeto Mapeamento de restrições Chaves Diagrama E-R Recursos

Relacionamento um para um

Um cliente está associado no máximo a um empréstimo pelo relacionamento Devedor.

Um empréstimo está associado no máximo a um cliente pelo relacionamento Devedor.

Cliente Devedor Empréstimo

nome_cli

cpf_cli rua_cli

cidade_cli

número_empr Total_empr

Page 10: Modelo Entidade-Relacionamento Conjunto de Entidades Conjunto de relacionamentos Metas de projeto Mapeamento de restrições Chaves Diagrama E-R Recursos

Relacionamentos um para muitos e muitos para um

Cliente Empréstimo

nome_cli

cpf_cli rua_cli

cidade_cli

número_empr Total_empr

Devedor

Cliente Empréstimo

nome_cli

cpf_cli rua_cli

cidade_cli

número_empr Total_empr

Devedor

Page 11: Modelo Entidade-Relacionamento Conjunto de Entidades Conjunto de relacionamentos Metas de projeto Mapeamento de restrições Chaves Diagrama E-R Recursos

Relacionamento Muitos para Muitos

Cliente Devedor Empréstimo

nome_cli

cpf_cli rua_cli

cidade_cli

número_empr Total_empr

Page 12: Modelo Entidade-Relacionamento Conjunto de Entidades Conjunto de relacionamentos Metas de projeto Mapeamento de restrições Chaves Diagrama E-R Recursos

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. y é uma entidade dominante, x é uma entidade subordinada.

Se um empréstimo for excluído, então também todos os pagamentos a ele associados deverão ser.

Empréstimo PagamentoPagamento_para

Page 13: Modelo Entidade-Relacionamento Conjunto de Entidades Conjunto de relacionamentos Metas de projeto Mapeamento de restrições Chaves Diagrama E-R Recursos

Chaves Uma super chave de um conjunto de entidades é um conjunto de

um ou mais atributos cujos valores determinam univocamente cada entidade.

Uma chave candidata de um conjunto de entidades é uma super chave minimal. Ex.: cpf_cli é uma chave candidata de Cliente

Embora possam existir várias chaves candidatas, uma delas é escolhida para ser a chave primária do conjunto de entidades.

A combinação das chaves primárias dos conjuntos de entidades participantes forma uma chave primária do conjunto de relacionamentos.

Deve-se considerar o mapeamento de cardinalidades e a semântica do conjunto de relacionamentos ao escolher a chave primária.

Page 14: Modelo Entidade-Relacionamento Conjunto de Entidades Conjunto de relacionamentos Metas de projeto Mapeamento de restrições Chaves Diagrama E-R Recursos

Componentes do Diagrama E-R

Retângulos representam conjuntos de entidades. Elipses representam atributos. Losangos representam conjuntos de relacionamentos. Linhas ligam atributos a conjuntos de entidades e

conjuntos de entidades a conjuntos de relacionamentos. Elipses duplas representam atributos multivalorados. Elipses pontilhadas denotam atributos derivados. Atributos chave primária aparecem sublinhados.

Page 15: Modelo Entidade-Relacionamento Conjunto de Entidades Conjunto de relacionamentos Metas de projeto Mapeamento de restrições Chaves Diagrama E-R Recursos

Conjuntos de Entidades Fracas

Um conjunto de entidades que não possui uma chave primária. A existência de um conjunto de entidades fracas depende da

existência de um conjunto de entidades fortes; o conjunto de entidades fracas deve estar relacionado ao conjunto de entidades fortes por um relacionamento um para muitos.

Representados por retângulos duplos. O discriminador (ou chave parcial) de um conjunto de entidades

fracas é o conjunto de atributos que distingue entre todas as entidades do conjunto de entidades fracas. O discrimidador é sublinhado com uma linha pontilhada.

A chave primária de um conjunto de entidades fracas é a chave primária do conjunto de entidades fortes ao qual ele ele é dependente de existência, mais o seu discriminador.

Page 16: Modelo Entidade-Relacionamento Conjunto de Entidades Conjunto de relacionamentos Metas de projeto Mapeamento de restrições Chaves Diagrama E-R Recursos

Conjunto de Entidades Fracas

Empréstimo Pagamento

número_emp

Total_empnúmero_pgto

data_pgto

Valor_pgto

Pagamento_para

Page 17: Modelo Entidade-Relacionamento Conjunto de Entidades Conjunto de relacionamentos Metas de projeto Mapeamento de restrições Chaves Diagrama E-R Recursos

Especialização

Processo de projeto "Top-down"; designamos subgrupos que são distintos de outras entidades dentro de conjuntos de entidades.

Esses subgrupos tornam-se conjuntos de entidades de nível mais baixo, os quais têm atributos e participam de relacionamentos que não se aplicam ao conjunto de nível mais alto.

Representada por um triângulo rotulado "ÉUM"

Page 18: Modelo Entidade-Relacionamento Conjunto de Entidades Conjunto de relacionamentos Metas de projeto Mapeamento de restrições Chaves Diagrama E-R Recursos

Exemplo Especialização

número_cta saldo_cta

Conta

ÉUMtaxa_juros limite_créd

cta_poupança cta_movimento

Page 19: Modelo Entidade-Relacionamento Conjunto de Entidades Conjunto de relacionamentos Metas de projeto Mapeamento de restrições Chaves Diagrama E-R Recursos

Generalização

Um processo de projeto "bottom-up"- combina um número de conjuntos de entidades que compartilham as mesmas características em um conjunto de entidades de mais alto nível.

Na prática, generalização e especialização são inversas uma da outra; são representadas da mesma forma no diagrama E-R.

Herança de atributos: um conjunto de entidades de nível mais baixo herda todos os atributos e participações em relacionamentos do conjunto de nível superior ao qual está ligado.

Page 20: Modelo Entidade-Relacionamento Conjunto de Entidades Conjunto de relacionamentos Metas de projeto Mapeamento de restrições Chaves Diagrama E-R Recursos

Restrições de Projeto

Determinação das entidades que podem participar de um dado conjunto de entidades de nível inferior.

Definida por condição definida pelo usuário.

Determina se uma entidade pode ou não pertencer a mais de um conjunto de entidades de nível inferior dentro de uma generalização simples.

Mutuamente exclusivos. Sobrepostos.

Restrição de totalidade: determina se uma entidade de nível superior pertence ou não a, no mínimo, um dos conjuntos de entidades de nível inferior dentro da generalização.

Total ou parcial.

Page 21: Modelo Entidade-Relacionamento Conjunto de Entidades Conjunto de relacionamentos Metas de projeto Mapeamento de restrições Chaves Diagrama E-R Recursos

Agregação

nome_cli

cpf_cli rua_cli

cidade_cli

Cliente EmpréstimoDevedor

número_empr saldo_empr

Agente_empréstimo

Funcionário

cpf_func Telefone_funcNome_func

Page 22: Modelo Entidade-Relacionamento Conjunto de Entidades Conjunto de relacionamentos Metas de projeto Mapeamento de restrições Chaves Diagrama E-R Recursos

Agregação (cont.)

Os conjuntos de relacionamentos Devedor e Agente_Empréstimo representam a mesma informação.

Esta redundância pode ser eliminada por agregação

Trata o relacionamento como uma entidade abstrata Permite representar relacionamentos entre relacionamentos Abstração de relacionamento em uma nova entidade.

Sem introdução de redundância, o diagrama a seguir representa que:

Um cliente toma um empréstimo Um funcionário pode ser um agente de empréstimo para um par

Cliente-Empréstimo.

Page 23: Modelo Entidade-Relacionamento Conjunto de Entidades Conjunto de relacionamentos Metas de projeto Mapeamento de restrições Chaves Diagrama E-R Recursos

Exemplo de Agregação

nome_cli

cpf_cli rua_cli

cidade_cli

Cliente Empréstimo

número_empr saldo_empr

Funcionário

cpf_func Telefone_funcNome_func

Devedor

Agente_empréstimo

Page 24: Modelo Entidade-Relacionamento Conjunto de Entidades Conjunto de relacionamentos Metas de projeto Mapeamento de restrições Chaves Diagrama E-R Recursos

Decisões de Projeto E-R

Optar pelo uso de um atributo ou de um conjunto de entidades para representar um objeto.

Se um concepção real é expressa mais precisamente por um conjunto de entidades ou por um conjunto de relacionamentos.

Optar por um conjunto de relacionamentos ternário ou por um par de relacionamentos binários.

Se se deve usar conjuntos de entidades forte.

Se o uso da generalização é aproriado (mais modularidade).

Uso da agregação - permite tratar o conjunto de entidades agregadas como uma entidade simples, sem abordar os detalhes de suas estruturas internas.

Page 25: Modelo Entidade-Relacionamento Conjunto de Entidades Conjunto de relacionamentos Metas de projeto Mapeamento de restrições Chaves Diagrama E-R Recursos

Redução de um Esquema E-R a Tabelas

Chaves primárias permitem que conjuntos de entidades e conjuntos de relacionamentos seja uniformemente expressos como tabelas, as quais representam o conteúdo do banco de dados.

Um banco de dados em conformidade com um esquema de banco de dados E-R pode ser representado por uma coleção de tabelas.

Para cada conjunto de entidades e para cada conjunto de relacionamentos existe uma tabela única registrando o nome do conjunto de entidades ou relacionamentos correspondente.

Cada tabela tem um número de colunas (geralmente representando atributos), as quais têm nomes únicos.

Converter a representação de um banco de dados de um diagrama E-R para um formato de tabela é a base para a derivação de um projeto de banco de dados relacional.

Page 26: Modelo Entidade-Relacionamento Conjunto de Entidades Conjunto de relacionamentos Metas de projeto Mapeamento de restrições Chaves Diagrama E-R Recursos

Representação Tabular de Conjuntos de Entidades

Um conjunto de entidades fortes E descrito pelos atributos a1, a2, ...,an, é representado por uma tabela chamada E com n colunas distintas, cada uma delas correspondendo a um dos atributos de E. Cada linha da tabela corresponde a uma entidade do conjunto de entidades E.

Um conjunto de entidades fracas com os atributos a1, a2, ..., an, torna-se uma tabela com uma coluna a mais para cada um dos atributos que compõem a chave primária do conjunto de entidades fortes relacionado.

Page 27: Modelo Entidade-Relacionamento Conjunto de Entidades Conjunto de relacionamentos Metas de projeto Mapeamento de restrições Chaves Diagrama E-R Recursos

Representação Tabular de Conjuntos de Relacionamentos

Um conjunto de relacionamentos muitos para muitos é representado por uma tabela com colunas para as chaves primárias dos dois conjuntos de entidades participantes e para os atributos descritivos do conjunto de relacionamentos.

A tabela correspondente ao conjunto de relacionamentos ligando um conjunto de entidades fracas ao seu conjunto de entidades fortes correspondente é redundante e não precisa ser apresentada em uma representação tabular do diagrama E-R..

Page 28: Modelo Entidade-Relacionamento Conjunto de Entidades Conjunto de relacionamentos Metas de projeto Mapeamento de restrições Chaves Diagrama E-R Recursos

Representação Tabular de Generalizações

Método 1: Criar uma tabela para o conjunto de entidades de nível superior. Para cada conjunto de entidades do nível inferior, criar uma tabela que inclua uma coluna para cada um dos atributos daquele conjunto de entidades mais uma coluna para cada atributo da chave primária do conjunto de entidades de nível superior.

Método 2: Se a generalização é mutuamente exclusiva e total, criar uma tabela para cada conjunto de entidades de nível inferior incluindo uma coluna para cada um dos atributos do conjunto de entidades mais uma coluna para cada atributo do conjunto de entidades de nível superior.

Page 29: Modelo Entidade-Relacionamento Conjunto de Entidades Conjunto de relacionamentos Metas de projeto Mapeamento de restrições Chaves Diagrama E-R Recursos

Representação Tabular da Agregação

A transformação é direta. A tabela para o conjunto de relacionamentos

Agente_empréstimo inclui uma coluna para cada atributo, uma para a chave primária do conjunto de entidades empregado e uma para o conjunto de relacionamentos devedor. Poderia também incluir uma coluna para cada um dos atributos descritivos do conjunto de relacionamentos agente_empréstimo, se eles existissem.