Capítulo 2 Modelo Entidade- Relacionamento. Prof. Mario Dantas

Documentos relacionados
Modelo Entidade-Relacionamento

Aula 3 - Modelo Entidade-Relacionamento

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

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

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

Análise e Projeto de Sistemas I

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

Ciclo de Desenvolvimento de BD

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

Bancos de Dados Aula #2 - Modelos Conceituais de Dados

Modelagem Conceitual e o Modelo Entidade-Relacionamento

Introdução ao Modelo Relacional

MC536. Modelo Entidade- Relacionamento

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

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;

Banco de Dados I. Projeto de Banco de Dados e o Modelo E-R. Fabricio Breve

INTRODUÇÃO AO MODELO RELACIONAL

Diagramas Entidade-Associação

MODELAGEM DE DADOS PARTE 2

Diagramas Entidade-Relação

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

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

Conjuntos de entidades Conjuntos de relações Restrições de Mapeamento Chaves Diagrama ER Opções de desenho Extensões ao modelo ER Exemplo

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

Conceitos de Sistemas de Banco de Dados INE 5323

Unidade 2 Modelo Conceitual

Ciclo de Desenvolvimento de Sistemas de BD

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

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

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?

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

MODELAGEM DE DADOS PARTE 1

Processo de desenvolvimento. Compreender o domínio interagir com utilizadores e recolher requisitos Desenho conceptual

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

Abordagem ER. Capítulo 2

Banco de Dados I. Projeto de Banco de Dados e o Modelo E-R Parte 2. Fabricio Breve

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

Bases de Dados. Modelo Entidade-Associação. Exemplo do banco. branch. account depositor. loan. borrower customer. IST DEI Bases de Dados

Bases de Dados. Modelo Entidade-Associação. Processo de desenvolvimento. descrição do tema. características do domínio. requisitos funcionais.

Computação Instrumental

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

Banco de Dados - INE Projeto de Banco de Dados Relacionais. Prof. Mario Dantas

Tópico: Modelagem CONTEÚDO PROGRAMÁTICO

Sistemas de Banco de Dados Prof. Flávio de Oliveira Silva, M.Sc. O esquema de uma relação é escrito da seguinte forma:

GBD PROF. ANDREZA S. AREÃO

Bases de Dados. Modelo Entidade-Associação. Exemplo do banco. branch. account depositor. loan. borrower customer. IST DEI Bases de Dados

Modelagem de dados usando MER. Andre Noel

Modelo ER. Ricardo Terra rterrabh [at] gmail.com

Apostila de Modelagem de Banco de Dados

PROJETO DE BANCO DE DADOS -PROJETO CONCEITUAL. Prof. Angelo Augusto Frozza, M.Sc.

BCD29008 Banco de dados

Modelo Relacional. Comparação entre Tipos de Diagramas. Modelos de registos. Exemplo de uma Relação

Estrutura das Bases de Dados Relacionais Redução a tabelas de um Esquema ER Álgebra Relacional Operações Estendidas da Álgebra Relacional Modificação

Bases de Dados. Modelo Entidade-Associação. Exemplo do banco. IST DEI Bases de Dados

O MODELO ENTIDADE RELACIONAMENTO. Tiago Alves de Oliveira

Unidade 3 23/10/2008. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Redes de Computadores

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

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

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

Revisando Banco de Dados. Modelo Relacional

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

Modelo Entidade-Relacionamento

António Rocha Nuno Melo e Castro

Modelagem Conceitual parte I

Modelagem Conceitual parte I

Prof. Fabiano Taguchi

Capítulo 3 Modelo Relacional

Projeto de um BD Modelo Entidade-Relacionamento (ER)

Prof. Fabiano Taguchi

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

Modelo Entidade-Associação (EA)

Aula 4 SBD Modelo Entidade Relacionamento Parte 2. Profa. Elaine Faria UFU

Introdução a Bancos de Dados. - Conceitos - Modelos lógicos e relacional - Álgebra relacional -SQL - Projeto Lógico

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

MODELAGEM DE DADOS UNIDADE 3 Modelo Entidade-Relacionamento. Luiz Leão

BDI Capitulo 2 Revisão 9

Banco de Dados I Módulo III: Linguagens de Consulta. (Aula 1) Clodis Boscarioli

Abordagem ER. Capítulo 2

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

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

2. Revisão e Dicas de Modelagem Conceitual

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

