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

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

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

Transcrição

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

2 Roteiro O que é SQL? Breve Histórico da SQL Usos da SQL Comandos SQL DDL Comandos SQL DML Comandos para consultas SQL Resumo dos comandos SQL Referências

3 SQL SQL é sigla para Structured Query Language - Linguagem de Consulta Estruturada. Apesar do Query (Consulta) no nome da linguagem, não é uma linguagem apenas de consulta, pois permite: Definição de Dados (DDL). Manipulação de dados (DML).

4 SQL Linguagem fundamentada no modelo relacional (álgebra relacional e cálculo relacional) É a linguagem padrão para consulta a bancos de dados relacionais. Um dos motivos do sucesso dos bancos relacionais comercialmente. A ideia é que se trocarmos de SGBD, não tenhamos que mexer em todas as consultas e definições do banco, pois a linguagem é padrão. No entanto, cada implementação de SQL pode possuir algumas adaptações para resolver certas particularidades do SGBD alvo (específico). Ou seja, os fabricantes de SGBDs podem estender a SQL.

5 SQL Breve Histórico Primeira versão: SEQUEL, definida por Chamberlain em 1974 na IBM. Em 1975, foi implementado o primeiro protótipo. Revisada e ampliada entre 1976 e 1977 e teve seu nome alterado para SQL por razões jurídicas. Em 1982, o American National Standard Institute (ANSI) tornou a SQL o padrão oficial de linguagem em ambiente relacional. A primeira versão padrão da SQL foi concebida em Alguns ajustes e atualizações foram realizados e, em 1992, uma segunda versão da SQL foi lançada. Esta segunda versão ficou com o nome de SQL-92. Desse período até hoje, houve mais quatro revisões da linguagem, em 1999, 2003, 2006 e 2008.

6 Usos da SQL Por ser uma linguagem abrangente, os comandos da SQL podem ser dividos em subconjuntos: DDL Criar (CREATE) Modificar (ALTER) Destruir (DROP)... DML Inserir (INSERT) Atualizar (UPDATE) Remover (DELETE) Controle de Transações COMMIT ROLLBACK SAVEPOINT S Q L Segurança Administração GRANT REVOKE... Recuperação de dados SELECT

7 SQL Exemplo para explicações

8 SQL - DDL Data Definition Languagem (DDL) Linguagem de Definição de Dados

9 SQL - DDL Criando um esquema CREATE SCHEMA <nome do esquema>; ou CREATE SCHEMA <nome do esquema> AUTHORIZATION <usuário dono do esquema>; Nem todos os usuários são autorizados a criarem esquemas ou elementos de esquema, como tabelas e colunas, por exemplo. Os privilégios para esse tipo de ação devem ser concedidos às contas de usuário pelo administrador do sistema ou o pelo DBA (administrador do banco de dados).

10 SQL - DDL Criando um esquema Há variações para o comando de criação de esquemas. Nos SGBDs mysql e SQLServer, por exemplo, o comando utilizado para criar esquemas é: CREATE DATABASE <nome do banco de dados>; Para o nosso exemplo, o comando será: CREATE SCHEMA Empresa;

11 SQL - DDL Criando de tabelas CREATE TABLE <nome da tabela> (<descrição dos atributos> <restrições>);

12 SQL DDL Descrição dos atributos: <nome do atributo> <tipo do atributo> Tipos básicos da SQL para atributos (domínios): Numérico Corresponde aos números inteiros (INT, INTEGER ou SMALLINT) e os de ponto flutuante (FLOAT, REAL ou DOUBLE). Os tipos numéricos podem ser declarados nos formatos DECIMAL(i,j), DEC(i,j) ou NUMERIC(i,j), onde i é a precisão e j é a escala. A precisão é o número total de dígitos do número. A escala é a quantidade de dígitos após o ponto decimal, ou seja, tem a ver com a parte fracionária do número.

13 SQL DDL Tipos básicos da SQL para atributos (domínios): Cadeia (sequencia) de caracteres Podem ter tamanho fixo ou variável. Cadeias de tamanho fixo são expressas pelo construtor CHAR(n), onde n é o número de caracteres da cadeia. As cadeias de tamanho variável são designadas por VARCHAR(n) ou CHARACTER VARYING(n), onde n é o tamanho máximo que uma cadeia pode possuir. Para colunas que possuem grandes valores de texto, como documentos, pode ser usado o tipo CHARACTER LARGE OBJECT ou CLOB. O tamanho máximo do CLOB pode ser especificado em kilobytes (K), megabytes (M) ou gigabytes (G).

14 SQL DDL Tipos básicos da SQL para atributos (domínios): Cadeia de bits Pode ser de tamanho fixo ou variável. Cadeias de tamanho fixo são definidas pelo construtor BIT(n) e as de tamanho variável por BIT VARYING(n), onde n é o número máximo de bits. Para especificar colunas com grandes valores binários, como imagens, pode ser usado o construtor BINARY LARGE OBJECT ou BLOB. Assim como na cadeia de caracteres, especifica-se o tamanho máximo em kilobytes (K), megabytes (M) ou gigabytes (G).

15 Tipos básicos da SQL para atributos (domínios): Booleano SQL DDL Admite os valores verdadeiro (true) ou falso (false). O valor pode ainda ser desconhecido, uma vez que a coluna pode não estar preenchida.

16 Tipos básicos da SQL para atributos (domínios): Data: SQL DDL O tipo DATE (data) possui dez posições e seus componentes são dia (DAY), mês (MONTH) e ano (YEAR), na forma DD-MM-YYYY. Já o tipo TIME (tempo) possui oito posições com os componentes hora (HOUR), minutos (MINUTES) e segundos (SECOND) na forma HH:MM:SS. Somente dias e horas válidas são permitidas na implementação da SQL. Alguns tipos de data possuem ainda o termo TIME WITH TIME ZONE. Nesse caso, são adicionadas seis posições para especificar o deslocamento com base no fuso horário universal padrão. Caso o termo WITH TIME ZONE não seja incluído, o valor padrão é o fuso horário local. Exemplos de declarações de data e hora: DATE ou TIME 09:12:47. O tempo pode ainda ser especificado nas escadas de 12 ou 24 horas.

17 SQL DDL Tipos básicos da SQL para atributos (domínios): Timestamp O TIMESTAMP (marcador de tempo) engloba os tipos DATE e TIME, com mais seis posições para o WITH TIME ZONE. Exemplo de declaração de TIMESTAMP: :15:07. Observação: Os tipos mencionados são os principais da especificação da SQL. Pode haver outros tipos em diferentes implementações da SQL por fabricantes de SGBDs.

