GBC043 - Sistemas de Banco de Dados SQL/DML no PostgreSQL. Ilmério Reis da Silva UFU/FACOM/BCC

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

Download "GBC043 - Sistemas de Banco de Dados SQL/DML no PostgreSQL. Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM/BCC"

Transcrição

1 GBC043 - Sistemas de Banco de Dados SQL/DML no PostgreSQL Ilmério Reis da Silva UFU/FACOM/BCC

2 Página 2 Prgrama Teórico/Prático - SQL Linguagem SQL Comandos de criação e eliminação de tabelas Especificação de restrições em bancos de dados Evolução de esquemas de banco de dados Comandos de inserção de tuplas em tabelas Comandos de alteração e supressão de tuplas Comandos de consulta (básicos e complexos) Definição de visões Álgebra Relacional Cálculo Relacional

3 UFU/FACOM Página 3 SQL/DML Def. A SQL/DML(Data Manipulation Language) é um subconjunto da SQL usada para recuperar, inserir, atualizar e suprimir dados de tabelas do BD.

4 UFU/FACOM Página 4 SQL/DML - Principais Comandos INSERT inserção de linhas; DELETE supressão de linhas; UPDATE atualização de dados; SELECT recuperação de tabelas; OBS: serão mostradas características do padrão SQL implementadas pelo PostgreSQL, omitindo funcionalidades adicionais e destacando eventuais omissões.

5 UFU/FACOM Página 5 SQL/DML - INSERT INSERT INTO tabela [ ( coluna [,...] ) ] { DEFAULT VALUES VALUES ( { expressão DEFAULT } [,...] ) [,...] comando-select }

6 SQL/DML - INSERT Exemplo 1 INSERT INTO tabela VALUES (expressão [,...] ) INSERT INTO employee VALUES ('John', 'B', 'Smith', ' ', DATE ' ', '731 Fondren, Houston, TX', 'M', 30000, ' ', 5); Compatibilidade de tipos: employee (fname VARCHAR (15) NOT NULL, minit CHAR, lname VARCHAR (15) NOT NULL, ssn CHAR(9) PRIMARY KEY, bdate DATE, address VARCHAR(30), sex CHAR CHECK (sex IN ( M, F )), salary DECIMAL(10,2), superssn CHAR(9), dno INT NOT NULL) UFU/FACOM Página 6

7 UFU/FACOM Página 7 SQL/DML- INSERT - Exemplo 2 INSERT INTO tabela ( coluna [,...] ) VALUES (expressão [,...] ) INSERT INTO employee(fname, minit, lname, ssn, dno) VALUES ('John', 'B', 'Smith', ' ', 5);

8 UFU/FACOM Página 8 SQL/DML INSERT Exemplo 3 INSERT INTO tabela comando-select INSERT INTO works_on SELECT ssn, pnumber, 0 FROM employee, project;

9 UFU/FACOM Página 9 SQL/DML DELETE DELETE FROM tabela [ [ AS ] alias ] [ WHERE condição WHERE CURRENT OF cursor_name ] DELETE FROM employee WHERE ssn = ' ' OBS: o uso de cursores será visto posteriormente

10 UFU/FACOM Página 10 SQL/DML UPDATE UPDATE tabela [ [ AS ] alias ] SET {coluna = { expresssão DEFAULT } ( coluna [,...] ) = ( { expressão DEFAULT } [,...] ) } [,...] [ WHERE condição WHERE CURRENT OF cursor_name ] OBS: o uso de cursores será visto posteriormente

11 UFU/FACOM Página 11 SQL/DML UPDATE Exemplo 1 UPDATE employee SET address = 'Av. Joao Naves de Avila, 2121', salary = salary * 1.5 WHERE ssn = ' '

12 UFU/FACOM Página 12 SQL/DML UPDATE Contra Exemplo UPDATE works_on SET (pno, hours) = (SELECT pnumber, 10 FROM project WHERE pnumber = 1) WHERE essn=' '; OBS: o padrão permite associação de uma lista de atributos com uma tupla resultante da saída de uma consulta, mas isto não foi implementado pelo PostgreSql 8.3, onde as expressões devem ser independentes. Logo o comando acima não funciona no PostgreSql 8.3 (teste isso nas versões mais recentes)

13 UFU/FACOM Página 13 SQL/DML UPDATE Exemplo 2 UPDATE works_on SET (pno, hours) = (1, 10) WHERE essn=' ';

14 UFU/FACOM Página 14 SQL/DML SELECT SELECT [ALL DISTINCT] * expressão [ AS nome_saida ] [,...] FROM item_from [,...] [ WHERE condição ] [ GROUP BY expressão [,...] ] [ HAVING condição [,...] ] [ { UNION INTERSECT EXCEPT } [ ALL ] select ] [ ORDER BY expressão [ ASC DESC USING operador ] [ NULLS { FIRST LAST } ] [,...] ] [ FOR { UPDATE SHARE } [ OF nome_tabela [,...] ] [ NOWAIT ] [...] ]

15 UFU/FACOM Página 15 SQL/DML Consultas básicas e complexas Considerando os diversos parâmetros do comando SELECT, para efeito didático, vamos dividir nosso estudo em: consultas básicas: na condição do WHERE não existe outro SELECT consultas complexas: são consultas aninhadas, onde na condição do SELECT existe outra cláusula SELECT.

16 UFU/FACOM Página 16 SQL/DML SELECT-FROM-WHERE Formato de comando SELECT para consultas básicas: SELECT lista-de-atributos FROM lista-de-tabelas WHERE condição OBS: condições sem cláusula SELECT; os exemplos a seguir seguem a numeração de EN e estão baseados no BD company;

17 SQL/DML SELECT-FROM-WHERE (Esquema Company) UFU/FACOM Página 17

18 SQL/DML SELECT-FROM-WHERE (Uma instância de Company) UFU/FACOM Página 18

19 UFU/FACOM Página 19 SQL/DML - Seleção/projeção QO) Listar a data de nascimento e o endereço dos empregados com nome : John B. Smith.

20 UFU/FACOM Página 20 SQL/DML- Exemplo Q0 Q0) Listar a data de nascimento e o endereço dos empregados com nome : John B. Smith. SELECT bdate, address FROM employee WHERE fname= John AND minit= B AND lname= Smith ;

21 UFU/FACOM Página 21 SQL/DML Seleção/projeção/junção Q1) Listar o nome e endereço dos empregados que trabalham no departamento Research

22 UFU/FACOM Página 22 SQL/DML Exemplo Q1 Q1) Listar o nome e endereço dos empregados que trabalham no departamento Research SELECT fname, minit, lname, address FROM employee, department WHERE dno=dnumber AND dname= Research

23 UFU/FACOM Página 23 SQL/DML- Junção com duas condições Q2) Para todo projeto localizado em Stafford, listar o número do projeto, o número do departamento que o controla e o último nome, endereço e data de nascimento do gerente do departamento.

24 UFU/FACOM Página 24 SQL/DML- Exemplo Q2 Q2) Para todo projeto localizado em Stafford, listar o número do projeto, o número do departamento que o controla e o último nome, endereço e data de nascimento do gerente do departamento. SELECT pnumber, dnum, lname, address, bdate FROM project, department, employee WHERE plocation= Stafford AND dnum=dnumber AND ssn=mgrssn

