Recapitulando...
Modelo
relacional
• Criar uma abstração do mundo real em um
modelo relacional
• Interessam-nos somente os objetos sobre os
quais deseja-se manter informações
Conceitos do
Modelo Relacional
• O modelo de dados relacional é baseado no
conceito de relação matemática
– A força da estratégia relacional para o
gerenciamento de dados vem de uma
fundamentação formal baseada na teoria de
relações
• Uma relação é um conceito matemático baseado
na ideia de conjuntos
• O modelo foi proposto por E.F. Codd da IBM em
1970 no artigo:
– "A Relational Model for Large Shared Data Banks,"
Communications of the ACM, June 1970
Modelo
relacional
• Informalmente, uma relação é uma tabela
• As relações possuem conjunto de registros
• Os dados em cada registro representam certos
fatos que correspondem ao mundo real do
modelo entidade relacionamento
Definições
informais
• No modelo formal, registros são chamados de
tuplas
• Cada coluna tem um cabeçalho que dá uma
indicação do significado do dado na coluna
– No modelo formal, os cabeçalhos são
chamados de atributos
• O tipo de dado que descreve os tipos de
valores que podem aparecer em cada coluna é
representado por um domínio de valores
possíveis
Definições
informais
• Conjunto não ordenado de tuplas
• Não existem tuplas duplicadas
Relação
O grau de uma relação é o número de atributos n desse
esquema de relação.
• Conjunto ordenado de atributos
Tupla
• Valores dos atributos são atômicos e monovalorados
Atributo
Esquema Esquema
Definição formal
• O Esquema de uma Relação:
– Denotado por R (A1, A2, .....An)
• R é o nome da relação
• Os atributos da relação são A1, A2, ..., An
• Exemplo:
CLIENTE (id, nome, endereço, telefone)
– CLIENTE é o nome da relação
– Definido sobre os atributos: id, nome, endereço, telefone
– Nome do atributo
• Indica o significado dos valores do atributo
• Designa o papel realizado por um domínio na
relação
Esquema
• Cada atributo tem um domínio ou um conjunto de valores
válidos
– Por exemplo, o domínio de id é um número de 6
dígitos.
• Conjunto de valores atômicos
• D(Ax) – Domínio do atributo Ax
– Um domínio tem uma definição lógica
• D(cpf): conjunto de 11 dígitos
– Um domínio está associado a um tipo de dado
(string, inteiro, etc)
• D(nome): string de até 100 caracteres
Domínio
do atributo
• Notação usual:
– Nome da relação e atributos + tipos
– Ex: (tipo é opcional na notação)
• LIVRO (ISBN:String, Título:String, Autor:
String, Ano: integer, Categoria: String)
Domínio
do atributo
• Uma relação (ou instância da relação) r de esquema
da relação R(A1, A2, .........., An) também indicado
por r(R)
– É um conjunto de n tuplas r={t1,t2,...tn} em
que
• ti é uma lista ordenada de valores t=<V1, V2,
... Vn> em que
– Vi é um elemento do dom (Ai) ou um valor
nulo
– Notações:
» t[Ai] ou t.Ai para acessar o atributo Ai da
tupla
» t[i] notação alternativa (posicional)
Definição
formal
• Esquema de uma relação:
– LIVRO(ISBN, TÍTULO, AUTOR, ANO, CATEGORIA)
• Tupla
– t = <9580471444, Vidas Secas, Graciliano Ramos, 1938, Romance>
– t[categoria] = <Romance>
– t[ano] = <1938>
– t[2] = <Vidas Secas>
Tupla
▪ Esquema relação
▫ LIVRO (ISBN, Título, Autor, Ano, Categoria)
▪ Tupla
▫ T=<9580471444, Vidas Secas, Graciliano Ramos, 1938, Romance>
▫ t[Categoria] = <Romance>
▫ t[Ano] = <1938>
▫ t[2] = <Vidas Secas>
ISBN Título Autor Ano Categoria
9580471444 Vidas Secas Graciliano Ramos 1938 Romance
958047950X Agosto Rubem Fonseca 1990 Romance
0554253216 Micrographia Robert Hooke 1665 Ciências
Tupla
• Tupla: conjunto de pares (<atributo>, <valor>)
– A ordem dos valores não é importante
– t = <(ISBN, 9580471444), (título, Vidas Secas),
(autor, Graciliano Ramos), (ano, 1938),
(categoria, Romance)>
Tupla
▪ Esquema relação
▫ LIVRO (ISBN, Título, Autor, Ano, Categoria)
▪ Tupla
▫ T=<9580471444, Vidas Secas, Graciliano Ramos, 1938, Romance>
▫ t[Categoria] = <Romance>
▫ t[Ano] = <1938>
▫ t[2] = <Vidas Secas>
ISBN Título Autor Ano Categoria
9580471444 Vidas Secas Graciliano Ramos 1938 Romance
958047950X Agosto Rubem Fonseca 1990 Romance
0554253216 Micrographia Robert Hooke 1665 Ciências
Tupla
Notação
alternativa
Um valor NULO é usado para representar valores que são
desconhecidos em certas tuplas.
• NULO indica valor:
– Desconhecido
– Não disponível
– não se aplicam a tupla (indefinidos)
Importância
do nulo

