Álgebra relacional prof. tales cabral [email protected] colégio da imaculada...

12
Álgebra Relacional Álgebra Relacional Prof. Tales Cabral Prof. Tales Cabral [email protected] Colégio da Imaculada Colégio da Imaculada Curso Técnico em Informática Curso Técnico em Informática 2º Módulo 2º Módulo

Upload: internet

Post on 21-Apr-2015

108 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Álgebra Relacional Prof. Tales Cabral talescabral@colegiodaimaculada.com.br Colégio da Imaculada Curso Técnico em Informática 2º Módulo

Álgebra RelacionalÁlgebra RelacionalÁlgebra RelacionalÁlgebra Relacional

Prof. Tales CabralProf. Tales [email protected]

Colégio da ImaculadaColégio da ImaculadaCurso Técnico em InformáticaCurso Técnico em Informática

2º Módulo2º Módulo

Page 2: Álgebra Relacional Prof. Tales Cabral talescabral@colegiodaimaculada.com.br Colégio da Imaculada Curso Técnico em Informática 2º Módulo

Slide nº 2 de 12

Introdução

A Álgebra Relacional é uma forma de cálculo sobre conjuntos ou relações.

(Wikipedia)

É uma linguagem de consulta em tabelas relacionais.(Database Management Systems/2003)

A Álgebra Relacional é uma linguagem de consulta formal, porém procedimental, ou seja, o usuário fornece as instruções ao sistema para que o mesmo realize uma seqüência de operações na base de dados para calcular o resultado desejado.

(Ricardo Rezende – SQL Magazine)

A forma de trabalho na linguagem é pegar uma ou mais tabelas (conforme necessidade) como entrada de dados e produzir uma nova tabela como resultado das operações.

(Ricardo Rezende – SQL Magazine)

Page 3: Álgebra Relacional Prof. Tales Cabral talescabral@colegiodaimaculada.com.br Colégio da Imaculada Curso Técnico em Informática 2º Módulo

Slide nº 3 de 12

Álgebra Relacional• Atua sobre conjuntos (tabelas) e devolve como resultado:

conjuntos (tabelas).• Teoria de conjuntos (união, intersecção, diferença, produto

cartesiano).• Outros operadores (seleção, projeção, junção e divisão).

União (): relação3 = (relação1 relação2)

Page 4: Álgebra Relacional Prof. Tales Cabral talescabral@colegiodaimaculada.com.br Colégio da Imaculada Curso Técnico em Informática 2º Módulo

Slide nº 4 de 12

Intersecção (): relação3 = (relação1 relação2)

=

Diferença (): relação3 = (relação1 relação2)

=

Page 5: Álgebra Relacional Prof. Tales Cabral talescabral@colegiodaimaculada.com.br Colégio da Imaculada Curso Técnico em Informática 2º Módulo

Slide nº 5 de 12

Produto Cartesiano (): relação3 = (relação1 relação2)

• A relação final corresponde à “soma” dos esquemas das relações iniciais.

• Os registos resultantes correspondem à combinação dos registos da relação1 com os registos da relação2.

• A cardinalidade da relação resultante corresponde à multiplicação das cardinalidades das duas relações iniciais.

=

Page 6: Álgebra Relacional Prof. Tales Cabral talescabral@colegiodaimaculada.com.br Colégio da Imaculada Curso Técnico em Informática 2º Módulo

Slide nº 6 de 12

Seleção (): relação2 = <condição> (relação1)

A=A1 =

Projeção (): relação2 = <lista_atributos> (relação1)

A,C =

Page 7: Álgebra Relacional Prof. Tales Cabral talescabral@colegiodaimaculada.com.br Colégio da Imaculada Curso Técnico em Informática 2º Módulo

Slide nº 7 de 12

Junção (): relação3 = (relação1 relação2)• Combina os registos provenientes das duas

relações, com atributos comuns, numa só relação.• O esquema da relação final corresponde consiste

na soma dos esquemas das relações iniciais.• A relação final contém um registo por cada

combinação de registos das duas relações que possuam valores iguais nos atributos comuns.

=

Também chamada de “Junção Natural”

Page 8: Álgebra Relacional Prof. Tales Cabral talescabral@colegiodaimaculada.com.br Colégio da Imaculada Curso Técnico em Informática 2º Módulo

Slide nº 8 de 12

Divisão (): relação3 = (relação1 relação2)• As relações iniciais devem ser compatíveis para a divisão

(r1 r2).• Os atributos da relação final são os atributos da relação1

que não existem na relação2.• Os registos que existem na relação final são os registos que

existem na relação1 combinados com os registos da relação2.

=

Page 9: Álgebra Relacional Prof. Tales Cabral talescabral@colegiodaimaculada.com.br Colégio da Imaculada Curso Técnico em Informática 2º Módulo

Slide nº 9 de 12

Exemplo

P1num_p nome_p pontuacao idade

22 Mark Weber 78 3031 Sebastian Vettel 78 2258 Fernando Alonso 75 35

P2num_p nome_p pontuacao idade

28 Felipe Massa 61 2831 Sebastian Vettel 78 2244 Lewis Hamilton 59 2458 Fernando Alonso 75 35

R1num_p posicao data

22 1 10/1/201058 3 20/2/2010

Estas instâncias serão utilizadas para consultas a seguir, representando:

P1 – relação de pilotos 1

P2 – relação de pilotos 2

R1 – relação de reservas

Descrever e dar a relação resultante:

nome_p, pontuacao (P2) = ?

idade (P2) = ?

pontuacao>70 (P2) = ?

Page 10: Álgebra Relacional Prof. Tales Cabral talescabral@colegiodaimaculada.com.br Colégio da Imaculada Curso Técnico em Informática 2º Módulo

Slide nº 10 de 12

ConclusãoPortanto, álgebra relacional é uma

linguagem de consulta procedural e formal (não de programação) que consiste em um conjunto de operações que tem como entrada uma ou mais relações e retorna, como saída, uma nova relação.

Contudo, para isso, a álgebra relacional dispõe dos operadores para produzir suas relações.

Sendo assim, basta que as tabelas estejam criadas e organizadas para que se possa aplicar os operadores sobre as relações e obter os resultados esperados.

Vale lembrar que a álgebra relacional serve como padrão para compreensão de um estudo posterior de SQL sobre bancos de dados.

Page 11: Álgebra Relacional Prof. Tales Cabral talescabral@colegiodaimaculada.com.br Colégio da Imaculada Curso Técnico em Informática 2º Módulo

Slide nº 11 de 12

Exercício

Base de Dados:

médicos(nEmpr,nomeM,especialidade)pacientes(nBI,nomeP,telefone,morada,idade)fármacos(codF,nomeF)consultas(nConsulta,data,nBI,nEmpr)receitas(codF,nConsulta,quantidade)

Fazer as questões do slide seguinte!

Page 12: Álgebra Relacional Prof. Tales Cabral talescabral@colegiodaimaculada.com.br Colégio da Imaculada Curso Técnico em Informática 2º Módulo

Slide nº 12 de 12

Questões

1. Quais os pacientes com mais de 50 anos de idade?

idade > 50 (pacientes)2. Quais os nomes dos pacientes com mais de 50 anos de idade?

nomeP (idade > 50 (pacientes))3. Quais os fármacos que já foram receitados em consultas da

clínica?

nomeF((receitas.codF = fármacos.codF(receitas x fármacos)))

4. Quais os fármacos que nunca foram receitados?

nomeF(fármacos) –

nomeF(receitas.codF = fármacos.codF(receitas x fármacos)))