Roteiro. Álgebra Relacional e Cálculo Relacional. BCC321 - Banco de Dados I. Introdução. Ementa. Posicionamento. Introdução

Tamanho: px
Começar a partir da página:

Download "Roteiro. Álgebra Relacional e Cálculo Relacional. BCC321 - Banco de Dados I. Introdução. Ementa. Posicionamento. Introdução"

Transcrição

1 Roteiro Álgebra Relacional e Cálculo Relacional Posicionamento Luiz Henrique de Campos Merschmann Departamento de Computação Universidade Federal de Ouro Preto luizhenrique@iceb.ufop.br Introdução Operações Relacionais Unárias Operações da Álgebra Relacional a Partir da Teoria dos Conjuntos Outras Operações Relacionais BCC321 - Banco de Dados I Ementa 1. Conceitos básicos em sistemas de banco de dados. 2. Conceitos e arquitetura de sistemas de banco de dados. 3. Modelagem conceitual de dados. 4. Modelo Relacional: conceitos básicos e restrições de integridade. 5. Linguagens: álgebra e cálculo relacional. 6. A linguagem SQL e o uso de APIs. 7. Projeto de banco de dados. 8. Normalização de banco de dados. 9. Noções de processamento de transações, concorrência e recuperação de falhas. 10. Aspectos de implementação de banco de dados. Introdução Modelo de dados: conceitos para a definição das restrições e estrutura do banco de dados + conjunto de operações para manipular o banco de dados. Álgebra relacional e cálculo relacional: duas linguagens de consulta formais do modelo relacional. Essas linguagens de consulta são concisas e formais, sem o açucar sintático das linguagens comerciais. Entender álgebra e cálculo relacional é fundamental para o entendimento de SQL e processamento de consultas.

2 Introdução Importância da Álgebra Relacional Conjunto de operações básicas para o modelo relacional: álgebra relacional. Essas operações permitem ao usuário especificar solicitações de recuperação, cujo resultado será uma nova relação. Uma sequência de operações de álgebra forma uma expressão de álgebra relacional. Fornece um fundamento formal para operações do modelo relacional. É usada como base para implementar e otimizar as consultas em SGBDs relacionais. Alguns de seus conceitos são incorporados na linguagem de consulta padrão SQL. Álgebra Relacional x Cálculo Relacional Álgebra relacional Linguagem procedural. Predominantemente operacional, útil para representar planos de execução. Cálculo relacional Linguagem não procedural. O usuário descreve a informação desejada sem fornecer um procedimento específico para a obtenção dessas informações (notação declarativa). A SQL é baseada em cálculo relacional, mas também incorpora algumas operações de álgebra relacional. Operações da Álgebra Relacional Conjunto de operações da teoria de conjunto matemática: União (Union). Interseção (Intersection). Diferença de Conjunto (Set Difference). Produto Cartesiano (Cross Product). Operações desenvolvidas especificamente para os bancos de dados relacionais: Seleção (Select). Projeção (Project). Junção (Join)....

3 Base de Dados dos Exemplos Operações Relacionais Unárias: Seleção Seleção: usada para selecionar um subconjunto de tuplas de uma relação que satisfaça uma condição de seleção. A operação de seleção seleciona algumas linhas da tabela. Essa operação é indicada por: σ<condicao de selecao>(r) Exemplos: < condicao de selecao > é uma expressão booleana. R é uma expressão da álgebra relacional cujo resultado é uma relação (a mais simples delas seria exatamente o nome de uma relação). σ Dnr=4(F UNCIONARIO) σ (Dnr=4 AND Salario>25000) OR (Dnr=5 AND Salario>30000) (F UNCIONARIO) Operação de Seleção Operação de Seleção σ(dnr=4 AND Salario>25000) OR (Dnr=5 AND Salario>30000)(F UNCIONARIO) Operadores de comparação: =, <,, >,,. Condições booleanas: AND, OR, NOT. Operação de seleção é aplicada a cada tupla individualmente. As condições de seleção não podem envolver mais que uma tupla. A operação de seleção é comutativa. σ<cond1>(σ<cond2>(r)) = σ<cond2>(σ<cond1>(r)) σc(r) R. A fração de tuplas selecionadas por uma condição de seleção c é conhecida como seletividade da condição.

4 Operações Relacionais Unárias: Projeção Operação de Projeção Enquanto a seleção seleciona algumas linhas da tabela, a projeção seleciona certas colunas. Essa operação é indicada por: π<lista de atributos>(r). < lista de atributos > é a lista dos atributos desejados da relação R. R é uma expressão da álgebra relacional cujo resultado é uma relação (a mais simples delas seria exatamente o nome de uma relação). Exemplo: πunome,p nome,salario(f UNCIONARIO). O resultado da projeção é um conjunto de tuplas, portanto, essa operação remove quaisquer tuplas repetidas. a)πunome,p nome,salario(f UNCIONARIO). b)πsexo,salario(f UNCIONARIO). a) b) Sequencia de Operações e a Operação Renomear (Rename) Podemos querer aplicar uma sequência de operações de álgebra. Para isso, temos duas opções: Escrever as operações como uma única expressão de álgebra relacional (aninhamento das operações). Aplicar uma operação por vez criando relações de resultados intermediários. Nesse caso, devemos dar nomes às relações que envolvem os resultados intermediários. Exemplo Recuperar o primeiro nome, último nome e o salário de todos os funcionários que trabalham no departamento n o 5. a)πp nome,unome,salario(σdnr=5(f UNCIONARIO)) b)temp σdnr=5(funcionario) R(P rimeiro_nome, Ultimo_nome, Salario) πp nome,unome,salario(t EMP )

