SQL - Perguntas. André Restivo. Faculdade de Engenharia da Universidade do Porto. February 24, 2012

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

Download "SQL - Perguntas. André Restivo. Faculdade de Engenharia da Universidade do Porto. February 24, 2012"

Transcrição

1 SQL - Perguntas André Restivo Faculdade de Engenharia da Universidade do Porto February 24, 2012 André Restivo (FEUP) SQL - Perguntas February 24, / 46

2 Sumário 1 Introdução 2 Seleccionar e Filtrar 3 Operadores de Conjuntos 4 Junções 5 Agregações 6 Ordenações e Limites 7 Sub-perguntas 8 Operadores de Texto 9 Outras Considerações André Restivo (FEUP) SQL - Perguntas February 24, / 46

3 Introdução Modelo Relacional Uma BD relacional é um conjunto de relações. A estrutura de uma relação é definida pelo seu esquema. Uma relação pode ser vista como uma tabela de valores, em que cada coluna representa um atributo da relação e cada linha é um tuplo de valores relacionados. André Restivo (FEUP) SQL - Perguntas February 24, / 46

4 Seleccionar e Filtrar SELECT + FROM O SELECT e o FROM são as operações base de qualquer pergunta SQL. Permitem-nos seleccionar algumas colunas de uma relação. Podemos também seleccionar todas as colunas de uma relação usando *. SELECT * FROM autocarro; SELECT marca, kms FROM autocarro; André Restivo (FEUP) SQL - Perguntas February 24, / 46

5 SELECT : Seleccionar e Filtrar SELECT * FROM autocarro; matrícula marca modelo kms dataes datarev FG Volvo AB Renault PR LH Volvo FD Renault FR1 GTX SELECT marca, kms FROM autocarro; marca kms Volvo 5000 Volvo 5000 Renault Renault André Restivo (FEUP) SQL - Perguntas February 24, / 46

6 SELECT DISTINCT Seleccionar e Filtrar Podemos ainda retirar repetidos usando DISTINCT. SELECT DISTINCT marca, kms FROM autocarro; André Restivo (FEUP) SQL - Perguntas February 24, / 46

7 Seleccionar e Filtrar SELECT DISTINCT : SELECT * FROM autocarro; matrícula marca modelo kms dataes datarev FG Volvo AB Renault PR LH Volvo FD Renault FR1 GTX SELECT DISTINCT marca, kms FROM autocarro; marca kms Volvo 5000 Renault Renault André Restivo (FEUP) SQL - Perguntas February 24, / 46

8 Seleccionar e Filtrar WHERE O comando WHERE permite seleccionar um sub-conjunto de tuplos de uma relação que satisfazem uma determinada condição sobre alguns atributos. A condição pode conter operadores de comparação (<, >, <=, <>,...) e pode ser composta usando AND, OR e NOT. SELECT * FROM autocarro WHERE marca = Volvo OR kms > ; SELECT * FROM empregado WHERE salario - descontos > 1000; André Restivo (FEUP) SQL - Perguntas February 24, / 46

9 Seleccionar e Filtrar IS NULL Se quisermos ficar só com as linhas em que um valor é nulo devemos usar IS NULL. Se quisermos ficar só com as linhas em que um valor não é nulo devemos usar IS NOT NULL. SELECT * FROM autocarro WHERE marca IS NULL; SELECT * FROM autocarro WHERE marca IS NOT NULL; André Restivo (FEUP) SQL - Perguntas February 24, / 46

10 WHERE : Seleccionar e Filtrar SELECT * FROM autocarro; matrícula marca modelo kms dataes datarev FG Volvo AB Renault PR LH Volvo FD Renault FR1 GTX SELECT * FROM autocarro WHERE marca = Volvo OR kms > ; matrícula marca modelo kms dataes datarev FG Volvo LH Volvo FD Renault FR1 GTX André Restivo (FEUP) SQL - Perguntas February 24, / 46

11 Seleccionar e Filtrar Renomeação de Colunas e Aritmética Podemos ainda renomear atributos. SELECT kms AS quilometros FROM autocarro; Ou efectuar operações aritméticas entre atributos. Neste caso, é recomendado renomear o resultado da operação. SELECT salariobruto - descontos AS salarioliquido FROM empregado; André Restivo (FEUP) SQL - Perguntas February 24, / 46

12 Operadores de Conjuntos Reunião, Intersecção e Diferença Duas relações dizem-se compatíveis para a reunião, intersecção ou diferença se tiverem o mesmo número de atributos e o domínio de cada um deles for igual. A reunião entre duas relações Ê ½ e Ê ¾ é a relação que inclui todos os tuplos que estão em Ê ½ ou em Ê ¾. A intersecção entre duas relações Ê ½ e Ê ¾ é a relação que inclui todos os tuplos que estão em Ê ½ e em Ê ¾. A diferença entre duas relações Ê ½ e Ê ¾ é a relação que inclui todos os tuplos que estão em Ê ½ mas não estão em Ê ¾. Os tuplos duplicados são eliminados. A reunião e intersecção são comutativas mas a diferença não. André Restivo (FEUP) SQL - Perguntas February 24, / 46

13 Operadores de Conjuntos UNION, INTERSECT e EXCEPT Para efectuar as operações de união, intersecção e diferença, usamos os operadores UNION, INTERSECT e EXCEPT que podem ser colocados entre duas perguntas. Para que o resultado mantenha tuplos repetidos, podemos ainda usar o operador ALL. SELECT * FROM autocarro WHERE marca = Volvo UNION ALL SELECT * FROM autocarro WHERE kms < 10000; André Restivo (FEUP) SQL - Perguntas February 24, / 46

14 UNION : Operadores de Conjuntos SELECT * FROM autocarro1; matrícula marca modelo FG Volvo AB Renault PR LH Volvo 8500 FD Renault FR1 GTX SELECT * FROM autocarro2; matrícula marca modelo FG Volvo FC Volvo 7500 SELECT * FROM autocarro1 UNION SELECT * FROM autocarro2; matrícula marca modelo FG Volvo AB Renault PR LH Volvo 8500 FD Renault FR1 GTX FC Volvo 7500 André Restivo (FEUP) SQL - Perguntas February 24, / 46