18 SQL DDL É possível criar um novo domínio para um atributo, se necessário. Por exemplo, podemos criar novos domínios para TIPO_CPF (sendo um CHAR de tamanho 11) ou TIPO_SEXO (um CHAR possuindo os valores feminino ou masculino). Assim, quando formos declarar atributos desse tipo, utilizaremos tais domínios criados, ao invés dos tipos da SQL. A instrução para criar um domínio diretamente é a CREATE DOMAIN. CREATE DOMAIN TIPO_CPF AS CHAR(11);

19 SQL DDL Descrição das restrições As restrições de chave, de integridade de entidade e de integridade referencial podem ser criadas no momento da criação da tabela, logo após a criação dos atributos. Tais restrições também podem ser criadas depois, através do comando ALTER TABLE. Durante a criação de uma tabela, algumas chaves estrangeiras podem gerar um erro, caso se refiram a tabelas que ainda não foram criadas. Nessa situação, as restrições devem ser omitidas do CREATE TABLE e criadas posteriormente (no ALTER TABLE).

20 SQL DDL Descrição das restrições Chaves: Chave Primária <descrição do atributo> PRIMARY KEY PRIMARY KEY(<atributos>) CONSTRAINT <nome_da_restrição> PRIMARY KEY (<atributos>) Restrição criada explicitamente Caso se queira, a PK pode ser definida como sendo auto incrementada automaticamente. Cada fabricante de SGBD tem a forma de declarar o auto incremento. PostgreSQL: tipo serial MySQL: auto_increment ou ou

21 SQL DDL Descrição das restrições Chaves: Chave Candidata <descrição do atributo> UNIQUE UNIQUE(<atributos>) ou ou CONSTRAINT <nome_da_restrição> UNIQUE (<atributos>) Restrição criada explicitamente

22 SQL DDL Descrição das restrições Chaves: Chave Estrangeira FOREIGN KEY (<atributos FK>) REFERENCES <tabela onde está a PK> (<atributos PK>) ou CONSTRAINT <nome_da_restrição> FOREIGN KEY (<atributos FK>) REFERENCES <tabela onde está a PK> (<atributos PK>) Restrição criada explicitamente

23 SQL DDL Descrição das restrições Chaves: Chave Estrangeira Como já vimos, quando tuplas são inseridas ou modificadas, a restrição de integridade referencial pode ser violada. A opção padrão é impedir a operação (RESTRICT) Podemos especificar o que fazer através do ON DELETE e ON UPDATE. Opções: SET NULL CASCADE SET DEFAULT

24 SQL DDL Descrição das restrições Definindo NOT NULL para atributos <nome do atributo> <tipo> NOT NULL Utilizamos quando não quisermos que o atributo assuma valor nulo. Quando não especificamos, o padrão é permitir nulo (NULL)

25 SQL DDL Descrição das restrições Definindo valores DEFAULT (padrões) para atributos Quando um atributo possuir um valor padrão, podemos definir tal valor no momento da criação do atributo: <descrição do atributo> [NOT NULL] DEFAULT <valor padrão> Observe que a palavra NOT NULL é opcional.

26 SQL DDL Descrição das restrições Definindo valores permitidos com CHECK O CHECK Permite verificar se os valores de um atributo estão conforme o esperado. Exemplo 1: o salário não pode ser inferior ao valor do salário mínimo. CONSTRAINT <nome da restrição> CHECK (salario >= 678) Exemplo 2: a data de criação do departamento não pode ser maior que data de início do gerente no departamento. CONSTRAINT <nome da restrição> CHECK (dep_data_cricao <= data_inicio_gerente)

27 SQL DDL A cláusula CHECK + DOMAIN A cláusula CHECK pode ser usada em conjunto com a instrução CREATE DOMAIN. Exemplo: Os números dos departamentos devem estar entre 1 e 20. CREATE DOMAIN D_NUM AS INTEGER CHECK (D_NUM > 0 AND D_NUM <21);

28 Exemplo para o esquema exibido Tabela Funcionario SQL DDL CREATE TABLE Empresa.Funcionario (CPF CHAR (11) PRIMARY KEY, Pnome VARCHAR (20) NOT NULL, Minicial VARCHAR (20), Unome VARCHAR (20) NOT NULL, Datanasc DATE NOT NULL, Endereco VARCHAR (50), Sexo CHAR (1) NOT NULL, Salario NUMERIC (10,2), CPF_supervisor CHAR(11), Dnr INTEGER, CONSTRAINT ck_sexo CHECK (sexo IN ( F, M )) );

29 SQL DDL Exemplo para o esquema exibido Tabela Departamento CREATE TABLE Departamento ( Dnumero INTEGER PRIMARY KEY, Dnome VARCHAR (20) NOT NULL UNIQUE, CPF_gerente CHAR(11) NOT NULL DEFAULT , Data_inicio_gerente DATE, ); CONSTRAINT departamento_fk1 FOREIGN KEY (CPF_gerente) REFERENCES Funcionario (CPF) ON UPDATE CASCADE ON DELETE SET DEFAULT

30 SQL DDL Exemplo para o esquema exibido Tabela Localizacoes_Dep CREATE TABLE Localizacoes_Dep ( Dnumero INTEGER, Dlocal VARCHAR (30) NOT NULL, ); PRIMARY KEY (Dnumero, Dlocal), FOREIGN KEY (Dnumero) REFERENCES Departamento (Dnumero) ON UPDATE CASCADE ON DELETE CASCADE

31 Exemplo para o esquema exibido Tabela Projeto SQL DDL CREATE TABLE Projeto ( Projnumero INTEGER, Projnome VARCHAR (30) NOT NULL, Projlocal VARCHAR (40), Dnum INTEGER NOT NULL, ); CONSTRAINT Projeto_pk PRIMARY KEY (Projnumero), CONSTRAINT Projeto_fk1 FOREIGN KEY (Dnum) REFERENCES Departamento (Dnumero)

32 Exemplo para o esquema exibido Tabela Trabalha_Em CREATE TABLE Trabalha_Em ( Fcpf CHAR(11), Pnr INTEGER NOT NULL, Horas NUMERIC (2,1), SQL DDL ); CONSTRAINT Trabalha_Em_pk PRIMARY KEY (Fcpf,Pnr), CONSTRAINT Trabalha_Em_fk1 FOREIGN KEY (Fcpf) REFERENCES Funcionario (CPF), CONSTRAINT Trabalha_Em_fk2 FOREIGN KEY (Pnr) REFERENCES Projeto(Projnumero)