25 UFU/FACOM Página 25 SQL/DML-Ambiguidade de nomes de atributos Suponha que DNUMBER e NAME são os nomes dos atributos DNO e LNAME em EMPLOYEE, respectivamente. Além disso, suponha que NAME é o nome do atributo DNAME em DEPARTMENT. Então: employee(fname, minit, name, ssn, bdate, address, sex, salary, superssn, dnumber) department(name, dnumber, mgrssn, mgrstartdate)

26 UFU/FACOM Página 26 SQL/DML Qualificando atributos Q1a) Listar o nome e endereço dos empregados que trabalham no departamento Research considerando os esquemas abaixo employee(fname, minit, name, ssn, bdate, address, sex, salary, superssn, dnumber) department(name, dnumber, mgrssn, mgrstartdate)

27 UFU/FACOM Página 27 SQL/DML- Exemplo Q1a Q1a) Listar o nome e endereço dos empregados que trabalham no departamento Research considerando os novos esquemas SELECT fname, minit, employee.name FROM employee, department WHERE employee.dnumber=department.dnumber AND department.name= Research

28 UFU/FACOM Página 28 SQL/DML Apelidos de Tabelas Q8) Para cada empregado, liste o seu primeiro e o seu último nome acompanhados do último nome de seu supervisor.

29 UFU/FACOM Página 29 SQL/DML Exemplo Q8 Q8) Para cada empregado, liste o seu primeiro e o seu último nome acompanhados do último nome de seu supervisor. SELECT e.fname, e.lname, s.lname FROM employee AS e, employee AS s WHERE e.superssn=s.ssn

30 UFU/FACOM Página 30 SQL/DML Apelidos de tabelas Q1b') Listar o nome e o endereço dos empregados que trabalham no departamento Research considerando as novas tabelas employee e department e usando apelidos

31 UFU/FACOM Página 31 SQL/DML - Exemplo Q1b Q1b') Listar o nome e o endereço dos empregados que trabalham no departamento Research considerando as novas tabelas employee e department e usando apelidos SELECT fname, minit, e.name, address FROM employee e, department d WHERE e.dnumber=d.dnumber AND d.name= Research

32 UFU/FACOM Página 32 SQL/DML-Exemplo Q1c Omitindo WHERE e uso do * para consulta sem projeção Qlc') Listar todos os valores de atributos de todos os empregados SELECT * FROM employee

33 UFU/FACOM Página 33 SQL/DML-Ex. Q10b Produto Cartesiano Q1Ob) Listar o produto cartesiano de empregados e departamentos SELECT * FROM employee, department

34 UFU/FACOM Página 34 SQL/DML - Tabela x relação// multset ou bags x set // Cláusula DISTINCT Q11a) Listar todos os salários distintos SELECT DISTINCT salary FROM employee

35 UFU/FACOM Página 35 SQL/DML Cláusula UNION Q4) Listar todos os números de projetos que envolvam um empregado cujo último nome é Smith sendo que o empregado deve sertrabalhador ou gerente do departamento que controla o projeto.

36 SQL/DML Exemplo Q4 Q4) Listar todos os números de projetos que envolvam um empregado cujo último nome é Smith sendo que o empregado deve ser trabalhador ou gerente do departamento que controla o projeto. (SELECT DISTINCT pnumber FROM project, department, employee WHERE dnum=dnumber AND msgrssn=ssn AND lname= Smith ) UNION (SELECT DISTINCT pnumber FROM works_on, employee WHERE essn=ssn AND lname= Smith ) UFU/FACOM Página 36

37 UFU/FACOM Página 37 SQL/DML Cláusula LIKE Q12) Listar o nome de todo empregado cujo endereço está em Houston, Texas

38 UFU/FACOM Página 38 SQL/DML Exemplo Q12 Q12) Listar o nome de todo empregado cujo endereço está em Houston, Texas SELECT fname, minit, lname FROM employee WHERE address LIKE %Houston%TX%

39 UFU/FACOM Página 39 SQL/DML Like usando underline _ Q12a) Listar o nome de todos os empregados nascidos na década de 50

40 UFU/FACOM Página 40 SQL/DML - Exemplo Q12a Q12a) Listar o nome de todos os empregados nascidos na década de 50 SELECT fname, minit, lname FROM employee WHERE bdate LIKE 5%

41 UFU/FACOM Página 41 SQL/DML Expressões Q13) Listar o nome e os salários resultantes de um aumento de 10% para os funcionários do projeto Productx

42 UFU/FACOM Página 42 SQL/DML Exemplo Q13 Q13) Listar o nome e os salários resultantes de um aumento de 10% para os funcionários do projeto Productx SELECT fname, minit, lname, salary*1.1 as NewSalary FROM employee, project, works_on WHERE ssn=essn AND pno=pnumber AND pname= ProductX'

43 UFU/FACOM Página 43 SQL/DML Cláusula BETWEEN Q14) Listar todos os empregados no departamento 5 cujo salário está entre e 40000

44 UFU/FACOM Página 44 SQL/DML Exemplo Q14 Q14) Listar todos os empregados no departamento 5 cujo salário está entre e SELECT * FROM employee WHERE dno= 5 AND salary BETWEEN AND 40000

45 UFU/FACOM Página 45 SQL/DML Cláusula ORDER BY Q 15) Listar os empregados e projetos em que eles estão trabalhando, ordenados pelo departamento e, dentro de cada departamento, ordenado pelo último e primeiro nome

46 UFU/FACOM Página 46 SQL/DML Exemplo Q15 Q 15) Listar os empregados e projetos em que eles estão trabalhando, ordenados pelo departamento e, dentro de cada departamento, ordenado pelo último e primeiro nome SELECT dno, fname, lname, pno FROM employee, works on WHERE essn=ssn ORDER BY dno, fname, lname

47 UFU/FACOM Página 47 SQL/DML - Consultas Complexas consultas aninhadas e comparação de conjuntos tabelas obtidas de junção funções de agregação cláusulas group by e having

48 SQL/DML- Cláusula IN (pertinência) A consulta Q4 abaixo pode ser reformulada, removendo a cláusula UNION e incluindo a cláusula IN Q4) Listar todos os números de projetos que envolvam um empregado cujo último nome é Smith sendo que o empregado deve ser trabalhador ou gerente do departamento que controla o projeto. (SELECT DISTINCT pnumber FROM project, department, employee WHERE dnum=dnumber AND msgrssn=ssn AND lname= Smith ) UNION (SELECT DISTINCT pnumber FROM project, works_on, employee WHERE pno=pnumber AND essn=ssn AND lname= Smith ) UFU/FACOM Página 48

49 UFU/FACOM Página 49 SQL/DML Exemplo Q4a SELECT DISTINCT pnumber FROM project WHERE pnumber IN (SELECT pnumber FROM project, department, employee WHERE dnum=dnumber AND mgrssn=ssn AND lname= Smith ) OR pnumber IN (SELECT pno FROM works on,employee WHERE essn=ssn AND lname= Smith );

50 UFU/FACOM Página 50 SQL/DML Comparando conjuntos com ALL, ANY ou SOME Outras cláusulas para comparação de conjuntos: ALL ANY ou SOME (são sinônimos) Ex: salary > ALL (SELECT salary FROM...); salary < ANY (SELECT salary FROM...); salary > SOME (SELECT salary FROM...);

51 UFU/FACOM Página 51 SQL/DML Ambiguidade em consultas aninhadas (apelidos de tabelas) Q16) Listar o nome dos empregados com dependente(s) de mesmo first name e sexo que o empregado