15 Operadores de Conjuntos INTERSECT : SELECT * FROM autocarro1; matrícula marca modelo FG Volvo AB Renault PR LH Volvo 8500 FD Renault FR1 GTX SELECT * FROM autocarro2; matrícula marca modelo FG Volvo FC Volvo 7500 SELECT * FROM autocarro1 INTERSECT SELECT * FROM autocarro2; matrícula marca modelo FG Volvo 7700 André Restivo (FEUP) SQL - Perguntas February 24, / 46

16 EXCEPT : Operadores de Conjuntos SELECT * FROM autocarro1; matrícula marca modelo FG Volvo AB Renault PR LH Volvo 8500 FD Renault FR1 GTX SELECT * FROM autocarro2; matrícula marca modelo FG Volvo FC Volvo 7500 SELECT * FROM autocarro1 EXCEPT SELECT * FROM autocarro2; matrícula marca modelo AB Renault PR LH Volvo 8500 FD Renault FR1 GTX André Restivo (FEUP) SQL - Perguntas February 24, / 46

17 Junções Produto Cartesiano Permite-nos combinar tuplos de relações diferentes. Basta indicar as várias relações no operador FROM usando vírgulas. Retorna uma relação com os atributos das várias tabelas e todas as combinações possíveis de tuplos. SELECT * FROM autocarro, marca; Se duas tabelas tiverem atributos com o mesmo nome, podemos usar a seguinte notação para desambiguar o atributo pretendido. SELECT empregado.nome, departamento.nome FROM empregado, departamento; André Restivo (FEUP) SQL - Perguntas February 24, / 46

18 Junções Produto Cartesiano : SELECT * FROM autocarro; matrícula marca modelo kms dataes datarev FG Volvo AB Renault PR LH Volvo FD Renault FR1 GTX SELECT * FROM marca; nome pais Volvo Suécia Renault França SELECT * FROM autocarro, marca matrícula marca modelo kms dataes datarev nome pais FG Volvo Volvo Suécia AB Renault PR Volvo Suécia LH Volvo Volvo Suécia FD Renault FR1 GTX Volvo Suécia FG Volvo Renault França AB Renault PR Renault França LH Volvo Renault França FD Renault FR1 GTX Renault França André Restivo (FEUP) SQL - Perguntas February 24, / 46

19 Junções Junções usando WHERE A utilização do produto cartesiano por si só não parece muito interessante. Mas, juntamente com o operador WHERE permite a junção de relações. Este tipo de perguntas permite-nos lidar com as associações entre as relações. SELECT * FROM autocarro, marca WHERE marca = nome; André Restivo (FEUP) SQL - Perguntas February 24, / 46

20 Junções Junção usando WHERE : SELECT * FROM autocarro; matrícula marca modelo kms dataes datarev FG Volvo AB Renault PR LH Volvo FD Renault FR1 GTX SELECT * FROM marca; nome pais Volvo Suécia Renault França SELECT * FROM autocarro, marca WHERE marca = nome; matrícula marca modelo kms dataes datarev nome pais FG Volvo Volvo Suécia LH Volvo Volvo Suécia AB Renault PR Renault França FD Renault FR1 GTX Renault França André Restivo (FEUP) SQL - Perguntas February 24, / 46

21 Junções Junções usando JOIN ON Em vez de usarmos um produto cartesiano juntamente com uma expressão WHERE para fazer uma junção, podemos usar um comando específico: JOIN ON. Este comando permite especificar simultaneamente as tabelas a juntar e a condição de junção. SELECT * FROM autocarro JOIN marca ON marca = nome; André Restivo (FEUP) SQL - Perguntas February 24, / 46

22 JOIN ON : Junções SELECT * FROM autocarro; matrícula marca modelo kms dataes datarev FG Volvo AB Renault PR LH Volvo FD Renault FR1 GTX SELECT * FROM marca; nome pais Volvo Suécia Renault França SELECT * FROM autocarro JOIN marca ON marca = nome; matrícula marca modelo kms dataes datarev pais FG Volvo Suécia LH Volvo Suécia AB Renault PR França FD Renault FR1 GTX França André Restivo (FEUP) SQL - Perguntas February 24, / 46

23 Junções Junções usando JOIN USING Se as colunas usadas na junção tiverem o mesmo nome nas duas relações, podemos usar um comando ainda mais simples: JOIN USING. Este comando permite especificar simultaneamente as tabelas a juntar e o nome das colunas de junção. SELECT * FROM autocarro JOIN marca USING (marca); André Restivo (FEUP) SQL - Perguntas February 24, / 46

24 JOIN USING : Junções SELECT * FROM autocarro; matrícula marca modelo kms dataes datarev FG Volvo AB Renault PR LH Volvo FD Renault FR1 GTX SELECT * FROM marca; marca pais Volvo Suécia Renault França SELECT * FROM autocarro JOIN marca USING(marca); matrícula marca modelo kms dataes datarev pais FG Volvo Suécia LH Volvo Suécia AB Renault PR França FD Renault FR1 GTX França André Restivo (FEUP) SQL - Perguntas February 24, / 46

25 Junções Junções usando NATURAL JOIN Se quisermos fazer uma junção em que os atributos de junção têm todos o mesmo nome nas duas relações, podemos realizar uma junção natural usando o comando NATURAL JOIN. Os atributos repetidos são removidos. Uma junção natural entre duas relações sem atributos comuns equivale a um produto cartesiano porque, após este, não há nenhuma selecção a fazer. SELECT * FROM autocarro NATURAL JOIN marca; André Restivo (FEUP) SQL - Perguntas February 24, / 46

