28
Tecnologia em Informática Tecnologia em Informática Banco de Dados Banco de Dados Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento Edivaldo de Araújo Pereira Universidade Tuiuti do Paraná Faculdade de Ciências Exatas e de Tecnologia U P Promoção Humana

banco de dados sql

Embed Size (px)

DESCRIPTION

banco de dados sql

Citation preview

  • Tecnologia em InformticaTecnologia em Informtica

    Banco de DadosBanco de DadosModelo Entidade-RelacionamentoModelo Entidade-Relacionamento

    Edivaldo de Arajo Pereira

    Universidade Tuiuti do ParanFaculdade de Cincias Exatas e de TecnologiaU P

    Promoo Humana

  • 2UTP Tecnologia em Informtica Banco de Dados

    SumrioSumrio Introduo Modelo Entidade-Relacionamento

    Entidade Relacionamento Atributo Generalizao / Especializao

    Concluso Exerccio prtico

  • 3UTP Tecnologia em Informtica Banco de Dados

    IntroduoIntroduo Etapas de projeto e implementao de BD

    CREATE TABLE Clientes ( cliCodigo Integer not null, cliNome Varchar(30), cliDtNasc Date, cliRG Char(15), cliCPF Char(14), cliEndereco Varchar(30), cliCidade Varchar(25), estUF Char(2) not null, cliFone Char(15), cliRenda Decimal(10,2), PRIMARY KEY (cliCodigo));CREATE TABLE Vendas ( venNumero Integer not null, venData Date, cliCodigo Integer not null, venQtItens Integer default 0, venVlTotal Decimal(10,2) default 0, funCodigo Integer not null, PRIMARY KEY (venNumero));

    Levantamento Construo do Construo do Execuo do projeto fsico e de requisitos modelo conceitual modelo lgico instanciao do banco de dados

    minimundo modelo conceitual modelo lgico esquema banco de dados

  • 4UTP Tecnologia em Informtica Banco de Dados

    IntroduoIntroduo Um modelo de banco de dados uma descrio formal

    de sua estrutura por meio de uma linguagem simblica Para cada nvel de abstrao, h uma linguagem de

    modelagem de dados: Modelos conceituais

    foco: minimundo, delimitao do contexto, usurios externos Modelos lgicos

    foco: aplicao, implementao, projetistas de BD e aplicaes Modelos fsicos

    foco: estruturas fsicas de arquivos, lgica de implementao de SGBD, projetistas de SGBD

    Dica: ler textos IBM_... e Gupta_... sobre as diferenas entre os modelos de dados

  • 5UTP Tecnologia em Informtica Banco de Dados

    IntroduoIntroduo Modelo Conceitual (utilizando MER)

    Descreve o banco de dados no mais alto nvel de abstrao Representa de forma sinttica objetos e fatos do minimundo independente dos recursos de implementao, tais como

    SGBD e hardware Representa os conjuntos de objetos ou eventos registrados

    no BD, mas no indica como seus dados so armazenados A tcnica mais utilizada o Modelo Entidade-Relacionamento,

    materializado no Diagrama Entidade-Relacionamento (DER)

    (0,1) (0,N)

  • 6UTP Tecnologia em Informtica Banco de Dados

    Modelo Entidade-RelacionamentoModelo Entidade-Relacionamento Descreve aspecto estrutural esttico do BD

    no reflete fluxos de dados ou trocas de mensagens

    Modelo = Diagrama + descrio textual associada Elementos bsicos

    Entidades Relacionamentos Atributos (no utilizado no modelo conceitual - IBM/Gupta) Cardinalidades

  • 7UTP Tecnologia em Informtica Banco de Dados

    EntidadeEntidade Uma entidade representa um conjunto de elementos

    (objetos ou fatos) de mesma natureza Cada elemento do mundo real representado em uma

    entidade referenciado como uma instncia dessa

    entidade Representao no DER:

    Entidade

  • 8UTP Tecnologia em Informtica Banco de Dados

    RelacionamentoRelacionamento Um relacionamento representa a associao entre os

    objetos de uma ou mais entidades No DER, os relacionamentos interligam entidades, mas

    representam associaes entre suas instncias Representao no DER (Peter Chen):

    [adquire]Cliente Produto

  • 9UTP Tecnologia em Informtica Banco de Dados

    RelacionamentoRelacionamento Participao e Cardinalidade

    Representam as quantidades possveis de associaes entre as instncias representadas em um relacionamento

    participao: limite inferior ou obrigatoriedade (0 ou 1) cardinalidade: limite superior ou mximo (1 ou N)

    Participao e cardinalidade so representadas por 2 pares ordenados nas extremidades do relacionamento

    Representao no DER (Peter Chen):

    rel_xyent_x ent_y(1,1) (0,N)

    participao cardinalidade

    Obs: h duas notaes distintas que utilizam a mesma simbologia - look here x look across

  • 10UTP Tecnologia em Informtica Banco de Dados

    RelacionamentoRelacionamento Participao e Cardinalidade

    Exemplo: Pode haver um cliente associado a vrios pedidos Pode haver um cliente que no esteja associado a nenhum pedido um pedido est obrigatoriamente associado a um, e somente um,

    cliente

    efetuaCliente Pedido(0,N) (1,1)

    Obs: esta a notao look here

  • 11UTP Tecnologia em Informtica Banco de Dados

    RelacionamentoRelacionamento Participao e Cardinalidade

    Representaes possveis:

    Tipo Simbologiaum e apenas um (1,1)Zero ou Muitos (0,N)Um ou Muitos (1,N)Zero ou Um (0,1)

  • 12UTP Tecnologia em Informtica Banco de Dados

    RelacionamentoRelacionamento Conectividade

    Descreve a associao entre entidades de um relacionamento Pode ser entendido como uma forma sinttica de

    especificao de cardinalidades Representa de modo simplificado as indicaes de

    cardinalidade dos dois lados de um relacionamento Obs: note-se a aparente inverso de cardinalidade look here

    Conectividade Notao Na entidade A Na entidade BUm para um (0,1)

    (1,1)(0,1)(1,1)

    Um para muitos (0,N)(1,N)

    (0,1)(1,1)

    Muitos para Muitos (0,N)(1,N)

    (0,N)(1,N)

    A B1 1

    A B1 N

    A BN N

  • 13UTP Tecnologia em Informtica Banco de Dados

    RelacionamentoRelacionamento Conectividade x cardinalidade

    efetuaCliente Pedido(0,N) (1,1)

    1 N

    Cardinalidades

    Conectividades

    Note a aparente inverso entre cardinalidade e conectividade:- look here x look across

  • 14UTP Tecnologia em Informtica Banco de Dados

    AtributosAtributos Representam caractersticas dos elementos

    pertencentes a uma entidade ou a um relacionamento Correspondem aos campos em um sistema de

    processamento de arquivos Podem ser inerentes ou arbitrrios

    inerentes/naturais: fazem parte da entidade no minimundo arbitrrios/sintticos: criados para atender demandas do BD

    Podem ser de vrios tipos: simples x compostos monovalorados x multivalorados primitivos x derivados chaves x no-chaves

  • 15UTP Tecnologia em Informtica Banco de Dados

    AtributosAtributos Representao no DER (Peter Chen):

    Atributo simples

    Atributo chave

    Atributo multivalorado

    Atributo derivado

  • 16UTP Tecnologia em Informtica Banco de Dados

    AtributoAtributo Exemplo:

    a entidade Funcionrio possui atributos: chave, simples, multivalorado e derivado

    a entidade Departamento possui atributos: chave e simples o relacionamento Aloca possui somente atributos simples

    Funcionrio (1,N) (0,N)

    matrc

    ulano

    meen

    dere

    oTe

    lefon

    esdt_

    nasc

    imen

    toida

    de

    dt_in

    ciodt_

    final

    cdig

    ono

    meram

    al

    sala

    DepartamentoAlocaca

    rgo

  • 17UTP Tecnologia em Informtica Banco de Dados

    Auto-Relacionamento Auto-Relacionamento Uma entidade pode possuir instncias relacionadas

    entre si Exemplo:

    um funcionrio pode, ou no, ser supervisor de outros um funcionrio supervisionado por um supervisor

    Funcionrio(1,1)

    matrc

    ulano

    meen

    dere

    oTe

    lefon

    esdt_

    nasc

    imen

    toida

    de

    supervisor

    (0,N)

    supe

    rviso

    r

    supervisor

    supervisionado

  • 18UTP Tecnologia em Informtica Banco de Dados

    Relacionamento n-rio Relacionamento n-rio Um relacionamento pode associar simultaneamente

    vrias entidades O poder de representao (semntica) de um

    relacionamento n-rio ampliado pela simultaneidade No possvel decompor um relacionamento n-rio em

    relacionamentos binrios sem perda de capacidade semntica (teorema a ser explorado...)

  • 19UTP Tecnologia em Informtica Banco de Dados

    Relacionamento ternrio x binrioRelacionamento ternrio x binrio Um relacionamento ternrio fornece informaes

    diferentes de trs relacionamentos binrios

    Mdico Paciente(0,N) (1,N)

    Medicamento

    (0,N)

    Consulta

    Obs: notao look here

  • 20UTP Tecnologia em Informtica Banco de Dados

    Entidades fortes e fracasEntidades fortes e fracas Uma instncia de uma entidade fraca depende da

    existncia de uma instncia correspondente na entidade forte

    O relacionamento entre a entidade fraca e a entidade forte chamado relacionamento identificador

    A entidade fraca pode relacionar-se com qualquer outra entidade do modelo

    Representao no DER:

    Scio dependente(0,N) (1,1)

    possui

    Obs: notao look here

  • 21UTP Tecnologia em Informtica Banco de Dados

    Classes de Entidades Classes de Entidades Entidade Semente

    tm existncia prpria no dependem de outras entidades tm chave primria simples

    Entidade Caracterstica tm funo de descrever (caracterizar) outra entidade s podem existir em funo da entidade que descrevem tm chave primria composta

    Entidade Associativa tm a funo de materializar relacionamentos muitos-para-

    muitos entre duas ou mais entidades tm chave primria composta

  • 22UTP Tecnologia em Informtica Banco de Dados

    Generalizao e EspecializaoGeneralizao e Especializao Generalizao a definio de uma entidade genrica

    que engloba atributos comuns a mais de uma entidade, mantendo-se os atributos especficos nas entidades originais (bottom-up)

    Especializao a decomposio de uma entidade em outras com atributos especficos, mantendo-se os atributos cumuns na entidade original (top-down)

    Em outras palavras: especializao e generalizao tratam do mesmo problema, a partir de pontos de vista opostos

  • 23UTP Tecnologia em Informtica Banco de Dados

    Generalizao e EspecializaoGeneralizao e Especializao Exemplo:

    Filial atende Cliente

    uma

    Pessoafsica

    Pessoajurdica

  • 24UTP Tecnologia em Informtica Banco de Dados

    Generalizao e EspecializaoGeneralizao e Especializao Conceitos associados

    Hierarquia: transitividade: uma entidade herda propriedades das ancestrais assimetria: no pode haver ciclos ( se A -> B, ento ! B-> A)

    Restries sobre generalizao: Completude: total ou completa x parcial ou incompleta Sobreposio: sobreposta x disjunta Exemplos:

    Veculo->(trator,caminho): parcial, disjunta Figura->(elipse,quadrado,crculo): parcial, disjunta Indivduo->(homem,mulher): total, disjunta Atleta->(nadador,corredor): parcial, sobreposta

    Profundidade de hierarquias: deve-se evitar nveis excessivos

  • 25UTP Tecnologia em Informtica Banco de Dados

    AgregaoAgregao Agrega duas ou mais entidades em um conceito ou

    entidade de mais alto nvel Permite tratar relacionamentos como entidades de

    nvel de abstrao mais alto

    pessoa

    homem mulher

    bodasrealiza

    t, d

    casal

  • 26UTP Tecnologia em Informtica Banco de Dados

    Exerccio prticoExerccio prtico Construa um DER que represente um banco de dados

    qualquer (farmcia, locadora, boteco etc) O modelo deve conter pelo menos 5 entidades Represente apenas entidades, relacionamentos e

    cardinalidades (ignore os atributos, generalizao etc) Utilize qualquer ferramenta grfica de sua

    preferncia, mas exporte em formato jpg ou pdf envie para [email protected]

    Dica: http://www.sis4.com/brModelo/

  • 27UTP Tecnologia em Informtica Banco de Dados

    Links InteressantesLinks Interessantes http://en.wikipedia.org/wiki/Entityrelationship_model

  • 28UTP Tecnologia em Informtica Banco de Dados

    FIM

    UniversidadeTuiuti doParanU P

    Promoo Humana

    Slide 1Slide 2Slide 3Slide 4Slide 5Slide 6Slide 7Slide 8Slide 9Slide 10Slide 11Slide 12Slide 13Slide 14Slide 15Slide 16Slide 17Slide 18Slide 19Slide 20Slide 21Slide 22Slide 23Slide 24Slide 25Slide 26Slide 27Slide 28