SlideShare une entreprise Scribd logo
1  sur  11
Télécharger pour lire hors ligne
Modelo de Dados
• Modelo para organização dos dados de um
  BD
    – define um conjunto de conceitos para a
      representação de dados
       • exemplos: entidade, tabela, atributo, ...
    – existem modelos para diferentes níveis de
      abstração de representação de dados
       • modelos conceituais
       • modelos lógicos
       • modelos físicos
            – organização dos arquivos de dados em disco (organização
              seqüencial, uso de índices hashing ou B-trees, ...)
            – não são manipulados por usuários ou aplicações que
              acessam o BD
                » decisões de implementação de cada SGBD




             Modelos Conceituais
•    Representação com alto nível de abstração
    – modela de forma mais natural os fatos do
      mundo real, suas propriedades e seus
      relacionamentos
    – independente de BD
    – preocupação com a semântica da aplicação
    – exemplo: modelo entidade-relacionamento
Matrícula
                      (0,N)             (1,1)
            Alunos            Lotação           Cursos
            Nome                                Código   Nome
                               AnoIngresso




                                                                        1
Modelos Lógicos
 • Representam os dados em alguma estrutura
   (lógica) de armazenamento de dados
     – também chamados de modelos de BD
     – dependente de BD
     – exemplos
         • modelo relacional (tabelas)
         • modelos hierárquico e XML (árvore)
         • modelo orientado a objetos (classes - objetos
           complexos)

Alunos   matrícula   nome   anoIngresso curso     Cursos código   nome




          Modelos de BD (Lógicos)
 • Suporte a métodos de acesso
     – especificação dos conceitos do modelo (DDL)
          • dados, seus domínios, relacionamentos e restrições
     – manipulação de conceitos modelados (DML)
 • Esquema (lógico) de BD
     – resultado da especificação dos dados de um
       domínio de aplicação em um modelo de BD
           Requisitos da                        Modelo de
            Aplicação                              BD


                                Esquema
                                 Lógico




                                                                         2
Modelos de BD
• 1a geração: Modelos pré-relacionais
  – modelos hierárquico e de rede
• 2a geração: Modelo relacional
• 3a geração: Modelos pós-relacionais
  – modelos orientado a objetos, objeto-relacional,
    temporal, geográfico, XML, ...




           Modelo Relacional
• Definido em 1970 (E. Codd – IBM/Califórnia)
• Modelo com uma sólida base formal
  – teoria dos conjuntos
• Modelo simples
  – estruturas tabulares
  – poucos conceitos
• Linguagens declarativas para a
  manipulação de dados
     • álgebra relacional e cálculo relacional (formais)
     • SQL (comercial)




                                                           3
Modelo Relacional - Características
 • Organização dos dados
   – conceitos do modelo
     • atributo, relação, chave, ...
 • Integridade
   – restrições básicas para dados e
     relacionamentos
 • Manipulação
   – linguagens formais e SQL




 Modelo Relacional - Organização
 • O modelo apresenta cinco conceitos:
   – domínio
   – atributo
   – tupla
   – relação
   – chave




                                         4
Domínio
• Conjunto de valores permitidos para um
  dado
• Exemplos
  – inteiro, string (domínios básicos)
  – data, hora (domínios compostos)
  – [0, 120], (‘M’, ‘F’) (domínios definidos)
• Para um domínio existem operações válidas
  – inteiro (somar, dividir, i1 maior que i2, ...)
  – data (extrair dia, extrair mês, d1 anterior a d2, ...)
• Definição de domínios de dados
  – DDL (+RIs)




                     Atributo
• Um item de dado do BD
• Possui um nome e um domínio
• Exemplos
  – nome: string
  – idade: [0,120]




                                                             5
Tupla
• Um conjunto de pares (atributo, valor)
  – define uma ocorrência de um fato do mundo
    real ou de um relacionamento entre fatos
• Valor de um atributo
  – definido no momento da criação de uma tupla
  – deve ser
     • compatível com o domínio OU NULL (valor
       inexistente ou indeterminado)
     • atômico (indivisível: não-estruturado e
       monovalorado)