26 Junções NATURAL JOIN : SELECT * FROM autocarro; matrícula marca modelo kms dataes datarev FG Volvo AB Renault PR LH Volvo FD Renault FR1 GTX SELECT * FROM marca; marca pais Volvo Suécia Renault França SELECT * FROM autocarro NATURAL JOIN marca; matrícula marca modelo kms dataes datarev pais FG Volvo Suécia LH Volvo Suécia AB Renault PR França FD Renault FR1 GTX França André Restivo (FEUP) SQL - Perguntas February 24, / 46

27 Junções Renomeação de Tabelas Podemos ainda renomear tabelas. Pode ser útil em casos em que precisamos de aceder à mesma tabela 2 vezes. SELECT empregado.nome, supervisor.nome FROM empregado, empregado AS supervisor WHERE empregado.id_sup = supervisor.id; SELECT empregado.nome, supervisor.nome FROM empregado JOIN empregado AS supervisor ON empregado.id_sup = supervisor.id; André Restivo (FEUP) SQL - Perguntas February 24, / 46

28 Junções Junção Externa Numa junção, os tuplos que não tenham qualquer relação com a outra tabela desaparecem do resultado da pergunta. Uma junção externa inclui esses tuplos deixando as colunas da outra tabela com valor nulo. As junções externas podem ser à esquerda (só os tuplos pendentes da relação da esquerda aparecem no resultado), à direita ou totais (LEFT, RIGHT, FULL). SELECT * FROM autocarro LEFT JOIN marca ON marca = nome; André Restivo (FEUP) SQL - Perguntas February 24, / 46

29 Junções Junção Externa : SELECT * FROM autocarro matrícula marca modelo kms dataes datarev FG Volvo AB Renault PR LH Volvo FD NULL FR1 GTX SELECT * FROM marca marca pais Volvo Suécia Renault França Scania Suécia SELECT * FROM marca FULL NATURAL JOIN autocarro matrícula marca modelo kms dataes datarev pais FG Volvo Suécia LH Volvo Suécia AB Renault PR França FD NULL FR1 GTX NULL NULL Scania NULL NULL NULL NULL Suécia André Restivo (FEUP) SQL - Perguntas February 24, / 46

30 Agregações Agregações Podemos agregar dados de forma a calcular máximos/mínimos, médias, somas e fazer contagens (MAX/MIN, AVG, SUM e COUNT). Em SQL é obrigatório indicar quais as colunas que estão a ser agregadas usando o operador GROUP BY. Não é obrigatório seleccionar todas as colunas agregadas, mas não se pode seleccionar uma coluna não agregada. O operador HAVING permite fazer uma selecção sobre os resultados agregados. SELECT departamento.nome, AVG(salario) AS media FROM departamento JOIN empregado ON (numdep = num) GROUP BY num, departamento.nome HAVING AVG(salario) > 1800; André Restivo (FEUP) SQL - Perguntas February 24, / 46

31 Agregação : Agregações SELECT * FROM empregado; bi nome num departamento salario 1234 João Maria Carlos Manuel Joana Marco Marta SELECT num, AVG(salario) FROM empregado GROUP BY num num media André Restivo (FEUP) SQL - Perguntas February 24, / 46

32 Agregação : Agregações SELECT * FROM empregado; bi nome num departamento salario 1234 João Maria Carlos Manuel Joana Marco Marta SELECT num, AVG(salario) FROM empregado GROUP BY num HAVING AVG(salario) > 750 num media André Restivo (FEUP) SQL - Perguntas February 24, / 46

33 Agregações Agregação : Contagens O operador de contagem (COUNT), conta o número de valores não nulos no atributo. Um caso especial é o COUNT(*) que conta o número de linhas. SELECT departamento.nome, COUNT(*) AS trabalhadores FROM departamento JOIN empregado ON (numdep = num) GROUP BY num, departamento.nome HAVING COUNT(*) > 2; André Restivo (FEUP) SQL - Perguntas February 24, / 46

34 Ordenações e Limites Ordenações A resposta a uma pergunta pode ser ordenada segundo uma ou mais colunas. Para proceder à ordenação usa-se o comando ORDER BY seguido das colunas que queremos ordenar. Por omissão as colunas são ordenadas ascendentemente. Podemos mudar a direcção da ordenação usando as partículas ASC e DESC. SELECT nome, salario FROM empregado ORDER BY salario DESC, nome; André Restivo (FEUP) SQL - Perguntas February 24, / 46

35 Ordenações e Limites Limites É possível pedir apenas parte dos resultados de uma pergunta. O comando LIMIT indica quantas linhas queremos no resultado, enquanto o comando OFFSET indica a partir de que linha (começando na linha 0). Desta forma é fácil paginar resultados. SELECT salario FROM empregado ORDER BY salario DESC LIMIT 1 OFFSET 5; André Restivo (FEUP) SQL - Perguntas February 24, / 46

36 Sub-perguntas Sub-perguntas É possível usar o resultado de uma query como se fosse uma tabela. Em postgres é obrigatório renomear as subqueries. SELECT nome FROM empregado JOIN (SELECT num FROM departamento WHERE id < 5) AS deps ON (num = id_dep) WHERE salario > 500; André Restivo (FEUP) SQL - Perguntas February 24, / 46

37 Sub-perguntas Operador IN O operador IN selecciona as linhas em que os campos indicados antes do operador existam na sub-pergunta. Os campos indicados têm de ser no mesmo número dos campos retornados pela query e têm de ter domínios compatíveis. A partícula NOT permite obter o resultado inverso. SELECT nome FROM empregado WHERE bi NOT IN (SELECT bi_dir FROM departamento) André Restivo (FEUP) SQL - Perguntas February 24, / 46

38 Sub-perguntas Operador ANY/SOME O operador ANY selecciona os resultados cujos campos indicados sejam iguais (=), maiores (>), menores(<) ou diferentes (<>) do que pelo menos uma linha da subquery. Os campos indicados têm de ser no mesmo número dos campos retornados pela sub-pergunta e têm de ter domínios compatíveis. =ANY é o mesmo que IN SOME é o mesmo que ANY SELECT nome FROM empregado WHERE bi =ANY (SELECT bidir FROM departamento) André Restivo (FEUP) SQL - Perguntas February 24, / 46

