Académique Documents
Professionnel Documents
Culture Documents
lgebra Relacional
Tpicos / Agenda
Definies do Modelo Relacional
Relaes e Tuplas Atributos e Chaves
Livro de Referncia
ELMASRI, R.; NAVATHE, S.B. (2011). Sistemas de Banco de Dados. 6 Ed.
Captulo sobre Modelo de Dados Relacional Captulo sobre lgebra relacional
Tupla
{(A1,D1,V1) ... (An,Dn,Vn)} uma Tupla
Ai (i=1...n) Nomes dos Atributos (distintos) Di (i=1...n) Domnios dos Atributos Vi (i=1...n) Valores para os atributos
Ex. Tupla:
CPF (char) Nome (char) Telefone (char) 21-88997766 UF (c) RJ Salario (#) 7000 333444555-88 Joaquim
Tipo de Tupla
{(A1,D1) ... (An,Dn)} definem o Tipo de Tupla
Ai (i=1...n) Nomes dos Atributos Di (i=1...n) Domnios dos Atributos (Ai, Di); i=1,...,n; Atributos DISTINTOS
Relao
um Conjunto de Tuplas distintas, respeitando um mesmo Tipo de Tupla. Ex. Relao R =
CPF (char) 333444555-88 222444555-77 111222999-66 Nome (char) Joaquim Maria Jos Telefone (char) 21-88997766 21-77889900 21-66554433 UF (c) RJ RJ DF Salario (#) 7000 7500 5000
Tipo da Relao
Tipo da Relao o mesmo que dizer Tipo de Tupla utilizado na Relao.
Relaes x Conjuntos
Numa Relao todos os Elementos devem respeitar o Tipo da Relao (Homogeneidade de Elementos) Num Conjunto possvel Elementos de diversos Tipos. (permite Heterogeneidade de Elementos)
Relao x Tabela
Uma Relao pode ser visualizada com uma estrutura de Tabela. Em outra palavras, uma Tabela uma representao visual de uma Relao.
Relao x Tabela
COLUNA
CABEALHO CPF 333444555-88 222444555-77 777222000-66 777222000-66 Nome Joaquim Maria John John Telefone 21-88997766 21-77889900
NULL NULL
TABELA
UF RJ RJ DF DF Salario 7000 7500 5000 5000 DUPLICADAS
LINHA
TUPLAS
CPF (char) CPF (char) Nome (char) Nome (char) Telefone (char) UF (c) UF (c) Salario (#) Telefone (char) Salario (#)
RELAO
333444555-88 Joaquim 21-88997766
UF (c)
RJ
Salario (#)
CPF (char)
Nome (char)
Telefone (char)
222444555-77
Maria
CPF (char)
21-77889900
Nome (char)
RJ
7500
UF (c)
Telefone (char)
111222999-66
Jos
21-66554433
DF
5000
A chave candidata distingue as Tuplas numa Relao, ou seja, identifica unicamente uma Tupla na Relao. Uma Chave Candidata no possui atributos suprfluos, em outras palavras: possui a quantidade mnima de Atributos necessria para a identificao unvoca.
Chave Primria (Primary Key) uma Chave Candidata escolhida para ser utilizada como o identificador principal da Tupla. Chaves Secundrias (Alternate Key) Demais Chaves Candidatas.
Atributos e Chaves
Exemplo de 2 Relaes:
Pessoa
Matricula (PK) cpf nome_pessoa cod_departamento (FK) nome_rua num_endereco compl_endereco bairro cep cidade RG
Departamento
cod_departamento (PK) nome_departamento cod_localidade (FK)
lgebra Relacional
Definies
lgebra Relacional
um conjunto bsico de operaes sobre relaes. O resultado de uma operao sobre uma ou mais relaes gera uma outra relao
Letras Gregas
Seleo
Seleo (ou Restrio) a operao usada para selecionar um subconjunto de tuplas de uma relao R que satisfaa uma condio de seleo. representada por:
<condio> (R)
= <condio> :
ou
(R)
Seleo
Representao grfica
Obteno de um subconjunto horizontal de uma relao R
BD exemplo
Funcionrio
Cd. Nome 10 20 30 40 50 Visconde Pedrinho Dona Benta Emlia Rabic Sexo M M F F M Data Admis. 01/02/1983 29/07/1990 30/11/1992 22/02/1998 08/09/2000 Salrio R$ 1230,00 R$ 867,00 R$ 2560,00 R$ 1170,00 R$ 2300,00 Depto. 3 3 1 2 1
Departamento
CdDepto. 1 2 3 Nome Depto. Administrao Contabilidade Informtica
Seleo
Exemplo 1
Selecionar todos os funcionrios do sexo feminino
Sexo = F (Funcionrio)
Cd. 30 40 Nome Dona Benta Emlia Sexo Data Admis. Salrio F F 30/11/1992 22/02/1998 R$ 2560,00 R$ 1170,00 Depto. 1 2
Seleo
Exemplo 2
Selecionar todos os funcionrios do sexo masculino que ganham mais de R$ 1000,00
Atribuio
Criao de uma nova Relao a partir do resultado de uma operao
S <condio> (R)
: Operador de atribuio S : Nova relao criada. O resultado da operao <condio> (R) atribudo nova Relao S
Projeo
a operao usada para selecionar determinadas colunas de uma relao R. Como o resultado ser tambm uma relao, quaisquer eventuais tuplas em duplicidade so eliminadas. (Isto deve ser observado para qualquer operao). representada como:
Projeo
Representao grfica
Obteno de um subconjunto vertical de uma relao R
colunas selecionadas
Projeo
Exemplo
Listar o nome, o sexo e o salrio de todos os funcionrios
Seleo e Projeo
As operaes podem ser utilizadas em conjunto Exemplo
Selecionar o nome e o salrio de todos os funcionrios que ganham mais de R$ 2000,00
Renomeao
Objetivo
Renomear o nome de uma Relao Renomear os nomes de atributos
Sintaxes:
S (b1, b2, b3,... bn) (a1, a2,... an (R)) b1, b2, b3,... bn (a1, a2,... an (R)) S (R)
Renomeao
Formas equivalente de renomear a RELAO:
S (b1, b2, b3,... bn) (a1, a2,... an (R)) S b1, b2, b3,... bn (a1, a2,... an (R)) S (R)
SR
Renomear
Exemplo
Listar o nome, o sexo e o salrio de todos os funcionrios, substituindo o nome das colunas para Alcunha, S e Vencimento.
Exerccios
Listar todas as funcionrias (sexo feminino). Listar todos os funcionrios da administrao com seus salrios.
Unio
RS
A unio de duas relaes R e S, com os mesmos tipos, o conjunto de todas as tuplas pertencentes relao R ou relao S ou a ambas.
Representao grfica
BD exemplo
Funcionrio
Cd. 10 20 30 40 50 Nome Visconde Pedrinho Dona Benta Emlia Rabic Sexo M M F F M Data Admis. 01/02/1983 29/07/1990 30/11/1992 22/02/1998 08/09/2000 Salrio R$ 1230,00 R$ 867,00 R$ 2560,00 R$ 1170,00 R$ 2300,00 Depto. 3 3 1 2 1
Aluno
Cd. 1 2 3 4 Nome Visconde Dona Benta Rabic Cuca Sexo M F M F
Unio
Exemplo
Obter os nomes e o sexo de todos os funcionrios e alunos
Nome Visconde Pedrinho Dona Benta Emlia Rabic Cuca Sexo M M F F M F
Diferena
R-S
A diferena de duas relaes R e S, dos mesmos tipos, o conjunto de todas as tuplas pertencentes relao R e no pertencentes relao S.
Representao grfica
Diferena
Exemplo
Obter os nomes e o sexo de todos os funcionrios que no so alunos
Sexo M F
Produto Cartesiano
RS
O produto cartesiano de duas relaes R e S, quaisquer, o uma relao T cujas tuplas so a combinao das tuplas das relaes R e S, tomando-se uma tupla de R e concatenando-a com cada tupla de S.
Representao grfica
A B C
A A B B C C
Y Z Y Z Y Z
Y Z
Produto Cartesiano
Exemplo
Obter, para cada funcionrio, uma lista de todos os departamentos.
Departamento)
Nome Depto. Administrao Contabilidade Informtica
Produto Cartesiano
Nome Pedrinho Pedrinho Pedrinho Dona Benta Dona Benta Dona Benta Emlia Emlia Emlia
Rabic Rabic Rabic
Nome Depto. Administrao Contabilidade Informtica Administrao Contabilidade Informtica Administrao Contabilidade Informtica Administrao Contabilidade Informtica
Exerccios
Listar todos os funcionrios da administrao com seus salrios (revisitado produto cartesiano).
Juno
utilizada para combinar tuplas relacionadas de duas relaes em uma nica tupla representada como:
R <condio de juno> S
Ou, simplesmente (Juno Natural):
RS
Juno
Exemplo
Listar todos os funcionrios e o nome do departamento em que cada um deles trabalha
Funcionrio
Nome Visconde Pedrinho Dona Benta Emlia Rabic Sexo M M F F M
Exerccio
Expresse a juno entre as relaes R e S atravs de funes primitivas apenas.
Juno
R <condio de juno> S =
<condio> (R X S)
Exerccios
Listar todos os funcionrios da administrao com seus salrios (revisitado juno).
Interseco
RS
A interseco de duas relaes R e S, dos mesmos tipos, o conjunto de todas as tuplas pertencentes relao R e relao S.
Representao grfica
Interseco
Exemplo
Obter o nome e o sexo de todos os funcionrios que so alunos
Nome Visconde
Sexo M F M
Nome (Funcionrio)
Nome (Aluno)
Exerccio
Expresse a interseo entre as relaes R e S atravs de funes primitivas apenas.
Interseco
RS= R - ( R - S)
Diviso
RS
A diviso da relao R pela relao S, sendo S uma projeo de R, o conjunto de tuplas formadas pelos atributos de R que no esto em S, desde que existam em R todas as suas combinaes com as tuplas de S.
Representao grfica:
A A B B B C C D E
Y Z Y Z W Y Z Z W
Y Z
A B C
BD exemplo
CardapioPizzaria
Cd. 10 10 10 10 10 10 20 20 30 30 40 40 Pizzaria DiLidia DiLidia DiLidia DiLidia DiLidia DiLidia MisterPizza MisterPizza Dominos Dominos Pizza Hut Pizza Hut Pizza Margerita Margerita Calabresa Calabresa Portuguesa Portuguesa Peperoni Peperoni Margerita Calabresa Margerita Calabresa Tamanho G M G M G M G M M G M M
Pedido
Pizza Margerita Calabresa Tamanho M M
Diviso
CardapioPizzaria Pedido
Resultado
Cd. 10 40 Pizzaria DiLidia Pizza Hut
Diviso
RS=
a(R)-a(S) R
a(R)-a(S)(
(a(R)-a(S) R x S) R )
Exerccio 1
E# E1 E2 E3 E4 E5 Funcionrios Nome D # Salrio Jos D1 1.000,00 Maria D1 2.000,00 Joo D2 1.500,00 Slvia D3 1.500,00 Joo D1 1.500,00 D# D1 D2 D3 D4 Departamentos NomeDepto Contabilidade Administrao Informtica RH
a) Quais os nomes dos empregados que ganham um salrio menor que 2.000,00. b) Quais os nomes dos departamentos que ganham salrio at 1.500,00. c) Quais os nomes dos empregados que trabalham no departamento D3. d) Quais os nomes de empregado que trabalham no departamento Contabilidade. e) Quais so os salrios do departamento Contabilidade. f) Quais os nomes dos departamentos que no possuem empregados.
Exerccio 2
ATENDIMENTO CD_PAC DIA_ATEND 5 09/04/1996 2 09/04/1996 2 07/05/1996 4 25/06/1996 1 26/06/1997 10 03/07/1997 3 08/07/1997 6 03/04/1997 7 10/07/1997 2 10/07/1997 DIAG Lombalgia crnica. Ativ. com esforo - coziinheira. limitao de mobilizao. Fez trat. RX Acentuada degenerao com osteofitos laterais Diminuio de espaos artic. L4-L5 Terminou fisioterapia. Melhora Subjativa. Manter mais 1 srie. Terminou 20 sesso de fisioterapia. S/ queixas. Cont. exerc. dom. DO Dor lombar h 3 dias aps esforo em m postura. Dor em ombroE. com Sesamoidite p E h 04 dias com acentuado edema MF hallux e dificuldade para apoio Melhora subjetiva- manter CUL rever 1 sem. se nec fisioterapia Ombro doloroso a D. com queda do mesmo . M postura para ativ. domsticas.Dor em face Epicondilite cotovelo Dir. com 01 mes evoluo.Ativ. sedentria limitao de PPS e Extenso Tendinite dos extensores de 2 e 3 pododactilos do p E. fez trat. com AINE por o3 CONVENIO COD_CONV 01 02 03 04 05 06 07 08 09 10 11
PACIENTE CD_PAC NM_PAC 1 Maureen Annelise Molinari 2 David Lessa Chaves 3 Marlene C. Florncio 4 Rita de Ftima S. Costa 5 Solange A. Andrade 6 Valria do Rocio Pinheiro 7 Sara Carmelina O.Viana 8 Jos Lucchesi 9 Arielton da Silva Pinto 10 Maria Aparecida Azeredo
DT_NASC CONV_PAC 19/08/1980 01 02/02/1979 01 02/01/1949 03 07/10/1955 04 10/08/1969 05 29/11/1974 11 25/01/1973 10 06/12/1916 10 20/05/1965 05 27/08/1939 01
DESC_CONVENIO Unimed - cdigo 11347 FUNBEP - cdigo 7141-2 BAMERINDUS GRALHA AZUL CASSI - cdigo 21.447-7 FUNCEF TELEPAR - cdigo 00335 PETROBRAS BANCO CENTRAL Particular AMBEP
Exerccio 2 (perguntas)
a) Qual o nome convenio da paciente Rita de Ftima S. Costa? b) Quais pacientes pertences ao convenio Unimed cdigo 11347 ? c) Quais os nomes dos pacientes que tiveram atendimento no dia 09/04/1996 ? d) Quais os nomes dos convnios no tm pacientes?
Exerccio 2 (perguntas)
e) Qual comando gerou o seguinte resultado?
NM_PAC Filomena Ivanski Sonia Maria Caetano Paraso Mastek Joo Mastek Neto Angela Maria de Lima Casa Grande Ricardo Pinheiro Pinto Mirian Lais Ferreira da Costa Hauari Erdema Fatima Carrara Lafratta Erdema Fatima Carrara Lafratta Moar de Miranda e Silva DESC_CONVENIO Unimed - cdigo 11347 Unimed - cdigo 11347 Unimed - cdigo 11347 Unimed - cdigo 11347 CASSI - cdigo - 21.447-7 CASSI - cdigo - 21.447-7 CASSI - cdigo - 21.447-7 CASSI - cdigo - 21.447-7 CASSI - cdigo - 21.447-7 DIAG Lombalgia cronica com sensao ... Luxao congnita de patelar ... Parestesia de Nervo Citico Popliteo ... Dores difusas em ambos os joelhos s... Lombalgia em transio de col. TL. com ... Processo alrgico em IFD de ivdedo mo ... Portadora de 4 dedo mo Esq. em gatilho ... Epicondilite de cotovelo D. com de evol... H 2 sem. entorse de joelho D. em futebol...
Exerccio 3 Relaes:
Exerccio 3 (perguntas)
1. Obter o nome completo de todos os funcionrios; 2. Identificar todos os funcionrios do sexo masculino; 3. Obter o nome completo e a data de admisso de todos os funcionrios do sexo feminino; 4. Obter o nome completo, a data de admisso e o salrio de todos os funcionrios; 5. Descobrir o nome completo, a data de admisso e o salrio de todos os funcionrios do sexo masculino. 6. Todos os funcionrios do departamento D1. 7. O nome e a matrcula de todos os funcionrios do departamento D1. 8. A matrcula e o nome do respectivo departamento de todos os funcionrios. 9. O nome dos funcionrios que ganham mais de $500. 10. O ramal do funcionrio ANA SILVEIRA. 11. Os nomes de todos os funcionrios com cargo de MECANICO. 12. Os nomes de todos os funcionrios que trabalham no mesmo departamento que JOSE NOGUEIRA. 13. Os nomes dos departamentos que possuem tanto funcionrios como funcionrias (possuem funcionrios de ambos os sexos).
25/06/2012
LGEBRA RELACIONAL ESTENDIDA E CLCULO RELACIONAL (TPICOS EXTRAS, CASO O ALUNO TENHA INTERESSE EM SE APROFUNDAR - EXTRA)
Prof. Marcelo Lucas
Operaes Estendidas
Consideraes Adicionais
lgebra Relacional
Outras caractersticas:
Linguagem procedural. Vrias formas de obter o mesmo resultado porm com custos de processamento diferentes.
Clculo relacional
Clculo Relacional de Tuplas Clculo Relacional de Domnios
O otimizador do gerenciador de banco de dados determina a sequncia e combinao de operaes de lgebra relacional mais eficiente.
(a ordem e precedncia dos operadores relacionais utilizados no comando SQL pode ser ignorada pelo otimizados)