Professional Documents
Culture Documents
LGEBRA RELACIONAL
lgebra Relacional
A lgebra relacional um conjunto de operaes bsicas usadas para manipular relaes em um BD relacional. As operaes so geralmente divididas em dois grupos: operaes de conjuntos ou especficas.
Operaes de conjuntos: unio, insero, diferena e produto cartesiano. Operaes especficas: seleo, projeo e juno.
Banco de Dados I Prof. Henry Costa Lubanco
Seleciona um subconjunto de tuplas de uma relao, que satisfazem uma condio de seleo (expressa no predicado). Em outras palavras, esta operao seleciona um subconjunto das linhas de uma tabela.
Notao: <condio de seleo> (<nome da relao>)
de
seleo>
<nome do atributo> <op de comparao> <valor do atributo> A expresso <op de comparao> corresponde a um dos operadores:
Repesentao Grfica
Exemplos:
(a)
(EMPREGADO)
Projeta as tuplas de uma relao sobre um determinado conjunto de atributos, ou seja, elimina colunas que no correspondem s especificadas. Exemplos:
a) NOME, IDADE (ESTUDANTE) mostra somente os atributos contendo os nomes e as idades de todos os estudantes. b) CODCURSO (ESTUDANTE) mostra somente os cdigos dos cursos de todos os estudantes.
Representao Grfica
Exemplos:
UNOME,PNOME,SALARIO(EMPREGADO).
SEXO, SALARIO
(EMPREGADO)
Seqncia de operaes: Vrias operaes podem ser combinadas para formar uma expresso da lgebra relacional, que uma consulta. Alternativamente, pode-se especificar relaes temporrias para cada passo da consulta. Por exemplo: ESTUD_C CODCURSO=C (ESTUDANTE) RESULT NOME, IDADE (ESTUD_C)
Banco de Dados I Prof. Henry Costa Lubanco
Operadores de Conjuntos
10
UNIO efetua a unio de duas relaes compatveis (R U S) DIFERENA efetua a diferena entre duas relaes compatveis (R S) INTERSEO efetua a interseo de duas relaes compatveis (R S)
Exemplos:
a)
b) c) d) e)
Duas relaes compatveis. ALUNO U INSTRUTOR ALUNO INSTRUTOR ALUNO INSTRUTOR INSTRUTOR ALUNO
Banco de Dados I Prof. Henry Costa Lubanco
11
12
Combina as tuplas de duas relaes (R x S), relacionando cada linha de uma relao, com cada linha da outra, levando todos os atributos. Ou seja, o resultado ter todas as colunas das relaes envolvidas, com as suas linhas combinadas umas com as outras.
13
Capital
Nome_Estado
Regiao
1234
1234 2345 2345 1235 1235
Porto Alegre
Porto Alegre So Paulo So Paulo Caxias do Sul Caxias do Sul
S
S S S N N
RS
RS SP SP RS RS
RS
SP RS SP RS SP
Sul
Sudeste Sul Sudeste Sul Sudeste
14
Exemplo:
DEPENDENTES_EMP NOMESEMP X DEPENDENTE DEPENDENTES_REAIS SSN=ESSN (DEPENDENTES_EMP) RESULTADO PNOME, UNOME, NOME_DEPENDENTE (DEPENDENTES_REAIS)
15
Juno( Join)
16
Juno: combina as tuplas de duas relaes que satisfazem uma determinada condio de juno (R <COND> S). Nesta operao como se fossem realizadas de uma s vez a seleo e o produto cartesiano.
Exemplo:
GERSSN=SSN(EMPREGADO)
(DEPT_GER)
Exemplo de Juno
17
CIDADE
Cod_ Cidade 1234 2345 1235
Cidade.UF = Estado.UF
ESTADO
Estado. UF RS SP RS Nome_ Estado Rio Grande do Sul So Paulo Rio Grande do Sul Regiao
Nome_Cidade
Capital
Cidade. UF RS SP RS
S S N
Exerccios
R
A 1 6 9 B 2 7 7 C 3 8 8
18
S
B 2 2 7 C 3 3 8 D 4 5 10
A<D
Juno Natural
Uma juno natural um Equijoin onde uma das colunas idnticas eliminada. O operador de juno natural combina as linhas de duas tabelas que tem atributos comuns(mesmo nome), resultando numa tabela que contm apenas as linhas onde os atributos comum apresentam o mesmo valor. Exemplo: (a) DEPT_PROJ PROJETO DEPARTAMENTO (b) DEPT_LOCS DEPARTAMENTO DEPT_LOCALIZACOES.
19
Exemplo
CIDADE
Cod_ Cidade 1234 2345 1235
20
ESTADO
Nome_Cidade Porto Alegre So Paulo Caxias do Sul Capital S S N UF RS SP RS Nome_ Estado Rio Grande do Sul So Paulo Rio Grande do Sul Regiao Sul Sudeste Sul
Exerccios
1. 2.
21
3.
4. 5.
Baseado no esquema Empresa apresentado nos slides anteriores, construa as consultas solicitadas abaixo: Recupere o nome e o endereo de todos os empregados que trabalham para o departamento de Pesquisa. Para cada projeto localizado em Stafford, lise o nmero do projeto, o departamento controlador e o sobrenome, o endereo e a data de nascimento do gerente do departamento. Liste os nmeros dos projetos que envolvam um empregado cujo sobrenome seja Smith, como sendo u trabalhador ou como sendo um gerente do departamento que controla o projeto. Recupere os nomes dos empregados que no tenham dependentes. Liste os gerente que tenham pelo menos um dependente.
Trabalho
a)
22
b) c) d) e)
f)
Especifique as seguintes consultas no esquema de banco de dados EMPRESA e mostre o resultado de cada consulta aplicada. Recupere os nomes de todos os empregados no departamento 5 que trabalham mais do que 10 horas por semana no projeto ProdutoX. Liste os nomes de todos os empregados que possuem um dependente cujo nome seja igual ao deles. Encontre os nomes de todos os empregados que estejam diretamente supervisionados por Franklin Wong. Recupere os nomes de todos os empregados que no trabalham em nenhum projeto. Encontre os nomes e endereos de todos os empregados que trabalham em pelo menos um projeto localizado em Houston, cujo departamento, todavia, no tenha localizao em Houston. Liste os sobrenomes de todos os gerente de departamento que no possuem dependentes.
Banco de Dados I Prof. Henry Costa Lubanco