33 Exemplo para o esquema exibido Tabela Dependente SQL DDL CREATE TABLE Dependente ( Fcpf CHAR (11), nome_dependente VARCHAR (50) NOT NULL, datanasc DATE NOT NULL, sexo CHAR (1) NOT NULL, parentesco VARCHAR (20) NOT NULL, CONSTRAINT ck_sexo CHECK (sexo IN ( F, M )), CONSTRAINT Dependente_pk PRIMARY KEY (Fcpf,nome_dependente), CONSTRAINT Dependente_fk1 FOREIGN KEY (Fcpf) REFERENCES Funcionario (CPF) ON DELETE CASCADE ON UPDATE CASCADE );

34 Alterando tabelas SQL - DDL Alterar definições de tabelas existentes ALTER TABLE Permite inserir/eliminar/modificar elementos da definição de uma tabela ALTER TABLE <nome da tabela> <ação>;

35 Alterando tabelas Exemplos SQL - DDL Acrescentar coluna na tabela Funcionario ALTER TABLE Funcionario ADD (Diploma VARCHAR(20)); Remover coluna na tabela Funcionario ALTER TABLE Funcionario DROP (Diploma);

36 SQL - DDL Alterando tabelas Acrescentando uma chave primária ALTER TABLE <nome da tabela> ADD PRIMARY KEY (<atributos>); ALTER TABLE <nome da tabela> ADD CONSTRAINT <nome_da_restrição> PRIMARY KEY (<atributos>) Removendo uma chave primária ALTER TABLE <nome da tabela> DROP PRIMARY KEY; ou

37 Alterando tabelas SQL - DDL Acrescentando uma chave estrangeira ALTER TABLE <nome da tabela> ADD FOREIGN KEY (<atributos FK>) REFERENCES <tabela onde está a PK> (<atributos PK>) ALTER TABLE <nome da tabela> ADD CONSTRAINT <nome_da_restrição> FOREIGN KEY (<atributos FK>) REFERENCES <tabela onde está a PK> (<atributos PK>) Removendo uma chave estrangeira ALTER TABLE <nome da tabela> DROP FOREIGN KEY <nome_da_restrição_de_fk> ; ou

38 Alterando tabelas SQL - DDL Adicionando uma restrição qualquer ALTER TABLE <nome da tabela> ADD CONSTRAINT <nome_da_restrição> descrição da restrição Removendo uma restrição qualquer (pk, fk, etc) ALTER TABLE <nome da tabela> DROP CONSTRAINT <nome_da_restrição>;

39 Excluindo tabelas Eliminar uma tabela que foi previamente criada DROP TABLE Exemplo: SQL - DDL DROP TABLE <tabela>; DROP TABLE Funcionario; Observação: Os dados da tabela também são excluídos!

40 SQL DDL Exemplo para o esquema exibido Quando criamos a tabela Funcionario, não foi possível criar as chaves estrangeiras relativas ao departamento e ao supervisor (que também é um funcionário), pois as tabelas ainda não haviam sido criadas, exista uma dependência. Agora podemos usar o comando ALTER TABLE para completar a definição do nosso esquema.

41 SQL DDL Exemplo para o esquema exibido --Inserindo fk para supervisor ALTER TABLE Funcionario ADD CONSTRAINT Funcionario_fk1 FOREIGN KEY (CPF_supervisor) REFERENCES Funcionario (CPF); --Inserindo fk para departamento ALTER TABLE Funcionario ADD CONSTRAINT Funcionario_fk2 FOREIGN KEY (Dnr) REFERENCES Departamento (Dnumero);

42 Data Manipulation Languagem (DML) Linguagem de Manipulação de Dados

43 SQL - DML Inserção de Dados em tabelas Adicionar uma tupla em uma tabela INSERT Se a inserção for realizada em todos os atributos e na ordem em que estão as colunas: INSERT INTO <nome da tabela> VALUES (<lista de valores>); Forma variante, caso queria se especificar explicitamente os atributos: INSERT INTO <nome_tabela> (<lista de atributos>) VALUES (<lista de valores>);

44 Inserção de Dados em tabelas Exemplo: SQL - DML INSERT INTO Departamento (Dnumero, Dnome, CPF_gerente, Data_inicio_gerente) VALUES (1, Recursos Humanos, , );

45 Atualização de Dados em tabelas Com base nos critérios especificados, alterar valores de campos de uma tabela UPDATE UPDATE <nome tabela> SQL - DML SET <nome atributo> = <valor> WHERE <expressão de condição>; Exemplo: Atualizar salário do funcionário 15 para R$2000,00 UPDATE Funcionario SET Salario = WHERE CPF = 15; Se a condição não for especificada, todas as tuplas da tabela são atualizadas. Cuidado!

46 SQL - DML Remoção de Dados em tabelas Com base nos critérios especificados, remover dados de uma tabela DELETE DELETE FROM <tabela> WHERE <expressão de condição>; Exemplo: Remover todos os funcionários com salário superior a R$ 4000,00 e que trabalham no departamento 1. DELETE FROM Funcionario WHERE Salario > AND Dnr = 1 ; Se a condição não for especificada, todas as tuplas da tabela são removidas. Cuidado!

47 Recuperação de Dados (Consultas em SQL)

48 Consultas básicas SQL - Consultas Para consultar dados em uma tabela SELECT Uma consulta em SQL segue o seguinte padrão: SELECT <lista de atributos> FROM <lista de tabelas> [WHERE <condições de seleção>]

49 Projeção - SELECT Selecionando atributos (Projeção) SELECT <lista de atributos> FROM <tabela>; Exemplo: Listar primeiro nome e salário de todos os funcionários. SELECT Pnome, Salario FROM Funcionario;

50 Projeção - SELECT Selecionando todos os atributos SELECT * FROM <tabela>; Exemplo SELECT * FROM Funcionario; Observação: Deve ser usado com cautela pois pode comprometer o desempenho, pois seleciona tudo da tabela.

51 Selecionando tuplas da tabela cláusula WHERE Seleção - WHERE SELECT <lista de atributos> FROM <tabela> WHERE <condição>; Onde <condição> é: <condição> <nome atributo> <operador> <valor> Uma constante, variável ou consulta aninhada

