Álgebra Relacional Prof.: José Antônio da Cunha CEFET-RN

Slides:



Advertisements
Apresentações semelhantes
3.6) Utilização de várias tabelas
Advertisements

Object Query Language - OQL
Álgebra Relacional Marcelo Mendes Manaus
SQL Avançado Continuação
SQL Structured Query Language (continuação)
TECNOLOGIA EM SISTEMAS PARA INTERNET Banco de dados em aplicativos WEB Aula /08/2011 Professor Leomir J. Borba- –
Prof.: Bruno Rafael de Oliveira Rodrigues
Banco de Dados Bruno Rafael de Oliveira Rodrigues.
Prof. Bruno Rafael de Oliveira Rodrigues
Elaini Simoni Angelotti
SGBD.
Otimização de Consultas em SQL Parte I - Planos de Execução e Equivalências de Expressões da Álgebra Relacional AULA 19 Profa. Sandra de Amo Programa.
Transformando o Modelo E-R no Modelo Relacional
SQL – Comandos de Agregação
Algebra relacional nomeada e não-nomeada
Otimização de Consultas em SQL Planos de Execução e Equivalências de Expressões da Álgebra Relacional AULA 24 Profa. Sandra de Amo GBC053 – BCC
Subconsultas ou Consultas Aninhadas
SQL – Consultas Básicas
SQL – Noções Gerais Por Márcia Jacyntha N. Rodrigues Lucena
SQL – DML Consultas envolvendo relacionamentos entre tabelas
SQL – DML Consulta a dados de uma tabela
Operadores Especiais da SQL
SCC Bancos de Dados e Suas Aplicações
SCC Bancos de Dados e Suas Aplicações
Linguagem de Banco de Dados - SQL
Banco de dados Profª Kelly Medeiros.
Equipe de monitoria Aula prática 2. Apresentação do caso de estudo Conceitual Lógico Algumas informações iniciais Consultas e exercícios Surpresa... =)
SQL Álvaro Vinícius de Souza Coêlho
Cronograma Formato do Comando SELECT – 1ª Seção Uso de Funções (DATE_FORMAT, DAY, MONTH, NOW, CONCAT, FORMAT, COUNT, AVG, MAX, MIN e FORMAT) AS DISTINCT.
Capítulo 3: Modelo Relacional
Banco de Dados Aplicado ao Desenvolvimento de Software
Otimização de Consultas em SQL Planos de Execução
Capítulo 3: SQL Korth • Silberschatz • Sundarshan.
Desenvolvendo um script SQL
Treinamento PHP Módulo 2 PHP Avançado Waelson Negreiros waelson.com.br “Está conosco o Senhor dos Exércitos”
Baseado no material do Professor Raul Paradeda
Comandos SQL.
REVISÃO Comandos SQL - DML SELECT * FROM ?.
©Silberschatz, Korth and Sudarshan (modificado)4.1.1Database System Concepts Capítulo 4: SQL Estrutura básica Operações com conjuntos Funções de agregação.
Cálculo Relacional.
AULA DE DÚVIDAS 9 de Abril de Especialização  Simplifica-se quando:  especialização é disjunta e  especialização é total e  não há relações.
Fundamentos de Banco de Dados Fundamentos de Banco de Dados Prof. Gale 2º. Semestre 2008.
Banco de Dados I I Comandos SQL
Linguagem SQL Prof. Juliano.
©Silberschatz, Korth and Sudarshan (modificado)4.2.1Database System Concepts Capítulo 4: SQL Estrutura básica Operações com conjuntos Funções de agregação.
Structured Query Language
IEC Banco de Dados I Aula 04 – SQL (II) Turmas: Sistemas de Informação Professora: André Luiz da Costa Carvalho
©Silberschatz, Korth and Sudarshan (Modificado)3.4.1Database System Concepts Capítulo 3: Modelo Relacional Estrutura das Bases de Dados Relacionais Redução.
Modelo de base de dados relacional
1 Structured Query Language (SQL) 4 SQL é uma linguagem normalizada (ANSI) para consultas e actualizações de bases de dados relacionais.
1 Introdução à Manipulação de Dados SQL – Structured Query Language  Tabela = Relação  DDL – Data Definition Language  Sub-conjunto do SQL que suporta.
©Silberschatz, Korth and Sudarshan (modificado)4.2.1Database System Concepts Capítulo 4: SQL Estrutura básica Operações com conjuntos Funções de agregação.
Aula 09: Comando SELECT: Ligações entre tabelas e Subconsultas
Recuperação de Dados Banco de Dados Carina Farias
UCSal – Bacharelado em Informática
©Silberschatz, Korth and Sudarshan (Modificado)3.2.1Database System Concepts Capítulo 3: Modelo Relacional Estrutura das Bases de Dados Relacionais Redução.
Linguagem de definição de dados - SQL
SELECT Professor: Virgílio Fries Müller www. vfm.com.br
Tecnologias e Linguagens para Banco de Dados I - WEB Prof. João Ricardo Andrêo 29/5/ :40 1 Atividades: 1 - Criar uma base de dados para uma empresa.
José Antônio da cunha IFRN Administração de Banco de Dados.
1 Programação de Banco de Dados José Antônio da Cunha George Azevedo da Silva.
Cálculo Numérico Computacional Prof. Linder Cândido da Silva.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Capítulo 4 SQL básica.
José Antônio da Cunha CEFET - RN José Antônio -
Programação para Internet Aula 12 SQL (Comandos de Consulta ao BD)
José Antônio da Cunha 2/6/2016 José Antônio - CEFET-RN 1 Disciplina: Banco de Dados.
Banco de Dados para Redes– Aula 03 Prof. Me. Ronnison Reges Vidal.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Capítulo 5 Mais SQL: Consultas Complexas, Triggers e Views.
BANCO DE DADOS BASE DE DADOS – É UMA COLEÇÃO DE DADOS INTER- RELACIONADOS, REPRESENTANDO INFORMAÇÕES SOBRE UM DOMÍNIO ESPECÍFICO. EX.: LISTA TELEFONICA,
BANCO DE DADOS Araújo Lima Ago / 2017 Araújo.
Transcrição da apresentação:

Álgebra Relacional Prof.: José Antônio da Cunha CEFET-RN

Modelo Relacional – Álgebra Relacional SELEÇÃO () Descrição: seleciona tuplas que satisfazem a um predicado Entrada: uma relação R Saída: uma relação R’, tal queR’R Formato:  (R) Ex:  (ALUNO) <predicado de seleção> AND , OR , NOT , , , , , ,  Nome‘João Azevedo’ AND N_matricula>1111111111 Bancos de Dados I – jose.Cunha@ifrn.edu.br

Bancos de Dados I – jose.Cunha@ifrn.edu.br Seleção– Exemplo Tabela r A B C D     1 5 12 23 7 3 10 A=B ^ D > 5 (r) A B C D Em SQL Select * from R where a=b and d>5     1 23 7 10 Bancos de Dados I – jose.Cunha@ifrn.edu.br

Modelo Relacional – Álgebra Relacional PROJEÇÃO () Descrição: seleciona atributos de uma relação Entrada: uma relação R Formato:  (R) Ex:  (ALUNO)  ( (ALUNO)) <lista de atributos> Nome, N_matricula Nome, Data_nasc N_matricula>1111111111 Bancos de Dados I – jose.Cunha@ifrn.edu.br

Bancos de Dados I – jose.Cunha@ifrn.edu.br Project– Exemplo Tabela r: A B C   10 20 30 40 1 2 A C   1 2 Em SQL Select a, c from R Bancos de Dados I – jose.Cunha@ifrn.edu.br

Bancos de Dados I – jose.Cunha@ifrn.edu.br Esquema das operações Bancos de Dados I – jose.Cunha@ifrn.edu.br

Modelo Relacional – Álgebra Relacional UNIÃO () Descrição: reúne em uma única relação as tuplas das relações de entrada Entrada: duas relações R1 e R2, compatíveis. Sejam duas relações de grau n, R1(A1, ..., An) e R2(B1, ..., Bn), se dom(A1)=dom(B1), ..., dom(An)=dom(Bn), então R1 e R2 são compatíveis. Saída: uma relação R’, tal que grau(R’) = grau(R1) = grau(R2) e R’R1 e/ou R’R2 Formato: R1  R2 Bancos de Dados I – jose.Cunha@ifrn.edu.br

Bancos de Dados I – jose.Cunha@ifrn.edu.br União– Exemplo Tabelas r, s: A B A B   1 2   2 3 s r r  s: A B Em SQL Select a, b from R Union all Select a,b from S   1 2 3 Bancos de Dados I – jose.Cunha@ifrn.edu.br

Modelo Relacional – Álgebra Relacional DIFFERENÇA DE CONJUNTOS () Descrição: seleciona as tuplas presentes na primeira relação e não presentes na segunda Entrada: duas relações R1 e R2, compatíveis. Saída: uma relação R’, tal que grau(R’) = grau(R1) = grau(R2) e R’R1 Formato: R1  R2 Ex:  (ALUNO)   (PROFESSOR) Nome Nome Bancos de Dados I – jose.Cunha@ifrn.edu.br

Bancos de Dados I – jose.Cunha@ifrn.edu.br Diferença – Exemplo Tabelas r, s: A B A B   1 2   2 3 s r Em SQL Select a, b from R minus Select a, b from S A B r – s:   1 Bancos de Dados I – jose.Cunha@ifrn.edu.br

Modelo Relacional – Álgebra Relacional PRODUTO CARTESIANO () Descrição: concatena as tuplas das relações de entrada de forma combinatorial Entrada: duas relações R1(A1, ..., An) e R2(B1, ..., Bn), não necessariamente compatíveis. Saída: uma relação R’(A1, ..., An, B1, ..., Bn), tal que grau(R’) = grau(R1) + grau(R2) e R’=R1*R2 Formato: R1  R2 Obs: sem significado se aplicada isoladamente Ex: ALUNO  PROFESSOR Bancos de Dados I – jose.Cunha@ifrn.edu.br