• Exemplo
  – aluno: {(nome, ‘João’), (idade, 34), (matrícula,
    03167034), ...}




                   Relação
• Composto por um cabeçalho e um corpo
• Cabeçalho
  – número fixo de atributos (grau da relação)
  – atributos não-ambíguos
• Corpo
  – número variável de tuplas (cardinalidade da
    relação)
  – ordem não é relevante
  – na teoria, uma relação é um conjunto de tuplas
  – na prática, uma relação é uma coleção de tuplas
     • neste caso, uma relação é chamada tabela




                                                       6
Chave
• Conjunto de um ou mais atributos de uma
  relação
• Tipos de chaves
  – chave primária
    • atributo(s) cujo (combinação de) valor(es)
      identifica(m) unicamente uma tupla em uma relação
    • conceitos associados
       – chaves candidatas e chaves alternativas
    • exemplos
       – alunos: matrícula
       – cidades: (nome, estado)




                       Chave
• Tipos de chaves
  – chave estrangeira
    • atributo(s) de uma relação R1 que estabelece(m)
      uma equivalência de valor com a chave primária de
      uma relação R2
    • se fk é uma chave estrangeira em R1 que faz
      referência à chave primária pk de R2 então:
           domínio(fk) = domínio(pk)
    • R1 e R2 podem ser a mesma relação
    • exemplos
       – alunos: curso (referência a um código de curso)
       – cursos: código




                                                           7
Modelo Relacional - Integridade
• Consistências básicas
  – identificação para os dados
    • garantia de acesso a todos os dados sem
      ambigüidade
    • Regra de Integridade de Entidade (RIE)
  – garantia de relacionamentos válidos
    • Regra de Integridade Referencial (RIR)




Regra de Integridade de Entidade
• Dada uma tupla ti de uma relação R
  – o valor de cada atributo que compõe a chave
    primária de ti deve ser diferente de NULL
  – não pode existir uma outra tupla tj em R com
    mesmo valor da chave primária de ti




                                                   8
Regra de Integridade Referencial
• Dada uma tupla ti e uma chave
  estrangeira che em ti
  – o valor de che pode ser igual a NULL se e
    somente se os atributos de che não fazem
    parte da chave primária de ti
  – o valor de che pode ser diferente de NULL se
    e somente se existir uma tupla tk na relação
    referenciada tal que a chave primária de tk
    possui o mesmo valor da che de ti




         Implicações da RIE
• Dada uma tupla t de uma relação R
  – se ocorre inclusão (I) ou atualização (A) de t
     • se algum atributo da chave primária de t for NULL
       OU
       se existe outra tupla em R com o mesmo valor da
       chave primária de t
            então IMPEDIMENTO
            senão EFETIVAÇÃO;
  – se ocorre exclusão (E) de t
     • nenhuma consistência a ser feita




                                                           9
Implicações da RIR
• Dadas duas relações (R1 e R2) e uma chave
  estrangeira che em R1 que faz referência à
  chave primária de R2, três ações podem ser
  tomadas
  – IMPEDIMENTO
    • a operação de atualização não é efetivada
  – CASCATA
    • se ocorre E de uma tupla t de R2, então E toda tupla
      de R1 tal que che faça referência à chave primária de t
    • se ocorre A da chave primária de uma tupla t de R2,
      então A o valor da che de toda tupla de R1 que faça
      referência ao valor antigo da chave primária de t para
      o novo valor da chave primária de t




         Implicações da RIR
• Dadas duas relações (R1 e R2) e uma chave
  estrangeira che em R1 que faz referência à
  chave primária de R2, três ações podem ser
  tomadas
  – ANULAÇÃO
    • se ocorre E ou A de uma tupla t de R2, então
      para toda tupla de R1 tal que che faça referência à
      chave primária de t faça che = NULL




                                                                10