5 Operação Renomear (Rename) Operações União, Interseção e Subtração No exemplo anterior vimos a operação de renomear atributos na relação de resultado R. Além de renomear os nomes dos atributos, podemos também renomear os nomes das relações. Exemplos: Renomear somente os atributos: ρ(b1,b2,...,bn)(r) Renomear apenas a relação: ρs(r) Renomear a relação e seus atributos: ρs(b1,b2,...,bn)(r) São operações binárias, ou seja, aplicadas a dois conjuntos de tuplas. As duas relações nas quais essas operações forem aplicadas devem ter o mesmo tipo de tupla (compatibilidade de união ou compatibilidade de tipo). R(A1, A2,..., An) e S(B1, B2,..., Bn) são compatíveis na união se tiverem o mesmo grau n e se dom(ai) = dom(bi) para 1 i n. Operações União, Interseção e Subtração Operações União, Interseção e Subtração Podemos definir as três operações em duas relações R e S compatíveis na união, como: União (R S): é uma relação que inclui todas as tuplas que estão em R, ou em S, ou em ambas, R e S. As tuplas repetidas são eliminadas. Interseção (R S): é uma relação que inclui todas as tuplas que estão em ambas, R e S. Subtração ou diferença de conjunto (R S): é uma relação que inclui todas as tuplas que estão em R, mas não estão em S. Adotaremos a convenção de que a relação resultante tem os mesmos nomes de atributos da primeira relação R. Tanto a UNIÃO quanto a INTERSEÇÃO são: Operações comutativas, ou seja, R S = S R e R S = S R. Operações associativas (aplicáveis a qualquer número de relações), ou seja, R (S T ) = (R S) T e (R S) T = R (S T ). A operação de SUBTRAÇÃO não é comutativa, assim, em geral, R S S R

6 Operações União, Interseção e Subtração (a) Duas relações compatíveis na união. (b) ALUNO P ROF ESSOR. (c) ALUNO P ROF ESSOR. (d) ALUNO P ROF ESSOR. (e) P ROF ESSOR ALUNO. Operação Produto Cartesiano Também conhecida como Cross Product (Produto Cruzado) ou Cross Join (Junção Cruzada). Também é uma operação binária de conjunto, mas as relações nas quais ela é aplicada não têm que ser compatíveis na união. Operação usada para combinar as tuplas de duas relações de forma combinatória. O resultado do produto cartesiano R(A1, A2,..., An) S(B1, B2,..., Bm) é uma relação Q(A1, A2,..., An, B1, B2,..., Bm). A relação Q tem uma tupla para cada combinação de tuplas (uma de R e uma de S). Ou seja, se R tiver nr tuplas e S tiver ns tuplas, então R S terá nr ns tuplas. Operação Produto Cartesiano Essa operação por si só, em geral, não tem sentido. Ela será útil quando for seguida por uma seleção que combina valores de determinados atributos vindos das relações componentes. Sequência produto cartesiano seguido por seleção operação junção (join). Exemplo: queremos montar uma lista com os nomes dos dependentes de cada funcionária. Exemplo da Operação Produto Cartesiano F UNC_MULHERES σsexo= F (F UNCIONARIO) FUNCNOMES πp nome,unome,cpf (FUNC_MULHERES) FUNC_DEPENDENTES F UNCNOMES DEPENDENT E DEPENDENTE_PARTIC σcpf=f cpf (F UNC_DEP ENDENT ES) RESULTADO πp nome,unome,nome_dependente(dep ENDENT E_P ART IC)

7 A Operação Junção A Operação Junção É usada para combinar as tuplas relacionadas em duas relações, ou seja, nos permite processar os relacionamentos entre as relações. Junção pode ser definida por um produto cartesiano seguido por uma operação de seleção. Por exemplo: FUNC_DEPENDENTES FUNCNOMES DEPENDENTE DEP ENDENT E_P ART IC σ Cpf=F cpf (F UNC_DEP ENDENT ES) Essas duas operações podem ser substituídas por uma única operação Junção, como segue: DEP ENDENT E_P ART IC F UNCNOMES Cpf=F cpf DEP ENDENT E A forma geral de uma operação de Junção em duas relações R(A1, A2,..., An) e S(B1, B2,..., Bm) é: R <condicao da juncao> S Cada combinação de tupla para a qual a condição de junção for avaliada como verdadeira será incluída na relação resultante. A condição de junção é geralmente da forma < cond1 > AND < cond2 > AND... AND < condn > onde < condi > é uma expressão A θ B, sendo A um atributo de R, B um atributo de S e θ um dos operadores {=, <,, >,, }. As tuplas cujos atributos de junção são null não aparecem no resultado. Exemplo da Operação Junção As Variações da Operação Junção DEP _GER DEP ART AMENT O Cpf_gerente=Cpf F UNCIONARIO Uma operação de junção que envolva apenas condições de igualdade (o único operador de comparação é o =) é chamada Equijunção. Uma Junção Natural é uma Equijunção na qual o segundo atributo (supérfluo) de cada condição de igualdade é eliminado da relação resultante. A definição-padrão de Junção Natural exige que os dois atributos de junção (ou cada par dos atributos de junção) tenham o mesmo nome em ambas as relações.