52 Selecionando tuplas da tabela cláusula WHERE Exemplos: Seleção - WHERE Listar nome e sexo dos funcionários do departamento 12 SELECT Pnome, Sexo FROM Funcionario WHERE Dnr = 12; Listar nome e sexo dos empregados do departamento 12 com salário maior que R$ 1.500,00 SELECT Pnome, Sexo FROM Funcionario WHERE Dnr = 12 AND Salario > 1500;

53 Alias Utilizando Alias (Apelidos) Os apelidos substituem nomes de tabelas em comandos SQL Eles são definidos na cláusula FROM SELECT D.Dnome FROM Departamento D WHERE D.DNumero = 10; Alias

54 Consultando dados de várias tabelas: Junção Junção de tabelas Quando precisamos juntar dados de várias tabelas baseados nos valores dos atributos de outra relação. Geralmente utilizamos as chaves estrangeiras para fazer as junções. Operador JOIN As tabelas envolvidas são citadas na cláusula FROM

55 Junção de tabelas Consultando dados de várias tabelas: Junção É boa prática utilizar qualificadores de nomes (a qual tabela o atributo pertence) para evitar ambiguidades, caso tabelas distintas tenham atributos com mesmo nome. Exemplo: suponha que haja o atributo nome tanto em Funcionario quanto em Departamento. Devemos referenciar os nomes de Funcionario e de Departamento para não causar confusão na consulta. Funcionario.Nome Departamento.Nome

56 Exemplos Junção de tabelas Listar o nome do funcionário e do departamento no qual ele está alocado SELECT F.PNome, D.DNome FROM Funcionario F, Departamento D WHERE F.Dnr = D.DNumero; Listar os nomes dos departamentos que tem projetos SELECT D.DNome FROM Departamento D, Projeto P WHERE P.Dnum = D.DNumero;

57 Junção de tabelas Juntando mais de duas tabelas Exemplos Listar o nome dos funcionários, com o respectivo departamento que trabalhem mais de 15 horas em algum projeto SELECT F.PNome, D.DNome FROM Funcionario F, Departamento D, Trabalha_em T WHERE T.Horas > 15 AND T.Fcpf = F.Cpf AND F.Dnr = D.DNumero;

58 Operadores SQL BETWEEN e NOT BETWEEN: substituem o uso dos operadores <= e >=... WHERE <nome atributo> BETWEEN <valor1> AND <valor2>; Exemplo: Listar os nomes dos funcionários com salário entre R$ 1.500,00 e R$ 3.000,00 SELECT PNome FROM Funcionario WHERE Salario BETWEEN 1500 AND 3000;

59 Operadores SQL LIKE e NOT LIKE A cláusula LIKE é responsável por comparar cadeias de caracteres. Operam como = e < >, utilizando os símbolos % (para substituir uma palavra) e _ (para substituir um caractere)...where <nome atributo> LIKE <valor>;

60 Operadores SQL LIKE e NOT LIKE (continuação) Exemplos: SELECT nome FROM Empregado WHERE endereco like %Benfica% Substitui um número qualquer de caracteres SELECT nome FROM Empregado WHERE dt_nascimento like 11 Substitui um único caractere No primeiro exemplo, é recuperado o nome dos empregados que possuem a palavra Benfica em seu endereço. No segundo exemplo, é recuperado o nome dos empregados que nasceram no mês 11 (novembro) O operador NOT pode ser utilizado em conjunto com o LIKE (NOT LIKE), quando se quer recuperar tuplas que contenham a negação da condição de comparação entre as cadeias de caracteres.

61 Operadores SQL IN e NOT IN: procuram dados que estão ou não contidos em um dado conjunto de valores... WHERE <nome atributo> IN <valores>; Exemplo: Listar o nome e a data de nascimento dos dependentes com grau de parentesco M (mãe) ou P (pai). SELECT Nome_dependente, Datanasc FROM Dependente WHERE Parentesco IN ( M, P );

62 Operadores SQL IS NULL e IS NOT NULL : identificam se o atributo tem valor nulo ou não.... WHERE <nome atributo> IS [NOT] NULL; Exemplo: Listar os dados dos projetos que não tenham local definido. SELECT * FROM Projeto WHERE Projlocal IS NULL;

63 A cláusula ORDER BY Ordena os dados selecionados SELECT <lista atributos> FROM <tabela> [WHERE <condição>] ORDER BY <Nome atributo> {ASC DESC}; Exemplo 1: Listar todos os dados dos funcionários ordenados ascendentemente pelo primeiro nome. SELECT * FROM Funcionario ORDER BY PNome; Exemplo 2: Listar todos os dados dos funcionários ordenados descendentemente por salário. SELECT * FROM Funcionario ORDER BY Salario DESC;

64 Outro exemplo: A cláusula ORDER BY

65 A cláusula DISTINCT Elimina valores repetidos do resultado de uma consulta. Exemplo : Quais os diferentes salários dos funcionários? SELECT DISTINCT Salario FROM Funcionario;

66 Realizando cálculo com a Informação Selecionada Pode-se criar um campo que não pertença à tabela a partir de cálculos sobre atributos da tabela obtidas em uma consulta. Uso de operadores aritméticos

67 Realizando cálculo com a Informação Selecionada Exemplo: Mostrar o novo salário dos funcionários calculado com base no reajuste de 60% para os que ganham abaixo de R$ 1.200,00. Renomear SELECT Nome, (Salario * 1.60) AS Novo_salario FROM Empregado WHERE Salario < 1200;

68 Consultas aninhadas (subconsultas) O resultado de uma consulta é utilizado por outra consulta, de forma encadeada e no mesmo comando SQL. O resultado do comando SELECT mais interno (subselect) é usado por outro SELECT mais externo para obter o resultado final. O SELECT mais interno (subconsulta ou consulta aninhada) pode ser usado apenas nas cláusulas e HAVING do comando mais externo ou em cálculos.

69 Consultas aninhadas (subconsultas) Subconsultas devem ser escritas entre parênteses ( ) Existem 3 tipos de subconsultas ESCALAR Retornam um único valor ÚNICA LINHA Retornam várias colunas, mas apenas uma única linha é obtida TABELA Retornam uma ou mais colunas e múltiplas linhas subconsulta

70 Consultas aninhadas (subconsultas) Exemplo 1 Listar os funcionários que trabalham no departamento de Informática SELECT CPF, PNome, Salario FROM Funcionario WHERE Dnr = (SELECT DNumero FROM Departamento WHERE Nome = Informática );

71 Consultas aninhadas (subconsultas) Exemplo 2 Mais de um nível de aninhamento: Listar os dependentes dos funcionários que trabalham no departamento de Informática SELECT PNome, Datanasc, Parentesco FROM Dependente WHERE Fcpf IN ( SELECT CPF FROM Funcionario WHERE Dnr = ( SELECT Dnumero FROM Departamento WHERE Dnome = Informática ) );

