Mat02_ModeloER

43
Profa. Dra. Cristina Dutra de Aguiar Ciferri Modelo Entidade Relacionamento Básico Modelos Conceituais de Dados Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

description

MER

Transcript of Mat02_ModeloER

  • Profa. Dra. Cristina Dutra de Aguiar Ciferri Modelo Entidade Relacionamento Bsico

    Modelos Conceituais de Dados Banco de Dados

    Profa. Dra. Cristina Dutra de Aguiar Ciferri

  • Profa. Dra. Cristina Dutra de Aguiar Ciferri Modelo Entidade Relacionamento Bsico

    Motivao Objetivo da abordagem de BD:

    oferecer abstrao dos dados separar aplicaes dos usurios dos detalhes de

    hardware ferramenta utilizada: modelo de dados

    Modelo de dados: conjunto de ferramentas conceituais para a

    descrio dos dados e dos relacionamentos existentes entre os dados, da semntica e das restries que atuam sobre estes

  • Profa. Dra. Cristina Dutra de Aguiar Ciferri Modelo Entidade Relacionamento Bsico

    Categorias de Modelos de Dados

    Diviso baseada nos tipos de conceitos oferecidos para descrever a estrutura do BD

    Modelo de dados conceitual modelo de alto nvel oferece conceitos prximos aos usurios exemplo: modelo entidade-relacionamento

  • Profa. Dra. Cristina Dutra de Aguiar Ciferri Modelo Entidade Relacionamento Bsico

    Categorias de Modelos de Dados Modelo de dados de implementao

    oferece conceitos que podem ser facilmente utilizados por usurios finais no esto distantes da maneira na qual os dados

    esto organizados dentro do computador

    implementado de maneira direta exemplo: modelo relacional

    Modelo de dados fsico modelo de baixo nvel descreve como os dados esto armazenados

    fisicamente no computador

  • Profa. Dra. Cristina Dutra de Aguiar Ciferri Modelo Entidade Relacionamento Bsico

    Modelo de Dados e o Projeto de BD minimundo

    anlise de requisitos

    projeto conceitual

    mapeamento para modelo

    projeto fsico

    conjunto de necessidades

    esquema conceitual

    esquema em linguagem de implementao

    Modelo Entidade Relacionamento

    (MER)

    Mapeamento MER para o

    Modelo Relacional

    Modelo Relacional

    depende do SGBD independe do SGBD

  • Profa. Dra. Cristina Dutra de Aguiar Ciferri Modelo Entidade Relacionamento Bsico

    Projeto de BD Anlise de requisitos

    entrevistas a usurios de BD documentao do sistema

    Projeto conceitual utiliza modelo de dados de alto nvel descreve de maneira concisa as necessidades

    dos usurios inclui descries detalhadas dos tipos de dados,

    relacionamentos e restries fcil de ser entendido

  • Profa. Dra. Cristina Dutra de Aguiar Ciferri Modelo Entidade Relacionamento Bsico

    Projeto de BD Mapeamento para modelo

    traduo do esquema conceitual em uma linguagem de alto nvel para uma linguagem de implementao

    Projeto fsico especificao de estruturas internas de

    armazenamento especificao das formas de organizao de

    arquivos para BD

  • Profa. Dra. Cristina Dutra de Aguiar Ciferri Modelo Entidade Relacionamento Bsico

    Modelo Entidade-Relacionamento

  • Profa. Dra. Cristina Dutra de Aguiar Ciferri Modelo Entidade Relacionamento Bsico

    Modelo Entidade Relacionamento Caractersticas

    foi desenvolvido para facilitar o projeto lgico do BD

    permite a representao da estrutura lgica global do BD

    um dos modelos de dados com maior capacidade semntica

    representa um problema como um conjunto de entidades e relacionamentos entre estas entidades

  • Profa. Dra. Cristina Dutra de Aguiar Ciferri Modelo Entidade Relacionamento Bsico

    Entidade Qualquer coisa do mundo real envolvida no

    problema Possui existncia independente Pode ser um objeto com:

    existncia fsica: uma pessoa, um carro existncia conceitual: uma companhia, um

    emprego, um curso Descrita por propriedades particulares:

    atributos

  • Profa. Dra. Cristina Dutra de Aguiar Ciferri Modelo Entidade Relacionamento Bsico

    Atributos Caracterizam uma entidade ou um

    relacionamento exemplo: tipo-entidade cliente atributos: nome_cliente

    endereo_cliente data_nascimento

    Domnio de um atributo conjunto de valores possveis para o atributo pode assumir valor nulo (i.e., null) exemplos: nome_cliente: varchar(50) data_nascimento: date

  • Profa. Dra. Cristina Dutra de Aguiar Ciferri Modelo Entidade Relacionamento Bsico

    Exemplos Tipo-entidade cliente atributos: nome_cliente

    endereo_cliente data_nascimento

    entidade e1: nome_cliente: Mrcia endereo_cliente: Rua X, 1 data_nascimento: 12/03/1970

    entidade e2: nome_cliente: Romualdo endereo_cliente: Rua Floriano Peixoto, 10 data_nascimento: 10/10/1982

  • Profa. Dra. Cristina Dutra de Aguiar Ciferri Modelo Entidade Relacionamento Bsico

    Classificao dos Atributos Simples versus Compostos

    atributo simples ou atmico no pode ser decomposto (dividido) em atributos

    mais bsicos exemplo: sexo

    atributo composto pode ser decomposto (dividido) em vrios outros

    atributos mais bsicos possui como valor a concatenao dos valores dos

    atributos simples que o formam exemplo: atributo endereo, composto de nome_rua,

    nro_casa, complemento, nome_bairro, ...

  • Profa. Dra. Cristina Dutra de Aguiar Ciferri Modelo Entidade Relacionamento Bsico

    Atributos Simples x Compostos Atributos Compostos

    podem formar hierarquias

    Observao se nenhuma consulta ser realizada sobre os

    atributos mais bsicos de um atributo composto, ento o atributo composto pode ser armazenado no BD como um atributo simples

    endereo

    rua cidade estado cep

    nome nro nro_apartamento

  • Profa. Dra. Cristina Dutra de Aguiar Ciferri Modelo Entidade Relacionamento Bsico

    Classificao dos Atributos Monovalorados versus Multivalorados

    atributo monovalorado possui um nico valor para cada entidade exemplo: idade

    atributo multivalorado possui mltiplos valores para cada entidade exemplo: atributo telefone valores: 222-0000, 222-0001, ...

    pode possuir limites inferior/superior com relao multiplicidade dos valores assumidos

    exemplo: nro_min = 0, nro_max = 3

  • Profa. Dra. Cristina Dutra de Aguiar Ciferri Modelo Entidade Relacionamento Bsico

    Classificao dos Atributos Armazenados versus Derivados

    atributo armazenado est realmente armazenado no BD

    atributo derivado pode ser determinado atravs de outros atributos ou

    atravs de entidades relacionadas exemplos: idade = data_atual - data_nascimento nro_empregados = soma das entidades empregado para um departamento

    pode ou no ser armazenado no BD

  • Profa. Dra. Cristina Dutra de Aguiar Ciferri Modelo Entidade Relacionamento Bsico

    Tipo-Entidade Conjunto de entidades do mesmo tipo Descrito por um nome e uma lista de

    atributos Entidades de um tipo-entidade

    compartilham os mesmos atributos possuem seus prprios valores para cada

    atributo

  • Profa. Dra. Cristina Dutra de Aguiar Ciferri Modelo Entidade Relacionamento Bsico

    Representao

    EMPREGADO

    tipo-entidade: empregado

    entidades (instncias)

    CPF_empregado: 192876433-0 nome_empregado: Maria endereo_empregado: Rua X

    nome_empregado

    endereo_empregado

    CPF_empregado

    CPF_empregado: 150150150-0 nome_empregado: Jos endereo_empregado: Rua Y

  • Profa. Dra. Cristina Dutra de Aguiar Ciferri Modelo Entidade Relacionamento Bsico

    Restrio de Chave Chave primria

    conjunto mnimo de atributos que identificam de maneira nica uma entidade

    escolhida pelo projetista do BD como o principal meio de identificao de um tipo-entidade

    Exemplo:

    EMPREGADO nome_empregado

    endereo_empregado

    CPF_empregado

  • Profa. Dra. Cristina Dutra de Aguiar Ciferri Modelo Entidade Relacionamento Bsico

    Relacionamento e Tipo-relacionamento

    Relacionamento associao entre entidades

    Tipo-relacionamento conjunto de relacionamentos do mesmo tipo

    Exemplo: pessoa trabalha para empresa

    trabalha

  • Profa. Dra. Cristina Dutra de Aguiar Ciferri Modelo Entidade Relacionamento Bsico

    Restries nos Tipos-Relacionamento

    Limitam as combinaes possveis de entidades que podem participar dos tipos-relacionamento

    Derivadas do minimundo sendo analisado Restries estruturais

    cardinalidade participao

  • Profa. Dra. Cristina Dutra de Aguiar Ciferri Modelo Entidade Relacionamento Bsico

    Restrio de Cardinalidade Determina o nmero de entidades s quais

    outras entidades podem ser associadas atravs de um relacionamento

    Cardinalidades um-para-um ( 1 : 1 ) um-para-muitos ( 1 : n ) muitos-para-um ( n : 1) muitos-para-muitos ( m : n )

  • Profa. Dra. Cristina Dutra de Aguiar Ciferri Modelo Entidade Relacionamento Bsico

    Restrio de Cardinalidade

    gerencia DEPARTAMENTO EMPREGADO 1 1

    trabalha DEPARTAMENTO EMPREGADO n 1

    desenvolve PROJETO EMPREGADO m n

  • Profa. Dra. Cristina Dutra de Aguiar Ciferri Modelo Entidade Relacionamento Bsico

    Determina se a existncia de uma entidade depende ou no do fato dela participar de um relacionamento

    Tipos de participao total

    parcial

    Restrio de Participao

    trabalha DEPARTAMENTO EMPREGADO n 1

    gerencia DEPARTAMENTO EMPREGADO 1 1

  • Profa. Dra. Cristina Dutra de Aguiar Ciferri Modelo Entidade Relacionamento Bsico

    Exerccio Diferencie semanticamente as duas modelagens

    representadas a seguir:

    cod_funcionrio

    nome_funcionrio

    nro_telefone FUNCIONRIO

    utiliza TELEFONE FUNCIONRIO m n

    nro_telefone cod_funcionrio

    nome_funcionrio

    a)

    b)

  • Profa. Dra. Cristina Dutra de Aguiar Ciferri Modelo Entidade Relacionamento Bsico

    Grau de Tipos-Relacionamento Grau de um tipo-relacionamento

    nmero de tipos-entidade participantes Unrio (ou recursivo)

    relaciona um tipo-entidade com ela mesma indicado utilizar nomes de papis

    supervisiona

    EMPREGADO n

    1 supervisor

    subordinado

  • Profa. Dra. Cristina Dutra de Aguiar Ciferri Modelo Entidade Relacionamento Bsico

    Tipos de Relacionamentos Binrio

    relaciona um tipo-entidade a outro tipo-entidade

    grau de relacionamento mais utilizado

    desenvolve PROJETO EMPREGADO m n

  • Profa. Dra. Cristina Dutra de Aguiar Ciferri Modelo Entidade Relacionamento Bsico

    Tipos de Relacionamentos Ternrio

    relaciona trs tipos-entidade

    CCA m n

    1

    1 determinada conta de 1 determinado cliente

    est em 1 determinada agncia

    CLIENTE

    AGNCIA

    CONTA

  • Profa. Dra. Cristina Dutra de Aguiar Ciferri Modelo Entidade Relacionamento Bsico

    Relacionamentos Ternrios Regra para a determinao das

    multiplicidades: fixa-se dois elementos (dois tipos-entidade) verifica-se quantos elementos do outro tipo-

    entidade podem surgir com relao a um elemento de cada tipo-entidade fixada

    se a quantidade for indeterminada ou varivel ento considera-se n seno considera-se 1

  • Profa. Dra. Cristina Dutra de Aguiar Ciferri Modelo Entidade Relacionamento Bsico

    Relacionamentos Ternrios Um relacionamento ternrio em geral

    representa informaes diferentes das dos trs tipos-relacionamento binrios

    DEP 1 n

    1

    DEPARTAMENTO

    PROJETO

    EMPREGADO

    DEP

    001 JOS P03

  • Profa. Dra. Cristina Dutra de Aguiar Ciferri Modelo Entidade Relacionamento Bsico

    n

    Relacionamentos Ternrios

    DEPARTAMENTO EMPREGADO emprega 1 n

    desenvolve

    1

    1

    n

    trabalha PROJETO

    emprega trabalha desenvolve 001 JOS JOS P03 P03 004

    Deciso: semntica do problema

  • Profa. Dra. Cristina Dutra de Aguiar Ciferri Modelo Entidade Relacionamento Bsico

    Atributo de Tipo-Relacionamento Determinado pela combinao das entidades

    participantes em uma instncia do relacionamento

    Exemplo:

    desenvolve PROJETO EMPREGADO m n

    nro_projeto

    nome_projeto

    horas_trabalhadas

    CPF_empregado

    nome_empregado

  • Profa. Dra. Cristina Dutra de Aguiar Ciferri Modelo Entidade Relacionamento Bsico

    Exerccio Dados os tipos-entidade curso e disciplina

    atributos de curso: cdigo_curso, nome_curso atributos de disciplina: cdigo_disciplina,

    nome_disciplina, carga_horria Faa duas diferentes modelagens, de acordo

    com as especificaes a seguir uma disciplina obrigatria ou optativa,

    independentemente do curso (modelagem 1) uma disciplina pode ser obrigatria para um

    curso e optativa para outro curso (modelagem 2)

  • Profa. Dra. Cristina Dutra de Aguiar Ciferri Modelo Entidade Relacionamento Bsico

    Tipo-Entidade Fraca Entidades de um tipo-entidade fraca:

    no podem ser distinguveis porque a combinao dos valores de seus atributos pode ser idntica

    so identificadas atravs da relao que possuem com entidades pertencentes a tipos-entidade forte

    Representa dependncia de existncia um tipo-entidade fraca sempre tem uma

    restrio de participao total com respeito ao relacionamento identificador

  • Profa. Dra. Cristina Dutra de Aguiar Ciferri Modelo Entidade Relacionamento Bsico

    Dependncia de Existncia Se uma entidade x depende da existncia de

    uma entidade y, ento: x : entidade subordinada y : entidade dominante

    Se y for removida ento x tambm deve ser removida Exemplos:

    empregado e dependente conta e transaes

  • Profa. Dra. Cristina Dutra de Aguiar Ciferri Modelo Entidade Relacionamento Bsico

    Tipo-Entidade Fraca Entidade forte

    tem chave primria Entidade fraca

    possui somente uma chave parcial Chave primria de uma entidade fraca

    chave primria da entidade forte correspondente + chave parcial da entidade fraca

  • Profa. Dra. Cristina Dutra de Aguiar Ciferri Modelo Entidade Relacionamento Bsico

    Representao

    chave primria de empregado: CPF_empregado chave primria de dependente: CPF_empregado + nome_dependente

    entidade fraca (subordinada): dependente entidade forte (dominante): empregado

    possui DEPENDENTE EMPREGADO 1 n

    CPF_empregado

    nome_empregado

    nome_dependente

    sexo_dependente

  • Profa. Dra. Cristina Dutra de Aguiar Ciferri Modelo Entidade Relacionamento Bsico

    DEPARTAMENTO EMPREGADO

    gerencia

    trabalha

    PROJETO DEPENDENTE

    controla

    sigla_depto

    nome_depto

    horas_trabalhadas

    nome_projeto

    nome_dependente

    sexo_dependente

    possui

    1 1

    n 1

    n

    m desenvolve

    nro_projeto

    m

    n

    1

    n

    CPF_empregado

    nome_empregado

    supervisiona

    1

    n subordinado

    supervisor

    data_incio

  • Profa. Dra. Cristina Dutra de Aguiar Ciferri Modelo Entidade Relacionamento Bsico

    Resumo da Notao

    tipo entidade forte

    tipo entidade fraca

    tipo relacionamento

    identificador de relacionamento

    atributo

    atributo chave

    atributo derivado

    atributo composto

    participao total de E2 em R

    ...

    E1 E2 R

    E1 E2 R n 1 cardinalidade 1:N

    atributo multivalorado

  • Profa. Dra. Cristina Dutra de Aguiar Ciferri Modelo Entidade Relacionamento Bsico

    Projeto Lgico de BD Identificar tipos-entidade e atributos

    tipos-entidade possuem informaes descritivas, atributos no

    atributos devem ser relacionados s entidades que eles descrevem

    Identificar chaves primrias

  • Profa. Dra. Cristina Dutra de Aguiar Ciferri Modelo Entidade Relacionamento Bsico

    Identificar tipos-relacionamento e seus atributos determinar o grau dos tipos-relacionamento

    definir tipos-relacionamento ternrios cuidadosamente

    identificar as restries que se aplicam sobre cada tipo-relacionamento cardinalidade participao

    Projeto Lgico de BD

  • Profa. Dra. Cristina Dutra de Aguiar Ciferri Modelo Entidade Relacionamento Bsico

    Identificar tipo-entidade forte e tipo-entidade fraca

    Podemos notar que um projetista de BD necessita de um bom conhecimento do minimundo que est sendo

    modelado para que possa tomar essas decises!

    Projeto Lgico de BD

  • Profa. Dra. Cristina Dutra de Aguiar Ciferri Modelo Entidade Relacionamento Bsico

    Fazer os exerccios da lista de exerccios Modelo Entidade Relacionamento 1. Controle Acadmico I 2. Sistema de Controle Bancrio

    Exerccios