39 Sub-perguntas Operador ANY/SOME O operador ALL selecciona os resultados cujos campos indicados sejam iguais (=), maiores (>), menores(<) ou diferentes(<>) do que todos os tuplos da subquery. Os campos indicados têm de ser no mesmo número dos campos retornados pela query e têm de ter domínios compatíveis. <>ALL é o mesmo que NOT IN SELECT nome FROM empregado WHERE salario >=ALL (SELECT salario FROM empregado JOIN departamento ON (numdep = num)) André Restivo (FEUP) SQL - Perguntas February 24, / 46

40 Operadores de Texto Operador LIKE O operador LIKE permite fazer comparações entre campos de texto usando wildcards. O caractér % significa qualquer número de caractéres. O caractér _ significa 1 qualquer caractér. O operador ILIKE tem a mesma função mas ignora a capitalização dos caractéres. SELECT nome FROM empregado WHERE nome LIKE J% ; André Restivo (FEUP) SQL - Perguntas February 24, / 46

41 Ordem de Execução Outras Considerações Podemos pensar na ordem de execução de uma pergunta SQL da seguinte forma: 1 São executadas as sub-perguntas. 2 São executados todos os produtos cartesianos e joins. 3 As tabelas são renomeadas AS. 4 É executado o comando WHERE. 5 É executado o comando GROUP BY. 6 É executado o comando HAVING. 7 São renomeadas as colunas AS. 8 É executado o comando ORDER BY. 9 É executado o comando LIMIT. 10 E só no fim é executado o comando SELECT. André Restivo (FEUP) SQL - Perguntas February 24, / 46

42 Outras Considerações s de Perguntas Complexas Em quantos projectos trabalha cada empregado? Qual a média mais alta dos salários dos departamentos? Qual o departamento com a média de salários mais alta? Que empregados trabalham em todos os projectos? Que empregados trabalham em todos os projectos do seu departamento? Quais os pares de empregados que trabalham nos mesmos projectos? André Restivo (FEUP) SQL - Perguntas February 24, / 46

43 Outras Considerações s de Perguntas Complexas Em quantos projectos trabalha cada empregado? SELECT empregado.nome, COUNT(projecto.id) FROM empregado LEFT JOIN trabalha ON empregado.id = trabalha.id_emp LEFT JOIN projecto ON trabalha.id_pro = projecto.id GROUP BY empregado.id, empregado.nome André Restivo (FEUP) SQL - Perguntas February 24, / 46

44 Outras Considerações s de Perguntas Complexas Qual a média mais alta dos salários dos departamentos? SELECT MAX(media) AS maxima_media FROM ( SELECT AVG(salario) AS media FROM empregado GROUP BY id_dep ) AS medias André Restivo (FEUP) SQL - Perguntas February 24, / 46

45 Outras Considerações s de Perguntas Complexas Qual o departamento com a média de salários mais alta? SELECT departamento.nome FROM empregado JOIN departamento ON id_dep = departamento.id GROUP BY departamento.id, departamento.nome HAVING AVG(salario) IN ( SELECT MAX(media) FROM ( SELECT AVG(salario) AS media FROM empregado GROUP BY id_dep ) AS medias ) André Restivo (FEUP) SQL - Perguntas February 24, / 46

46 Outras Considerações s de Perguntas Complexas Qual o departamento com a média de salários mais alta? Versão alternativa. SELECT departamento.nome FROM empregado JOIN departamento ON id_dep = departamento.id GROUP BY departamento.id, departamento.nome HAVING AVG(salario) >=ALL ( SELECT AVG(salario) FROM empregado GROUP BY id_dep ) André Restivo (FEUP) SQL - Perguntas February 24, / 46

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

ANÁLISE E PROJETO DE BANCO DE DADOS

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

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

Prof. Fabiano Taguchi

Prof. Fabiano Taguchi BANCO DE DADOS Prof. Fabiano Taguchi http://fabianotaguchi.wordpress.com fabianotaguchi@hotmail.com OPERAÇÕES LÓGICAS AND (E) Avalia as condições e devolve um valor verdadeiro caso ambas condições forem

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

Aula 11 SBD SQL Parte 3. Profa. Elaine Faria UFU

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

PCS3413. Engenharia de So-ware e Banco de Dados. Aula 17. Escola Politécnica da Universidade de São Paulo

PCS3413. Engenharia de So-ware e Banco de Dados. Aula 17. Escola Politécnica da Universidade de São Paulo PCS3413 Engenharia de So-ware e Banco de Dados Aula 17 Escola Politécnica da Universidade de São Paulo 1 SQL STRUCTURED QUERY LANGUAGE Manipulação de dados operações de modificam o estado das tabelas:

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

Á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. André Restivo. Faculdade de Engenharia da Universidade do Porto. February 24, 2012

Álgebra Relacional. André Restivo. Faculdade de Engenharia da Universidade do Porto. February 24, 2012 Álgebra Relacional André Restivo Faculdade de Engenharia da Universidade do Porto February 24, 2012 André Restivo (FEUP) Álgebra Relacional February 24, 2012 1 / 39 Sumário 1 Modelo Relacional 2 Operadores

Leia mais

Linguagem SQL. ENG1518 Sistemas de Informação Gerenciais Prof. Marcos Villas

Linguagem SQL. ENG1518 Sistemas de Informação Gerenciais Prof. Marcos Villas Linguagem SQL ENG1518 Sistemas de Informação Gerenciais Prof. Marcos Villas villas@puc-rio.br SQL Linguagem padrão de acesso tabelas em um banco de dados relacional Permite definir e manipular dados DML

Leia mais

Ordenação de tuplos order by

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

Introdução ao PostgreSQL

Introdução ao PostgreSQL Introdução ao PostgreSQL Fontes Karine Reis Ferreira karine@dpi.inpe.br Gilberto Câmara gilberto@dpi.inpe.br Gilberto Ribeiro de Queiroz gribeiro@dpi.inpe.br Marcos André Gonçalves - UFMG Parte 3 Aula

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

Linguagem de Consulta Estruturada SQL- DML