52 UFU/FACOM Página 52 SQL/DML Exemplo Q16 Q16) Listar o nome dos empregados com dependente(s) de mesmo first name e sexo que o empregado SELECT e.fname,e.lname FROM employee as e WHERE e.ssn IN (SELECT essn FROM dependent as d WHERE fname=dependent_name AND e.sex=d.sex);

53 UFU/FACOM Página 53 SQL/DML Substituindo subconsulta por junção Q16a) Listar o nome dos empregados com dependente(s) de mesmo first name e sexo que o empregado SELECT e.fname,e.lname FROM employee as e, dependent as d WHERE ssn=essn AND fname=dependent_name AND e.sex=d.sex);

54 UFU/FACOM Página 54 SQL/DML Q16b - FUNÇÃO EXISTS - consultas aninhadas correlacionadas Q16b) Listar o nome dos empregados com dependente(s) de mesmo first name e sexo que o empregado SELECT e.fname,e.lname FROM employee as e WHERE EXISTS (SELECT * FROM dependent d WHERE e.ssn=d.essn AND e.fname=d.dependent_name AND e.sex=d.sex);

55 UFU/FACOM Página 55 SQL/DML FUNÇÃO NOT EXISTS - consultas aninhadas correlacionadas Q6) Listar os nomes de empregados sem dependentes

56 UFU/FACOM Página 56 SQL/DML Exemplo Q6 Q6) Listar os nomes de empregados sem dependentes SELECT fname,lname FROM employee WHERE NOT EXISTS (SELECT * FROM dependent WHERE ssn=essn);

57 UFU/FACOM Página 57 SQL/DML Aninhamento em dois níveis Q3b) Listar o nome dos empregados que trabalham em todos os projetos controlados pelo departamento número 4 OBS: Observe a expressão todos no enunciado da consulta. Esta é a divisão da álgebra relacional, que será estudada posteriormente. Em SQL a divisão pode ser especificada de diversas formas.

58 UFU/FACOM Página 58 SQL/DML Exemplo Q3b Q3b) Listar o nome dos empregados que trabalham em todos os projetos controlados pelo departamento número 4 SELECT lname, fname FROM employee WHERE NOT EXISTS (SELECT * FROM project WHERE dnum=4 AND NOT EXISTS (SELECT * FROM works_on WHERE essn=ssn AND pnumber=pno));

59 UFU/FACOM Página 59 SQL/DML Alternativas para divisão em SQL Alternativas de especificação de divisão em SQL: Usando cláusulas NOT EXISTS e IN Usando cláusula NOT EXISTS e EXCEPT Usando cláusula FOREACH e EXISTS(não implementada no PostgreSql 8.3)

60 UFU/FACOM Página 60 SQL/DML - divisão usando cláusulas NOT EXISTS e IN SELECT lname, fname FROM employee WHERE NOT EXISTS (SELECT * FROM works_on w1 WHERE (w1.pno IN (SELECT pnumber FROM project WHERE dnum=4)) AND NOT EXISTS (SELECT * FROM works_on w2 WHERE w2.essn=ssn AND w2.pno=w1.pno));

61 UFU/FACOM Página 61 SQL/DML - divisão usando cláusulas NOT EXISTS e EXCEPT SELECT lname, fname FROM employee e WHERE NOT EXISTS (SELECT pnumber FROM project WHERE dnum=4 EXCEPT (SELECT pno FROM works_on w WHERE w.essn=e.ssn))

62 UFU/FACOM Página 62 SQL/DML - divisão usando cláusulas FOREACH e EXISTS SELECT lname, fname FROM employee WHERE FOREACH (SELECT pnumber FROM project WHERE dnum=4) EXISTS (SELECT * FROM works_on WHERE essn=ssn AND pno=pnumber)); ATENÇÃO: este comando não funciona no PostgreSql 8.3

63 UFU/FACOM Página 63 SQL/DML Tabelas obtidas de junção Q1a) Listar o nome e endereço dos empregados que trabalham no departamento Research

64 UFU/FACOM Página 64 SQL/DML Exemplo Q1a Q1a) Listar o nome e endereço dos empregados que trabalham no departamento Research SELECT fname, minit, lname, address FROM (employee JOIN department ON dno=dnumber) WHERE dname= Research

65 UFU/FACOM Página 65 SQL/DML - Junção Natural Na junção natural iguala-se atributos de mesmo nome Qlb)Listar o nome e endereço dos empregados que trabalham no departamento Research SELECT fname, name, address FROM (employee NATURAL JOIN (department AS dept (dname, dno, mssn, msdate))) WHERE dname= Research

66 UFU/FACOM Página 66 SQL/DML - OUTER JOIN A cláusula {LEFT FULL RIGHT} OUTER JOIN mantêm no resultado todas as tuplas da tabela da esquerda, das duas tabelas ou da tabela da direita da junção, respectivamente, inserindo NULL quando não há casamento (matching) Q8b)Para cada empregado, liste o seu primeiro e o seu último nome acompanhado do último nome de seu supervisor, memo se o empregado não tiver supervisor, liste seu nome

67 UFU/FACOM Página 67 SQL/DML Exemplo Q8b Q8b)Para cada empregado, liste o seu primeiro acompanhado do primeiro nome de seu supervisor, memo se o empregado não tiver supervisor, liste seu nome SELECT e.fname as employee_name, s.fname as supervisor_name FROM (employee AS e LEFT OUTER JOIN employee AS s ON e.superssn =s.ssn)

68 UFU/FACOM Página 68 SQL/DML Exemplo Q8b' Q8b')Liste o primeiro nome do supervisor e o primeiro nome de seus supervisionado, ordenado pelo primeiro. Mesmo se o empregado não for supervisor de ninguém, liste seu nome na primeira coluna e mesmo se o empregado não tiver supervisor, liste seu nome na segunda coluna. SELECT s.fname as supervisor_name, e.fname as employee_name FROM (employee AS e FULL OUTER JOIN employee AS s ON e.superssn =s.ssn) ORDER BY 1

69 UFU/FACOM Página 69 SQL/DML - Junções aninhadas Q2a) Para todo projeto localizado em Stafford, listar o número do projeto, o número do departamento que o controla e o último nome do gerente do departamento

70 UFU/FACOM Página 70 SQL/DML Exemplo Q2a Q2a) Para todo projeto localizado em Stafford, listar o número do projeto, o número do departamento que o controla e o último nome do gerente do departamento SELECT pnumber, dnum, lname FROM ((project JOIN department ON dnum=dnumber (JOIN employee ON mgrssn=ssn)) WHERE plocation = Stafford

71 UFU/FACOM Página 71 SQL/DML- Funções de agregação COUNT SUM MAX MIN AVG etc.

72 UFU/FACOM Página 72 SQL/DML Exemplo Q19 Q19) Listar a soma de salários de todos os empregados, o maior salário e a média de salários SELECT SUM(salary), MAX(salary), MIN(salary) AVG(salary) FROM employee;

73 UFU/FACOM Página 73 SQL/DML Exemplo Q20 Q20) Listar a soma de salários, o maior salário e a média de salários, somente para funcionários do departamento 'Research' SELECT SUM(salary), MAX(salary), MIN(salary), AVG(salary) FROM employee, department WHERE dno=dnumber AND dname='research';

74 UFU/FACOM Página 74 SQL/DML Exemplos Q21 e Q23 Q21) Listar o número de empregados SELECT COUNT(*) FROM employee; Q23) Listar o número de salários distintos SELECT COUNT(DISTINCT salary) FROM employee;

