Escolar Documentos
Profissional Documentos
Cultura Documentos
Luciano F. de Medeiros
Conceito
• Linguagem de consultas procedural.
• Consiste em um conjunto de operações que
tem como entrada uma ou duas relações ou
• tabelas e produz, como resultado, uma nova
relação ou tabela.
• Tal propriedade é conhecida como a
propriedade de fechamento.
Operações
• Seleção
• Projeção
• Junção
• União
• Diferença
• Interseção
• Produto cartesiano
• Divisão
• Atribuição
Primitivos/Derivados
• Na proposta original de
Codd haviam oito
operadores (todos os
relacionados acima
exceto a “atribuição”)
que eram divididos em
primitivos ou
fundamentais (seleção,
projeção, produto
cartesiano, união,
interseção e diferença) e
derivados ou adicionais
(junção e divisão).
Quantidade de Relações
• Algumas operações, como a seleção e a
projeção, são denominadas de primárias ou
unitárias, por operarem com apenas uma
relação.
• Outras, como a junção e o produto cartesiano,
são consideradas binárias, por necessitarem
de duas relações.
Seleção
• A operação seleção seleciona linhas ou registros
que satisfaçam uma determinada condição.
• Dizemos que o operador de seleção faz uma
restrição em relação à linha ou ao registro –
restrição horizontal.
• Usamos a letra grega minúscula sigma (σ) para
denotar seleção
• A condição aparece subscrita a σ;
• O argumento da relação ou tabela é dado entre
parênteses, seguindo o σ.
Exemplo de Seleção
Exemplo de Seleção (2)
Condições Compostas
Projeção
• Permite que façamos uma restrição em termos
de atributos ou campos (ou mesmo colunas) de
uma relação ou tabela – aplica uma restrição
vertical.
• Os atributos de maior relevância são escolhidos
para que certa consulta seja feita ao banco de
dados.
• A projeção é denotada pela letra grega pi (π), a
qual aparece subscrita a lista de atributos ou
campos desejados para a operação.
Exemplo
Junção
• Também denominada de junção natural, tal operação
caracteriza-se por ser binária, necessitando de duas
relações ou tabelas.
• É também necessária a existência de atributos ou
campos em comum entre as duas tabelas envolvidas.
• Expressamos a operação através do símbolo
• Coloca-se em subscrito à direita a igualdade entre os
campos em comum.
• Caso os campos venham a ter a mesma designação
nas duas tabelas, omitimos a igualdade e colocamos
apenas uma vez o nome do atributo ou campo.
Exemplo
Campos em Comum
• Ao compararmos as duas, percebemos que os
campos que se correlacionam são ”codigo” na
tabela “CLIENTES”, e “codcli” na tabela
“PEDIDO”.
• Assim, é possível fazermos a junção das duas
tabelas através desses campos em comum.
Resultado
• Note que na igualdade, o campo “codcli” está à
esquerda, pois pertence à tabela “PEDIDO” e o
campo “codigo” está à direita, pois pertence,
por sua vez, à tabela “CLIENTES”.
Considerações
• Veja que a tabela de saída têm sete atributos
e que o atributo em comum não é repetido.
• Note também que na junção, os registros que
não têm um correspondente na outra tabela
desaparecem da tabela resultante (no caso, o
cliente de código 295, Carlos Silva).
• Agora, é possível sabermos pelo nome do
cliente o pedido relacionado a ele.
Propriedade Comutativa
em razão da existência de
(a1, b1), (a2, b1) e (a3, b1)
na tabela “P”
“Qual o fornecedor que fornece todos
os produtos?”
Referências
• MEDEIROS, L. F. Banco de Dados – Princípios e
Prática. Curitiba: Ed. IBPEX, 2007.