72 Cláusulas ANY/SOME A condição de comparação ANY é utilizada para comparar um valor a uma lista ou subconsulta. Ele deve ser precedido por =,!=, >, <, <=, >= e seguido por uma lista ou subconsulta. O SOME e o ANY fazem exatamente a mesma coisa e podemos utilizar qualquer uma das expressões sem distinção. Essas expressões devem ser usadas com subconsultas que produzem uma única coluna de números.

73 Cláusulas ANY/SOME Exemplo 1: Selecione o CPF e o salário dos funcionários que possuem valor maior que R$ 2000 ou R$ 3000 ou R$ SELECT CPF, Salario FROM Funcionario WHERE Salario > ANY (2000, 3000, 4000) ; Exemplo 2: Listar o CPF e o salário dos funcionários cujos salários são maiores do que o salário de pelo menos um funcionário do departamento 20. SELECT CPF, Salario FROM Funcionario WHERE Salario > SOME ( SELECT Salario FROM Funcionario WHERE Dnr = 20) ;

74 Cláusula ALL A condição de comparação ALL é utilizada para comparar um valor a uma lista ou subconsulta. Ela deve ser precedida por =,!=, >, <, <=, >= e seguida por uma lista ou subconsulta. Essa expressão deve ser usada com subconsultas que produzem uma única coluna de números. Exemplo: Listar o CPF e o salário dos funcionários cujos salários são maiores do que o salário de todos os funcionário do departamento 15. SELECT CPF, Salario FROM Funcionario WHERE Salario > ALL (SELECT Salario FROM Funcionario WHERE Dnr = 15) ;

75 Permite especificar múltiplos valores na cláusula WHERE. A cláusula é utilizada para comparar um valor a uma lista ou subconsulta. Procura um subconjunto. Cláusula IN Exemplo: Listar o CPF e o salário dos funcionários que trabalham no departamento 10. SELECT CPF, Salario FROM Funcionario WHERE Dnr IN (SELECT Dnumero FROM Departamento WHERE Dnr = 10) ;

76 Foram projetadas para uso apenas com subconsultas. Sempre que uma condição na cláusula WHERE de uma consulta aninhada referencia algum atributo de uma relação em uma consulta externa, dizemos que essas duas consultas estão correlacionadas. A função do EXISTS é verificar se o resultado de uma consulta aninhada correlacionada é vazio. Mais especificamente, o EXISTS irá recuperar cada tupla da relação da consulta interna que se relaciona com a tupla da consulta externa. NOT EXISTS funciona de maneira semelhante ao EXISTS, sendo a negação. EXISTS Cláusulas EXISTS e NOT EXISTS Retorna TRUE existe pelo menos uma linha produzida pela subconsulta. Retorna FALSE a subconsulta produz uma tabela resultante vazia.

77 Cláusulas EXISTS e NOT EXISTS Exemplo 1: Listar o CPF dos funcionários que possuem algum dependente, ou seja, recuperar os funcionários que se correlacionam com algum dependente. SELECT F.CPF FROM Funcionario F WHERE EXISTS ( SELECT D.* FROM Depentente D WHERE F.CPF = D.Fcpf ) ; Exemplo 2: Listar o CPF dos funcionários que não trabalham no departamento de Informática. SELECT E.CPF FROM Empregado E WHERE NOT EXISTS ( SELECT D.DNumero FROM Departamento D WHERE E.Dnr = D.DNumero AND D.DNome = Informática ) ;

78 Equivalência de Consultas Algumas consultas com comandos distintos podem recuperar um mesmo conjunto de tuplas. Dizemos que tais consultas são equivalentes. Exemplo: Recupere o CPF dos funcionários que trabalham no departamento financeiro. As consultas abaixo são equivalentes. SELECT E.CPF FROM Departamento D, Empregado E WHERE E.Dnr = D.DNumero AND D.DNome = Financeiro ; SELECT E.CPF FROM Empregado E WHERE E.Dnr IN ( SELECT D.DNumero FROM Departamento D, Empregado E WHERE E.Dnr = D.DNumero AND D.DNome = Financeiro ) ;

79 Regras Genéricas de Subconsultas Algumas consultas com comandos distintos podem recuperar um mesmo conjunto de tuplas. Dizemos que tais consultas são equivalentes. A cláusula ORDER BY não pode ser usada em uma subconsulta A lista de atributos especificados no SELECT de uma subconsulta deve conter um único elemento (exceto para EXISTS) Nomes de atributos especificados na subconsulta estão associados às tabelas listadas na cláusula FROM da mesma É possível referir-se a uma tabela da cláusula FROM da consulta mais externa utilizando qualificadores de atributos (referância com alias ). Quando a subconsulta é um dos operandos envolvidos em uma comparação, ela deve aparecer no lado direito da comparação.

80 Funções de Agregação Utilização de funções sobre conjuntos Disparadas a partir do SELECT São funções que resumem as informações de várias tuplas em uma única tupla. O SQL provê cinco funções de agregação que podem ser utilizadas em consultas.

81 Funções de Agregação MAX : Retorna o valor máximo entre o conjunto de valores de uma coluna em uma relação. MIN : Retorna o valor mínimo entre o conjunto de valores de uma coluna em uma relação. SUM: Retorna a soma dos valores de uma coluna em uma relação. COUNT: Retorna o número de tuplas de uma relação. AVG: Retorna a média aritmética dos valores de uma coluna em uma relação.

82 Exemplo 1: Selecione o maior valor de salário entre os funcionários do departamento financeiro. Exemplo 2: Funções de Agregação SELECT MAX(F.Salario) FROM Funcionario F, Departamento D WHERE D.Dnumero = F.Dnr AND Dnome = Financeiro Selecione o menor valor de salário entre os funcionários do departamento financeiro. SELECT MIN(F.Salario) FROM Funcionario F, Departamento D WHERE D.Dnumero = F.Dnr AND Dnome = Financeiro

83 Exemplo 3: Quanto funcionários do departamento financeiro ganham mais de R$ 2000? Exemplo 4: Funções de Agregação SELECT COUNT(F.*) FROM Funcionario F, Departamento D WHERE D.Dnumero = F.Dnr AND Dnome = Financeiro AND F.Salario > 2000 Retorne o valor da soma de todos os salários dos funcionários do departamento financeiro. SELECT SUM(F.Salario) FROM Funcionario F, Departamento D WHERE D.Dnumero = F.Dnr AND Dnome = Financeiro