Linguagem de Consulta Estruturada SQL- DML Linguagem de Consulta Estruturada SQL- DML INTRODUÇÃO A SQL - Structured Query Language, foi desenvolvido pela IBM em meados dos anos 70 como uma linguagem de manipulação de dados (DML - Data Manipulation

Leia mais

Bases de Dados. Álgebra Relacional II Junções, agregações, vistas. P. Serendero,

Bases de Dados. Álgebra Relacional II Junções, agregações, vistas. P. Serendero, Bases de Dados Álgebra Relacional II Junções, agregações, vistas P. Serendero, 2011-13 1 JUNÇÕES OU JOINS em SQL - R S A condição do JOIN é especificada na claúsula ON ou USING,, ou implicitamente

Leia mais

Linguagem SQL Comando SELECT Agrupamento de Resultados

Linguagem SQL Comando SELECT Agrupamento de Resultados BDDAD Bases de Dados Linguagem SQL Comando SELECT de Resultados Nelson Freire (ISEP LEI-BDDAD 2015/16) 1/12 Introdução Sumário Funções de Agregação Básicas COUNT SUM MIN MAX AVG Cláusulas de GROUP BY HAVING

Leia mais

MODELAGEM DE DADOS - INTRODUÇÃO AO SQL: DML. Prof. Angelo Augusto Frozza, M.Sc.

MODELAGEM DE DADOS - INTRODUÇÃO AO SQL: DML. Prof. Angelo Augusto Frozza, M.Sc. MODELAGEM DE DADOS - INTRODUÇÃO AO SQL: DML Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza DML Data Manipulation Language Linguagem de Manipulação de Dados Comandos básicos: Insert Update

Leia mais

SQL (Tópicos) Structured Query Language

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

SQL CREATE DATABASE. MySQL, SQL Server, Access, Oracle, Sybase, DB2, e outras base de dados utilizam o SQL.

SQL CREATE DATABASE. MySQL, SQL Server, Access, Oracle, Sybase, DB2, e outras base de dados utilizam o SQL. LINGUAGEM SQL SQL CREATE DATABASE MySQL, SQL Server, Access, Oracle, Sybase, DB2, e outras base de dados utilizam o SQL. SQL CREATE TABLE SQL NOT NULL O valor NOT NULL obriga que o campo contenha sempre

Leia mais

Sistemas de Informação e Bases de Dados 2012/2013. Linguagem SQL

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

Projeto de Banco de Dados

Projeto de Banco de Dados Projeto de Banco de Dados Laboratório de Banco de Dados Prof. Luiz Antônio Vivacqua C. Meyer (luiz.vcm@gmail.com) Sintaxe Geral SELECT [ALL/DISTINCT] coluna1, coluna2,..., colunan FROM nome_tabela1, nome_tabela2,...,

Leia mais

Banco de Dados I. Prof. Diego Buchinger. Profa. Rebeca Schroeder Freitas Prof. Fabiano Baldo.

Banco 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 DML Data Manipulation Language Parte II Consultas Básicas

Leia mais

SQL. Agregações e agrupamentos. Cristina C. Vieira Departamento de Engenharia Eletrónica e Informática

SQL. Agregações e agrupamentos. Cristina C. Vieira Departamento de Engenharia Eletrónica e Informática SQL Agregações e agrupamentos Cristina C. Vieira Departamento de Engenharia Eletrónica e Informática SQL Agregações As operações de agregação calculam um valor para um conjunto de tuplos. Operadores de

Leia mais

STRUCTURED QUERY LANGUAGE (SQL)

STRUCTURED QUERY LANGUAGE (SQL) INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA SUL DE MINAS GERAIS Câmpus Inconfidentes STRUCTURED QUERY LANGUAGE () Sistemas de Informações Geográficas O QUE É É uma linguagem normalizada para DEFINIÇÃO,

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

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 Perryridge

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

Laboratório de Banco de Dados II Aula 04. Prof. Érick de Souza Carvalho

Laboratório de Banco de Dados II Aula 04. Prof. Érick de Souza Carvalho Laboratório de Banco de Dados II Aula 04 Prof. Érick de Souza Carvalho 1 SQL (Structured Query Language ) Prof. Érick de Souza Carvalho 2 SQL Structured Query Language - Introdução É uma Linguagem para

Leia mais

SQL Linguagem de Manipulação de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

SQL Linguagem de Manipulação de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Linguagem de Manipulação de Dados Banco de Dados SQL DML SELECT... FROM... WHERE... lista atributos de uma ou mais tabelas de acordo com alguma condição INSERT INTO... insere dados em uma tabela DELETE

Leia mais

ACH2025. Laboratório de Bases de Dados. SQL Oracle Visão geral SELECT. Professora: Fátima L. S. Nunes SISTEMAS DE INFORMAÇÃO

ACH2025. Laboratório de Bases de Dados. SQL Oracle Visão geral SELECT. Professora: Fátima L. S. Nunes SISTEMAS DE INFORMAÇÃO ACH2025 Laboratório de Bases de Dados Aula 6 SQL Oracle Visão geral SELECT Professora: Fátima L. S. Nunes Modelo utilizado nos exemplos a seguir: DEPT deptno: NUMBER(2) dname: VARCHAR2(12) loc: VARCHAR2(12)

Leia mais

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com 02/06/2016 SUMÁRIO SQL DDL DML SQL (STRUCTURED

Leia mais

SQL. SQL (Structured Query Language) Comando CREATE TABLE. SQL é uma linguagem de consulta que possibilita:

SQL. SQL (Structured Query Language) Comando CREATE TABLE. SQL é uma linguagem de consulta que possibilita: SQL Laboratório de Computação para Ciências Módulo II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Mestrado Profissional em Ensino

Leia mais

Consulta sobre múltiplas relações

Consulta sobre múltiplas relações Consulta sobre múltiplas relações BCD29008 Engenharia de Telecomunicações Prof. Emerson Ribeiro de Mello http://docente.ifsc.edu.br/mello/bcd 25 DE ABRIL DE 2019 Esquema usado nos próximos exemplos 1/36

Leia mais

Á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

Definida pelo American National Standard Institute (ANSI) em 1986

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

SQL - Consultas

SQL - Consultas SQL - Consultas 2008.1 Manipulando Dados CONSULTA SELECT INCLUSÃO INSERT ALTERAÇÃO UPDATE EXCLUSÃO DELETE Consultas SQL Realização de consultas em tabelas SELECT atributo1, atributo2,... FROM tabela 1,

Leia mais

E-BOOK GUIA RÁPIDO DE SQL W W W. T R E I N A W E B.C O M. B R

E-BOOK GUIA RÁPIDO DE SQL W W W. T R E I N A W E B.C O M. B R 101010101 001010101 101010100 E-BOOK GUIA RÁPIDO DE SQL INTRODUÇÃO Este é um guia rápido de SQL criado pela equipe do TreinaWeb e serve principalmente para iniciantes na linguagem. SQL é a sigla em inglês

Leia mais

Há vários algoritmos para processar junções nested-loop join block nested-loop join indexed nested-loop join merge-join hash-join

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

Manipulando a base de dados

Manipulando a base de dados Manipulando a base de dados Uma base de dados pode ser manipulada com quatro operações básicas: Incluir, Apagar, Alterar e Pesquisar. Vale lembrar que como toda linguagem para computadores, o MySQL tem

Leia mais

SQL DML. Frederico D. Bortoloti freddb@ltc.ufes.br

SQL DML. Frederico D. Bortoloti freddb@ltc.ufes.br Banco de Dados I SQL DML Frederico D. Bortoloti freddb@ltc.ufes.br SQL - DML Os exemplos da aula serão elaborados para o esquema de dados a seguir: Empregado(matricula, nome, endereco, salario, supervisor,

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

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

Preparação. Na página do curso, fazer download do arquivo LabAula.txt; No EasySQL,

Preparação. Na página do curso, fazer download do arquivo LabAula.txt; No EasySQL, Estudo Dirigido Preparação Na página do curso, fazer download do arquivo LabAula.txt; No EasySQL, Criar um arquivo de banco de dados chamado Empresa; Cliqueem carregar script... e selecione esse arquivo;

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

Bases de Dados. Parte V: A Linguagem SQL. Parte V

Bases de Dados. Parte V: A Linguagem SQL. Parte V Bases de Dados Parte V A Linguagem SQL Ricardo Rocha DCC-FCUP 1 SQL Structured Query Language O SQL é uma poderosa linguagem declarativa que permite definir, questionar e manipular bases de dados. Para

Leia mais

Banco de Dados II. Aula Prof. Diemesleno Souza Carvalho

Banco de Dados II. Aula Prof. Diemesleno Souza Carvalho Banco de Dados II Aula 02.4 Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br http://www.diemesleno.com.br Subconsultas Subconsultas Contextualizando... De forma geral, grande parte das consultas

Leia mais

SQL DML. SQL Linguagem de Manipulação de Dados SELECT SELECT SELECT SELECT

SQL DML. SQL Linguagem de Manipulação de Dados SELECT SELECT SELECT SELECT Pós-graduação em Ciência da Computação CCM-202 Sistemas de Banco de Dados SQL Linguagem de Manipulação de Dados Profa. Maria Camila Nardini Barioni camila.barioni@ufabc.edu.br Bloco B - sala 937 2 quadrimestre

Leia mais

SQL Linguagem de Manipulação de Dados SQL DML SQL DML. Exemplo Modelo Relacional. Exemplo ME-R SQL DML CONTINUAÇÃO...

SQL Linguagem de Manipulação de Dados SQL DML SQL DML. Exemplo Modelo Relacional. Exemplo ME-R SQL DML CONTINUAÇÃO... 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@facom.ufu.br Bloco B - sala 1B137 SQL DML CONTINUAÇÃO...

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

Apresentação Modelo e SQL. André Luiz Montevecchi

Apresentação Modelo e SQL. André Luiz Montevecchi Apresentação Modelo e SQL André Luiz Montevecchi andreluiz@unipacbomdespacho.com.br Conceitos básicos de um modelo de dados Primary Key Foreign Key Padronização Modelo Sist. Odontológico Revisão SQL -

Leia mais

Banco de Dados Notas de Aula Consultas em SQL Prof. Dr. Daniel A. Furtado

Banco de Dados Notas de Aula Consultas em SQL Prof. Dr. Daniel A. Furtado Banco de Dados Notas de Aula Consultas em SQL Prof. Dr. Daniel A. Furtado Forma geral: SELECT FROM [WHERE ] [GROUP BY ]

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

saída durante o runtime Usando Functions de uma Única Linha para Personalizar Relatórios Mostrar as diferenças entre as functions SQL de uma única

saída durante o runtime Usando Functions de uma Única Linha para Personalizar Relatórios Mostrar as diferenças entre as functions SQL de uma única Tópicos do Curso: Introdução Listar os principais recursos do Banco de Dados Oracle 10g Apresentar uma visão geral de: componentes, plataforma de internet, servidor de aplicações e suite do desenvolvedor

Leia mais

SQL. Prof. Márcio Bueno. {bd2tarde,bd2noite}@marciobueno.com

SQL. Prof. Márcio Bueno. {bd2tarde,bd2noite}@marciobueno.com SQL Prof. Márcio Bueno {bd2tarde,bd2noite}@marciobueno.com Material dos professores Ana Carolina Salgado, Fernando Foncesa e Valéria Times (CIn/UFPE) SQL SQL - Structured Query Language Linguagem de Consulta

Leia mais

Modelo Relacional. André Restivo. Faculdade de Engenharia da Universidade do Porto. February 24, 2012

Modelo Relacional. André Restivo. Faculdade de Engenharia da Universidade do Porto. February 24, 2012 Modelo Relacional André Restivo Faculdade de Engenharia da Universidade do Porto February 24, 2012 André Restivo (FEUP) Modelo Relacional February 24, 2012 1 / 19 Sumário 1 Modelo Relacional 2 Operações

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

SQL. Prof. Roger Cristhian Gomes

SQL. Prof. Roger Cristhian Gomes SQL Prof. Roger Cristhian Gomes SQL SQL - Structured Query Language Linguagem de acesso e manipulação de sistemas de base de dados computacionais que segue o padrão ANSI Existem diferenças entre as versões

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

As Instruções DML. As Instruções de manipulação de dados(dml) em SQL são representados por: Modificam o estado do banco de dados:

As Instruções DML. As Instruções de manipulação de dados(dml) em SQL são representados por: Modificam o estado do banco de dados: As Instruções DML As Instruções de manipulação de dados(dml) em SQL são representados por: Modificam o estado do banco de dados: o INSERT - permite a inclusão de novos registros (linhas) nas tabelas o

Leia mais

Banco de Dados II. Aula do dia 10/03. Revisão. SQL Estudado até o dia 03/03/2011

Banco de Dados II. Aula do dia 10/03. Revisão. SQL Estudado até o dia 03/03/2011 Banco de Dados II Aula do dia 10/03 Revisão SQL Estudado até o dia 03/03/2011 Operadores de Comparação Operador = > >= <

Leia mais

Banco de Dados I Linguagem SQL Parte 2. Autor: Prof. Cláudio Baptista Adaptado por: Prof. Ricardo Antonello

Banco de Dados I Linguagem SQL Parte 2. Autor: Prof. Cláudio Baptista Adaptado por: Prof. Ricardo Antonello Banco de Dados I Linguagem SQL Parte 2 Autor: Prof. Cláudio Baptista Adaptado por: Prof. Ricardo Antonello Introdução Como vimos, um SGBD possui duas linguagens: DDL: Linguagem de Definição de Dados. Usada

Leia mais

Escola Secundária de Albufeira. Comandos MySQL. (Páginas Web Dinâmicas: PHP e MySQL) Carlos Nunes

Escola Secundária de Albufeira. Comandos MySQL. (Páginas Web Dinâmicas: PHP e MySQL) Carlos Nunes Escola Secundária de Albufeira Comandos MySQL (Páginas Web Dinâmicas: PHP e MySQL) (csmnunes@gmail.com) 2009/2010 Criar Base de Dados CREATE DATABASE basededados; Apagar Base de Dados DROP DATABASE basededados;

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. SQL Select. Engenharia da Computação. Aula 20. Vamos considerar a tabela EMP para os exemplos a seguir. SELECT colunas FROM tabelas;

BANCO DE DADOS. SQL Select. Engenharia da Computação. Aula 20. Vamos considerar a tabela EMP para os exemplos a seguir. SELECT colunas FROM tabelas; Engenharia da Computação BANCO DE DADOS Aula SQL Select SELECT - recupera informação do Banco de Dados. Formato mais simples: SELECT colunas FROM tabelas; Vamos considerar a tabela EMP para os exemplos

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

Ex.: INSERT INTO tmpautor (CDAUTOR, NMAUTOR) VALUES (1, Renato Araújo )

Ex.: INSERT INTO tmpautor (CDAUTOR, NMAUTOR) VALUES (1, Renato Araújo ) PRONATEC - Programador de Sistemas Banco de Dados 1) Incluindo linhas nas tabelas a. Para incluir linhas em tabelas utilize o comando INSERT INTO INSERT INTO tabela [ ( coluna [, coluna,...] ) ] VALUES

Leia mais

Banco de Dados. Marcio de Carvalho Victorino www.dominandoti.eng.br. Exercícios SQL

Banco de Dados. Marcio de Carvalho Victorino www.dominandoti.eng.br. Exercícios SQL Banco de Dados Exercícios SQL 1 TRF (ESAF 2006) 32. Analise as seguintes afirmações relacionadas a Bancos de Dados e à linguagem SQL: I. A cláusula GROUP BY do comando SELECT é utilizada para dividir colunas

Leia mais

SQL PostgreSQL. I Criação de Tabelas. Disciplina: SCC0241 Bases de Dados Professor: Eduardo Hruschka Estagiária PAE: Dayse de Almeida

SQL PostgreSQL. I Criação de Tabelas. Disciplina: SCC0241 Bases de Dados Professor: Eduardo Hruschka Estagiária PAE: Dayse de Almeida SQL PostgreSQL I Criação de Tabelas Disciplina: SCC0241 Bases de Dados Professor: Eduardo Hruschka Estagiária PAE: Dayse de Almeida Composição da SQL Linguagem de Definição de Dados (DDL): Comandos para

Leia mais

Curso de Banco de Dados. Prof. Rone Ilídio

Curso de Banco de Dados. Prof. Rone Ilídio Curso de Banco de Dados Prof. Rone Ilídio Introdução BD 1 BD 2 SQL BD 3 Dados Aplicação Sistemas de Gerência de Banco de Dados -SGBD Introdução Aplicação que controla os dados Drives ODBC, BDE, ect SQL

Leia mais

BCD29008 Banco de dados

BCD29008 Banco de dados BCD29008 Banco de dados Linguagem SQL 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 21 de agosto de 2017

Leia mais

SQL S Q L. Introdução. Enfoques de SQL. SQL - Origem/Histórico. Usos de SQL. SQL - Vantagens. Gerenciamento de Dados e Informação

SQL S Q L. Introdução. Enfoques de SQL. SQL - Origem/Histórico. Usos de SQL. SQL - Vantagens. Gerenciamento de Dados e Informação Introdução Gerenciamento de Dados e Informação Fernando Fonseca Ana Carolina Robson Fidalgo - Structured Query Language Linguagem de Consulta Estruturada Apesar do QUERY no nome, não é apenas de consulta,

Leia mais

ORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL

ORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL ORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL Objetivo: No curso Oracle 11G Introdução ao Oracle, SQL, PL/SQL será abordado desde a introdução da tecnologia do banco de dados em questão como todos os conceitos

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

Banco de dados. Aula 22 O Comando SELECT. 1 Wedson Quintanilha da Silva -

Banco de dados. Aula 22 O Comando SELECT. 1 Wedson Quintanilha da Silva - Banco de dados Aula 22 O Comando SELECT 1 O comando SELECT O comando SELECT serve para recuperarmos os dados armazenados no banco de dados. Sua estrutura BASICA é: SELECT FROM WHERE campo1, campo2, campo3,

Leia mais

Aula 10 BD 1 SQL Parte 2. Profa. Elaine Faria UFU

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

Pesquisa básica em tabelas

Pesquisa básica em tabelas Pesquisa básica em tabelas José Antônio da Cunha Disciplina: Banco de Dados 1 Introdução O comando utilizado para realizar pesquisas em tabelas, ou seja, extrair informações do banco de dados, é o SELECT.

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

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

AULA 8. Ambientes Visuais 8.1. OBJETIVO DA AULA SQL (Structured Query Language)

AULA 8. Ambientes Visuais 8.1. OBJETIVO DA AULA SQL (Structured Query Language) AULA 8 8.1. OBJETIVO DA AULA Relembrar conceitos e recursos básicos apresentados nas aulas anteriores, dar continuidade nas codificações iniciadas e ainda não finalizadas, explorar acesso a banco de dados

Leia mais

Projeto de Banco de Dados

Projeto de Banco de Dados Projeto de Banco de Dados SQL-Consultas Comando SELECT Prof. Luiz Antônio Vivacqua C. Meyer (la.vivacqua@gmail.com) Sintaxe Geral SELECT [ALL/DISTINCT] coluna1, coluna2,..., colunan FROM nome_tabela1,

Leia mais

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

SQL Consultas Básicas

SQL Consultas Básicas SQL Consultas Básicas Consulta a dados de uma tabela select lista_atributos from tabela [where condição] Mapeamento para a álgebra relacional select a 1,..., a n from t where c π a1,..., an (σ c (t)) Exemplos

Leia mais

BANCO DE DADOS. Para a criação de um banco de dados, através de scripts SQL, deve-se usar a seguinte sintaxe: CREATE DATABASE <nome_banco_de_dados>

BANCO DE DADOS. Para a criação de um banco de dados, através de scripts SQL, deve-se usar a seguinte sintaxe: CREATE DATABASE <nome_banco_de_dados> BANCO DE DADOS 1. Scripts de criação de banco de dados Para a criação de um banco de dados, através de scripts SQL, deve-se usar a seguinte sintaxe: CREATE DATABASE Onde:

Leia mais

mod._1_teoria_sistemas de bancos de dados.doc

mod._1_teoria_sistemas de bancos de dados.doc SISTEMAS DE BANCOS DE DADOS Os Sistemas de Bancos de Dados apareceram para acabar com os problemas e desvantagens dos tradicionais Sistemas de Processamento de Arquivos, onde os registros permanentes eram

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

Bases de Dados. DML Data Manipulation Language Parte 2

Bases de Dados. DML Data Manipulation Language Parte 2 Bases de Dados DML Data Manipulation Language Parte 2 Funções de Grupo São funções aplicáveis a conjuntos de linhas de uma tabela À totalidade dos elementos ou A um subconjunto especificado na cláusula

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

Utilizando o Postgres - comandos SQL para a manipulação de dados

Utilizando o Postgres - comandos SQL para a manipulação de dados Utilizando o Postgres - comandos SQL para a manipulação de dados SELECT A declaração SELECT é utilizada para selecionar os dados de um banco de dados. SELECT nome FROM clientes WHERE A cláusula WHERE é

Leia mais

SQL. Subqueries. Cristina C. Vieira Departamento de Engenharia Eletrónica e Informática

SQL. Subqueries. Cristina C. Vieira Departamento de Engenharia Eletrónica e Informática SQL Subqueries Cristina C. Vieira Departamento de Engenharia Eletrónica e Informática SQL Subqueries Uma subquery ou nested query, é uma query dentro de outra query. Uma subquery é uma expressão do tipo

Leia mais

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

Banco de Dados I. Prof. Diego Buchinger. Profa. Rebeca Schroeder Freitas Prof. Fabiano Baldo.

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

SQL Básica DML. Prof. Marcos A. Schreiner. 22 de outubro de Curso de Licenciatura em Computação

SQL Básica DML. Prof. Marcos A. Schreiner. 22 de outubro de Curso de Licenciatura em Computação SQL Básica DML Prof. Marcos A. Schreiner Curso de Licenciatura em Computação 22 de outubro de 2015 Prof. Marcos A. Schreiner (UFPR) 22 de outubro de 2015 1 / 16 1 Introdução 2 SQL DML INSERT SELECT UPDATE

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

IMPLEMENTAÇÃO DE BANCO DE DADOS

IMPLEMENTAÇÃO DE BANCO DE DADOS IMPLEMENTAÇÃO DE BANCO DE DADOS MODULO 2 LINGUAGEM SQL CONTEÚDO 2. LINGUAGEM SQL 2.1 Linguagens de Definição de Dados (DDL) 2.1.1 Criação de tabela: CREATE 2.1.2 Alteração de Tabela: ALTER 2.1.3 Exclusão

Leia mais

Bancos de Dados. 8. Structured Query Language (SQL)

Bancos de Dados. 8. Structured Query Language (SQL) Bancos de Dados 8. Structured Query Language (SQL) Introdução A padronização ao redor de SQL é uma das principais razões para o sucesso dos bancos de dados relacionais A migração entre SGBDs é facilitada,

Leia mais

SQL TGD/JMB 1. Projecto de Bases de Dados. Linguagem SQL

SQL TGD/JMB 1. Projecto de Bases de Dados. Linguagem SQL SQL TGD/JMB 1 Projecto de Bases de Dados Linguagem SQL SQL TGD/JMB 2 O que é o SQL? SQL ("ess-que-el") significa Structured Query Language. É uma linguagem standard (universal) para comunicação com sistemas

Leia mais

BCD29008 Banco de Dados

BCD29008 Banco de Dados BCD29008 Banco de Dados Consulta sobre múltiplas relações 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

Leia mais