Implicações da RIR
• Situação 1: operações sobre R1 (onde está che)
  – I ou A de uma tupla t
     se che de t for NULL então
       se che faz parte da chave primária de R1
             então IMPEDIMENTO
             senão EFETIVAÇÃO
     senão
      se não existe tupla k de R2 tal que o valor de che seja igual ao
        valor da chave primária de k então
             se che faz parte da chave primária de R1
                      então IMPEDIMENTO
                      senão IMPEDIMENTO ou ANULAÇÃO
      senão EFETIVAÇÃO
  – E de uma tupla t
       nenhuma consistência a ser feita




           Implicações da RIR
• Situação 2: operações sobre R2
  – E de uma tupla t ou A da sua chave primária
     para toda tupla k de R1 cuja chave estrangeira che faça
      referência à chave primária de t faça
            se che faz parte da chave primária de R1
                   então IMPEDIMENTO ou CASCATA
                   senão IMPEDIMENTO ou CASCATA ou
                         ANULAÇÃO

  – I de uma tupla t
       nenhuma consistência a ser feita




                                                                         11

Contenu connexe

Tendances

Normalização de dados - Primeira forma normal
Normalização de dados - Primeira forma normalNormalização de dados - Primeira forma normal
Normalização de dados - Primeira forma normalvitorleyva
 
[Certificacao ] normalizacao de dados e as formas normais
[Certificacao ]  normalizacao de dados e as formas normais[Certificacao ]  normalizacao de dados e as formas normais
[Certificacao ] normalizacao de dados e as formas normaisSandro Freitas
 
Normalização básica
Normalização básicaNormalização básica
Normalização básicaNadia Habu
 
Junções e subconsultas
Junções e subconsultasJunções e subconsultas
Junções e subconsultasjulianaveregue
 
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)Gustavo Zimmermann
 
Apostila Modelo ER (Entidade Relacionamento)
Apostila Modelo ER (Entidade Relacionamento)Apostila Modelo ER (Entidade Relacionamento)
Apostila Modelo ER (Entidade Relacionamento)Ricardo Terra
 
Banco de dados - Mapeamento MER - Relacional
Banco de dados - Mapeamento MER - RelacionalBanco de dados - Mapeamento MER - Relacional
Banco de dados - Mapeamento MER - RelacionalDaniel Brandão
 
Aula 4 - Diagrama Entidade Relacionamento (com exercício no final)
Aula 4  - Diagrama Entidade Relacionamento (com exercício no final)Aula 4  - Diagrama Entidade Relacionamento (com exercício no final)
Aula 4 - Diagrama Entidade Relacionamento (com exercício no final)Janynne Gomes
 
Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidosGleydson Sousa
 
Bd 5 Modelo Relacional
Bd  5 Modelo RelacionalBd  5 Modelo Relacional
Bd 5 Modelo RelacionalNelson Sousa
 
Normalização em Banco de Dados
Normalização em Banco de DadosNormalização em Banco de Dados
Normalização em Banco de DadosDiolene Sampaio
 
Normalização Banco de Dados
Normalização Banco de DadosNormalização Banco de Dados
Normalização Banco de DadosKablo Skater Rail
 
Normalização - Banco de Dados
Normalização - Banco de DadosNormalização - Banco de Dados
Normalização - Banco de DadosRoberto Grande
 
Apostila excel avançado
Apostila excel avançadoApostila excel avançado
Apostila excel avançadoaeduar
 
Excel Intermediário
Excel IntermediárioExcel Intermediário
Excel Intermediárioaprcds
 
Excel Avançado - Aulas
Excel Avançado - AulasExcel Avançado - Aulas
Excel Avançado - AulasGustavo Sousa
 

Tendances (20)

Normalização de dados - Primeira forma normal
Normalização de dados - Primeira forma normalNormalização de dados - Primeira forma normal
Normalização de dados - Primeira forma normal
 
[Certificacao ] normalizacao de dados e as formas normais
[Certificacao ]  normalizacao de dados e as formas normais[Certificacao ]  normalizacao de dados e as formas normais
[Certificacao ] normalizacao de dados e as formas normais
 
Normalização básica
Normalização básicaNormalização básica
Normalização básica
 
Junções e subconsultas
Junções e subconsultasJunções e subconsultas
Junções e subconsultas
 
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
 