Definição Formal do MER(Conceitos do Modelo Relacional).pdf

  • 1.
  • 2.
    Modelo relacional • Criar umaabstração do mundo real em um modelo relacional • Interessam-nos somente os objetos sobre os quais deseja-se manter informações
  • 3.
  • 4.
    • O modelode dados relacional é baseado no conceito de relação matemática – A força da estratégia relacional para o gerenciamento de dados vem de uma fundamentação formal baseada na teoria de relações • Uma relação é um conceito matemático baseado na ideia de conjuntos • O modelo foi proposto por E.F. Codd da IBM em 1970 no artigo: – "A Relational Model for Large Shared Data Banks," Communications of the ACM, June 1970 Modelo relacional
  • 5.
    • Informalmente, umarelação é uma tabela • As relações possuem conjunto de registros • Os dados em cada registro representam certos fatos que correspondem ao mundo real do modelo entidade relacionamento Definições informais
  • 6.
    • No modeloformal, registros são chamados de tuplas • Cada coluna tem um cabeçalho que dá uma indicação do significado do dado na coluna – No modelo formal, os cabeçalhos são chamados de atributos • O tipo de dado que descreve os tipos de valores que podem aparecer em cada coluna é representado por um domínio de valores possíveis Definições informais
  • 7.
    • Conjunto nãoordenado de tuplas • Não existem tuplas duplicadas Relação O grau de uma relação é o número de atributos n desse esquema de relação.
  • 8.
    • Conjunto ordenadode atributos Tupla
  • 9.
    • Valores dosatributos são atômicos e monovalorados Atributo
  • 10.
  • 11.
  • 12.
    • O Esquemade uma Relação: – Denotado por R (A1, A2, .....An) • R é o nome da relação • Os atributos da relação são A1, A2, ..., An • Exemplo: CLIENTE (id, nome, endereço, telefone) – CLIENTE é o nome da relação – Definido sobre os atributos: id, nome, endereço, telefone – Nome do atributo • Indica o significado dos valores do atributo • Designa o papel realizado por um domínio na relação Esquema
  • 13.
    • Cada atributotem um domínio ou um conjunto de valores válidos – Por exemplo, o domínio de id é um número de 6 dígitos. • Conjunto de valores atômicos • D(Ax) – Domínio do atributo Ax – Um domínio tem uma definição lógica • D(cpf): conjunto de 11 dígitos – Um domínio está associado a um tipo de dado (string, inteiro, etc) • D(nome): string de até 100 caracteres Domínio do atributo
  • 14.
    • Notação usual: –Nome da relação e atributos + tipos – Ex: (tipo é opcional na notação) • LIVRO (ISBN:String, Título:String, Autor: String, Ano: integer, Categoria: String) Domínio do atributo
  • 15.
    • Uma relação(ou instância da relação) r de esquema da relação R(A1, A2, .........., An) também indicado por r(R) – É um conjunto de n tuplas r={t1,t2,...tn} em que • ti é uma lista ordenada de valores t=<V1, V2, ... Vn> em que – Vi é um elemento do dom (Ai) ou um valor nulo – Notações: » t[Ai] ou t.Ai para acessar o atributo Ai da tupla » t[i] notação alternativa (posicional) Definição formal
  • 16.
    • Esquema deuma relação: – LIVRO(ISBN, TÍTULO, AUTOR, ANO, CATEGORIA) • Tupla – t = <9580471444, Vidas Secas, Graciliano Ramos, 1938, Romance> – t[categoria] = <Romance> – t[ano] = <1938> – t[2] = <Vidas Secas> Tupla ▪ Esquema relação ▫ LIVRO (ISBN, Título, Autor, Ano, Categoria) ▪ Tupla ▫ T=<9580471444, Vidas Secas, Graciliano Ramos, 1938, Romance> ▫ t[Categoria] = <Romance> ▫ t[Ano] = <1938> ▫ t[2] = <Vidas Secas> ISBN Título Autor Ano Categoria 9580471444 Vidas Secas Graciliano Ramos 1938 Romance 958047950X Agosto Rubem Fonseca 1990 Romance 0554253216 Micrographia Robert Hooke 1665 Ciências Tupla
  • 17.
    • Tupla: conjuntode pares (<atributo>, <valor>) – A ordem dos valores não é importante – t = <(ISBN, 9580471444), (título, Vidas Secas), (autor, Graciliano Ramos), (ano, 1938), (categoria, Romance)> Tupla ▪ Esquema relação ▫ LIVRO (ISBN, Título, Autor, Ano, Categoria) ▪ Tupla ▫ T=<9580471444, Vidas Secas, Graciliano Ramos, 1938, Romance> ▫ t[Categoria] = <Romance> ▫ t[Ano] = <1938> ▫ t[2] = <Vidas Secas> ISBN Título Autor Ano Categoria 9580471444 Vidas Secas Graciliano Ramos 1938 Romance 958047950X Agosto Rubem Fonseca 1990 Romance 0554253216 Micrographia Robert Hooke 1665 Ciências Tupla Notação alternativa
  • 18.
    Um valor NULOé usado para representar valores que são desconhecidos em certas tuplas. • NULO indica valor: – Desconhecido – Não disponível – não se aplicam a tupla (indefinidos) Importância do nulo