Modelo Entidade Relacionamento Estendido (ERE)

BANCO DE DADOS. TÁSSIO JOSÉ GONÇALVES GOMES

Modelos Conceituais de Dados

GES013 Sistema de Banco de Dados Modelo de Entidade-Relacionamento (ER)

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

Retrospectiva (Aula 2) O Modelo Entidade-Relacionamento. O Modelo Entidade- Relacionamento. O Modelo Entidade- Relacionamento

Mapeamento Modelo Entidade Relacionamento para Modelo Relacional. Evandro E.S Ruiz, Ph.D.

Banco de Dados I 3 Modelagem de Dados Lógico e Físico

Bancos (Bases) de Dados Aula #7 Álgebra Relacional

Extensões do Modelo Entidade-Relacionamento

Abordagem ER. Capítulo 2

Modelo Entidade Relacionamento

Projeto de Banco de Dados

Projeto de Banco de Dados

Modelo Lógico de Dados. Modelo Relacional

Projeto de BD Relacional

MODELAGEM DE DADOS -PROJETO CONCEITUAL DE BD. Prof. Angelo Augusto Frozza, M.Sc.

Transcrição:

Capítulo 2 Modelo Entidade- Relacionamento Prof. Mario Dantas

Modelo Entidade-Relacionamento O que vem a ser : Um modelo? Uma entidade? Um relacionamento?

Modelo Entidade-Relacionamento Conjunto de entidades Conjunto de Relacionamentos Metas de Projeto Restrições de Mapeamento Chaves

Modelo Entidade-Relacionamento Diagrama E R Virtudes do E-R Estendido Projeto de um esquema E-R de banco de dados Transformação de um esquema E-R em tabelas

Modelo Entidade-Relacionamento Conjunto de entidades Conjunto de Relacionamentos Metas de Projeto Restrições de Mapeamento Chaves

Conjuntos de Entidades Um banco de dados pode ser modelado como: Uma coleção de entidades, Relacionamentos entre entidades. Uma entidade é um objeto que existe e é distinguível de outros objetos. Exemplo: pessoa específica, companhia, planta

Conjuntos de Entidades Um conjunto de entidades é uma coleção de entidades do mesmo tipo que compartilham as mesmas propriedades. Exemplo: conjunto de todas as pessoas, companhias, árvores, feriados

Atributos Uma entidade é representada por um conjunto de atributos. Atributos são propriedades descritivas de cada membro de um conjunto de entidades. Exemplo: cliente =(nome_cliente, seguro_social, rua_cliente, cidade_cliente) conta =(número_conta, saldo)

Atributos Domínio o conjunto dos valores permitidos para cada atributo Tipos de atributos: Atributos simples ou compostos. Atributos monovalorados ou multivalorados. Atributos nulos. Atributos derivados.

Modelo Entidade-Relacionamento Conjunto de entidades Conjunto de Relacionamentos Metas de Projeto Restrições de Mapeamento Chaves

Conjuntos de Relacionamentos Um relacionamento é uma associação entre uma ou várias entidades. Exemplo: Dantas depositante (entidade cliente) (Conj. de relacionamento) C-102 (entidade conta)

Conjuntos de Relacionamentos Um conjunto de relacionamentos é uma relação matemática sobre dois, ou mais, conjuntos de entidades (podendo ser não distintos). Se E 1, E 2,..., E n são entidades, então um conjunto de relacionamentos R é um subconjunto de {(e 1, e 2,..., e n ) e 1 E 1, e 2 E 2,..., e n E n } onde (e 1, e 2,..., e n ) é um relacionamento. Exemplo: (Dantas, C-102) depositante

Conjuntos de Relacionamentos Um atributo também pode ser uma propriedade de um conjunto de relacionamentos. Por exemplo, o conjunto de relacionamentos depositante entre os conjuntos de entidades cliente e conta pode ter o atributo data_acesso. seguro_social cliente_rua data_acesso número_conta nome_cliente cidade_cliente saldo cliente depositante conta

Grau de um Conjunto de Relacionamentos Refere-se ao número de conjuntos de entidades que participam em um conjunto de relacionamentos. Conjuntos de relacionamentos que envolvem dois conjuntos de entidades são binários (ou de grau dois). Em geral, a grande maioria dos conjuntos de relacionamentos são binários.