Apostila Modelo ER (Entidade Relacionamento)
Apostila Modelo ER (Entidade Relacionamento)Apostila Modelo ER (Entidade Relacionamento)
Apostila Modelo ER (Entidade Relacionamento)
 
Banco de dados - Mapeamento MER - Relacional
Banco de dados - Mapeamento MER - RelacionalBanco de dados - Mapeamento MER - Relacional
Banco de dados - Mapeamento MER - Relacional
 
Aula 4 - Diagrama Entidade Relacionamento (com exercício no final)
Aula 4  - Diagrama Entidade Relacionamento (com exercício no final)Aula 4  - Diagrama Entidade Relacionamento (com exercício no final)
Aula 4 - Diagrama Entidade Relacionamento (com exercício no final)
 
Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidos
 
Bd 5 Modelo Relacional
Bd  5 Modelo RelacionalBd  5 Modelo Relacional
Bd 5 Modelo Relacional
 
Normalização em Banco de Dados
Normalização em Banco de DadosNormalização em Banco de Dados
Normalização em Banco de Dados
 
Normalização Banco de Dados
Normalização Banco de DadosNormalização Banco de Dados
Normalização Banco de Dados
 
Normalização - Banco de Dados
Normalização - Banco de DadosNormalização - Banco de Dados
Normalização - Banco de Dados
 
Aula 9 banco de dados
Aula 9   banco de dadosAula 9   banco de dados
Aula 9 banco de dados
 
Aula 10 banco de dados
Aula 10   banco de dadosAula 10   banco de dados
Aula 10 banco de dados
 
Apostila excel avançado
Apostila excel avançadoApostila excel avançado
Apostila excel avançado
 
Apostila excel-avancado-senac
Apostila excel-avancado-senacApostila excel-avancado-senac
Apostila excel-avancado-senac
 
Excel Intermediário
Excel IntermediárioExcel Intermediário
Excel Intermediário
 
Aula 11 banco de dados
Aula 11   banco de dadosAula 11   banco de dados
Aula 11 banco de dados
 
Excel Avançado - Aulas
Excel Avançado - AulasExcel Avançado - Aulas
Excel Avançado - Aulas
 

En vedette

Avaliação económica de projectos
Avaliação económica de projectosAvaliação económica de projectos
Avaliação económica de projectosPedro De Almeida
 
Gerenciamento de projetos - Analise de Valor Agregado
Gerenciamento de projetos - Analise de Valor AgregadoGerenciamento de projetos - Analise de Valor Agregado
Gerenciamento de projetos - Analise de Valor AgregadoClaudio Barbosa
 
EVM - Valor Agregado em Projetos
EVM - Valor Agregado em ProjetosEVM - Valor Agregado em Projetos
EVM - Valor Agregado em ProjetosGabriel Kaio
 
Bdm aula 3 - modelo relacional e restrições de integridade
Bdm   aula 3 - modelo relacional e restrições de integridadeBdm   aula 3 - modelo relacional e restrições de integridade
Bdm aula 3 - modelo relacional e restrições de integridadeTicianne Darin
 

En vedette (6)

Apostila modelagem de banco de dados
Apostila modelagem de banco de dadosApostila modelagem de banco de dados
Apostila modelagem de banco de dados
 
Avaliação económica de projectos
Avaliação económica de projectosAvaliação económica de projectos
Avaliação económica de projectos
 
Gerenciamento de projetos - Analise de Valor Agregado
Gerenciamento de projetos - Analise de Valor AgregadoGerenciamento de projetos - Analise de Valor Agregado
Gerenciamento de projetos - Analise de Valor Agregado
 
EVM - Valor Agregado em Projetos
EVM - Valor Agregado em ProjetosEVM - Valor Agregado em Projetos
EVM - Valor Agregado em Projetos
 
Analise de Valor Agregado - EVA
Analise de Valor Agregado - EVAAnalise de Valor Agregado - EVA
Analise de Valor Agregado - EVA
 