8 Exemplo de Junção Natural a) Nesse exemplo, primeiro renomearemos o atributo Dnumero de DEPARTAMENTO para Dnum (para ele ter o mesmo nome do atributo Dnum em PROJETO) e depois aplicaremos a Junção Natural. Conjunto Completo de Operações de Álgebra Relacional DEP T ρ (Dnome,Dnum,Cpf_gerente,Data_inicio_gerente)(DEP ART AMENT O) P ROJET O_DEP P ROJET O DEP T b) LOCAL_DEP DEP ART AMENT O LOCALIZACAO_DEP O conjunto de operações {σ, π, ρ,,, } é completo. Ou seja, quaisquer outras operações originais da álgebra podem ser expressas como uma sequência de operações desse conjunto. Exemplo: A interseção pode ser expressa usando-se as operações união e subtração: R S (R S) ((R S) (S R)) Outro exemplo: R <condicao> S σ<condicao>(r S) Portanto, algumas operações não são estritamente necessárias para o poder expressivo da álgebra relacional, mas são convenientes. A Operação Divisão Exemplos da Operação Divisão a) Dividindo CPF_PNRS por SILV A_PNRS. É útil em situações como: recuperar os nomes dos funcionários que trabalham em todos os projetos em que João Silva trabalha. Essa consulta pode ser realizada utilizando-se a operação de divisão ( ) da seguinte forma: SILV A σp nome= Joao AND Unome= Silva (F UNCIONARIO) SILV A_PNRS πp nr(trabalha_em F cpf=cpf SILV A) CPF_PNRS πf cpf,p nr(trabalha_em) CP F S(Cpf) CP F _P NRS SILV A_P NRS RESULT ADO πp nome,unome(cp F S F UNCIONARIO)

9 Exemplos da Operação Divisão b) T R S. Outras Operações Relacionais Alguns requisitos comuns de um banco de dados não podem ser executados com as operações de álgebra relacional originais (apresentadas até o momento). Exemplos: Soma, Média, Máximo, Mínimo. Operações adicionais são usadas para expressar esses requisitos. Funções de Agregação e Agrupamento Exemplo da Operação Função Agregada Sintaxe de uma operação para função de agregação: <atributos de agrupamento>i<lista de funcao>(r) < atributos de agrupamento > é uma lista de atributos da relação R. < lista de funcoes > é uma lista de pares (< funcao > < atributo >). < funcao > é uma das funções permitidas (SOMA, MEDIA, MAXIMO, MINIMO, CONT A). A relação resultante tem os atributos de agrupamento + um atributo para cada elemento na lista de funções. a) ρr(dnr,nr_de_funcionarios,media_sal) (DnrICONT A Cpf,MEDIA Salario (F UNCIONARIO)) b) DnrICONT A Cpf,MEDIA Salario (F UNCIONARIO) c) ICONT A Cpf,MEDIA Salario (F UNCIONARIO)

10 Operação de Fechamento Recursivo Exemplo de Operação de Fechamento Recursivo Operação aplicada a um relacionamento recursivo entre as tuplas de mesmo tipo. Exemplo: A partir do relacionamento entre funcionário e supervisor, recuperar todos os supervisionados de um funcionário f em todos os níveis. Apesar de ser possível recuperar todos os funcionários supervisionados por um funcionário f em um nível específico, em geral, não é possível especificar uma consulta do tipo recuperar os supervisionados em todos os níveis sem utilizar um mecanismo de laço (loop). Recuperar os Cpfs de todos os funcionários diretamente supervisionados por Jorge Brito. CP F _BRIT O π Cpf (σ P nome= Jorge AND Unome= Brito (F UNCIONARIO)) SUP ERV ISAO(Cpf1, Cpf2) π Cpf,Cpf_supervisor(F UNCIONARIO) RESULT ADO1(Cpf) π Cpf1(SUP ERV ISAO Cpf2=Cpf CP F _BRIT O) Para recuperar todos os funcionários supervisionados por Jorge Brito em nível 2: RESULT ADO2(Cpf) π Cpf1(SUP ERV ISAO Cpf2=Cpf RESULT ADO1) Para obter ambos os conjuntos de funcionários supervisionados em níveis 1 e 2 por Jorge Brito. RESULTADO RESULTADO2 RESULTADO1 Exemplo de Operação de Fechamento Recursivo Operação Junção Externa É uma extensão da operação de Junção. As operações de junção vistas até agora casam apenas as tuplas que satisfazem a condição de junção. Operações de junções externas são usadas quando se deseja manter todas as tuplas em R, ou todas em S, ou em ambas as relações no resultado da junção (independentemente de elas terem ou não tuplas correspondentes na outra relação). Exemplo: Lista dos nomes de todos os funcionários e também o nome dos departamentos que eles gerenciam (se não gerenciarem nenhum, isso será indicado com valores null).