Grau de um Conjunto de Relacionamentos Conjuntos de relacionamentos podem envolver mais que dois conjuntos de entidades. Os conjuntos de entidades cliente, empréstimo, agência podem ser ligados por um conjunto de relacionamentos ternário (grau três).

Papéis (Roles) Conjuntos de entidades de um relacionamento não precisam ser distintos nome_empregado seguro_social_empregado número_telefone empregado gerente funcionário trabalha_para

Papéis (Roles) nome_empregado seguro_social_empregado número_telefone empregado gerente funcionário trabalha_para Os nomes gerente e funcionário são chamados papéis; eles especificam como entidades empregado interagem através do relacionamento trabalha_para.

Papéis (Roles) nome_empregado seguro_social_empregado número_telefone empregado gerente funcionário trabalha_para Papéis são indicados em diagramas E-R rotulando as linhas que conectam os losangos aos retângulos.

Papéis (Roles) nome_empregado seguro_social_empregado número_telefone empregado gerente funcionário trabalha_para Nomes de papéis são opcionais, e são usados para tornar clara a semântica do relacionamento.

Modelo Entidade-Relacionamento Conjunto de entidades Conjunto de Relacionamentos Metas de Projeto Restrições de Mapeamento Chaves

Modelo Entidade-Relacionamento Quais seriam as metas de um projeto de BD?

Metas de Projeto Uso de conjuntos de entidades vs. atributos A escolha depende principalmente da estrutura da empresa sendo modelada, e da semântica associada com o atributo em questão.

Metas de Projeto Uso de entidades vs. relacionamentos Um possível guia é designar um relacionamento para descrever uma ação que ocorre entre entidades.

Metas de Projeto Relacionamentos binários vs. n-ários Mesmo sendo possível substituir um relacionamento não-binário (n-ário, para n>2) por um número de relacionamentos binários distintos, um relacionamento n-ário mostra mais claramente que várias entidades participam de um único relacionamento.

Modelo Entidade-Relacionamento Conjunto de entidades Conjunto de Relacionamentos Metas de Projeto Restrições de Mapeamento Chaves

Mapeamento de Cardinalidades Expressa o número de entidades para as quais outra entidade pode ser associada através de um relacionamento Útil para descrever conjuntos de relacionamentos binários.

Mapeamento de Cardinalidades Para um relacionamento binário, o mapeamento de cardinalidade pode ser um dos seguintes tipos: Um para um (1:1) Um para muitos (1:N) Muitos para um (M:1) Muitos para muitos (M:N)

Mapeamento de Cardinalidades Distingue-se esses tipos de cardinalidades desenhando ou uma seta ( ), significando um, ou uma linha ( ), significando muitos entre relacionamentos e entidades.

Relacionamento um-para-um seguro_social rua_cliente número_empréstimo nome_cliente cidade_cliente total cliente devedor empréstimo Um cliente é associado com no máximo um empréstimo através do relacionamento devedor.

Relacionamento um-para-um seguro_social rua_cliente número_empréstimo nome_cliente cidade_cliente total cliente devedor empréstimo Um empréstimo é associado com no máximo um cliente através do relacionamento devedor.

Relacionamentos um-para para-muitos seguro_social rua_cliente número_emprestimo nome_cliente cidade_cliente total cliente devedor empréstimo No relacionamento um-para-muitos (a), um cliente é associado com vários (incluindo 0) empréstimos via devedor; um empréstimo é associado com no máximo um cliente via devedor.

Relacionamentos muitos-para para-um seguro_social rua_cliente número_emprestimo nome_cliente cidade_cliente total cliente devedor empréstimo No relacionamento muitos-para-um, um empréstimo é associado com vários (incluindo 0) clientes via devedor; um cliente é associado com no máximo um empréstimo via devedor.

Relacionamento muitos-para para-muitos seguro_social rua_cliente número_emprestimo nome_cliente cidade_cliente total cliente devedor empréstimo Um cliente é associado com vários (possivelmente 0) empréstimos via devedor

Relacionamento muitos-para para-muitos seguro_social rua_cliente número_emprestimo nome_cliente cidade_cliente total cliente devedor empréstimo Um empréstimo é associado com vários (possivelmente 0) clientes via devedor

Dependência de Existência empréstimo empréstimopagamento pagamento 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 é chamada entidade dominante (no exemplo abaixo, empréstimo) x é chamada entidade subordinada (no exemplo abaixo, pagamento)

Dependência de Existência empréstimo empréstimopagamento pagamento Se uma entidade de empréstimo é excluída, então todos os seus pagamentos associados devem ser excluídos também.