75 UFU/FACOM Página 75 SQL/DML - Funções de agregação em subconsultas Q5) Listar o nome dos empregados que têm dois ou mais dependentes SELECT lname, fname FROM employee WHERE (SELECT COUNT(*) FROM dependent WHERE essn=ssn) >= 2;

76 UFU/FACOM Página 76 SQL/DML - Cláusulas group by Q24) Listar para cada departamento seu número, a quantidade de empregados e a média salarial de seus empregados.

77 UFU/FACOM Página 77 SQL/DML Exemplo Q24 Q24) Listar para cada departamento seu número, a quantidade de empregados e a média salarial de seus empregados. SELECT dnumber, COUNT(*), AVG(salary) FROM department, employee WHERE dno=dnumber GROUP BY dnumber; OBS: o agrupamento deve incluir todas as colunas da projeção que não incluem função de agregação

78 UFU/FACOM Página 78 SQL/DML Group by com duas colunas Q25) Listar para cada projeto seu número, nome e a quantidade de empregados que trabalham no projeto.

79 UFU/FACOM Página 79 SQL/DML Exemplo Q25 Q25) Listar para cada projeto seu número, nome e a quantidade de empregados que trabalham no projeto. SELECT pnumber, pname, COUNT(*) FROM project, works_on WHERE pno=pnumber GROUP BY pnumber, pname;

80 UFU/FACOM Página 80 SQL/DML - Cláusulas group by e having Q26) Listar para cada projeto onde trabalham mais de dois empregados seu número e a quantidade de empregados que trabalham no projeto SELECT pnumber, pname, COUNT(*) FROM project, works_on WHERE pno=pnumber GROUP BY pnumber, pname HAVING COUNT (* )> 2;

81 UFU/FACOM Página 81 SQL/DML - Cláusulas group by e consultas aninhadas com cláusula IN Q28) Listar para cada departamento que tem mais que 5 empregados, o número do departamento e o número de empregados que ganham mais que 40000

82 UFU/FACOM Página 82 SQL/DML Exemplo Q28 Q28) Listar para cada departamento que tem mais que 5 empregados, o número do departamento e o número de empregados que ganham mais que SELECT dno, COUNT(*) FROM employee WHERE salary > AND dno IN (SELECT dnumber FROM department WHERE(SELECT COUNT(*) FROM employee e2 WHERE e2.dno=dnumber)>2) GROUP BY dno;

83 SQL/DML e o PostgreSQL EXERCÍCIOS DE IMPLEMENTAÇÃO => Lab2 Exemplos de consultas simples no esquema company => Lab3 Exemplos de consultas complexas no esquema company e exercícios usando o esquema SEE UFU/FACOM Página 83

84 UFU/FACOM Página 84 Bibliografia [EN] Capítulos 4,5 [SK] Capítulos 3,4,5 [RG] Capítulos 5

85 UFU/FACOM Página 85 FIM SQL/DML e o PostgreSQL FIM SQL/DML e o PostgreSQL

A Linguagem SQL. Introdução a Banco de Dados DCC 011

A Linguagem SQL. Introdução a Banco de Dados DCC 011 A Linguagem SQL Introdução Originalmente proposta para o System R desenvolvido nos laboratórios da IBM na década de 70 SEQUEL (Structured English QUEry Language) Objeto de um esforço de padronização coordenado

Leia mais

GBC043 Sistemas de Banco de Dados. Modelo Relacional (R) Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM

GBC043 Sistemas de Banco de Dados. Modelo Relacional (R) Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM GBC043 Sistemas de Banco de Dados Modelo Relacional (R) Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM UFU/FACOM Página 2 Modelo Relacional R : Definição Def. O MODELO

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

Comandos de Manipulação

Comandos de Manipulação SQL - Avançado Inserção de dados; Atualização de dados; Remoção de dados; Projeção; Seleção; Junções; Operadores: aritméticos, de comparação,de agregação e lógicos; Outros comandos relacionados. SQL SQL

Leia mais

SQL é uma linguagem de consulta que implementa as operações da álgebra relacional de forma bem amigável.

SQL é uma linguagem de consulta que implementa as operações da álgebra relacional de forma bem amigável. SQL (Structured Query Language) SQL é uma linguagem de consulta que implementa as operações da álgebra relacional de forma bem amigável. Além de permitir a realização de consultas, SQL possibilita: definição

Leia mais

GBC043 - Sistemas de Banco de Dados SQL DDL e Implementação no PostgreSQL

GBC043 - Sistemas de Banco de Dados SQL DDL e Implementação no PostgreSQL GBC043 - Sistemas de Banco de Dados SQL DDL e Implementação no PostgreSQL Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM/BCC Página 2 Programa Teórico Visão Panorâmica

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 Tópicos Especiais Modelagem de Dados Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Mestrado Profissional em Ensino de Ciências

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

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

GBC043 - Sistemas de Banco de Dados Funções e Gatilhos no PostgreSQL

GBC043 - Sistemas de Banco de Dados Funções e Gatilhos no PostgreSQL GBC043 - Sistemas de Banco de Dados Funções e Gatilhos no PostgreSQL Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM/BCC Página 2 Prgrama Teórico/Prático - SQL Linguagem

Leia mais

Banco de Dados SQL. João Eduardo Ferreira Osvaldo Kotaro Takai

Banco de Dados SQL. João Eduardo Ferreira Osvaldo Kotaro Takai Banco de Dados SQL João Eduardo Ferreira Osvaldo Kotaro Takai Introdução SQL - Structured Query Language Linguagem declarativa não-procedimental Desenvolvida e implementada pelo laboratório de pesquisa

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

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

Uma expressão básica em SQL consiste em três cláusulas: select, from e where.

Uma expressão básica em SQL consiste em três cláusulas: select, from e where. Introdução a Banco de Dados O.K. Takai; I.C.Italiano; J.E. Ferreira. 67 8 A Linguagem SQL A linguagem SQL é um padrão de linguagem de consulta comercial que usa uma combinação de construtores em Álgebra

Leia mais

SQL. Introdução. Por que SQL? Setenças Select-From-Where

SQL. Introdução. Por que SQL? Setenças Select-From-Where Introdução SQL Bancos de Dados I Altigran Soares da Silva IComp/UFAM 2013/02 Adaptado do Material do Professor Jeffrey Ullman Originalmente proposta para o System R desenvolvido nos laboratórios da IBM

Leia mais

3) Palavra-chave distinct (select-from). Obter apenas os pibs distintos entre si.