11 Exemplo de Operação Junção Externa Junção Externa à Esquerda: Operação Junção Externa T EMP (F UNCIONARIO Cpf=Cpf_gerenteDEP ART AMENT O) RESULT ADO π P nome,minicial,unome,dnome(t EMP ) Observações: A operação (R S) mantém toda tupla da relação à esquerda (R) e, se nenhuma tupla correspondente é encontrada em S, então os atributos de S no resultado da junção são preenchidos com valores null. Uma operação similar é a Junção Externa à Direita, indicada por R S, que mantém toda tupla da relação à direita (S) no resultado da junção. Existe também a Junção Externa Total, que mantém toda tupla das relações à esquerda e à direita no resultado da junção. Operação União Externa Exemplo de Operação União Externa É a união de tuplas de duas relações que não são compatíveis na união. União das relações R(X, Y ) e S(X, Z) (parcialmente compatíveis). Os atributos que são compatíveis na união são representados apenas uma vez no resultado (T ) e os demais também serão mantidos na relação de resultado, gerando a relação T (X, Y, Z). As tuplas t1 em R e t2 em S que forem casadas (t1[x] = t2[x]) serão combinadas em uma única tupla em T. As tuplas em qualquer uma das relações que não têm tuplas casadas na outra relação serão preenchidas com valores null. União externa aplicada às relações cujos esquemas são: ALUNO(Nome, Cpf, Departamento, Orientador) P ROF (Nome, Cpf, Departamento, Classificacao) A relação resultado terá os seguintes atributos: ALUNO_OU_P ROF (Nome, Cpf, Departamento, Orientador, Classificacao) Todas as tuplas de ambas as relações serão incluídas no resultado. Mas as tuplas com a mesma combinação (Nome, Cpf, Departamento) aparecerão apenas uma vez no resultado.

12 Cálculo Relacional Cálculo Relacional de Tupla Forma Geral: {t,v,...,x P(t,v,...,x)} Linguagem de consulta não procedural. Duas categorias de linguagens: Cálculo relacional de tupla. Cálculo relacional de domínio. Tem o mesmo poder expressivo da álgebra relacional. Variáveis livres Predicado aplicado à t,v,...,x Variáveis livres: São variáveis de tuplas (assumem valores de tuplas de uma ou mais relações). Participam da resposta da consulta. Predicado: Expressão lógica que, se verdadeira, retorna os valores das variáveis livres na resposta da consulta. Cálculo Relacional de Tupla Cálculo Relacional de Domínio Exemplo: Encontrar todos os funcionários cujo salário está acima de 50 mil reais. {t FUNCIONARIO(t) AND t.salario > 50000} A condição F UNCIONARIO(t) especifica que a relação de intervalo da variável de tupla t é FUNCIONARIO. Cada tupla FUNCIONARIO t que satisfizer a condição t.salario > será recuperada. A consulta anterior recupera todos os valores de atributo para cada tupla t de FUNCIONARIO selecionada. Para recuperarmos apenas alguns atributos, escrevemos: Ao invés de ter variáveis abrangendo as tuplas, em cálculo relacional de domínio, as variáveis estão relacionadas com os atributos. Exemplo: Recupere a data de nascimento e o endereço do funcionário cujo nome seja João B. Silva. {uv ( q)( r)( s)( t)( w)( x)( y)( z)(f UNCIONARIO(qrstuvwxyz) AND q = Joao AND r = B AND s = Silva )} Cada variável está associada (na ordem em que aparecem na relação) a um atributo da relação. {t.pnome, t.unome FUNCIONARIO(t) AND t.salario > 50000}

13 Perguntas FIM

ÁLGEBRA E CÁLCULO RELACIONAL

Á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 mais

ALGEBRA RELACIONAL. Álgebra Relacional Conjunto básico de operações para o Modelo Relacional O resultado é uma relação

ALGEBRA 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 mais

Álgebra e cálculo relacional. Andre Noel

Á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 mais

Unipar Universidade Paranaense Disciplina: Banco de Dados II 3ª Série Profª: Késsia Marchi Profa. Késsia Marchi

Unipar 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 mais

Banco de Dados. Aula 8 - Prof. Bruno Moreno 16/09/2011

Banco 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

Banco 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 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

IEC Banco de Dados I Aula 06 Álgebra Relacional

IEC 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 mais

ANÁLISE E PROJETO DE BANCO DE DADOS

ANÁ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 mais

Um modelo de dados, além de definir estruturas e restrições, deve definir um conjunto de operações para manipular os dados.

Um 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 mais

Faculdade 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 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 mais

Bancos de Dados Notas de Aula Álgebra Relacional Introdução Prof. Dr. Daniel A. Furtado

Bancos de Dados Notas de Aula Álgebra Relacional Introdução Prof. Dr. Daniel A. Furtado Bancos de Dados Notas de Aula Álgebra Relacional Introdução Prof. Dr. Daniel A. Furtado 1 SELEÇÃO (SELECT): Seleciona todas as tuplas de uma relação R que satisfazem uma condição. Notação: Operadores de

Leia mais

Álgebra Relacional. Programa. Modelos de Dados. LCs relacionais formais. Introdução

Álgebra Relacional. Programa. Modelos de Dados. LCs relacionais formais. Introdução 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 mais

Introdução. Introdução. Álgebra Relacional. Linguagens formais de Consulta Modelo Relacional. O que foi visto até agora...

Introduçã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 mais

ROTEIRO Introdução Álgebra e Cálculo Relacional Operações da Álgebra Relacional Classificação de Operadores da Álgebra Relacional Mapeamento AR -> SQL

ROTEIRO 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 mais

Banco de Dados I Módulo III: Linguagens de Consulta. (Aula 1) Clodis Boscarioli

Banco 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 mais

Álgebra Relacional e SQL operações de interesse

Á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. 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

Á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 mais

Banco 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 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 mais