Produto Cartesiano – Exemplo B C D E Tabelas r, s:   1 2    10 20 + – r s r x s: A B C D E   1 2     10 19 20 + – Em SQL Select * from R,S Bancos de Dados I – jose.Cunha@ifrn.edu.br

Operador relacional de DIVISÃO COL1 COL2 A 1 B C 2 3 4 5 COL2 2 3 COL1 C A ÷ B Tabela_B As linhas da Tabela A que não possuem correspondência com todas as linhas da Tabela B serão excluídas. Em SQL Select distinct col1 from Tabela_A a where not exists (select null from Tabela_B b where not exists (select null from Tabela_A where col2=b.col2 and a.col1=col1)); Tabela_A Bancos de Dados I – jose.Cunha@ifrn.edu.br

Operador relacional de RENOMEAR Sintaxe ρ<novo nome (R) Exemplo TB_ESTADO_CIVIL (estado_civil, descrição) ρEA(cod,desc) (TB_ESTADO_CIVIL) Em SQL Select estdo_civil as cod, descrição as desc from TB_ESTADO_CIVIL EA Bancos de Dados I – jose.Cunha@ifrn.edu.br

Representação Gráfica Operadores Tradicionais União Intersecção Diferença Bancos de Dados I – jose.Cunha@ifrn.edu.br

Representação Gráfica Operadores Tradicionais Produto Cartesiano Bancos de Dados I – jose.Cunha@ifrn.edu.br

Representação Gráfica Operadores Relacionais Seleção Projeção Bancos de Dados I – jose.Cunha@ifrn.edu.br

Bancos de Dados I – jose.Cunha@ifrn.edu.br Simbologia União R  S Diferença R – S Prod. Cartesiano R  S Seleção F (R) Projeção  i1, i2, ..., im(R) Junção R ⋈ S Bancos de Dados I – jose.Cunha@ifrn.edu.br

Bancos de Dados I – jose.Cunha@ifrn.edu.br Modelo Relacional – Álgebra Relacional FUNÇÕES DE AGREGAÇÃO () Uma função de agregação tome uma coleção de valores e retorna um único valor como resultado avg: média min: mínimo max: máximo sum: soma count: número de valores Formato: G1, G2, …, Gn  F1( A1), …, Fn( An) (R) R é uma relação G1, G2 …, Gn é a lista de atributos de agrupamento (pode ser vazia) Cada Fi é uma função de agregação Cada Ai é um atributo Bancos de Dados I – jose.Cunha@ifrn.edu.br

Funções agregadas – Exemplo Tabela r: A B C     7 3 10 sum-C Sum c(r) 27 Bancos de Dados I – jose.Cunha@ifrn.edu.br

Funções agregadas – Exemplo Tabela contas agrupada por branch-name (filial): branch-name account-number balance Perryridge Brighton Redwood A-102 A-201 A-217 A-215 A-222 400 900 750 700 branch-name  sum balance (account) branch-name balance Perryridge Brighton Redwood 1300 750 700 Bancos de Dados I – jose.Cunha@ifrn.edu.br

Bancos de Dados I – jose.Cunha@ifrn.edu.br Exemplos sum salario (trabalhador) count nome_agencia(trabalhador) Count-distinct nome_agencia(trabalhador) Nome_agência G sum salario (trabalhador) Dividirá as tuplas de trabalhador em grupos, conforme os nomes das agências Somará os valores dos salários de cada grupo Apresentará o resultado Bancos de Dados I – jose.Cunha@ifrn.edu.br

Exercícios 13. Retorne o nome do empregado e o nome de cada projeto em que ele trabalha 14.   Retorne o nome dos empregados que trabalham em algum projeto controlado pelo departamento 5 15.   Retorne o número de empregados da empresa 16.   Retorne o número do departamento e o número de empregados de CADA departamento da empresa 17.   Retorne o número do departamento e a média do salário dos empregados de CADA departamento da empresa 18.   Retorne o nome e o endereço de todos os empregados que trabalham no departamento ‘Pesquisa’ 19.   Para cada projeto localizado em ‘Londrina’, retorne o número do projeto, o número do departamento que o controla, o nome e sexo do gerente do departamento empregado(RG, sexo, dt_nasc,pnome,unome,rua,cida de,estado,salario,dnum,supRG ) supRG references empregado(RG) dnum references departamento(dnum) departamento(dnum,dnome, gerRG,dt_inicio) gerRG references empregado(rg) projeto (pnum, pnome,localização,dnum) dependente(dep_nome,dep_sexo, dep_dt_nasc,empRG) empRG references empregado(RG) trabalha_em(RG,pnum,horas) RG references empregado(RG) pnum references projeto(pnum) localizacao(localizacao,dnum)