Modelo Entidade-Relacionamento Conjunto de entidades Conjunto de Relacionamentos Metas de Projeto Restrições de Mapeamento Chaves

Chaves Uma super chave (super key) de uma entidade é um conjunto de um ou mais atributos em que seus valores determinam unicamente cada entidade. Uma chave candidata de uma entidade é uma super chave mínima. seguro_social é uma chave candidata de cliente número_conta é uma chave candidata de conta

Chaves Mesmo que várias chaves candidatas possam existir, uma delas é selecionada para ser a chave primária.

Chaves A combinação de chaves primárias de entidades participantes formam uma chave candidata do relacionamento. Deve-se considerar o mapeamento da cardinalidade e a semântica do relacionamento quando da seleção da chave primária. (seguro_social, número_conta) é a chave primária de depositante.

Componentes do Diagrama E-R Retângulos representam conjuntos de entidades. Elipses representam atributos. Losangos representam conjuntos de relacionamentos. Linhas unindo atributos à entidades e entidades à relacionamentos.

Componentes do Diagrama E-R Elipses duplas representam atributos multivalorados. Elipses pontilhadas denotam atributos derivados. Atributos da chave primária são sublinhados.

Conjuntos de Entidades Fracas Uma entidade que não tem chave primária é chamada uma entidade fraca. A existência de uma entidade fraca depende da existência de uma entidade forte; ela deve se relacionar com a entidade forte através de um relacionamento um-para-um.

Conjuntos de Entidades Fracas O identificador (ou chave parcial) de uma entidade fraca é o conjunto de atributos que distingue todas as entidades de um conjunto de entidades fracas. A chave primária de uma entidade fraca é formada pela chave primária da entidade forte na qual a entidade fraca tem dependência de existência, mais o identificador da entidade fraca.

Conjuntos de Entidades Fracas data_pagamento ------------------------- número_empréstimo total número_pagamento total_pagamento empréstimo pagamentoempréstimo pagamento Representa-se uma entidade fraca por retângulos duplos. O identificador de uma entidade fraca é sublinhado com uma linha pontilhada.

Conjuntos de Entidades Fracas data_pagamento ------------------------- número_empréstimo total número_pagamento total_pagamento empréstimo pagamentoempréstimo pagamento Número_pagamento identificador da entidade pagamento. Chave primária de pagamento (número_empréstimo, número_pagamento)

Especialização Em um processo de projeto top-down, pode-se designar subgrupos dentro de uma entidade que são distintas de outras entidades no conjunto. Estes sub-agrupamentos tornam-se entidades de nível inferior que têm atributos ou participam de relacionamentos que não se aplicam à entidade de mais alto nível.

Especialização Especialização é representada por um triângulo com o nome ISA para representar is a (ex.: conta_poupança é uma (is a) conta)

Exemplo de Especialização número_conta saldo conta taxas_juros ISA limite_cheque_especial conta_poupança conta_movimento ISA padrão especial sênior número_cheques taxa_juros saldo_mínimo data_aniversário

Generalização Em um processo de projeto bottom-up pode-se combinar um número de entidades que compartilham as mesmas características em uma entidade de nível superior. Especialização e generalização são inversões uma da outra; elas são representadas em um diagrama de E-R da mesma maneira.

Generalização Herança de atributos uma entidade de nível inferior herda todos os atributos e participação em relacionamentos da entidade de nível superior a qual está associada.

Agregação Clientes de empréstimos poderiam ser assistidos por um agente_empréstimo.

Agregação seguro_social rua_cliente número_empréstimo saldo nome_cliente cidade_cliente cliente devedor empréstimo agente_ empréstimo empregado seguro_social_empregado número_telefone nome_empregado

Agregação Agregação é a abstração por meio da qual os relacionamentos são tratados como entidades de nível superior. Os conjuntos de relacionamentos devedor e agente_empréstimo representam a mesma informação.

Agregação Eliminar esta redundância via agregação: Trata relacionamento como uma entidade abstrata Permite relacionamentos entre relacionamentos Abstração do relacionamento em nova entidade

Agregação Sem introduzir redundância, o seguinte diagrama representa que: Um cliente paga um empréstimo Um empregado pode ser um agente de empréstimo de um par cliente-empréstimo

