A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Modelo Entidade-Relacionamento

Apresentações semelhantes


Apresentação em tema: "Modelo Entidade-Relacionamento"— Transcrição da apresentação:

1 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

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

3 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

4 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.

5 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.).

6 Regras nome_emp tel_emp Chapa_emp Gerente Trabalha_para Empregado
Operário 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.

7 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.

8 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.

9 Relacionamento um para um
Cliente Devedor Empréstimo nome_cli cpf_cli rua_cli cidade_cli número_empr Total_empr 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.

10 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

11 Relacionamento Muitos para Muitos
Cliente Devedor Empréstimo nome_cli cpf_cli rua_cli cidade_cli número_empr Total_empr

12 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. Pagamento_para Empréstimo Pagamento

13 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.

14 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.

15 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.

16 Conjunto de Entidades Fracas
data_pgto Total_emp número_pgto Valor_pgto número_emp Pagamento_para Empréstimo Pagamento

17 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"

18 Exemplo Especialização
número_cta saldo_cta Conta ÉUM taxa_juros limite_créd cta_poupança cta_movimento

19 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.

20 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.

21 Agregação cpf_cli rua_cli número_empr saldo_empr nome_cli cidade_cli
Cliente Empréstimo Devedor Agente_empréstimo Funcionário Telefone_func cpf_func Nome_func

22 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.

23 Exemplo de Agregação Devedor Agente_empréstimo nome_cli cpf_cli
rua_cli cidade_cli Cliente Empréstimo número_empr saldo_empr Funcionário cpf_func Telefone_func Nome_func Devedor Agente_empréstimo

24 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.

25 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.

26 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.

27 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..

28 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.

29 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.


Carregar ppt "Modelo Entidade-Relacionamento"

Apresentações semelhantes


Anúncios Google