3) Palavra-chave distinct (select-from). Obter apenas os pibs distintos entre si. NOME: BRUNO BRUNELI BANCO DE DADOS - ADS create database ProducaoMinerais use ProducaoMinerais create table Mineral( nome varchar(15) primary key, preco real) create table Pais( nome varchar(30) primary

Leia mais

Structured Query Language (SQL)

Structured Query Language (SQL) SQL Histórico Structured Query Language (SQL) Foi desenvolvido pela IBM em meados dos anos 70 como uma linguagem de manipulação de dados (DML - Data Manipulation Language) para suas primeiras tentativas

Leia mais

Programação SQL. INTRODUÇÃO II parte

Programação SQL. INTRODUÇÃO II parte Programação SQL INTRODUÇÃO II parte Programação SQL SELECT; INSERT; UPDATE; DELETE. Este conjunto de comandos faz parte da sublinguagem denominada por DML Data Manipulation Language (Linguagem de manipulação

Leia mais

S Q L 31/03/2010. SQL - Structured Query Language Linguagem de Consulta Estruturada

S Q L 31/03/2010. SQL - Structured Query Language Linguagem de Consulta Estruturada Gerenciamento de Dados e Informação Fernando Fonseca Ana Carolina Robson Fidalgo SQL SQL - Structured Query Language Linguagem de Consulta Estruturada Apesar do QUERY no nome, não é apenas de consulta,

Leia mais

Unidade III - BD Relacional

Unidade III - BD Relacional Structured Query Language (SQL) Conceitos Iniciais Álgebra Relacional - muito formal Cálculo Relacional de Tupla SEQUEL (Structured English QUEry Language) IBM - Sistema R SQL-86 SQL-92 SQL-3 102 Structured

Leia mais

FEAP - Faculdade de Estudos Avançados do Pará PROFª LENA VEIGA PROJETOS DE BANCO DE DADOS UNIDADE V- SQL

FEAP - Faculdade de Estudos Avançados do Pará PROFª LENA VEIGA PROJETOS DE BANCO DE DADOS UNIDADE V- SQL Quando os Bancos de Dados Relacionais estavam sendo desenvolvidos, foram criadas linguagens destinadas à sua manipulação. O Departamento de Pesquisas da IBM desenvolveu a SQL como forma de interface para

Leia mais

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

S Q L 15/01/2013. Enfoques de SQL. Enfoques de SQL SQL. Usos de SQL. SQL - Origem/Histórico. Gerenciamento de Dados e Informação Enfoques de SQL Gerenciamento de Dados e Informação Fernando Fonseca Ana Carolina Valeria Times Bernadette Loscio Linguagem interativa de consulta (ad-hoc): usuários podem definir consultas independente

Leia mais

IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1

IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1 IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1 Banco de Dados Fundamentos de SQL Structured Query Language Aula2 Apresentado por: Robson do Nascimento Fidalgo rdnf@cin.ufpe.br IF685

Leia mais

Álgebra Relacional. Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída. Operações básicas:

Álgebra Relacional. Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída. Operações básicas: Álgebra Relacional Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída operação (REL 1 ) REL 2 operação (REL 1,REL 2 ) REL 3 Operações básicas: seleção projeção

Leia mais

Básico da Linguagem SQL. Definição de Esquemas em SQL. SQL(Structured Query Language)

Básico da Linguagem SQL. Definição de Esquemas em SQL. SQL(Structured Query Language) Básico da Linguagem SQL Definição de Esquemas em SQL SQL(Structured Query Language) Desenvolvida como a linguagem de consulta do protótipo de SGBD Sistema R (IBM, 1976). Adotada como linguagem padrão de

Leia mais

BANCO DE DADOS -INTRODUÇÃO AO SQL. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

BANCO DE DADOS -INTRODUÇÃO AO SQL. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br BANCO DE DADOS -INTRODUÇÃO AO SQL Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br Os comandos SQL podem ser agrupados em 3 classes: DDL Data Definition Language Comandos para a Definição

Leia mais

Introdução à Banco de Dados. Nathalia Sautchuk Patrício

Introdução à Banco de Dados. Nathalia Sautchuk Patrício Introdução à Banco de Dados Nathalia Sautchuk Patrício Histórico Início da computação: dados guardados em arquivos de texto Problemas nesse modelo: redundância não-controlada de dados aplicações devem

Leia mais

SQL. Profa. Msc. Fernanda Lígia Rodrigues Lopes. Disciplina: Fundamentos de Banco de Dados

SQL. Profa. Msc. Fernanda Lígia Rodrigues Lopes. Disciplina: Fundamentos de Banco de Dados SQL Profa. Msc. Fernanda Lígia Rodrigues Lopes Disciplina: Fundamentos de Banco de Dados Roteiro O que é SQL? Breve Histórico da SQL Usos da SQL Comandos SQL DDL Comandos SQL DML Comandos para consultas

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

SQL (Structured Query Language)

SQL (Structured Query Language) (Structured Query Language) I DDL (Definição de Esquemas Relacionais)... 2 I.2 Domínios... 2 I.3 Criação de Tabelas... 2 I.4 Triggers... 4 II DML Linguagem para manipulação de dados... 5 II.2 Comando SELECT...

Leia mais

BANCO DE DADOS Parte 4

BANCO DE DADOS Parte 4 BANCO DE DADOS Parte 4 A Linguagem SQL Introdução Desenvolvida pelo depto de pesquisa da IBM na década de 1970 (System R) Linguagem padrão de BD Relacionais; Apresenta várias padrões evolutivos: SQL86,

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

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

Bases de Dados 2005/2006. Aula 5

Bases de Dados 2005/2006. Aula 5 Bases de Dados 2005/2006 Aula 5 Sumário -1. (T.P.C.) Indique diferenças entre uma tabela e uma relação. 0. A base de dados Projecto 1. SQL Join (variantes) a. Cross Join b. Equi-Join c. Natural Join d.

Leia mais

Memória de aula Semanas 15 e 16

Memória de aula Semanas 15 e 16 FMU Curso: Ciência da Computação Disciplina: Banco de Dados I Professor: Ecivaldo Matos Memória de aula Semanas 15 e 16 1) Incluindo linhas nas tabelas a. Para incluir linhas em tabelas utilize o comando

Leia mais

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

Ex.: INSERT INTO tmpautor (CDAUTOR, NMAUTOR) VALUES (1, Renato Araújo ) Tecnologia em Análise e Desenvolvimento de Sistemas Disciplina: B1SGB - Sistemas Gerenciadores de Banco de Dados Memória de aula Aula 10 1) Incluindo linhas nas tabelas a. Para incluir linhas em tabelas

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

SQL S Q L. Introdução. Enfoques de SQL. SQL - Origem/Histórico. Usos de SQL. SQL - Vantagens. Banco de Dados. Fernando Fonseca Ana Carolina

SQL S Q L. Introdução. Enfoques de SQL. SQL - Origem/Histórico. Usos de SQL. SQL - Vantagens. Banco de Dados. Fernando Fonseca Ana Carolina Introdução Banco de Dados SQL Fernando Fonseca Ana Carolina SQL - Structured Query Language Linguagem de Consulta Estruturada Apesar do QUERY no nome, não é apenas de consulta, permitindo definição (DDL)

Leia mais

SQL comando SELECT. SELECT [DISTINCT] FROM [condição] [ ; ] Paulo Damico - MDK Informática Ltda.

SQL comando SELECT. SELECT [DISTINCT] <campos> FROM <tabela> [condição] [ ; ] Paulo Damico - MDK Informática Ltda. SQL comando SELECT Uma das tarefas mais requisitadas em qualquer banco de dados é obter uma listagem de registros armazenados. Estas tarefas são executadas pelo comando SELECT Sintaxe: SELECT [DISTINCT]

Leia mais

Introdução ao SQL. Aécio Costa

Introdução ao SQL. Aécio Costa Aécio Costa A linguagem SQL é um padrão de linguagem de consulta comercial e possui as seguintes partes: Linguagem de definição de dados (DDL) Linguagem interativa de manipulação de dados (DML) Definição

Leia mais

Linguagem de Consulta - SQL

Linguagem de Consulta - SQL Complementos da Linguagem SQL - Eliminando Tuplas Repetidas Exemplo: Obter o código das editoras que têm livros publicados CodEditora Titulo Publicacao... 04 Banco de Dados 1989 02 Análise 2000 01 XML

Leia mais

Linguagem SQL. Comandos Básicos