Exemplo de Agregação seguro_social rua_cliente número_empréstimo saldo nome_cliente cidade_cliente cliente devedor empréstimo agente_ empréstimo empregado seguro_social_empregado número_telefone nome_empregado

Projeto de um Esquema de Banco de Dados E-R Optar pelo uso de um atributo ou entidade para representar um objeto. Decidir se um conceito do mundo-real é melhor representado por uma entidade ou por um relacionamento.

Projeto de um Esquema de Banco de Dados E-R Optar pelo uso de um relacionamento ternário ou por um par de relacionamentos binários.

Projeto de um Esquema de Banco de Dados E-R Decidir pelo uso de entidades fortes ou fracas. Se o uso de generalização é apropriado generalizações contribuem para a modularidade no projeto.

Projeto de um Esquema de Banco de Dados E-R Se usar ou não agregação pode-se tratar a entidade agregada como uma única unidade sem se referir aos detalhes de sua estrutura interna.

E-R para a Empresa Bancária cidade_agência nome_agência fundos Agência seguro_social rua_cliente agência_ empréstimo total data_pagamento nome_cliente cidade_cliente número_empréstimo número_pagamento ------------------- total_pagamento cliente devedor empréstimo pagamento_ empréstimo pagamento access-date agente_cliente tipo número_conta saldo empregado gerente empregado trabalha_para depositante conta ISA seguro_social_empregado nome_empregado nome_dependente número_telefone conta_poupança conta_movimento tempo_serviço data_inicio taxa_juros limite_cheque_especial

Definição de Tabelas a partir de um Esquema Chaves primárias permitem a entidades e relacionamentos serem expressos uniformemente como tabelas as quais representam os conteúdos do banco de dados.

Definição de Tabelas a partir de um Esquema Um banco de dados o qual está conforme um diagrama E-R pode ser representado por uma coleção de tabelas. Para cada entidade e relacionamento existe uma única tabela a qual é atribuída o nome da entidade ou relacionamento correspondente.

Definição de Tabelas a partir de um Esquema Cada tabela tem um número de colunas (geralmente correspondendo aos atributos), os quais têm nomes únicos. A conversão de diagramas E-R em tabelas é a base da derivação de um banco de dados relacional a partir de um diagrama E-R.

Representando Entidades como Tabelas Uma entidade forte é reduzida a uma tabela com os mesmos atributos. nome_cliente seguro_social rua_cliente cidade_cliente Jones Smith Hayes 321-12-3123 019-28-3746 677-89-9011 Main North Main Harrison Rye Harrison A tabela cliente

Representando Entidades como Tabelas Uma entidade fraca torna-se uma tabela que inclui uma coluna para a chave primária da entidade forte que essa possui dependência de existência. número_empréstimo número_pagamento data_pagamento total_pagamento L-17 L-23 L-15 5 11 22 10 May 1996 17 May 1996 23 May 1996 50 75 300 A tabela pagamento

Representando Relacionamentos como Tabelas Um relacionamento muitos-para-muitos é representado como uma tabela com colunas para as chaves primárias das duas entidades participantes e todos os atributos que descrevem o relacionamento. seguro_social número_conta dados_acesso......... A tabela depositante

Representando Relacionamentos como Tabelas A tabela correspondente ao relacionamento ligando uma entidade fraca a entidade forte que a identifica é redundante. A tabela pagamento já contém a informação que deveria aparecer na tabela pagamento_empréstimo (isto é, as colunas número_empréstimo e número_pagamento).

Representando Generalizações como Tabelas Método 1: Criar uma tabela para a entidade de nível superior. Criar uma tabela para cada entidade de nível inferior com uma coluna para cada um de seus atributos, mais uma coluna para a chave primária da entidade de nível superior. tabela conta conta_poupança conta_movimento atributos da tabela número_conta, saldo, tipo_conta número_conta, taxa_juros número_conta, limite_cheque_especial

Representando Generalizações como Tabelas Método 2: Criar uma tabela para cada entidade de nível inferior pelo método 2 não é criada tabela para a entidade de nível superior conta. tabela conta_poupança conta_movimento atributos da tabela número_conta, saldo, taxa_juros número_conta, saldo, limite_cheque_especial

Relações correspondentes a Agregação cliente nome_cliente seguro_social rua_cliente cidade_cliente empréstimo número_empréstimo devedor seguro_social total empregado seguro_social_empregado agente_empréstimo seguro_social número_empréstimo nome_empregado número_empréstimo número_telefone seguro_social_empregado