Bdm aula 3 - modelo relacional e restrições de integridade
Bdm   aula 3 - modelo relacional e restrições de integridadeBdm   aula 3 - modelo relacional e restrições de integridade
Bdm aula 3 - modelo relacional e restrições de integridade
 

Similaire à 3 modelo relacional

FICHA4_Esquema Relacional _BD_Novo-1.pdf
FICHA4_Esquema Relacional _BD_Novo-1.pdfFICHA4_Esquema Relacional _BD_Novo-1.pdf
FICHA4_Esquema Relacional _BD_Novo-1.pdfhelton56
 
Introdução a Banco de Dados
Introdução a Banco de DadosIntrodução a Banco de Dados
Introdução a Banco de DadosDaniel Brandão
 
1601PAPSUML-Cap12-destaqueDAO.ppt
1601PAPSUML-Cap12-destaqueDAO.ppt1601PAPSUML-Cap12-destaqueDAO.ppt
1601PAPSUML-Cap12-destaqueDAO.pptAlan5263
 
BD I - Aula 04 A - Resumo MER e Mapeamento Relacional
BD I - Aula 04 A - Resumo MER e Mapeamento RelacionalBD I - Aula 04 A - Resumo MER e Mapeamento Relacional
BD I - Aula 04 A - Resumo MER e Mapeamento RelacionalRodrigo Kiyoshi Saito
 
BD I - Aula 03 - Atributos, Tuplas, PK, FK, Relacionamento, Int. Ref
BD I - Aula 03 - Atributos, Tuplas, PK, FK, Relacionamento, Int. RefBD I - Aula 03 - Atributos, Tuplas, PK, FK, Relacionamento, Int. Ref
BD I - Aula 03 - Atributos, Tuplas, PK, FK, Relacionamento, Int. RefRodrigo Kiyoshi Saito
 
Introdução ao Banco de dados - Prof. Daniel Brandão
Introdução ao Banco de dados - Prof. Daniel BrandãoIntrodução ao Banco de dados - Prof. Daniel Brandão
Introdução ao Banco de dados - Prof. Daniel BrandãoDaniel Brandão
 
Definição Formal do MER(Conceitos do Modelo Relacional).pdf
Definição Formal do MER(Conceitos do Modelo Relacional).pdfDefinição Formal do MER(Conceitos do Modelo Relacional).pdf
Definição Formal do MER(Conceitos do Modelo Relacional).pdfgabriel-colman
 
MODELOS DE DADOS - Parte 3 Bancos de Dados
MODELOS DE DADOS - Parte 3 Bancos de DadosMODELOS DE DADOS - Parte 3 Bancos de Dados
MODELOS DE DADOS - Parte 3 Bancos de DadosUlrich Schiel
 
TI para Concursos: Modelagem Conceitual de Bancos de Dados
TI para Concursos: Modelagem Conceitual de Bancos de DadosTI para Concursos: Modelagem Conceitual de Bancos de Dados
TI para Concursos: Modelagem Conceitual de Bancos de DadosEstratégia Concursos
 
Mapeamento de Objetos para o Modelo Relacional.ppt
Mapeamento de Objetos para o Modelo Relacional.pptMapeamento de Objetos para o Modelo Relacional.ppt
Mapeamento de Objetos para o Modelo Relacional.pptJoberthSilva
 
Modelos de banco de dados
Modelos de banco de dadosModelos de banco de dados
Modelos de banco de dadosEdgar Stuart
 
Base de dados tic 10º ano
Base de dados   tic 10º anoBase de dados   tic 10º ano
Base de dados tic 10º anoEste FC Juniores
 
Access 03 Modelo E R
Access 03 Modelo E RAccess 03 Modelo E R
Access 03 Modelo E Rtorresmo
 
Apostila bancodedados (2)
Apostila bancodedados (2)Apostila bancodedados (2)
Apostila bancodedados (2)Reuel Lopes
 
A lógica aplicada no modelo relacional
A lógica aplicada no modelo relacionalA lógica aplicada no modelo relacional
A lógica aplicada no modelo relacionalMailson Queiroz
 
