Bases de Dados 2013/2014 Álgebra Relacional. Helena Galhardas 2013 IST. Bibliografia. Raghu Ramakrishnan, Database Management Systems, Cap.
|
|
- Eliana Benke Aquino
- 6 Há anos
- Visualizações:
Transcrição
1 Bases de Dados 2013/2014 Álgebra Relacional Helena Galhardas Bibliografia Raghu Ramakrishnan, Database Management Systems, Cap
2 Álgebra Relacional Sumário 2 Linguagens Formais de Interrogação Relacionais Linguagem de interrogação: serve para especificar perguntas ou interrogações (queries) que envolvem os dados da BD Duas que servem de base à definição e implementação do SQL Álgebra Relacional Interrogações são composições de operadores Operacional: especificação passo-a-passo do procedimento para calcular a resposta Representação de planos de execução Cálculo Relacional Não operacional Declarativo 2
3 Interrogação (query) Entrada e saída: relações Avaliada usando instâncias de cada relação (tabelas) como entrada e produzindo uma instância da relação (tabela) de saída A escrita de uma interrogação é dependente do esquema de entrada e saída mas independente das tabelas Referência a atributos de uma relação Posicional: usada a ordem pela qual foi criado o atributo Nome: pelo nome dado ao atributo Esquema Relacional para exemplos Sailors(sid, sname, rating, age) Boats(bid, bname, color) Reserves(sid, bid, day) sid: FK(Sailors) bid: FK(Boats) 3
4 Exemplos de tabelas R1 sid bid day /10/ /12/96 S1 sid sname rating age 22 dustin lubber rusty S2 sid sname rating age 28 yuppy lubber guppy rusty Operadores relacionais básicos (resumo) Produto cartesiano (X) Selecção (σ) Projecção (π) Renomeação(ρ) X =! Junção =! União ( ) Intersecção ( ) Diferença (-) R S R S R S Divisão (/) / 4
5 Expressão de álgebra relacional (E) Recursivamente definida como sendo uma relação, um operador algébrico unário aplicado a uma expressão, ou um operador binário aplicado a duas expressões Interrogação obtém-se pela composição de operadores 8 Projecção Extrai colunas de uma relação Elimina duplicados, por definição de relação Q: Qual o nome e classificação Q: Qual a idade dos marinheiros? π sname,rating (Sailors) sname yuppy 9 lubber 8 guppy 5 rusty 10 rating dos marinheiros? π age (Sailors) age
6 Selecção Retorna os tuplos de uma relação que obedecem a uma condição Q: Quais os marinheiros Q: Quais os seus nomes e com classificação superior classificações? a 8? σ rating>8 (Sailors) sid sname rating age 28 yuppy rusty sname rating yuppy 9 rusty 10 π sname,rating (σ rating>8 (Sailors)) Selecção (σ) Comparação de valores operadores =,, <, >,, σ rating> 8 (Sailors) Condições Lógicas Operadores and( ), or( ), not( ) σ sname = lubber Λ rating > 8 (Sailors) Instituto Superior Técnico 11 6
7 Exemplos de tabelas R1 sid bid day /10/ /12/96 S1 sid sname rating age 22 dustin lubber rusty S2 sid sname rating age 28 yuppy lubber guppy rusty União Retorna uma tabela que contém todos os tuplos de R ou S R e S têm que ser compatíveis para união Mesmo número de atributos Atributos têm os mesmos domínios O esquema do resultado é idêntico ao de R Tuplos duplicados eliminados do resultado. Porquê? S1 S2 sid sname rating age 22 dustin lubber rusty guppy yuppy
8 Intersecção Retorna uma tabela que contém todos os tuplos que ocorrem em ambas, R e S R e S têm que ser compatíveis para união O esquema do resultado é idêntico ao de R S1 S2 sid sname rating age 31 lubber rusty Diferença Retorna uma tabela que contém todos os tuplos que ocorrem em R mas não em S R e S têm que ser compatíveis para união O esquema do resultado é idêntico ao de R S1 S2 sid sname rating age 22 dustin
9 Produto Cartesiano RXS: Retorna uma tabela cujo esquema contém todos os atributos de R seguidos de todos os atributos de S Sailors Reserves Observações sobre o Produto Cartesiano O esquema do resultado é a concatenação dos esquemas para desambiguar atributos usa-se a relação original como prefixo (Sailors.sid,..., Reserves.sid...)) O resultado é composto por todos os pares (de conjuntos de tuplos) possíveis Se R tem n registos e S tem m então (RXS) tem n*m no exemplo anterior, pode acontecer Sailors.sid Reserves.sid Instituto Superior Técnico 17 9
10 Renomeação ρ(r(f), E) aceita uma expressão algébrica E e retorna uma nova tabela R R contém os mesmos tuplos que o resultado de E R tem o mesmo esquema que E, excepto nos atributos que constam na lista F F tem a forma: nome antigo -> nome novo ou posição -> nome novo R e F são opcionais Exemplo ρ(c(1 >sid1,5 >sid2),sailors Reserves) 10
11 Álgebra Relacional Selecção Projecção Sumário União, intersecção, diferença Renomeação Produto cartesiano Junção Junção Natural 20 Junção Uma das operações mais importantes e o modo mais comum de combinar dados de relações diferentes Define-se à custa de um produto cartesiano mas é interessante torná-la mais eficiente 21 11
12 Junção Condicional R c S = σ c ( R S) (sid) sname rating age (sid) bid day 22 dustin /12/96 31 lubber /12/96 Sailors Sailors.sid<Reserves.sid Reserves Equi-Junção A condição de junção contém apenas igualdades (eventualmente ligadas através de uma conjunção) Está implicita uma projecção adicional em que um dos atributos envolvido na igualdade é removido Q: Quais os marinheiros que reservaram barcos, que barcos e em que dias? Sailors Reserves Sailors.sid=Reserves.sid sid sname rating age bid day 22 dustin /10/96 58 rusty /12/96 12
13 Junção Natural Equi-junção em que as igualdades estão especificadas sobre todos os atributos que têm o mesmo nome nas relações de entrada O resultado garantidamente não tem dois atributos com o mesmo nome Sailors Sailors.sid =Reserves.sid Reserves= =Sailors Reserves 24 Junção Natural ( ) Calcula o produto cartesiano de duas relações Efectua seleção por igualdade de colunas comuns Remove registos duplicados É associativa: (R S) T = R (S T) Fórmula geral R S = Π r U s (σ R.A1 = S.A 1 Λ R.A 2 = S.A 2 Λ (R x S) ) em que: {A 1, A 2,, A n } = r s, r: conjunto de atributos de R s: conjunto de atributos de S Instituto Superior 2013 Técnico IST 25 13
14 Sumário Álgebra Relacional Operadores básicos Formulação de interrogações exemplos Divisão 26 Exemplos de Tabelas Sailors(sid, sname, rating, age) Boats(bid, bname, color) Reserves(sid, bid, day) sid: FK(Sailors) bid: FK(Boats) S1 sid sname rating age 22 dustin lubber rusty R1 sid bid day /10/ /12/96 S2 sid sname rating age 28 yuppy lubber guppy rusty
15 Exemplos (1) Q1: Quais os nomes dos marinheiros que reservaram o barco 103? π sname ((σ bid=103 Reserves) Sailors) Q2: Quais os nomes dos marinheiros que reservaram um barco vermelho? π sname ((σ color='red' Boats) Reserves Sailors) 28 Exemplos (2) Q4: Quais os nomes dos marinheiros que reservaram pelo menos um barco? π sname (Reserves Sailors) Q5: Quais os nomes dos marinheiros que reservaram um barco vermelho ou verde? ρ(tempboats,(σ color='red' Boats) (σ color='green' Boats)) π sname (tempboats Reserves Sailors) 29 15
16 Exemplos (3) Q6: Quais os nomes dos marinheiros que reservaram um barco vermelho e um barco verde? ρ(tempred,((σ color='red' Boats) Reserves)) ρ(tempgreen,((σ color='green' Boats) Reserves)) π sname ((π sid (tempred) π sid (TempGreen)) Sailors) 30 Exemplos (4) Q7: Quais os nomes dos marinheiros que reservaram pelo menos 2 barcos? ρ(resvs,π sid,sname,bid (Sailors Reserves)) ρ(pairs,(1 sid1,2 sname1,3 bid1,4 sid2,5 sname2, 6 bid2),resvs Resvs) π sname1 σ (sid1=sid2) (bid1 bid2) (Pairs) 31 16
17 Exemplos (5) Q8: Quais os sids dos marinheiros com idade superior a 20 que não reservaram um barco vermelho? π sid (σ age>20 Sailors) π sid ((σ color='red' Boats) Reserves) 32 Exemplos (6) Q: Qual o marinheiro mais velho? ρ(s,sailors) π name (Sailors (π age Sailors π Sailors.age (σ Sailors.age<S.age Sailors S))) 33 17
18 Divisão Expressa interrogações do tipo: Quais os nomes dos marinheiros que reservaram todos os barcos? Supondo A(x,y) e B(y), A/B retorna o conjunto de valores de x tal que para cada valor de y em B, existe um tuplo (x,y) em A, ou Para cada valor de x em A, consideramos o conjunto de valores de y que ocorrem em tuplos de A com esse valor de x. Se este conjunto contiver todos os valores de y em B, então o valor de x é devolvido. Divisão sno s1 s1 s1 s1 s2 s2 s3 s4 s4 A pno p1 p2 p3 p4 p1 p2 p2 p2 p4 pno p2 B1 sno s1 s2 s3 s4 pno p2 p4 B2 sno s1 s4 pno p1 p2 p4 B3 sno s1 A/B1 A/B2 A/B3 18
19 Exemplo Q9: Quais os nomes dos marinheiros que reservaram todos os barcos? ρ(tempsids,(π sid,bid Reserves)/(π bid Boats)) π sname (Tempsids Sailors) 36 Ainda a divisão Qual a relação da divisão com o produto cartesiano? Qual a relação da divisão no modelo relacional com a divisão aritmética? 37 19
20 Analogia com divisão aritmética Para os inteiros A e B, A/B é o maior inteiro Q tal que Q * B <= A Para as tabelas A e B, A/B é a maior tabela Q tal que Q X B A 38 Definição divisão em termos dos operadores básicos Dados: A(x,y) e B(y), queremos obter A/B A ideia é calcular todos os valores de x em A que não se desqualificam Um valor de x é desqualificado se, ao associá-lo a um valor y de B, o tuplo <x, y> A Valores de x desqualificados são dados por: π x ((π x (A) X B) A) A/B = π x (A) - π x ((π x (A) X B) A) 39 20
21 Extensões à álgebra relacional Projecção generalizada Funções de agregação (agreggation) Agrupamento (grouping) Junção externa (outer-join) Silberchatz, 5 ª edição 40 Exemplo BD de um banco: Account(account-number, branch-name, balance Loan(loan-number, branch-name, amount) Borrower(customer-name, loan-number) loan-number: FK(Loan) Depositor(customer-name, account-number) account-number: FK(Account) Credit-info(customer-name, limit, credit-balance) Employee(employee-name, street, city) Works(employee-name, branch-name, salary) employee-name: FK(Employee) 41 21
22 Projecção Generalizada Permite utilizar funções aritméticas na projecção Fórmula geral: Π F1, F 2,, F n (E) E é uma expressão algébrica F i é uma função aritmética Exemplo: Π r.a + s.a, r.b 0.1 * s.b (r s) 42 Exemplo com Projecção Generalizada Quanto é que cada cliente pode gastar até ao seu limite de crédito? ρ(result(2 ->credit_available), Π customer_name, limit credit_balance (credit_info) ) credit_info result 43 22
23 Outro exemplo de projecção generalizada Como ficaria a tabela account se todos os saldos fossem aumentados 10%? ρ(aumentos(3->balance), Π account_number, branch_name, 1.1*balance (account) ) account aumentos Funções de Agregação Recebem um conjunto de valores e devolvem um único valor como resultado avg min max sum count count-distinct 45 23
24 Exemplo com Agregação Total dos salários dos funcionários G sum(salary) (works) works Exemplo com agregação (2) Número de agências com funcionários assalariados G count-distinct(branch_name) (works) works 3 24
25 Agrupamento e agregação ρ(result(2->sum_of_salary), branch_name G sum(salary) (works) ) works result 48 Agrupamento e agregação (2) Ρ(result(2->sum_salary, 3->max_salary), branch_name G sum(salary), max(salary) (works) ) works result 49 25
26 Exemplo Quanto dinheiro tem cada cliente no banco? ρ(total(1->cliente, 2->dinheiro), (depositor account) ) customer_name G sum(balance) total cliente dinheiro Hayes Johnson Jones Lindsay Smith Turner Exemplo Quanto dinheiro deve cada cliente ao banco? ρ(dívidas(1->cliente, 2->dívida), customer_name G sum(amount) (borrower loan) ) dívidas cliente dívida Adams Curry Hayes Jackson Jones Smith Williams
27 Exemplo Qual a diferença entre o dinheiro que cada cliente tem e o que deve ao banco? ρ((2->quantia),π cliente, dinheiro dívida (total dívidas)) cliente Hayes Johnson Jones Lindsay Smith Turner dinheiro cliente Adams Curry Hayes Jackson Jones Smith Williams dívida cliente Hayes Jones Smith quantia Junção Natural employee works Junção Natural: employee works Perde informação! 53 27
28 Junção Externa Esquerda employee works Junção Esquerda (le& outer join): Employee works 54 Junção Externa Direita employee works Junção Direita (right outer join): Employee works 55 28
29 Junção Externa Total employee works Junção Total (full outer join): employee works 56 Sumário Álgebra Relacional Próxima aula: Linguagem SQL 57 29
Bases de Dados. Álgebra Relacional. Selecção (σ) Seleccionar os registos que satisfazem uma condição exemplo: empréstimos da agência de Perryridge
Bases de Dados Álgebra Relacional Selecção (σ) Seleccionar os registos que satisfazem uma condição exemplo: empréstimos da agência de Perryridge σ branch_name = Perryridge (loan) 2 1 Outros exemplos de
Leia maisÁlgebra Relacional operações adicionais. Encontrar tuplos que obedecem a uma dada relação questões do tipo: quem já leu todos os livros que eu já li?
Bases de Dados Álgebra Relacional operações adicionais Divisão ( ) Encontrar tuplos que obedecem a uma dada relação questões do tipo: quem já leu todos os livros que eu já li? exemplo: nomes dos clientes
Leia maisAntónio Rocha Nuno Melo e Castro
António Rocha Nuno Melo e Castro Definição: colecção de operadores que tomam relações como seus operandos e retornam relações como resultados Cada operador da álgebra aceita como argumentos instâncias
Leia maisBases de Dados. Álgebra Relacional. Selecção (σ) Seleccionar os tuplos que satisfazem uma condição. exemplo: empréstimos da agência de Perryridge
Bases de Dados Álgebra Relacional Selecção (σ) Seleccionar os tuplos que satisfazem uma condição exemplo: empréstimos da agência de Perryridge σ branch_name = Perryridge (loan) 2 1 Outros exemplos de selecção
Leia maisÁlgebra Relacional. Linguagens de consultas relacionais
Álgebra Relacional 1 Linguagens de consultas relacionais Linguagens de consultas: Permitem manipulação e recuperação de dados de um BD. O modelo relacional suporta LCs simples e poderosas: Forte fundamentação
Leia maisSistemas de Informação e Bases de Dados 2012/2013. Linguagem SQL
Sistemas de Informação e Bases de Dados 2012/2013 Linguagem SQL Alberto Sardinha Sumário Linguagem SQL 1 Operações com strings operador like Exemplo: nomes dos clientes cuja rua possui a sequência Main
Leia maisAula 8 BD1 Álgebra Relacional. Profa. Elaine Faria UFU
Aula 8 BD1 Álgebra Relacional Profa. Elaine Faria UFU - 2018 Introdução Linguagens de consulta formais associadas ao modelo relacional Álgebra Usa uma coleção de operadores e cada consulta descreve um
Leia maisModelo Relacional Álgebra Relacional
Modelo Relacional Álgebra Relacional Aulas 1 e 2 12/11/2012 e 13/11/2012 Material original: Raghu Ramakrishnan Tradução : Mario Nascimento University of Alberta (Canada) Alguns slides de autoria de Sandra
Leia maisOrdenação de tuplos order by
Bases de Dados Elementos da linguagem SQL Ordenação de tuplos order by A cláusula order by permite ordenar tuplos exemplo: listar por ordem alfabética os nomes dos clientes com empréstimo na agência de
Leia maisPrincípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Renomeada para SQL (Structured Query Language)
Bases de Dados Introdução à linguagem SQL História Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R Renomeada para SQL (Structured Query Language) Standards ISO e ANSI SQL-86, SQL-89,
Leia maisSistemas de Informação e Bases de Dados 2012/2013. Linguagem SQL
Sistemas de Informação e Bases de Dados 2012/2013 Linguagem SQL Alberto Sardinha Bibliografia Raghu Ramakrishnan, Database Management Systems, Cap. 3 e 5 1 Sumário Linguagem SQL 2 História Princípio dos
Leia maisBibliografia. Bases de Dados 2013/2014 Linguagem SQL. Helena Galhardas. Raghu Ramakrishnan, Database Management Systems, Cap. 3 e 5 10/23/ IST
Bases de Dados 2013/2014 Linguagem SQL Helena Galhardas Bibliografia Raghu Ramakrishnan, Database Management Systems, Cap. 3 e 5 1 1 Linguagem SQL Sumário 2 História Princípio dos anos 70 IBM desenvolve
Leia maisPrincípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Renomeada para SQL (Structured Query Language)
Bases de Dados Introdução à linguagem SQL História Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R Renomeada para SQL (Structured Query Language) Standards ISO e ANSI SQL-86, SQL-89,
Leia maisPrincípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Renomeada para SQL (Structured Query Language)
Bases de Dados Introdução à linguagem SQL História Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R Renomeada para SQL (Structured Query Language) Standards ISO e ANSI SQL-86, SQL-89,
Leia maisHá vários algoritmos para processar junções nested-loop join block nested-loop join indexed nested-loop join merge-join hash-join
Bases de Dados Algoritmos para junção Algoritmos para junções Há vários algoritmos para processar junções nested-loop join block nested-loop join indexed nested-loop join merge-join hash-join A escolha
Leia maisA cláusula order by permite ordenar tuplos exemplo: listar por ordem alfabética os nomes dos clientes com empréstimo na agência de Perryridge
Bases de Dados Elementos da linguagem SQL Ordenação de tuplos orderby A cláusula order by permite ordenar tuplos exemplo: listar por ordem alfabética os nomes dos clientes com empréstimo na agência de
Leia maisAula 10 BD 1 SQL Parte 2. Profa. Elaine Faria UFU
Aula 10 BD 1 SQL Parte 2 Profa. Elaine Faria UFU - 2018 Consultas Aninhadas É um dos recursos mais poderosos da SQL É aquela que tem outra consulta embutida dentro dela A consulta embutida é chamada de
Leia maisBases de Dados. Optimização de planos de execução. Plano de execução
Bases de Dados Optimização de planos de execução Plano de execução O plano de execução define a sequência de operações e o algoritmo para cada operação 2 1 Plano de execução Mas atenção: escolher o algoritmo
Leia maisRápida revisão do Modelo Relacional
Rápida revisão do Modelo Relacional Conceito de relação Tuplas e atributos Rápida revisão do Modelo Relacional Regras de integridade Entidade: Deve existir uma chave primária com valor único e não-nulo.
Leia maisBanco de Dados I Módulo III: Linguagens de Consulta. (Aula 1) Clodis Boscarioli
Banco de Dados I 2007 Módulo III: Linguagens de Consulta (Aula 1) Clodis Boscarioli Conteúdo do Módulo: Linguagens de Consulta Formais Álgebra Relacional; Cálculo Relacional de Tupla; Cálculo Relacional
Leia maisAula 11 SBD SQL Parte 3. Profa. Elaine Faria UFU
Aula 11 SBD SQL Parte 3 Profa. Elaine Faria UFU - 2018 Group by e Having Às vezes deseja-se aplicar operações agregadas a cada um dos vários grupos de linhas em um relação Group by e Having C31: Encontre
Leia maisCurso EFA Tecnológico Técnico de Informática e Sistemas. - Álgebra Relacional - João Leitão
Curso EFA Tecnológico Técnico de Informática e Sistemas - Álgebra Relacional - João Leitão Linguagens relacionais Notações para expressar perguntas: algébrica aplicação de operadores a relações lógica
Leia maisBases de Dados. Algoritmos. Custo de operação. Algoritmos de selecção. Algoritmo de ordenação. Algoritmos de junção.
Bases de Dados Algoritmos Custo de operação Algoritmos de selecção Algoritmo de ordenação Algoritmos de junção Outras operações Materialização e pipelining 2 1 Bases de Dados Algoritmos de selecção Algoritmos
Leia maisSumário SELECT + FROM
Sumário 1 Introdução SQL - Perguntas André Restivo Faculdade de Engenharia da Universidade do Porto October 18, 2010 2 3 Operadores de Conjuntos 4 5 Agregações 6 Ordenações e Limites 7 Sub-perguntas 8
Leia maisSistemas de Informação e Bases de Dados 2012/2013. Restrições de Integridade em SQL
Sistemas de Informação e Bases de Dados 2012/2013 Restrições de Integridade em SQL Alberto Sardinha Bibliografia Raghu Ramakrishnan, Database Management Systems, Cap. 3 e 5 1 Captura e Tratamento das RIs
Leia maisUm modelo por si próprio não pode realizar qualquer unidade de trabalho útil. É apenas uma representação da realidade.
2. Modelo Relacional... 2.1. Estrutura de Dados Relacional... 2.2. Álgebra Relacional Um modelo por si próprio não pode realizar qualquer unidade de trabalho útil. É apenas uma representação da realidade.
Leia maisALGEBRA RELACIONAL. Álgebra Relacional Conjunto básico de operações para o Modelo Relacional O resultado é uma relação
1/5 Universidade Federal da Bahia Disciplina: Banco de Dados Prof a. Daniela Barreiro Claro ALGEBRA RELACIONAL Duas linguagens formais do Modelo Relacional o Álgebra Relacional e Cálculo Relacional Álgebra
Leia maisSQL - Perguntas. André Restivo. Faculdade de Engenharia da Universidade do Porto. February 24, 2012
SQL - Perguntas André Restivo Faculdade de Engenharia da Universidade do Porto February 24, 2012 André Restivo (FEUP) SQL - Perguntas February 24, 2012 1 / 46 Sumário 1 Introdução 2 Seleccionar e Filtrar
Leia maisÁlgebra Relacional e SQL
Álgebra Relacional e SQL Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri Álgebra Relacional Maneira teórica de se manipular o banco de dados relacional Linguagem de consulta procedural usuários
Leia maisBases de Dados. Junção de relações. Junção de relações
Bases de Dados Junção de relações Junção de relações Tipicamente usadas na cláusula from SQL oferece várias possibilidades condição da junção determina quais são os atributos a comparar tipo de junção
Leia maisANÁLISE E PROJETO DE BANCO DE DADOS
ANÁLISE E PROJETO DE BANCO DE DADOS ÁLGEBRA E CÁLCULO RELACIONAL FELIPE G. TORRES APRESENTAÇÃO Avaliações AV1 AV2 TRAB1 TRAB2 REFERÊNCIAS GRAVES, M. Projeto de Banco de Dados com XML. São Paulo: Makron
Leia mais4. Projecto de Bases de Dados
SI MIEIG 7-8 1 4. Projecto de Bases de Dados 4.1 Introdução aos SGBD - Sistemas de Gestão de Bases de Dados 4.2 Sistemas Relacionais e Linguagem SQL 4.3 Normalização Funcional de Dados para Concepção de
Leia maisBases de Dados. Parte IV: Álgebra e Cálculo Relacional
Bases de Dados MI / LCC / LEG / LERSI / LMAT Parte IV Álgebra e Cálculo Relacional Álgebra Relacional Conjunto básico de operações que nos permitem manipular relações no modelo relacional. As operações
Leia maisÁlgebra Relacional e Cálculo Relacional
SISTEMAS DE INFORMAÇÃO Álgebra Relacional e Cálculo Relacional Prof. Edson Thizon Linguagens de consultas formais (1) Uma linguagem de consulta (Query Language) é uma linguagem com a qual o usuário pode
Leia maisLinguagem de Definição de Dados Estrutura básica Operações com conjuntos Funções de agregação Valores nulos Subconsultas embebidas Relações derivadas
Capítulo 4: SQL Linguagem de Definição de Dados Estrutura básica Operações com conjuntos Funções de agregação Valores nulos Subconsultas embebidas Relações derivadas Junções Vistas Modificação da Base
Leia maisÁLGEBRA E CÁLCULO RELACIONAL
UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO ERINALDO SANCHES NASCIMENTO ÁLGEBRA E CÁLCULO RELACIONAL MARINGÁ 2014 SUMÁRIO SUMÁRIO...1 1 INTRODUÇÃO...2 1.1
Leia maisModelo Relacional - Manipulação
Modelo Relacional - Manipulação Duas categorias de linguagens formais álgebra relacional e cálculo relacional comerciais (baseadas nas linguagens formais) SQL Linguagens formais - Características orientadas
Leia maisAntónio Rocha Nuno Melo e Castro
António Rocha Nuno Melo e Castro SQL- Strutured Query Language é a linguagem mais usada nas bases dados relacionais. Originalmente desenvolvida pela IBM Actualmente é um standard, o mais recente é o SQL:2003
Leia maisIEC Banco de Dados I Aula 06 Álgebra Relacional
IEC Banco de Dados I Aula 06 Álgebra Relacional Turmas: Sistemas de Informação Professora: André Luiz da Costa Carvalho E- mail: andre@icomp.ufam.edu.br Ambiente virtual: hlp://bdufam.wordpress.com Sumário
Leia maisFaculdade Pitágoras Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet
Faculdade Pitágoras Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan Unidade 6.2 Álgebra Relacional - Junção PACIENTE cod-pac
Leia maisBanco de Dados. Álgebra Relacional. João Eduardo Ferreira Osvaldo Kotaro Takai Marcelo Finger
Banco de Dados Álgebra Relacional João Eduardo Ferreira Osvaldo Kotaro Takai Marcelo Finger Tópicos Apresentação Seleção Projeção Renomeio de Atributos União, Subtração e operações de conjuntos Junção:
Leia maisOperações da Álgebra Relacional Operadores Especiais da Álgebra Relacional Renomeação
BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br ROTEIRO Operações
Leia maisBanco de Dados Prof. Célio R. Castelano Página 1 de 9. Álgebra Relacional
Banco de Dados Prof. Célio R. Castelano Página 1 de 9 Álgebra Relacional A álgebra relacional é uma linguagem procedural, que possui uma coleção de operações que são utilizadas para manipular relações
Leia mais- Um "query block" permite a implementação das operações de selecção, projecção e junção da álgebra relacional.
2.3 Linguagens relacionais (continuação) SQL Structured Query Language 1) "Query block" Select From Where - Um "query block" permite a implementação
Leia maisBases de Dados 2007/2008 Exame
Exame 25 de Janeiro de 2008 Instituto Superior Técnico Departamento de Engenharia Informática Regras O exame tem a duração de 2h30m. A folha de capa deve ser identificada com o nome e número do aluno.
Leia maisBases de Dados. Parte IV: Álgebra e Cálculo Relacional
Bases de Dados Parte IV Álgebra e Cálculo Relacional 1 Álgebra Relacional Conjunto básico de operações que nos permitem manipular relações no modelo relacional. As operações da álgebra relacional produzem
Leia maisPermite que que funções aritméticas sejam usadas em listas de projeções. Representação: (E) π F1,F 2,...,F n
Banco de Dados / 1 Bacharelado em Sistemas de Informação BANCOS DE DADOS Aula 16 Álgebra Relacional Estendida Banco de Dados / 2 Projeção Generalizada Permite que que funções aritméticas sejam usadas em
Leia maisBases de Dados. Parte IV. Álgebra e Cálculo Relacional
Bases de Dados Parte IV Álgebra e Cálculo Relacional Ricardo Rocha DCC-FCUP 1 Álgebra Relacional Conjunto básico de operações que nos permitem manipular relações no modelo relacional. As operações da álgebra
Leia maisSQL: Uma Linguagem de Consulta
SQL: Uma Linguagem de Consulta 1 Exemplos ilustrativos Considere, como exemplos, as seguintes relações: R1 sid bid day 22 101 10/10/96 58 103 11/12/96 Se a chave para a relacão de Reservas (R1) contivesse
Leia maisSQL: Uma Linguagem de Consulta. Database Management Systems, R. Ramakrishnan (tradução, autorizada, de Anna & Mario Nascimento)
SQL: Uma Linguagem de Consulta 1 Exemplos ilustrativos Considere, como exemplos, as seguintes relações: R1 sid bid day 22 101 10/10/96 58 103 11/12/96 Se a chave para a relacão de Reservas (R1) contivesse
Leia maisOperações Estendidas da Álgebra Relacional
Consultas de exemplo Operações Estendidas da Álgebra Relacional Quais os fármacos alguma vez prescritos por cardiologistas? Π nomef (farmacos receitas consultas σ especialidade cardiologia (medicos)) Aumentam
Leia maisBases de Dados. Conversão para Modelo Relacional. Modelo Entidade-Associação. IST DEI Bases de Dados
Bases de Dados Conversão para Modelo Relacional Modelo Entidade-Associação 2 1 Conversão de entidades Entidade forte converte-se numa tabela loan = (loan_number, amount) atributos simples mantêm-se chave
Leia maisBanco de Dados I. Prof. Diego Buchinger. Profa. Rebeca Schroeder Freitas Prof. Fabiano Baldo.
Banco de Dados I Prof. Diego Buchinger diego.buchinger@outlook.com diego.buchinger@udesc.br Profa. Rebeca Schroeder Freitas Prof. Fabiano Baldo Álgebra Relacional Modelo Relacional - Manipulação Categorias
Leia maisBanco de Dados. Álgebra Relacional. João Eduardo Ferreira Osvaldo Kotaro Takai
Banco de Dados Álgebra Relacional João Eduardo Ferreira Osvaldo Kotaro Takai Introdução A Álgebra Relacional contempla um conjunto de operações que permitem especificar consultas sob relações. As operações
Leia maisProjecção Generalizada
Projecção Generalizada Permite a utilização de funções aritméticas na lista de projecção. Π f1,f 2,...,f n (E) E é uma expressão arbitrária de álgebra relacional. Cada uma das expressões f 1, f 2,...,
Leia maisLinguagem de Definição de Dados Estrutura básica Operações com conjuntos Funções de agregação Valores nulos Subconsultas embebidas Relações derivadas
Capítulo 4: SQL Linguagem de Definição de Dados Estrutura básica Operações com conjuntos Funções de agregação Valores nulos Subconsultas embebidas Relações derivadas Junções Vistas Modificação da Base
Leia maisTornou-se um padrão de fato para aplicações comerciais, devido a sua simplicidade e performance.
Histórico Foi introduzido por Codd (1970) Tornou-se um padrão de fato para aplicações comerciais, devido a sua simplicidade e performance. É um modelo formal, baseado na teoria matemática das relações
Leia maisLinguagem de Consulta/Interrogação
Linguagem de Consulta/Interrogação Álgebra Relacional Linguagem a que o utilizador recorre para obter informação a partir da base de dados. Categorias de linguagens Linguagens Teóricas Procedimentais Declarativas
Leia maisBases de Dados. Conversão para Modelo Relacional. Diagrama E-A. IST DEI Bases de Dados
Bases de Dados Conversão para Modelo Relacional Diagrama E-A 2 1 Conversão de entidades Entidade forte converte-se numa tabela loan (loan_number, amount) atributos simples mantêm-se chave da tabela é a
Leia maisEstrutura das Bases de Dados Relacionais Redução a tabelas de um Esquema ER Álgebra Relacional Operações Estendidas da Álgebra Relacional Modificação
Capítulo 3: Modelo Relacional Estrutura das Bases de Dados Relacionais Redução a tabelas de um Esquema ER Álgebra Relacional Operações Estendidas da Álgebra Relacional Modificação da Base de Dados Vistas
Leia maisÁlgebra Relacional e SQL operações de interesse
Álgebra Relacional e SQL operações de interesse Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri Álgebra Relacional Maneira teórica de se manipular o banco de dados relacional Linguagem de consulta
Leia maisÁlgebra Relacional. Índice. Sistemas de Bases de Dados. Orlando Belo
Sistemas de Bases de Dados Edição 2004 Álgebra Relacional Orlando Belo Departamento de Informática Escola de Engenharia Universidade do Minho Índice Introdução A Álgebra Relacional Operadores da Álgebra
Leia maisBibliografia. Bases de Dados 2012/2013 Modelo Relacional. Helena Galhardas. Raghu Ramakrishnan, Database Management Systems, Cap. 3 10/2/ IST
Bases de Dados 2012/2013 Modelo Relacional Helena Galhardas Bibliografia Raghu Ramakrishnan, Database Management Systems, Cap. 3 1 1 Sumário Modelo Relacional Conversão Modelo EA para Modelo Relacional
Leia maisAula 9 BD 1 SQL Parte 1. Profa. Elaine Faria UFU
Aula 9 BD 1 SQL Parte 1 Profa. Elaine Faria UFU - 2018 Visão Geral SQL DML (Data Manipulation Language) Formular consultas, inserir, excluir e modificar tuplas DDL (Data Definition Language) Criar, excluir
Leia maisBases de Dados. Parte IV
Bases de Dados Parte IV Álgebra e Cálculo Relacional (Estes slides são a continuidade evolutiva dos slides de Ricardo Rocha (2005-2014) e de Fernando Silva (1995-2000), e são baseados no livro de Elmasri
Leia maisUnipar Universidade Paranaense Disciplina: Banco de Dados II 3ª Série Profª: Késsia Marchi Profa. Késsia Marchi
Banco de Dados II Unipar Universidade Paranaense Disciplina: Banco de Dados II 3ª Série Profª: Késsia Marchi Álgebra Relacional Linguagem de consulta procedural; Consiste em um conjunto básico de operações,
Leia maisBases de Dados BDDAD. Linguagem SQL. Comando SELECT Divisão Algébrica. Nelson Freire (ISEP LEI-BDDAD 2015/16) 1/9
BDDAD Bases de Dados Linguagem SQL Comando SELECT Nelson Freire (ISEP LEI-BDDAD 2015/16) 1/9 Operador Sumário Introdução Expressão Equivalente em SQL Soluções Tradução Directa de Expressão Algébrica Quantificação
Leia maisBacharelado em Ciência da Computação UFU Disciplina GBC053 Gerência de Banco de Dados Profa. Sandra de Amo
Bacharelado em Ciência da Computação UFU Disciplina GBC053 Gerência de Banco de Dados Profa. Sandra de Amo Solução dos Exercicios Aula 26 Cálculo de Custos de Planos de Execução de Consultas R(sid,bid,day,rname)
Leia maisOperações sobre sacos. Álgebra Relacional Extendida.
Operações sobre sacos. Álgebra elacional Extendida. Fernando Lobo ase de Dados, aula 14 1 / 23 Conjuntos versus sacos (bags) Um conjunto não tem elementos repetidos. Um saco pode ter. Em ambos os casos
Leia maisPrincípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Standards ISO e ANSI SQL-86, SQL-89, SQL-92, SQL:1999, SQL:2003
Bases de Dados Introdução à linguagem SQL História Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R Renomeada para SQL (Structured Query Language) Standards ISO e ANSI SQL-86, SQL-89,
Leia mais- SQL Linguagem de Manipulação de Dados
- SQL Linguagem de Manipulação de Dados Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SELECT SELECT FROM [ WHERE predicado
Leia maisBanco de Dados. Aula 8 - Prof. Bruno Moreno 16/09/2011
Banco de Dados Aula 8 - Prof. Bruno Moreno 16/09/2011 Plano de Aula Operações Unárias Seleção Projeção Operações de seleção e projeção seqüenciadas Operação Rebatizar Operações Binárias União Interseção
Leia maisÁlgebra e cálculo relacional. Andre Noel
Álgebra e cálculo relacional Andre Noel Introdução Introdução A SQL é baseada na álgebra e no cálculo relacional Introdução A SQL é baseada na álgebra e no cálculo relacional O modelo de dados precisa
Leia maisOperações fundamentais são suficientes para expressar qualquer consulta. Problema: consultas muito longas. Solução: definição de operações adicionais
Banco de Dados / 1 Bacharelado em Sistemas de Informação BANCOS DE DADOS Aula 15 Álgebra Relacional Operações Adicionais Banco de Dados / 2 Operações Adicionais Operações fundamentais são suficientes para
Leia maisSistemas de Informação e Bases de Dados 2012/2013. Stored Procedures e Triggers
Sistemas de Informação e Bases de Dados 2012/2013 Stored Procedures e Triggers Alberto Sardinha Bibliografia MSDN http://msdn.microsoft.com 1 Funções e Procedimentos SQL suporta funções e procedimentos
Leia maisGBC043 Sistemas de Banco de Dados Álgebra e Cálculo Relacional. Ilmério Reis da Silva UFU/FACOM
GBC043 Sistemas de Banco de Dados Álgebra e Cálculo Relacional Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM Álgebra e Cálculo Relacional e o Modelo R São as linguagens
Leia maisSistemas de Informação e Bases de Dados 2012/2013. Índices. Alberto Sardinha
Sistemas de Informação e Bases de Dados 2012/2013 Índices Alberto Sardinha Sumário Índices Criação de Índices em SQL Exemplos 2012 Ins)tuto Superior Técnico 1 Bibliografia Raghu Ramakrishnan, Database
Leia maisModelo Relacional: Banco de Dados: coleção de relações cada relação tem um nome único.
Banco de Dados / 1 Bacharelado em Sistemas de Informação BANCOS DE DADOS Aula 13 Álgebra Relacional Introdução Banco de Dados / 2 Recordando... Modelo Relacional: Banco de Dados: coleção de relações cada
Leia maisÁlgebra Relacional: Prod. Cartesiano. Álgebra Relacional: Projeção. Álgebra Relacional: Junção Natural. Álgebra Relacional: Junção. 1.
Programa DCC011 Introdução a Banco de Dados Álgebra Relacional Mirella M. Moro Departamento de Ciência da Computação Universidade Federal de Minas Gerais mirella@dcc.ufmg.br Introdução Conceitos básicos,
Leia maisROTEIRO Introdução Álgebra e Cálculo Relacional Operações da Álgebra Relacional Classificação de Operadores da Álgebra Relacional Mapeamento AR -> SQL
BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br ROTEIRO Introdução
Leia maisCapítulo 3 Modelo Relacional
Capítulo 3 Modelo Relacional Modelo Relacional Estrutura dos Bancos de Dados Relacionais Álgebra Relacional Cálculo Relacional de Tuplas Cálculo Relacional de Domínio Operações de Álgebra Relacional Estendida
Leia maisUniversidade Veiga de Almeida
Banco de Dados II Universidade Veiga de Almeida Banco de Dados II Prof. Luiz Antônio Vivacqua C. Meyer (luiz.vcm@gmail.com) Linguagens de Consulta Linguagens nas quais os usuários fazem requisições de
Leia maisBases de Dados Uma Recordação da Algebra Relacional
Bases de Dados Uma Recordação da Algebra Relacional Caetano Traina Jr. Grupo de Bases de Dados e Imagens Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos caetano@icmc.usp.br
Leia maisO Modelo e a Álgebra Relacional
O Modelo e a Álgebra Relacional O Modelo Relacional Modelo de dados, que se baseia no princípio em que todos os dados estão guardados em tabelas Baseado em lógica de predicados e na teoria de conjuntos.
Leia maisIntrodução às funções e procedimentos. SQL suporta funções e procedimentos úteis com tipos de dados específicos
Bases de Dados Funções e procedimentos Introdução às funções e procedimentos SQL suporta funções e procedimentos úteis com tipos de dados específicos p.ex. objectos geométricos, imagens intersecção de
Leia maisÁlgebra Relacional. Linguagem de consultas procedural Conjunto de operações que usam uma ou duas relações como entrada e geram uma relação de saída
Algebra Relacional Adaptado de Karine Reis Ferreira karine@dpi.inpe.br Gilberto Câmara gilberto@dpi.inpe.br Gilberto Ribeiro de Queiroz gribeiro@dpi.inpe.br Álgebra Relacional Linguagem de consultas procedural
Leia maisSQL-99: Esquema de BD EMPRESA
SQL-99: Esquema de BD EMPRESA SQL-99: Instâncias do esquema EMPRESA 1 Consultas externa, aninhada e correlacionada para cada tupla da consulta externa, a consulta aninhada devolve o atributo solicitado
Leia maisExame de Recurso de Base de Dados Universidade do Algarve 03/Fev/2005, (duração: 2 horas)
Exame de Recurso de Base de Dados Universidade do Algarve 03/Fev/2005, (duração: 2 horas) Este exame consiste em 16 perguntas de escolha múltipla. Para todas as questões existe apenas 1 resposta correcta.
Leia maisGES013 - Sistema de Banco de Dados SQL/DML no PostgreSQL Parte 3 Tabelas de Junção e Funções de Agregação
GES013 - Sistema de Banco de Dados SQL/DML no PostgreSQL Parte 3 Tabelas de Junção e Funções de Agregação Ilmério Reis da Silva ilmerio arroba ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM/BCC UFU/FACOM
Leia maisLaboratóriode Bases de Dados Aula12. ÁlgebraRelacional-Revisão. Professora: Fátima L. S. Nunes
ACH2025 Laboratóriode Bases de Dados Aula12 ÁlgebraRelacional-Revisão Professora: Fátima L. S. Nunes Álgebra Relacional operações fundamentais: selecionar projetar renomear unárias produto cartesiano união
Leia maisBanco de Dados I. Aula 16 - Prof. Bruno Moreno 04/11/2011
Banco de Dados I Aula 16 - Prof. Bruno Moreno 04/11/2011 Plano de Aula O comando DELETE Cláusula CHECK Comparações utilizando NULL Funções agregadas Junções de tabelas em SQL Visões Comando DELETE DELETE
Leia maisDefinida pelo American National Standard Institute (ANSI) em 1986
2.3. Linguagens Relacionais SQL Structured Query Language Linguagem para o modelo relacional: Definida pelo American National Standard Institute (ANSI) em 1986 Adoptada em 1987 como um standard internacional
Leia maisSQL (Tópicos) Structured Query Language
SQL (Tópicos) Structured Query Language ISI Introdução aos Sistemas de Informação SQL (Tópicos) 1 SQL: componentes SQL / DDL (Data Definition Language) Permite definir os Esquemas de Relação Permite definir
Leia maisTABELA ENTIDADE LINHA OCORRÊNCIA DA ENTIDADE COLUNA ATRIBUTO DA ENTIDADE
TABELA ENTIDADE LINHA OCORRÊNCIA DA ENTIDADE COLUNA ATRIBUTO DA ENTIDADE CARACTERISTICA DE UMA TABELA: NÃO EXISTEM DUAS LINHAS IGUAIS A ORDEM DAS LINHAS É INSIGNIFICANTE A ORDEM DAS COLUNAS É INSIGNIFICANTE
Leia maisANÁLISE E PROJETO DE BANCO DE DADOS
ANÁLISE E PROJETO DE BANCO DE DADOS SQL FELIPE G. TORRES SQL A linguagem SQL (Struct Query Language) é utilizada como padrão em bancos de dados relacionais. Seu desenvolvimento foi originalmente no início
Leia maisUm modelo de dados, além de definir estruturas e restrições, deve definir um conjunto de operações para manipular os dados.
Álgebra Relacional Um modelo de dados, além de definir estruturas e restrições, deve definir um conjunto de operações para manipular os dados. A álgebra relacional constitui o conjunto básico de operações
Leia maisIntrodução. Introdução. Álgebra Relacional. Linguagens formais de Consulta Modelo Relacional. O que foi visto até agora...
Ciência da Computação GBC043 Sistemas de Banco de Dados Linguagens formais de Consulta Modelo Relacional Profa. Maria Camila Nardini Barioni camila.barioni@ufu.br Bloco B - sala 1B137 1 semestre de 2019
Leia maisUTFPR - Universidade Tecnológica Federal do Paraná. Processamento e otimização de consultas
UTFPR - Universidade Tecnológica Federal do Paraná Processamento e otimização de consultas Leyza Baldo Dorini 04/Nov/2009 Programação da aula Introdução: processamento e otimização de consultas Etapas:
Leia mais