Álgebra Relacional. Introdução. Introdução. Álgebra Relacional

Álgebra Relacional. Introdução. Introdução. Álgebra Relacional Pós-graduação em Ciência da Computação CCM-205 Sistema de Bancos de Dados O que foi visto até agora... Álgebra Relacional Profa. Maria Camila Nardini Barioni camila.barioni@ufabc.edu.br Bloco B - sala

Leia mais

Álgebra Relacional e SQL

Á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 mais

Operações da Álgebra Relacional Operadores Especiais da Álgebra Relacional Renomeação

Operaçõ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 mais

O Modelo e a Álgebra Relacional

O 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 mais

Universidade Veiga de Almeida

Universidade 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 mais

António Rocha Nuno Melo e Castro

Antó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 mais

Banco de Dados. Álgebra Relacional. João Eduardo Ferreira Osvaldo Kotaro Takai

Banco 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 mais

Modelo de Dados Relacional

Modelo de Dados Relacional Modelo de Dados Relacional Sumário Conceitos Básicos Domínios, atributos, tuplas e relações Características das relações Notação Restrições de Integridade Domínio, chave, integridade entidade e integridade

Leia mais

Modelo Relacional: Banco de Dados: coleção de relações cada relação tem um nome único.

Modelo 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

Bancos (Bases) de Dados Aula #7 Álgebra Relacional

Bancos (Bases) de Dados Aula #7 Álgebra Relacional Bancos (Bases) de Dados Aula #7 Álgebra Relacional Cálculo Relacional Prof. Eduardo R. Hruschka * Slides baseados no material elaborado pelas professoras: Cristina D. A. Ciferri Elaine P. M. de Souza Álgebra

Leia mais

TECNOLOGIA EM SISTEMAS PARA INTERNET. Banco de dados em aplicativos WEB. Aula 5

TECNOLOGIA EM SISTEMAS PARA INTERNET. Banco de dados em aplicativos WEB. Aula 5 TECNOLOGIA EM SISTEMAS PARA INTERNET Banco de dados em aplicativos WEB Aula 5 1 Álgebra Relacional Agenda Operação Rename / Renomear Teoria de conjuntos Intersecção de conjuntos Operação de produto cartesiano

Leia mais

Modelo Relacional - Manipulação

Modelo 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 mais

Bases de Dados. Parte IV: Álgebra e Cálculo Relacional

Bases 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

Aula 8 BD1 Álgebra Relacional. Profa. Elaine Faria UFU

Aula 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 mais

Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri. Banco de Dados Processamento e Otimização de Consultas

Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri. Banco de Dados Processamento e Otimização de Consultas Processamento e Otimização de Consultas Banco de Dados Motivação Consulta pode ter sua resposta computada por uma variedade de métodos (geralmente) Usuário (programador) sugere uma estratégia para achar

Leia mais

Modelo de Dados Relacional

Modelo de Dados Relacional Modelo de Dados Relacional Introdução O modelo relacional representa um banco de dados como um conjunto de relações Informalmente, uma relação é uma tabela de valores, onde cada linha representa uma coleção

Leia mais

Roteiro. Normalização. BCC321 - Banco de Dados I. Ementa. Para que serve a normalização? Posicionamento

Roteiro. Normalização. BCC321 - Banco de Dados I. Ementa. Para que serve a normalização? Posicionamento Roteiro Normalização Posicionamento Luiz Henrique de Campos Merschmann Departamento de Computação Universidade Federal de Ouro Preto luizhenrique@iceb.ufop.br www.decom.ufop.br/luiz Introdução Dependências

Leia mais

4. Projecto de Bases de Dados

4. 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 mais

Banco de Dados I. Aula 14 - Prof. Bruno Moreno 11/10/2011

Banco de Dados I. Aula 14 - Prof. Bruno Moreno 11/10/2011 Banco de Dados I Aula 14 - Prof. Bruno Moreno 11/10/2011 Plano de Aula INSERT UPDATE SELECT-FROM-WHERE Uso de ALIASES SELECT com * DISTINCT Operações de Conjuntos Comparação entre substrings Operadores

Leia mais

Banco de Dados I. Aula 9 - Prof. Bruno Moreno 20/09/2011

Banco de Dados I. Aula 9 - Prof. Bruno Moreno 20/09/2011 Banco de Dados I Aula 9 - Prof. Bruno Moreno 20/09/2011 Operações Binárias União (UNION) Interseção (INTERSECTION) Subtração (MINUS) Produto Cartesiano Junção (JOIN) Divisão (DIVISION) Aula passada! REVISÃO

Leia mais

Banco de Dados I Álgebra Relacional

Banco de Dados I Álgebra Relacional Banco de Dados I Álgebra Relacional Frederico Queiroga fredericoqueiroga@gmail.com https://sites.google.com/site/fredericoqueiroga/ Álgebra Relacional Álgebra Relacional: conjunto de operações que podem

Leia mais

Bases de Dados. Parte IV

Bases 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 mais

Rápida revisão do Modelo Relacional

Rá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 mais

Roteiro. Noções de Controle de Concorrência. BCC321 - Banco de Dados I. Ementa. Finalidade do Controle de Concorrência.

Roteiro. Noções de Controle de Concorrência. BCC321 - Banco de Dados I. Ementa. Finalidade do Controle de Concorrência. Roteiro Noções de Controle de Concorrência Luiz Henrique de Campos Merschmann Departamento de Computação Universidade Federal de Ouro Preto luizhenrique@iceb.ufop.br www.decom.ufop.br/luiz Posicionamento