Álgebra Linear e SQL Banco de Dados.pdf
Álgebra Linear e  SQL Banco de Dados.pdfÁlgebra Linear e  SQL Banco de Dados.pdf
Álgebra Linear e SQL Banco de Dados.pdfgabriel-colman
 

Similaire à 3 modelo relacional (20)

FICHA4_Esquema Relacional _BD_Novo-1.pdf
FICHA4_Esquema Relacional _BD_Novo-1.pdfFICHA4_Esquema Relacional _BD_Novo-1.pdf
FICHA4_Esquema Relacional _BD_Novo-1.pdf
 
Introdução a Banco de Dados
Introdução a Banco de DadosIntrodução a Banco de Dados
Introdução a Banco de Dados
 
1601PAPSUML-Cap12-destaqueDAO.ppt
1601PAPSUML-Cap12-destaqueDAO.ppt1601PAPSUML-Cap12-destaqueDAO.ppt
1601PAPSUML-Cap12-destaqueDAO.ppt
 
BD I - Aula 04 A - Resumo MER e Mapeamento Relacional
BD I - Aula 04 A - Resumo MER e Mapeamento RelacionalBD I - Aula 04 A - Resumo MER e Mapeamento Relacional
BD I - Aula 04 A - Resumo MER e Mapeamento Relacional
 
Cap3 (1).ppt
Cap3 (1).pptCap3 (1).ppt
Cap3 (1).ppt
 
BD I - Aula 03 - Atributos, Tuplas, PK, FK, Relacionamento, Int. Ref
BD I - Aula 03 - Atributos, Tuplas, PK, FK, Relacionamento, Int. RefBD I - Aula 03 - Atributos, Tuplas, PK, FK, Relacionamento, Int. Ref
BD I - Aula 03 - Atributos, Tuplas, PK, FK, Relacionamento, Int. Ref
 
Introdução ao Banco de dados - Prof. Daniel Brandão
Introdução ao Banco de dados - Prof. Daniel BrandãoIntrodução ao Banco de dados - Prof. Daniel Brandão
Introdução ao Banco de dados - Prof. Daniel Brandão
 
Definição Formal do MER(Conceitos do Modelo Relacional).pdf
Definição Formal do MER(Conceitos do Modelo Relacional).pdfDefinição Formal do MER(Conceitos do Modelo Relacional).pdf
Definição Formal do MER(Conceitos do Modelo Relacional).pdf
 
MODELOS DE DADOS - Parte 3 Bancos de Dados
MODELOS DE DADOS - Parte 3 Bancos de DadosMODELOS DE DADOS - Parte 3 Bancos de Dados
MODELOS DE DADOS - Parte 3 Bancos de Dados
 
TI para Concursos: Modelagem Conceitual de Bancos de Dados
TI para Concursos: Modelagem Conceitual de Bancos de DadosTI para Concursos: Modelagem Conceitual de Bancos de Dados
TI para Concursos: Modelagem Conceitual de Bancos de Dados
 
Mapeamento de Objetos para o Modelo Relacional.ppt
Mapeamento de Objetos para o Modelo Relacional.pptMapeamento de Objetos para o Modelo Relacional.ppt
Mapeamento de Objetos para o Modelo Relacional.ppt
 
Modelos de banco de dados
Modelos de banco de dadosModelos de banco de dados
Modelos de banco de dados
 
Base de dados tic 10º ano
Base de dados   tic 10º anoBase de dados   tic 10º ano
Base de dados tic 10º ano
 
08.type systems
08.type systems08.type systems
08.type systems
 
Modelos de base de dados
Modelos de base de dadosModelos de base de dados
Modelos de base de dados
 
Aula projetologico
Aula projetologicoAula projetologico
Aula projetologico
 
Access 03 Modelo E R
Access 03 Modelo E RAccess 03 Modelo E R
Access 03 Modelo E R
 
Apostila bancodedados (2)
Apostila bancodedados (2)Apostila bancodedados (2)
Apostila bancodedados (2)
 
A lógica aplicada no modelo relacional
A lógica aplicada no modelo relacionalA lógica aplicada no modelo relacional
A lógica aplicada no modelo relacional
 