84 Exemplo 5: Funções de Agregação Retorne a média dos salários dos funcionários do departamento financeiro. SELECT AVG(F.Salario) FROM Funcionario F, Departamento D WHERE D.Dnumero = F.Dnr AND Dnome = Financeiro

85 Funções de Agregação Funções agregadas podem estar em consultas aninhadas. Exemplo: Mostrar o valor do maior salário dos funcionários e o nome do funcionário que o recebe. SELECT PNome, Salario FROM Funcionario WHERE Salario IN (SELECT MAX (Salario) FROM Funcionario); Consulta aninhada

86 Agrupamento: GROUP BY e HAVING Em alguns casos, podemos querer aplicar as funções de agregação a subgrupos de tuplas de uma relação, de forma que os subgrupos sejam baseados em alguns valores de atributo. Por exemplo: Qual salário médio dos funcionários em cada departamento? Qual é o número de funcionários que trabalha em cada projeto? Nesses casos, precisamos particionar a relação em subconjuntos ou grupos de tuplas que possuem o mesmo valor para determinados atributos, que são chamados de atributos agrupamento. Assim, podemos aplicar as funções de agregação a cada grupo separadamente.

87 A Cláusula GROUP BY A cláusula GROUP BY tem a finalidade de agrupar tuplas especificando os atributos de agrupamento. Esses atributos também devem aparecer na cláusula SELECT. Somente as funções de agregação podem aparecer no SELECT e não aparecerem no GROUP BY. Exemplo 1: Quantos funcionário do sexo masculino e do sexo feminino trabalham na empresa? SELECT Sexo, Count(*) FROM Funcionario GROUP BY Sexo; Atributos do GROUP BY devem aparecer no SELECT Exceção: Funções agregadas

88 A Cláusula GROUP BY Resultado do Exemplo 1: Sexo Count(*) F 63 M 75 Exemplo 2: Para cada departamento, recuperar o número do departamento, o número de funcionários no departamento e o salário médio no departamento. SELECT Dnr, Count(*), AVG (Salario) FROM Funcionario GROUP BY Dnr;

89 Para o Exemplo 2: A Cláusula GROUP BY As tuplas da tabela Funcionario são divididas em grupos: um grupo correspondente a cada departamento (cada valor de Dnr). As funções COUNT e AVG são aplicadas a cada grupo de tuplas. Observe que a cláusula SELECT contém apenas o atributo de agrupamento e as funções de agregação a serem aplicadas nos grupos. Resultado da consulta Agrupamento das tuplas pelo Dnr

90 A Cláusula GROUP BY Se houver valores nulos no atributo de agrupamento (funcionário sem departamento), é criado um grupo separado para todas as tuplas com valor NULL no atributo de agrupamento. Exemplo 3: Para cada projeto, recuperar o número do projeto, o nome do projeto e o número de funcionário que trabalham nesse projeto. SELECT Projnumero, Projnome, Count(*) FROM Projeto, Trabalham_em WHERE Projnumero = Pnr GROUP BY Projnumero, Projnome;

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

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

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

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

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

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

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

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

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

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

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Linguagem de Definição de Dados Banco de Dados SQL Structured Query Language Uma das mais importantes linguagens relacionais (se não a mais importante) Exemplos de SGBD que utilizam SQL Oracle Informix

Leia mais

SQL - Criação de Tabelas

SQL - Criação de Tabelas SQL - Criação de Tabelas André Restivo Faculdade de Engenharia da Universidade do Porto February 24, 2012 André Restivo (FEUP) SQL - Criação de Tabelas February 24, 2012 1 / 25 Sumário 1 Introdução 2 Tabelas

Leia mais

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

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

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

Modelo de Dados Relacional Restrições de um Banco de Dados Relacional

Modelo de Dados Relacional Restrições de um Banco de Dados Relacional Modelo de Dados Relacional e as Restrições de um Banco de Dados Relacional Modelo de Dados Relacional Conceitos do Modelo Relacional Representa o banco de dados como uma coleção de relações. Comparação

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

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 - Banco de Dados. Disciplina: Banco de Dados. Professor: José Antônio. José Antônio - CEFET-RN 23/09/2015

SQL - Banco de Dados. Disciplina: Banco de Dados. Professor: José Antônio. José Antônio - CEFET-RN 23/09/2015 SQL - Banco de Dados 1 Disciplina: Banco de Dados Professor: José Antônio 2 Tópicos de discussão Criando um banco de dados Incluindo, atualizando e excluindo linhas nas tabelas Pesquisa básica em tabelas

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

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

Structured Query Language (SQL) Ambiente Simplificado de um SGBD

Structured Query Language (SQL) Ambiente Simplificado de um SGBD Structured Query Language (SQL) Ambiente Simplificado de um SGBD 2 1 Características dos SGBDs Natureza auto-contida de um sistema de banco de dados: metadados armazenados num catálogo ou dicionário de

Leia mais

2008.1 SQL. Autor: Renata Viegas

2008.1 SQL. Autor: Renata Viegas SQL Autor: Renata Viegas A linguagem SQL SQL - Structured Query Language. Foi definida nos laboratórios de pesquisa da IBM em San Jose, California, em 1974. Teve seus fundamentos no modelo relacional Sua

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

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

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

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

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

2008.1. A linguagem SQL

2008.1. A linguagem SQL SQL 2008.1 A linguagem SQL SQL - Structured Query Language. Foi definida nos laboratórios de pesquisa da IBM em San Jose, California, em 1974. Teve seus fundamentos no modelo relacional Sua primeira versão

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

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

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

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

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

Comandos DDL. id_modulo = id_m odulo

Comandos DDL. id_modulo = id_m odulo Comandos DDL Estudo de Caso Controle Acadêmico Simplificado Uma escola contém vários cursos, onde cada aluno possui uma matricula num determinado curso. Estes cursos, por sua vez, possuem módulos, aos

Leia mais

Núcleo de Pós Graduação Pitágoras

Núcleo de Pós Graduação Pitágoras Núcleo de Pós Graduação Pitágoras Professor: Fernando Zaidan Disciplina: Modelagem e Projeto de Banco de Dados Especialização em Tecnologia da Informação - Ênfases Março- 2009 1 Modelo Físico Introdução

Leia mais

ADMINISTRAÇÃO DE BANCO DE DADOS