Leia mais

Bases de Dados. Parte IV: Álgebra e Cálculo Relacional

Bases 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 mais

Bases de Dados. Parte IV. Álgebra e Cálculo Relacional

Bases 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 mais

- SQL Linguagem de Manipulação de Dados

- 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 mais

Roteiro. Noções de Recuperação de Falhas. BCC321 - Banco de Dados I. Ementa. Posicionamento

Roteiro. Noções de Recuperação de Falhas. BCC321 - Banco de Dados I. Ementa. Posicionamento Roteiro Noções de Recuperação de Falhas Posicionamento Luiz Henrique de Campos Merschmann Departamento de Computação Universidade Federal de Ouro Preto luizhenrique@iceb.ufop.br www.decom.ufop.br/luiz

Leia mais

GBC043 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  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 mais

Tornou-se um padrão de fato para aplicações comerciais, devido a sua simplicidade e performance.

Tornou-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 mais

Sumário SELECT + FROM

Sumá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 mais

Curso 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 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 mais

Álgebra Relacional e Cálculo Relacional

Á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 mais

SQL-99: Esquema de BD EMPRESA

SQL-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 mais

SQL - 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 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

Banco de Dados I. Aula 16 - Prof. Bruno Moreno 04/11/2011

Banco 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 mais

Sumário. Etapas do Processamento de Consultas

Sumário. Etapas do Processamento de Consultas Sumário 1 Introdução ao Processamento de Consultas 2 Otimização de Consultas 3 Plano de Execução de Consultas 4 Introdução a Transações 5 Recuperação de Falhas 6 Controle de Concorrência 7 Fundamentos

Leia mais

UTFPR - 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 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

Banco de Dados Capítulo 2: Modelo Relacional. Bach. em Ciência da Computação UFPB/CCT Cláudio Baptista, PhD baptista@dsc.ufpb.br

Banco de Dados Capítulo 2: Modelo Relacional. Bach. em Ciência da Computação UFPB/CCT Cláudio Baptista, PhD baptista@dsc.ufpb.br Banco de Dados Capítulo 2: Modelo Relacional Bach. em Ciência da Computação UFPB/CCT Cláudio Baptista, PhD baptista@dsc.ufpb.br 2.1 Histórico Modelo Relacional Foi introduzido por Codd (1970) Tornou-se

Leia mais

Roteiro. Modelo de Dados Relacional. Processo de Projeto de Banco de Dados. BCC321 - Banco de Dados I. Ementa. Posicionamento.

Roteiro. Modelo de Dados Relacional. Processo de Projeto de Banco de Dados. BCC321 - Banco de Dados I. Ementa. Posicionamento. Roteiro Modelo de Dados Relacional Posicionamento Luiz Henrique de Campos Merschmann Departamento de Computação Universidade Federal de Ouro Preto luizhenrique@iceb.ufop.br www.decom.ufop.br/luiz Introdução

Leia mais

Processamento e Otimização de Consultas

Processamento e Otimização de Consultas Processamento e Otimização de Consultas Processo de Execução de uma Consulta 1 Otimização de Consultas SQL Em algumas linguagens de consulta, a estratégia de execução é definida pela maneira como o usuário

Leia mais

MATA60 BANCO DE DADOS Aula: Otimização. Prof. Daniela Barreiro Claro

MATA60 BANCO DE DADOS Aula: Otimização. Prof. Daniela Barreiro Claro MATA60 BANCO DE DADOS Aula: Otimização Prof. Daniela Barreiro Claro Introdução a Otimização SQL, SQL3 e OQL são linguagens declarativas O SGBD deve processar e otimizar estas consultas antes delas serem

Leia mais

TABELA ENTIDADE LINHA OCORRÊNCIA DA ENTIDADE COLUNA ATRIBUTO DA ENTIDADE

TABELA 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 mais

Introdução a Bancos de Dados

Introdução a Bancos de Dados Introdução a Bancos de Dados - Conceitos - Modelos lógicos e relacional - Álgebra relacional - SQL - Projeto Lógico INPE - Divisão de Processamento de Imagens INPE 1 Sistemas de Banco de Dados Definição:

Leia mais

Modelo Relacional. Modelo Relacional. Modelo Relacional. Banco de Dados. Modelo Relacional. Modelo Relacional. Fernando Fonseca Ana Carolina

Modelo Relacional. Modelo Relacional. Modelo Relacional. Banco de Dados. Modelo Relacional. Modelo Relacional. Fernando Fonseca Ana Carolina Banco de Dados Definido por E F Codd em 1970, teve sua grande aceitação comercial a partir de meados da década de 1980 Razões da grande aceitação Simplicidade dos conceitos básicos Poder dos operadores

Leia mais

Laboratóriode Bases de Dados Aula12. ÁlgebraRelacional-Revisão. Professora: Fátima L. S. Nunes

Laborató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 mais

Consultas SQL. Andre Noel

Consultas SQL. Andre Noel Consultas SQL Andre Noel Introdução Introdução Uma distinção entre SQL e o modelo relacional: SQL permite que uma tabela tenha duas ou mais tuplas iguais Introdução Uma distinção entre SQL e o modelo relacional:

Leia mais

Álgebra Relacional: Prod. Cartesiano. Álgebra Relacional: Projeção. Álgebra Relacional: Junção Natural. Álgebra Relacional: Junção. 1.