Álgebra Linear e SQL Banco de Dados.pdf
Álgebra Linear e  SQL Banco de Dados.pdfÁlgebra Linear e  SQL Banco de Dados.pdf
Álgebra Linear e SQL Banco de Dados.pdf
 

3 modelo relacional

  • 1. Modelo de Dados • Modelo para organização dos dados de um BD – define um conjunto de conceitos para a representação de dados • exemplos: entidade, tabela, atributo, ... – existem modelos para diferentes níveis de abstração de representação de dados • modelos conceituais • modelos lógicos • modelos físicos – organização dos arquivos de dados em disco (organização seqüencial, uso de índices hashing ou B-trees, ...) – não são manipulados por usuários ou aplicações que acessam o BD » decisões de implementação de cada SGBD Modelos Conceituais • Representação com alto nível de abstração – modela de forma mais natural os fatos do mundo real, suas propriedades e seus relacionamentos – independente de BD – preocupação com a semântica da aplicação – exemplo: modelo entidade-relacionamento Matrícula (0,N) (1,1) Alunos Lotação Cursos Nome Código Nome AnoIngresso 1
  • 2. Modelos Lógicos • Representam os dados em alguma estrutura (lógica) de armazenamento de dados – também chamados de modelos de BD – dependente de BD – exemplos • modelo relacional (tabelas) • modelos hierárquico e XML (árvore) • modelo orientado a objetos (classes - objetos complexos) Alunos matrícula nome anoIngresso curso Cursos código nome Modelos de BD (Lógicos) • Suporte a métodos de acesso – especificação dos conceitos do modelo (DDL) • dados, seus domínios, relacionamentos e restrições – manipulação de conceitos modelados (DML) • Esquema (lógico) de BD – resultado da especificação dos dados de um domínio de aplicação em um modelo de BD Requisitos da Modelo de Aplicação BD Esquema Lógico 2
  • 3. Modelos de BD • 1a geração: Modelos pré-relacionais – modelos hierárquico e de rede • 2a geração: Modelo relacional • 3a geração: Modelos pós-relacionais – modelos orientado a objetos, objeto-relacional, temporal, geográfico, XML, ... Modelo Relacional • Definido em 1970 (E. Codd – IBM/Califórnia) • Modelo com uma sólida base formal – teoria dos conjuntos • Modelo simples – estruturas tabulares – poucos conceitos • Linguagens declarativas para a manipulação de dados • álgebra relacional e cálculo relacional (formais) • SQL (comercial) 3
  • 4. Modelo Relacional - Características • Organização dos dados – conceitos do modelo • atributo, relação, chave, ... • Integridade – restrições básicas para dados e relacionamentos • Manipulação – linguagens formais e SQL Modelo Relacional - Organização • O modelo apresenta cinco conceitos: – domínio – atributo – tupla – relação – chave 4
  • 5. Domínio • Conjunto de valores permitidos para um dado • Exemplos – inteiro, string (domínios básicos) – data, hora (domínios compostos) – [0, 120], (‘M’, ‘F’) (domínios definidos) • Para um domínio existem operações válidas – inteiro (somar, dividir, i1 maior que i2, ...) – data (extrair dia, extrair mês, d1 anterior a d2, ...) • Definição de domínios de dados – DDL (+RIs) Atributo • Um item de dado do BD • Possui um nome e um domínio • Exemplos – nome: string – idade: [0,120] 5
  • 6. Tupla • Um conjunto de pares (atributo, valor) – define uma ocorrência de um fato do mundo real ou de um relacionamento entre fatos • Valor de um atributo – definido no momento da criação de uma tupla – deve ser • compatível com o domínio OU NULL (valor inexistente ou indeterminado) • atômico (indivisível: não-estruturado e monovalorado) • Exemplo – aluno: {(nome, ‘João’), (idade, 34), (matrícula, 03167034), ...} Relação • Composto por um cabeçalho e um corpo • Cabeçalho – número fixo de atributos (grau da relação) – atributos não-ambíguos • Corpo – número variável de tuplas (cardinalidade da relação) – ordem não é relevante – na teoria, uma relação é um conjunto de tuplas – na prática, uma relação é uma coleção de tuplas • neste caso, uma relação é chamada tabela 6
  • 7. Chave • Conjunto de um ou mais atributos de uma relação • Tipos de chaves – chave primária • atributo(s) cujo (combinação de) valor(es) identifica(m) unicamente uma tupla em uma relação • conceitos associados – chaves candidatas e chaves alternativas • exemplos – alunos: matrícula – cidades: (nome, estado) Chave • Tipos de chaves – chave estrangeira • atributo(s) de uma relação R1 que estabelece(m) uma equivalência de valor com a chave primária de uma relação R2 • se fk é uma chave estrangeira em R1 que faz referência à chave primária pk de R2 então: domínio(fk) = domínio(pk) • R1 e R2 podem ser a mesma relação • exemplos – alunos: curso (referência a um código de curso) – cursos: código 7
  • 8. Modelo Relacional - Integridade • Consistências básicas – identificação para os dados • garantia de acesso a todos os dados sem ambigüidade • Regra de Integridade de Entidade (RIE) – garantia de relacionamentos válidos • Regra de Integridade Referencial (RIR) Regra de Integridade de Entidade • Dada uma tupla ti de uma relação R – o valor de cada atributo que compõe a chave primária de ti deve ser diferente de NULL – não pode existir uma outra tupla tj em R com mesmo valor da chave primária de ti 8
  • 9. Regra de Integridade Referencial • Dada uma tupla ti e uma chave estrangeira che em ti – o valor de che pode ser igual a NULL se e somente se os atributos de che não fazem parte da chave primária de ti – o valor de che pode ser diferente de NULL se e somente se existir uma tupla tk na relação referenciada tal que a chave primária de tk possui o mesmo valor da che de ti Implicações da RIE • Dada uma tupla t de uma relação R – se ocorre inclusão (I) ou atualização (A) de t • se algum atributo da chave primária de t for NULL OU se existe outra tupla em R com o mesmo valor da chave primária de t então IMPEDIMENTO senão EFETIVAÇÃO; – se ocorre exclusão (E) de t • nenhuma consistência a ser feita 9
  • 10. Implicações da RIR • Dadas duas relações (R1 e R2) e uma chave estrangeira che em R1 que faz referência à chave primária de R2, três ações podem ser tomadas – IMPEDIMENTO • a operação de atualização não é efetivada – CASCATA • se ocorre E de uma tupla t de R2, então E toda tupla de R1 tal que che faça referência à chave primária de t • se ocorre A da chave primária de uma tupla t de R2, então A o valor da che de toda tupla de R1 que faça referência ao valor antigo da chave primária de t para o novo valor da chave primária de t Implicações da RIR • Dadas duas relações (R1 e R2) e uma chave estrangeira che em R1 que faz referência à chave primária de R2, três ações podem ser tomadas – ANULAÇÃO • se ocorre E ou A de uma tupla t de R2, então para toda tupla de R1 tal que che faça referência à chave primária de t faça che = NULL 10
  • 11. Implicações da RIR • Situação 1: operações sobre R1 (onde está che) – I ou A de uma tupla t se che de t for NULL então se che faz parte da chave primária de R1 então IMPEDIMENTO senão EFETIVAÇÃO senão se não existe tupla k de R2 tal que o valor de che seja igual ao valor da chave primária de k então se che faz parte da chave primária de R1 então IMPEDIMENTO senão IMPEDIMENTO ou ANULAÇÃO senão EFETIVAÇÃO – E de uma tupla t nenhuma consistência a ser feita Implicações da RIR • Situação 2: operações sobre R2 – E de uma tupla t ou A da sua chave primária para toda tupla k de R1 cuja chave estrangeira che faça referência à chave primária de t faça se che faz parte da chave primária de R1 então IMPEDIMENTO ou CASCATA senão IMPEDIMENTO ou CASCATA ou ANULAÇÃO – I de uma tupla t nenhuma consistência a ser feita 11