ADMINISTRAÇÃO DE BANCO DE DADOS ADMINISTRAÇÃO DE BANCO DE DADOS ARTEFATO 02 AT02 Diversos I 1 Indice ESQUEMAS NO BANCO DE DADOS... 3 CRIANDO SCHEMA... 3 CRIANDO TABELA EM DETERMINADO ESQUEMA... 4 NOÇÕES BÁSICAS SOBRE CRIAÇÃO E MODIFICAÇÃO

Leia mais

Fundamentos do Sistema Gerenciador de Banco de Dados

Fundamentos do Sistema Gerenciador de Banco de Dados Fundamentos do Sistema Gerenciador de Banco de Dados Cláudio Luís V. Oliveira Janeiro de 2010 Definição "Um sistema cujo objetivo principal é gerenciar o acesso, a correta manutenção e a integridade dos

Leia mais

Structured Query Language (SQL) Aula Prática

Structured Query Language (SQL) Aula Prática Structured Query Language (SQL) Aula Prática Linguagens de SGBD Durante o desenvolvimento do sistema R, pesquisadores da IBM desenvolveram a linguagem SEQUEL, primeira linguagem de acesso para Sistemas

Leia mais

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Programação com acesso a BD. 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 Linguagem SQL: Introdução; Construção/Definição de tabelas. 2 Linguagem SQL SQL - Structured Query Language;

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

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

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 DDL Criando Tabelas e Restrições Instituto Militar de Engenharia IME Material extraido parcialmente de notas de aula de Maria Luiza Campos e Arnaldo Vieira Comandos de Definição de Dados Aplicação

Leia mais

Linguagem SQL Sub-linguagem DDL

Linguagem SQL Sub-linguagem DDL Linguagem SQL Sub-linguagem DDL 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 Language para suas

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

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

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

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 INTRODUÇÃO AO SQL Ferramentas brmodelo Ferramenta Case PostgreSQL versão 8 ou superior SGBD Em 1986 o American

Leia mais

Capitulo 2. Prof.º Espc. Fábio Margarito Martins de Barros - Tecnologia de banco de dados

Capitulo 2. Prof.º Espc. Fábio Margarito Martins de Barros - Tecnologia de banco de dados Capitulo 2 1. MODELO LÓGICO DE BANCO DE DADOS... 2 1.1 Definição... 2 1.2 Mapeando o modelo conceitual para o modelo lógico... 2 1.2 Dicionário de dados... 3 2. MODELO FÍSICO DO BANCO DE DADOS... 4 2.1

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

Á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

Banco de Dados. Prof. Antonio