Á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 mais

Banco de Dados. Cálculo Relacional de Tuplas. João Eduardo Ferreira Osvaldo Kotaro Takai

Banco de Dados. Cálculo Relacional de Tuplas. João Eduardo Ferreira Osvaldo Kotaro Takai Banco de Dados Cálculo Relacional de Tuplas João Eduardo Ferreira Osvaldo Kotaro Takai Introdução O Cálculo Relacional de Tuplas (CRT) é uma alternativa à Álgebra Relacional (AR). A AR é procedimental,

Leia mais

Abordagem relacional. Capítulo 4

Abordagem relacional. Capítulo 4 Abordagem relacional Capítulo 4 Abordagem Relacional Abordagem de modelagem de dados usada nos sistemas de gerência de banco de dados do tipo relacional. Modelagem em nível lógico (SGBD) e não conceitual.

Leia mais

Exercício Aula Passada. SQL Linguagem de Manipulação de Dados. Exercício Aula Passada. Exercício Aula Passada. Exercício Aula Passada

Exercício Aula Passada. SQL Linguagem de Manipulação de Dados. Exercício Aula Passada. Exercício Aula Passada. Exercício Aula Passada Ciência da Computação GBC043 Sistemas de Banco de Dados SQL Linguagem de Manipulação de Dados Profa. Maria Camila Nardini Barioni camila.barioni@ufu.br Bloco B - sala 1B137 1 semestre de 2018 2 Escreva

Leia mais

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 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

Bases 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 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

23/05/12. Agenda. Introdução. Introdução. Introdução. Álgebra. Relacional. Cálculo. Relacional

23/05/12. Agenda. Introdução. Introdução. Introdução. Álgebra. Relacional. Cálculo. Relacional Processamento de Consultas em BD Distribuídos Decomposição de consultas e Localização de dados IN1128/IF694 Bancos de Dados Distribuídos e Móveis Ana Carolina Salgado acs@cin.ufpe.br Bernadette Farias

Leia mais

Sistemas de Banco de Dados

Sistemas de Banco de Dados Sistemas de Banco de Dados Fundamentos em Bancos de Dados Relacionais Wladmir Cardoso Brandão www.wladmirbrandao.com Departamento de Ciência da Computação (DCC) Instituto de Ciências Exatas e Informática

Leia mais

SISTEMAS DE BANCO DE DADOS. Prof. Adriano Pereira Maranhão

SISTEMAS DE BANCO DE DADOS. Prof. Adriano Pereira Maranhão SISTEMAS DE BANCO DE DADOS Prof. Adriano Pereira Maranhão 1 SQL Structured Query Language SQL Desenvolvida pela IBM Structured English Query Language Sequel Linguagem de consulta para o sistema R Primeiro

Leia mais

Modelagem de dados usando MER. Andre Noel

Modelagem de dados usando MER. Andre Noel Modelagem de dados usando MER Andre Noel Introdução Introdução Modelagem conceitual Introdução Modelagem conceitual Modelo Entidade-Relacionamento (MER) Modelo de dados conceitual popular de alto nível

Leia mais

Bases de Dados Uma Recordação da Algebra Relacional

Bases 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 mais

- Um "query block" permite a implementação das operações de selecção, projecção e junção da álgebra relacional.

- 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 mais

Introdução ao Banco de Dados. Banco de Dados

Introdução ao Banco de Dados. Banco de Dados Introdução ao Banco de Dados Prof. Tiago Garcia de Senna Carneiro UFOP Prof. Técnicas de Programação II 2006 PARTE 1: Conceitos Básicos Banco de Dados SGDB: Sistema Gerenciador de Banco de Dados Definição:

Leia mais

UNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO

UNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO UNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO Disciplina: Banco de Dados I Professor: Prof. Me. Everton

Leia mais

Introdução a. π LNAME, FNAME (σ SALARY>C (EMPLOYEE))

Introdução a. π LNAME, FNAME (σ SALARY>C (EMPLOYEE)) Introdução Como o SGBD INTERNAMENTO processa, otimiza e executa consultas de alto nível Introdução a Processamento de Consultas MIRELLA M. MORO mirella@dcc.ufmg.br http://www.dcc.ufmg.br/ br/~mirella 2

Leia mais

Sintaxe do comando SELECT

Sintaxe do comando SELECT Universidade Estadual de Mato Grosso do Sul Ciência da Computação Banco de Dados Prof. Nilton nilton@comp.uems.br Sintaxe do comando SELECT SELECT FROM [WHERE ]

Leia mais

Modelagem de dados usando o modelo Entidade- Relacionamento (ER)

Modelagem de dados usando o modelo Entidade- Relacionamento (ER) Modelagem de dados usando o modelo Entidade- Relacionamento (ER) slide 1 Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Tópicos Usando modelo de dados conceituais de alto nível

Leia mais

Douglas Matheus de Souza Prof. Marcel Hugo, Mestre - Orientador

Douglas Matheus de Souza Prof. Marcel Hugo, Mestre - Orientador Douglas Matheus de Souza Prof. Marcel Hugo, Mestre - Orientador Introdução Objetivos Fundamentação teórica Desenvolvimento da ferramenta Operacionalidade Resultados e discussão Conclusões Versões futuras

Leia mais

MODELO RELACIONAL PARTE 2