Linguagem SQL. Comandos Básicos Linguagem SQL Comandos Básicos Caetano Traina Júnior 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.sc.usp.br Comando

Leia mais

Exemplo Clínica. Exemplo Clínica. Exemplo Clínica. Exemplo Clínica. (http://bidu.lab.ic.unicamp.br/~celio/metasql.php)

Exemplo Clínica. Exemplo Clínica. Exemplo Clínica. Exemplo Clínica. (http://bidu.lab.ic.unicamp.br/~celio/metasql.php) Clínica Todos os exemplos apresentados utilizam o SGBD Postgre - open source Documentação: http://www.postgresql.org/docs (http://bidu.lab.ic.unicamp.br/~celio/metasql.php) Ambulatorios(numero, andar,

Leia mais

António Rocha Nuno Melo e Castro

António Rocha Nuno Melo e Castro António Rocha Nuno Melo e Castro SQL- Strutured Query Language é a linguagem mais usada nas bases dados relacionais. Originalmente desenvolvida pela IBM Actualmente é um standard, o mais recente é o SQL:2003

Leia 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

Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Standards ISO e ANSI SQL-86, SQL-89, SQL-92, SQL:1999, SQL:2003

Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Standards ISO e ANSI SQL-86, SQL-89, SQL-92, SQL:1999, SQL:2003 Bases de Dados Introdução à linguagem SQL História Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R Renomeada para SQL (Structured Query Language) Standards ISO e ANSI SQL-86, SQL-89,

Leia mais

SQL (Linguagem de Consulta Estruturada)

SQL (Linguagem de Consulta Estruturada) SQL (Linguagem de Consulta Estruturada) M.Sc. Cristiano Mariotti mscmariotti@globo.com Introdução à SQL 1 Visão Geral Introdução Comandos de Definição de Dados Comandos de Manipulação de Dados Introdução

Leia mais

Banco de Dados I SQL DDL. Frederico D. Bortoloti freddb@ltc.ufes.br

Banco de Dados I SQL DDL. Frederico D. Bortoloti freddb@ltc.ufes.br Banco de Dados I SQL DDL Frederico D. Bortoloti freddb@ltc.ufes.br Introdução Modelo relacional encontra-se padronizado pela indústria de informática. Ele é chamado de padrão SQL (Structured Query Language)

Leia mais

Capítulo 4 A Linguagem SQL. Murilo Silva de Camargo

Capítulo 4 A Linguagem SQL. Murilo Silva de Camargo Capítulo 4 A Linguagem SQL Murilo Silva de Camargo 1 SQL - Structured Query Language Estrutura básica Operações de conjunto Funções agregadas Valores nulos Sob consultas aninhadas Relações derivadas Visões

Leia mais

Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Programação com acesso a BD Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br 1 Agenda Estrutura Básica de consultas SQL: A cláusula SELECT; A cláusula FROM; A cláusula WHERE. Operação com cadeias

Leia mais

Aplicações - SQL. Banco de Dados: Teoria e Prática. André Santanchè e Luiz Celso Gomes Jr Instituto de Computação UNICAMP Agosto de 2013

Aplicações - SQL. Banco de Dados: Teoria e Prática. André Santanchè e Luiz Celso Gomes Jr Instituto de Computação UNICAMP Agosto de 2013 Aplicações - SQL Banco de Dados: Teoria e Prática André Santanchè e Luiz Celso Gomes Jr Instituto de Computação UNICAMP Agosto de 2013 Picture by Steve Kelley 2008 SQL SQL Structured Query Language Originalmente:

Leia mais

Reforçando conceitos de SQL Estudo de Caso: Agenciamento de Corridas de Táxis

Reforçando conceitos de SQL Estudo de Caso: Agenciamento de Corridas de Táxis Reforçando conceitos de SQL Estudo de Caso: Agenciamento de s de Táxis 1 Algumas Entidades existentes Estudo de Caso Cliente Agendada Fila Logradouro Zona Motorista Efetivada Táxi 2 Consulta Básica SQL

Leia mais

Banco de Dados - Senado

Banco de Dados - Senado Banco de Dados - Senado Structured Query Language (SQL) Material preparado :Prof. Marcio Vitorino Ambiente Simplificado de um SGBD 2 Características dos SGBDs Natureza auto-contida de um sistema de banco

Leia mais

BASES DE DADOS I LTSI/2. Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2010/2011

BASES DE DADOS I LTSI/2. Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2010/2011 BASES DE DADOS I LTSI/2 Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2010/2011 Ao nível das linguagens de manipulação de dados (Data Manipulation Language - DML) o SQL

Leia mais

Bases de Dados. Parte V: A Linguagem SQL

Bases de Dados. Parte V: A Linguagem SQL Bases de Dados Parte V A Linguagem SQL 1 SQL Structured Query Language O SQL é uma poderosa linguagem declarativa que permite definir, questionar e manipular bases de dados. Para além das funcionalidades

Leia mais

4.6. SQL - Structured Query Language

4.6. SQL - Structured Query Language 4.6. SQL - Structured Query Language SQL é um conjunto de declarações que é utilizado para acessar os dados utilizando gerenciadores de banco de dados. Nem todos os gerenciadores utilizam SQL. SQL não

Leia mais

f. Vocês podem selecionar todos os campos indicando-os, ou seja, sem usar * (boa prática) g. Muito relevante na manutenção de BD e de aplicações.

f. Vocês podem selecionar todos os campos indicando-os, ou seja, sem usar * (boa prática) g. Muito relevante na manutenção de BD e de aplicações. Tecnologia em Análise e Desenvolvimento de Sistemas Disciplina: B1SGB - Sistemas Gerenciadores de Banco de Dados Memória de aula Aula 11 1) Cláusulas SELECT e FROM a. Apesar de ser a primeira, ela é a

Leia mais

Engenharia de Computação / Engenharia de Produção. Banco de Dados Prof. Maria das Graças da Silva Teixeira

Engenharia de Computação / Engenharia de Produção. Banco de Dados Prof. Maria das Graças da Silva Teixeira Unidade 3 SQL Engenharia de Computação / Engenharia de Produção Banco de Dados Prof. Maria das Graças da Silva Teixeira Material base: Banco de Dados, 2009.2, prof. Otacílio José Pereira Contexto na Disciplina

Leia mais

DML - SELECT Agrupando Dados

DML - SELECT Agrupando Dados DML - SELECT Agrupando Dados 1. Apresentação Já conhecemos os comandos básicos de manipulação de dados: insert; delete; update e select. O comando de consulta select utilizado até aqui era aplicado sobre

Leia mais

SQL SQL. SQL Structured Query Language. Introdução

SQL SQL. SQL Structured Query Language. Introdução SQL ernanda Baião UNIRIO aterial parcialmente extraído a partir das notas de aula de aria Luiza. Campos, Arnaldo Rocha e aria Cláudia Cavalcanti SQL Introdução SQL Structured Query Language Linguagem de

Leia mais

BDII SQL Junção Revisão 8

BDII SQL Junção Revisão 8 exatasfepi.com.br BDII SQL Junção Revisão 8 André Luís Duarte Leais são as feridas feitas pelo amigo, mas os beijos do inimigo são enganosos. Provérbios 27:6 SQL Introdução Produto cartesiano Nomes alternativos

Leia mais

Faculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet

Faculdade Pitágoras 16/08/2011. 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 SQL A linguagem SQL é responsável por garantir um bom nível

Leia mais

SQL Structured Query Language

SQL Structured Query Language Janai Maciel SQL Structured Query Language (Banco de Dados) Conceitos de Linguagens de Programação 2013.2 Structured Query Language ( Linguagem de Consulta Estruturada ) Conceito: É a linguagem de pesquisa

Leia mais

Linguagem SQL Parte I

Linguagem SQL Parte I FIB - Centro Universitário da Bahia Banco de Dados Linguagem SQL Parte I Francisco Rodrigues Santos chicowebmail@yahoo.com.br Slides gentilmente cedidos por André Vinicius R. P. Nascimento Conteúdo A Linguagem

Leia mais

Principais Instruções em SQL. Contidas nesta apostila as principais instruções em SQL para a manutenção em Bancos de Dados.

Principais Instruções em SQL. Contidas nesta apostila as principais instruções em SQL para a manutenção em Bancos de Dados. Principais Instruções em SQL Contidas nesta apostila as principais instruções em SQL para a manutenção em Bancos de Dados. Atenção: Esta apostila foi desenvolvida com o auxílio on-line do banco MS-ACCESS,

Leia mais

Banco de Dados I. Linguagem de Consulta (parte II) Recuperando Dados de Várias Tabelas (JOINS)

Banco de Dados I. Linguagem de Consulta (parte II) Recuperando Dados de Várias Tabelas (JOINS) Banco de Dados I Linguagem de Consulta (parte II) Recuperando Dados de Várias Tabelas (JOINS) Exemplo - pedido Diagrama Entidade-Relacionamento N Pedido N possui N Produto N faz tira 1 Cliente 1 Vendedor

Leia mais

SQL. Banco de Dados I. Componentes de SQL

SQL. Banco de Dados I. Componentes de SQL Banco de Dados I Adrovane Marques Kade 1 1 Curso de Análise e Desenvolvimento de Sistemas Instituto Federal de Educação, Ciência e Tecnologia adrovane.kade@bento.ifrs.edu.br 2011/1 ( Structured Query Language

Leia mais

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL Faculdade Pitágoras Curso Superior de Tecnologia: Banco de Dados Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL A linguagem SQL é responsável por garantir um bom nível de independência do

Leia mais

SQL (Structured Querie Language) Escola Secundária de Emídio Navarro 2001/2002 Estruturas, Tratamento e Organização de Dados

SQL (Structured Querie Language) Escola Secundária de Emídio Navarro 2001/2002 Estruturas, Tratamento e Organização de Dados SQL (Structured Querie Language) SQL é mais que uma linguagem de interrogação estruturada. Inclui características para a definição da estrutura de dados, para alterar os dados de uma base de dados, e para

Leia mais

Banco de Dados I. Aula 12 - Prof. Bruno Moreno 04/10/2011

Banco de Dados I. Aula 12 - Prof. Bruno Moreno 04/10/2011 Banco de Dados I Aula 12 - Prof. Bruno Moreno 04/10/2011 Plano de Aula SQL Definição Histórico SQL e sublinguagens Definição de dados (DDL) CREATE Restrições básicas em SQL ALTER DROP 08:20 Definição de

Leia mais

SQL: Uma Linguagem de Consulta

SQL: Uma Linguagem de Consulta SQL: Uma Linguagem de Consulta 1 Exemplos ilustrativos Considere, como exemplos, as seguintes relações: R1 sid bid day 22 101 10/10/96 58 103 11/12/96 Se a chave para a relacão de Reservas (R1) contivesse

Leia mais

SQL: Uma Linguagem de Consulta. Database Management Systems, R. Ramakrishnan (tradução, autorizada, de Anna & Mario Nascimento)

SQL: Uma Linguagem de Consulta. Database Management Systems, R. Ramakrishnan (tradução, autorizada, de Anna & Mario Nascimento) SQL: Uma Linguagem de Consulta 1 Exemplos ilustrativos Considere, como exemplos, as seguintes relações: R1 sid bid day 22 101 10/10/96 58 103 11/12/96 Se a chave para a relacão de Reservas (R1) contivesse

Leia mais

Linguagem de Consulta Estruturada (SQL)

Linguagem de Consulta Estruturada (SQL) Linguagem de Consulta Estruturada (SQL) Conceitos sobre a versão ANSI da SQL, a sublinguagem de definição de dados (DDL) e a sublinguagem de manipulação de dados (DML) Prof. Flavio Augusto C. Correia 1

Leia mais

SQL: Consultas, Programação, Gatilhos

SQL: Consultas, Programação, Gatilhos SQL: Consultas, Programação, Gatilhos Capítulo 5 1 Introdução O que é SQL? Structured Query Language Linguagem comercial de banco de dados mais utilizada no mercado. Origem Originalmente chamada de SEQUEL

Leia mais

ORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL. Carga horária: 32 Horas

ORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL. Carga horária: 32 Horas ORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL Carga horária: 32 Horas Pré-requisito: Para que os alunos possam aproveitar este treinamento ao máximo, é importante que eles tenham participado dos treinamentos

Leia mais

SQL BÁSICO. Introdução. Prof. Suelane Garcia. Linguagem SQL (Structured Query Language)

SQL BÁSICO. Introdução. Prof. Suelane Garcia. Linguagem SQL (Structured Query Language) SQL BÁSICO Prof. Suelane Garcia Introdução 2 Linguagem SQL (Structured Query Language) Linguagem de Consulta Estruturada padrão para acesso a Banco de Dados. Usada em inúmeros Sistemas de Gerenciamento

Leia mais

SQL92 DDL( RIS, ACTUALIZAÇÕES E VISTAS) DML (QUERIES, SUBQUERIES,JUNÇÕES, E OPERAÇÕES SOBRE CONJUNTOS)

SQL92 DDL( RIS, ACTUALIZAÇÕES E VISTAS) DML (QUERIES, SUBQUERIES,JUNÇÕES, E OPERAÇÕES SOBRE CONJUNTOS) SQL92 DDL( RIS, ACTUALIZAÇÕES E VISTAS) DML (QUERIES, SUBQUERIES,JUNÇÕES, E OPERAÇÕES SOBRE CONJUNTOS) SQL SQL, é uma linguagem de programação que foi desenvolvida para questionar bases de dados relacionais

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

1.264 Aula 7. Introdução ao SQL

1.264 Aula 7. Introdução ao SQL 1.264 Aula 7 Introdução ao SQL Linguagem Estruturada de Consulta (SQL) Aula 7 SELECT, INSERT, DELETE, UPDATE Junções Aula 8 Subconsultas Visões (tabelas virtuais) Índices Transações Segurança Desempenho

Leia mais

Banco de Dados Oracle 10g: Introdução à Linguagem SQL

Banco de Dados Oracle 10g: Introdução à Linguagem SQL Oracle University Entre em contato: 0800 891 6502 Banco de Dados Oracle 10g: Introdução à Linguagem SQL Duração: 5 Dias Objetivos do Curso Esta classe se aplica aos usuários do Banco de Dados Oracle8i,

Leia mais

EXERCÍCIOS PRÁTICOS. Banco de Dados

EXERCÍCIOS PRÁTICOS. Banco de Dados EXERCÍCIOS PRÁTICOS Banco de Dados Introdução ao uso do SQL Structured Query Language, considerando tanto DDL Data Definition Language quanto DML Data Manipulation Language. Banco de Dados selecionado:

Leia mais

Curso: SQL Básico. Padrão de linguagem de consulta relacional aceito pelos comitês ANSI e ISO.

Curso: SQL Básico. Padrão de linguagem de consulta relacional aceito pelos comitês ANSI e ISO. Curso: SQL Básico Glauco Luiz Rezende de Carvalho glauco.rezende@banese.com.br Este material foi baseado e adaptado pelo material do Prof. MSc. Fábio Soares Silva da Universidade Tiradentes - UNIT SQL

Leia mais

UNIVERSIDADE VEIGA DE ALMEIDA CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO CURSO SUPERIOR DE TECNOLOGIA EM PROCESSAMENTO DE DADOS BANCO DE DADOS

UNIVERSIDADE VEIGA DE ALMEIDA CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO CURSO SUPERIOR DE TECNOLOGIA EM PROCESSAMENTO DE DADOS BANCO DE DADOS CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO CURSO SUPERIOR DE TECNOLOGIA EM PROCESSAMENTO DE DADOS CLAUDIO RIBEIRO DA SILVA MARÇO 1997 2 1 - CONCEITOS GERAIS DE 1.1 - Conceitos Banco de Dados - Representa

Leia mais

EXEMPLOS DE COMANDOS NO SQL SERVER

EXEMPLOS DE COMANDOS NO SQL SERVER EXEMPLOS DE COMANDOS NO SQL SERVER Gerenciando Tabelas: DDL - DATA DEFINITION LANGUAG Criando uma tabela: CREATE TABLE CLIENTES ID VARCHAR4 NOT NULL, NOME VARCHAR30 NOT NULL, PAGAMENTO DECIMAL4,2 NOT NULL;

Leia mais

UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II

UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II BANCO DE DADOS II AULA 3 Linguagem SQL Linguagem de manipulação de dados (DML) DISCIPLINA: Banco de

Leia mais

Introdução. Categorias

Introdução. Categorias Linguagem SQL Introdução SQL (Structured Query Language): desenvolvida pela IBM (70) como parte do sistema System R. A SQL foi inicialmente chamada de SEQUEL É a linguagem de consulta padrão para os SGBDR's

Leia mais

SQL (Structured Query Language)

SQL (Structured Query Language) SQL (Structured Query Language) Linguagem comercial para BD relacional padrão ISO desde a década de 80 SQL-1 (86); SQL-2 (92); SQL-3 (99) não é apenas uma linguagem de consulta! como o nome sugere... Base

Leia mais

SQL BANCO DE DADOS. Linguagem de consulta SQL. Linguagem de consulta SQL. Linguagem de Consulta Estruturada

SQL BANCO DE DADOS. Linguagem de consulta SQL. Linguagem de consulta SQL. Linguagem de Consulta Estruturada Revisão de tpicos anteriores BANCO DE DADOS Linguagem de consulta SQL Roberto Duarte Fontes Brasília - DF roberto@fontes.pro.br Projeto de banco de dados Modelagem Conceitual (independe da implementação)

Leia mais

Curso PHP Aula 08. Bruno Falcão brunogfalcao@gmail.com

Curso PHP Aula 08. Bruno Falcão brunogfalcao@gmail.com + Curso PHP Aula 08 Bruno Falcão brunogfalcao@gmail.com + Roteiro Conectividade com BD SQL + SQL Structured Query Language. Padrão para interagir com banco de dados relacionais. + Banco de dados Um banco

Leia mais

MODELO DE DADOS VS ESQUEMA

MODELO DE DADOS VS ESQUEMA MODELO DE DADOS VS ESQUEMA Um modelo de dados é um conjunto de conceitos usados para se descrever dados. Um esquema é uma descrição de uma determinada coleção de dados, descrição essa baseada num certo

Leia mais

DML. SQL (Select) Verificando estrutura da tabela

DML. SQL (Select) Verificando estrutura da tabela SISTEMAS DE INFORMAÇÃO BANCO DE DADOS 2 SQL (Select) PROF: EDSON THIZON DML É a parte mais ampla da SQL. Permite pesquisar, alterar, incluir e deletar dados da base de dados. São quatro as sentenças mais

Leia mais

Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Programação com acesso a BD Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br 1 Agenda Consultas SQL envolvendo NULL; Consultas Aninhadas IN; Funções EXISTS e NOT EXISTS; Funções de Agregação: GROUP

Leia mais

SQL - Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL

SQL - Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL SQL - Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL Criar uma base de dados (criar um banco de dados) No mysql: create database locadora; No postgresql: createdb locadora Criar

Leia mais

Structured Query Language (SQL) SQL é uma linguagem normalizada (ANSI) para consultas e actualizações de bases de dados relacionais.

Structured Query Language (SQL) SQL é uma linguagem normalizada (ANSI) para consultas e actualizações de bases de dados relacionais. Structured Query Language (SQL) SQL é uma linguagem normalizada (ANSI) para consultas e actualizações de bases de dados relacionais. A instrução SELECT As consultas a uma base de dados relacional fazem-se

Leia mais

PHP INTEGRAÇÃO COM MYSQL PARTE 1

PHP INTEGRAÇÃO COM MYSQL PARTE 1 INTRODUÇÃO PHP INTEGRAÇÃO COM MYSQL PARTE 1 Leonardo Pereira leonardo@estudandoti.com.br Facebook: leongamerti http://www.estudandoti.com.br Informações que precisam ser manipuladas com mais segurança

Leia mais

SQL UMA ABORDAGEM INTERESSANTE

SQL UMA ABORDAGEM INTERESSANTE SQL é uma linguagem de consulta estruturada, do inglês Structured Query Language. É uma linguagem de pesquisa declarativa para banco de dados relacional (base de dados relacional). Muitas das características

Leia mais

Pedro F. Carvalho OCP Oracle 2008.2 10g LINGUAGEM SQL. www.pedrofcarvalho.com.br contato@pedrofcarvalho.com.br São José do Rio Preto

Pedro F. Carvalho OCP Oracle 2008.2 10g LINGUAGEM SQL. www.pedrofcarvalho.com.br contato@pedrofcarvalho.com.br São José do Rio Preto Pedro F. Carvalho OCP Oracle 2008.2 10g LINGUAGEM SQL Objetivos Revisando a sintaxe SQL SELECT, UPDATE, INSERT, DELETE Manipulando expressões Funções matemáticas, etc Condições de Pesquisa Funções de Agregação

Leia mais

Banco de Dados I. Linguagem de Consulta (parte I) DDL DML

Banco de Dados I. Linguagem de Consulta (parte I) DDL DML Banco de Dados I Linguagem de Consulta (parte I) DDL DML Linguagem de Consulta:SQL contéudo Structured Query Language Originalmente SEQUEL Structured English Query Language Projeta e Implementada pela

Leia mais

TECNOLOGIA EM SISTEMAS PARA INTERNET PROJETO DE BANCO DE DADOS

TECNOLOGIA EM SISTEMAS PARA INTERNET PROJETO DE BANCO DE DADOS Exemplos de Scripts SQL (PostgreSQL) Pizzaria 1 2 Criação de BANCO DE DADOS CREATE DATABASE nome_do_banco; CREATE DATABASE pizzaria; Criação de TABELAS SOMENTE COM CHAVE PRIMÁRIA CREATE TABLE nome_da_tabela

Leia mais

select nome from Médicos where codm in (select codm from Consultas where data = 06/06/13 )

select nome from Médicos where codm in (select codm from Consultas where data = 06/06/13 ) Subconsultas * subconsulta: forma alternativa de expressar consultas envolvendo relacionamentos entre tabelas * cláusulas para tratamento de subconsultas: IN, ANY, ALL, EXISTS 3.1) Cláusula [NOT] IN *

Leia mais