Banco de Dados. Prof. Antonio Banco de Dados Prof. Antonio SQL - Structured Query Language O que é SQL? A linguagem SQL (Structure query Language - Linguagem de Consulta Estruturada) é a linguagem padrão ANSI (American National Standards

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

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

Linguagem de Consulta - SQL

Linguagem de Consulta - SQL SQL Structured Query Language Linguagem de Consulta Estruturada; Originou-se da linguagem SEQUEL (1974); Revisada e chamada de SQL em 1976/77; Em 1986, padronizada pelo ANSI/ISO - chamada SQL-86; Em 1987

Leia mais

Banco de dados 1. Linguagem SQL DDL e DML. Professor: Victor Hugo L. Lopes

Banco de dados 1. Linguagem SQL DDL e DML. Professor: Victor Hugo L. Lopes Banco de dados 1 Linguagem SQL DDL e DML Professor: Victor Hugo L. Lopes Agenda: Introdução à linguagem de dados; DDL; DML; CRUD; Introdução à linguagem SQL. 2 Por que precisamos da linguagem SQL? A algebra

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

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

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

Introdução à Engenharia da Computação. Banco de Dados Professor Machado

Introdução à Engenharia da Computação. Banco de Dados Professor Machado Introdução à Engenharia da Computação Banco de Dados Professor Machado 1 Sistemas isolados Produção Vendas Compras Banco de Dados Produtos... Banco de Dados Produtos... Banco de Dados Produtos... Desvantagens:

Leia mais

18/08/2008. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan

18/08/2008. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan Faculdade INED Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan 1 Unidade 2 Introdução a SQL 2 2 Introdução à SQL 2.1 Conceitos

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 A Linguagem SQL As raízes da linguagem SQL remontam a 1974, altura em que a IBM desenvolvia

Leia mais

SQL Linguagem de Definição de Dados. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

SQL Linguagem de Definição de Dados. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Linguagem de Definição de Dados SQL Structured Query Language Uma das mais importantes linguagens relacionais (se não a mais importante) Exemplos de SGBD que utilizam SQL Oracle Informix Ingress 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

Exercícios de Lógica Exercícios de Fixação 08

Exercícios de Lógica Exercícios de Fixação 08 Exercícios Exercícios de Lógica Exercícios de Fixação 08 1. A linguagem SQL apresenta uma série de comandos que permitem a definição dos dados, chamada de DDL (Data Definition Language). Assinale a alternativa

Leia mais

LINGUAGEM SQL. SQL Server 2008 Comandos iniciais

LINGUAGEM SQL. SQL Server 2008 Comandos iniciais 1 LINGUAGEM SQL SQL Server 2008 Comandos iniciais SQL - STRUCTURED QUERY LANGUAGE Quando os Bancos de Dados Relacionais estavam sendo desenvolvidos, foram criadas linguagens destinadas à sua manipulação.

Leia mais

SQL Structured Query Language. SQL Linguagem de Definição de Dados. SQL Structured Query Language. SQL Structured Query Language

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

Leia mais

Introdução a SQL. Prof. Anderson Cavalcanti UFRN-CT-DCA

Introdução a SQL. Prof. Anderson Cavalcanti UFRN-CT-DCA Introdução a SQL Prof. Anderson Cavalcanti UFRN-CT-DCA Características da Structured Query Language -SQL Características da SQL SQL é uma linguagem de pesquisa declarativa para banco de dados relacional.

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

ROTEIRO. A Linguagem SQL (I parte) CEFET.PHB - PI Prof. Jefferson Silva. As partes da linguagem SQL. A Linguagem de Definição de Dados (SQL-DDL)

ROTEIRO. A Linguagem SQL (I parte) CEFET.PHB - PI Prof. Jefferson Silva. As partes da linguagem SQL. A Linguagem de Definição de Dados (SQL-DDL) CEFET.PHB - PI Prof. Jefferson Silva SQL (MySql) ROTEIRO I PARTE - INTRODUÇÃO AO SQL COMANDOS E SUAS PARTES DA LINGUAGEM SQL II PARTE ADMINSTRAÇÃO DE BANCO DE DADOS UTILIZANDO MYSQL PRINCIPAIS INSTRUÇÕES

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

BANCO DE DADOS CONCEITOS BÁSICOS

BANCO DE DADOS CONCEITOS BÁSICOS Universidade Federal da Paraíba UFPB Centro de Energias Alternativas e Renováveis - CEAR Departamento de Eng. Elétrica DEE BANCO DE DADOS CONCEITOS BÁSICOS Isaac Maia Pessoa Introdução O que é um BD? Operações

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

SQL SQL BANCO DE DADOS 2. Componentes do SQL (1) Componentes do SQL (2) DDL Criação de banco de dados. Padrões de SQL

SQL SQL BANCO DE DADOS 2. Componentes do SQL (1) Componentes do SQL (2) DDL Criação de banco de dados. Padrões de SQL BANCO DE DADOS 2 SQL (CREATE TABLE, CONSTRAINTS, DELETE, UPDATE e INSERT) Prof. Edson Thizon SQL SQL ( structured query language ) é uma linguagem comercial de definição e manipulação de banco de dados

Leia mais

Introdução ao SQL. O que é SQL?

Introdução ao SQL. O que é SQL? Introdução ao SQL 1 O que é SQL? Inicialmente chamada de Sequel, SQL (Structured Query Language), é a linguagem padrão utilizada para comunicar-se com um banco de dados relacional. A versão original foi

Leia mais

SQL. Hélder Antero Amaral Nunes

SQL. Hélder Antero Amaral Nunes SQL Hélder Antero Amaral Nunes 2 Introdução Desenvolvida pelo departamento 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

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

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

O que são Bancos de Dados?

O que são Bancos de Dados? SQL Básico Liojes de Oliveira Carneiro professor.liojes@gmail.com www.professor-liojes.blogspot.com O que são Bancos de Dados? É o software que armazena, organiza, controla, trata e distribui os dados

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

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

SQL. Structured Query Language. Copyright 2003 2014 Prof. Edison Andrade Martins Morais http://www.edison.eti.br prof@edison.eti.

SQL. Structured Query Language. Copyright 2003 2014 Prof. Edison Andrade Martins Morais http://www.edison.eti.br prof@edison.eti. SQL Structured Query Language Copyright 2003 2014 Prof. Edison Andrade Martins Morais http://www.edison.eti.br prof@edison.eti.br Sumário 1.CREATE TABLE... 5 1.1. Sintaxe... 5 1.2. A instrução CREATE TABLE

Leia mais

Programação SQL. Introdução

Programação SQL. Introdução Introdução Principais estruturas duma Base de Dados: Uma BD relacional é constituída por diversas estruturas (ou objectos ) de informação. Podemos destacar: Database: designa a própria BD; Table/Tabela:

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

1. Domínio dos Atributos

1. Domínio dos Atributos Structure Query Language SQL Guilherme Pontes lf.pontes.sites.uol.com.br 1. Domínio dos Atributos Por domínio, ou tipo, pode-se entender como a maneira como determinado atributo (ou campo, se tratando

Leia mais

Banco de Dados. Módulo 7 - Modelo Relacional. Definição do Esquema Relacional em SQL. modulo07.prz 1 10/09/01

Banco de Dados. Módulo 7 - Modelo Relacional. Definição do Esquema Relacional em SQL. modulo07.prz 1 10/09/01 Banco de Dados Módulo 7 - Modelo Relacional Definição do Esquema Relacional em SQL modulo07.prz 1 10/09/01 Introdução SQL linguagem padrão para SGBDs relacionais derivada do SEQUEL (Structured English

Leia mais

Esta aula tem o objetivo de nos orientar durante este período em nossas aulas de Banco de Dados, não tem a pretensão de ser a única fonte de

Esta aula tem o objetivo de nos orientar durante este período em nossas aulas de Banco de Dados, não tem a pretensão de ser a única fonte de BD Esta aula tem o objetivo de nos orientar durante este período em nossas aulas de Banco de Dados, não tem a pretensão de ser a única fonte de informação para nosso êxito no curso. A intenção de elaborar

Leia mais

Descrição Tinyint[(M)] Inteiro pequeno. Varia de 128 até +127

Descrição Tinyint[(M)] Inteiro pequeno. Varia de 128 até +127 Disciplina: Tópicos Especiais em TI PHP Este material foi produzido com base nos livros e documentos citados abaixo, que possuem direitos autorais sobre o conteúdo. Favor adquiri-los para dar continuidade

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

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

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

AULA 2 INTERAÇÃO COM O BANCO DE DADOS AULA 2 INTERAÇÃO COM O BANCO DE DADOS BANCO DE DADOS POSTGRESQL O PostgreSQL é um sistema gerenciador de banco de dados dos mais robustos e avançados do mundo. Seu código é aberto e é totalmente gratuito,

Leia mais

SQL. Histórico BANCO DE DADOS. Conceito. Padrões de SQL (1) Componentes do SQL (1) Padrões de SQL (2) (DDL: CREATE TABLE, CONSTRAINTS)

SQL. Histórico BANCO DE DADOS. Conceito. Padrões de SQL (1) Componentes do SQL (1) Padrões de SQL (2) (DDL: CREATE TABLE, CONSTRAINTS) BANCO DE DADOS SQL (DDL: CREATE TABLE, CONSTRAINTS) Prof. Edson Thizon Histórico Entre 1974 e 1979, o San José Research Laboratory da IBM desenvolveu um SGDB relacional que ficou conhecido como Sistema

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

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

Operação de União JOIN

Operação de União JOIN Operação de União JOIN Professor Victor Sotero SGD 1 JOIN O join é uma operação de multi-tabelas Select: o nome da coluna deve ser precedido pelo nome da tabela, se mais de uma coluna na tabela especificada

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

Roteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos

Roteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos Roteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos Objetivos: Criar restrições para atributos, chaves primárias e estrangeiras; Explorar consultas SQL com uso de

Leia mais

INTRODUÇÃO À LINGUAGEM SQL CRIAÇÃO DE BANCO DE DADOS E OTIMIZAÇÃO DE CONSULTAS

INTRODUÇÃO À LINGUAGEM SQL CRIAÇÃO DE BANCO DE DADOS E OTIMIZAÇÃO DE CONSULTAS Esclarecimento Licenciamento de Uso Este documento é propriedade intelectual 2012 da NRSYSTEM COMÉRCIO E SERVIÇOS DE INFORMÁTICA LTDA-ME, consiste de uma compilação de diversos materiais entre livros,

Leia mais