MODELO RELACIONAL PARTE 2 Fundação Centro de Análise, Pesquisa e Inovação Tecnológica Instituto de Ensino Superior - FUCAPI MODELO RELACIONAL PARTE 2 Disciplina: Banco de Dados Prof: Márcio Palheta, Esp Manaus - AM ROTEIRO Introdução

Leia mais

1ª Prova 23/10/17. Tópicos estudados (todos os assuntos até agora, 12 aulas):

1ª Prova 23/10/17. Tópicos estudados (todos os assuntos até agora, 12 aulas): 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 1ª Prova 23/10/17 Tópicos estudados (todos os

Leia mais

Roteiro 10: Consultas com várias tabelas/operadores de busca

Roteiro 10: Consultas com várias tabelas/operadores de busca Roteiro 10: Consultas com várias tabelas/operadores de busca Objetivos: Criar consultas utilizando várias tabelas Explorar as funcionalidades de selects em várias tabelas utilizando a notação tabela.campo

Leia mais

Roteiro. SQL Linguagem de Manipulação de Dados. Exercício Aula Passada. Exercício Aula Passada. Exercício Aula Passada. Exercício Aula Passada

Roteiro. SQL Linguagem de Manipulação de Dados. Exercício Aula Passada. Exercício Aula Passada. Exercício Aula Passada. Exercício Aula Passada 1 Ciência da Computação GBC043 Sistemas de Banco de Dados SQL Linguagem de Manipulação de Dados Profa. Maria Camila Nardini Barioni camila.barioni@ufu.br Bloco B - sala 1B137 Roteiro s aulas passadas SQL

Leia mais

Modelo Relacional. Relacionamento. Processo de Projeto de. Programa. Modelo Entidade Relacionamento

Modelo Relacional. Relacionamento. Processo de Projeto de. Programa. Modelo Entidade Relacionamento Programa DCC011 Introdução a Banco de Dados Modelo 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 mais

BCD29008 Banco de dados

BCD29008 Banco de dados BCD29008 Banco de dados Modelo ER & Modelo Relacional Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/bcd 18 de

Leia mais

Sistemas de Arquivos Convencionais

Sistemas de Arquivos Convencionais SGBDs Sistemas de Arquivos Convencionais Características: Vários arquivos, diferentes programas para recuperar informações Desvantagens: Redundância e inconsistência de dados Dificuldade de acessar informação

Leia mais

Principais Conceitos. Modelo Relacional representa o banco de dados como uma coleção de relações Tupla Atributos Relação Domínio

Principais Conceitos. Modelo Relacional representa o banco de dados como uma coleção de relações Tupla Atributos Relação Domínio MODELO RELACIONAL Principais Conceitos Modelo Relacional representa o banco de dados como uma coleção de relações Tupla Atributos Relação Domínio Conceitos Básicos - Relações A Álgebra Relacional fundamenta-se

Leia mais

Álgebra Relacional. OBS: as operações Seleção e Projeção são operações unárias porque atuam em relações únicas.

Álgebra Relacional. OBS: as operações Seleção e Projeção são operações unárias porque atuam em relações únicas. Álgebra Relacional Álgebra Relacional é o conjunto básico de operações para o Modelo Relacional. Essas operações permitem a um usuário especificar as solicitações básicas de recuperação. O resultado de

Leia mais

Linguagem de pesquisa declarativa para banco de dados relacional; 1ª Versão - Desenvolvida pela IBM no laboratório de pesquisa de San José;

Linguagem de pesquisa declarativa para banco de dados relacional; 1ª Versão - Desenvolvida pela IBM no laboratório de pesquisa de San José; MySQL SQL (Structured Query Languagem ) Linguagem de pesquisa declarativa para banco de dados relacional; 1ª Versão - Desenvolvida pela IBM no laboratório de pesquisa de San José; Inicialmente - Sequel

Leia mais

SISTEMAS DE BANCO DE DADOS. Prof. Adriano Pereira Maranhão

SISTEMAS DE BANCO DE DADOS. Prof. Adriano Pereira Maranhão SISTEMAS DE BANCO DE DADOS Prof. Adriano Pereira Maranhão 1 Coleção de operações usadas para manipular relações Grupos de operações Operações relacionais Seleção; projeção; junção Operações de conjunto

Leia mais

Processamento e Otimização de Consultas. Msc. Simone Dominico Orientador: Dr. Eduardo Cunha de Almeida PPGINF - UFPR

Processamento e Otimização de Consultas. Msc. Simone Dominico Orientador: Dr. Eduardo Cunha de Almeida PPGINF - UFPR Processamento e Otimização de Consultas Msc. Simone Dominico Orientador: Dr. Eduardo Cunha de Almeida PPGINF - UFPR Conteúdo Processamento de consultas; Introdução Etapas no Processamento de Consultas

Leia mais

3 Plano de Execução de Consultas

3 Plano de Execução de Consultas Sumário 1 Introdução ao Processamento de Consultas 2 Otimização de Consultas 3 Plano de Execução de Consultas 4 Introdução a Transações 5 Recuperação de Falhas 6 Controle de Concorrência 7 Fundamentos

Leia mais

Subconsultas ou Consultas Aninhadas

Subconsultas ou Consultas Aninhadas Subconsultas ou Consultas Aninhadas Forma alternativa de especificar consultas envolvendo relacionamentos entre tabelas Otimização filtragens prévias de dados na subconsulta apenas tuplas/atributos de

Leia mais