0% acharam este documento útil (0 voto)
118 visualizações

Structured Query Language, Ou Linguagem de Consulta Estruturada Ou SQL, É A Linguagem de Pesquisa Declarativa

O documento resume a linguagem SQL, usada para consultar e manipular dados em bancos de dados relacionais. SQL foi desenvolvida na década de 1970 e se tornou um padrão para bancos de dados. Ela permite realizar operações como consultas, inserções, alterações e exclusões de dados de forma declarativa.

Enviado por

NopeNope
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
118 visualizações

Structured Query Language, Ou Linguagem de Consulta Estruturada Ou SQL, É A Linguagem de Pesquisa Declarativa

O documento resume a linguagem SQL, usada para consultar e manipular dados em bancos de dados relacionais. SQL foi desenvolvida na década de 1970 e se tornou um padrão para bancos de dados. Ela permite realizar operações como consultas, inserções, alterações e exclusões de dados de forma declarativa.

Enviado por

NopeNope
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 8

SQL

Origem: Wikipédia, a enciclopédia livre.

Structured Query Language, ou Linguagem de Consulta


Estruturada ou SQL, é a linguagem de pesquisa declarativa SQL (Structured Query
padrão para banco de dados relacional (base de dados Language)
relacional). Muitas das características originais do SQL foram
inspiradas na álgebra relacional.

O SQL foi desenvolvido originalmente no início dos anos 70


nos laboratórios da IBM em San Jose, dentro do projeto System
R, que tinha por objetivo demonstrar a viabilidade da
implementação do modelo relacional proposto por E. F. Codd.
O nome original da linguagem era SEQUEL, acrônimo para Imagem de acesso a um banco de dados
"Structured English Query Language" (Linguagem de Consulta SQL
Estruturada, em Inglês),[1] vindo daí o facto de, até hoje, a sigla, Paradigma Declarativa
em inglês, ser comumente pronunciada "síquel" ao invés de Surgido em 1974
"és-kiú-él", letra a letra. No entanto, em português, a pronúncia
Última SQL:2016 (2016)
mais corrente é letra a letra: "ésse-quê-éle". versão
A linguagem é um grande padrão de banco de dados. Isto Criado por Donald D. Chamberlin
Raymond F. Boyce
decorre da sua simplicidade e facilidade de uso. Ela se
diferencia de outras linguagens de consulta a banco de dados no Estilo de Forte, estática
sentido em que uma consulta SQL especifica a forma do tipagem
resultado e não o caminho para chegar a ele. Ela é uma Dialetos: SQL-86, SQL-89, SQL-92,
linguagem declarativa em oposição a outras linguagens SQL:1999, SQL:2003,
SQL:2008, SQL:2016
procedurais. Isto reduz o ciclo de aprendizado daqueles que se
iniciam na linguagem. Influenciada Datalog
por
Embora o SQL tenha sido originalmente criado pela IBM, Influenciou Agena, CQL,LINQ,
rapidamente surgiram vários "dialetos" desenvolvidos por Windows PowerShell
outros produtores. Essa expansão levou à necessidade de ser
criado e adaptado um padrão para a linguagem. Esta tarefa foi realizada pela American National Standards
Institute (ANSI) em 1986 e ISO em 1987.

O SQL foi revisto em 1992 e a esta versão foi dado o nome de SQL-92. Foi revisto novamente em 1999 e
2003 para se tornar SQL:1999 (SQL3) e SQL:2003, respectivamente. O SQL:1999 usa expressões regulares
de emparelhamento, queries recursivas e gatilhos (triggers). Também foi feita uma adição controversa de tipos
não-escalados e algumas características de orientação a objeto. O SQL:2003 introduz características
relacionadas ao XML, sequências padronizadas e colunas com valores de auto-generalização (inclusive
colunas-identidade).

Tal como dito anteriormente, embora padronizado pela ANSI e ISO, possui muitas variações e extensões
produzidos pelos diferentes fabricantes de sistemas gerenciadores de bases de dados. Tipicamente a linguagem
pode ser migrada de plataforma para plataforma sem mudanças estruturais principais.

Outra aproximação é permitir para código de idioma procedural ser embutido e interagir com o banco de
dados. Por exemplo, o Oracle e outros incluem Java na base de dados, enquanto o PostgreSQL permite que
funções sejam escritas em Perl, Tcl, ou C, entre outras linguagens.
Índice
Exemplo 1
Exemplo 2
Subconjuntos do SQL
DML - Linguagem de Manipulação de Dados
DDL - Linguagem de Definição de Dados
DCL - Linguagem de Controle de Dados
DTL - Linguagem de Transação de Dados
DQL - Linguagem de Consulta de Dados
Palavras-chave em SQL
Cláusulas
Operadores Lógicos
Operadores relacionais
Funções de Agregação
Sistemas de Banco de Dados que usam SQL
Referências
Bibliografia
Ligações externas

Exemplo 1
A pesquisa SELECT * FROM T, no exemplo da Tabela 'T' Consulta Resultado
tabela à direita acima, terá como resultado todos os C1 C2 Select * from T; C1 C2
elementos de todas as linhas da tabela chamada T. 1 a 1 a
Partindo da mesma tabela T, a pesquisa SELECT
2 b 2 b
C1 FROM T terá como resultado todos os
elementos da coluna C1 da tabela T. O resultado da C1 C2 Select C1 from T; C1
pesquisa SELECT * FROM T WHERE C1=1 1 a 1
será todos os elementos de todas as linhas onde o
2 b 2
valor de coluna C1 é '1'.
C1 C2 Select * from T where C1=1; C1 C2
1 a 1 a
Exemplo 2 2 b

Exemplo básico de verificação se tabela existe em SQL:

IF (EXISTS (SELECT *
FROM INFORMACAO.TABELA
WHERE ESQUEMA_TABELA = 'Esquema da Tabela'
AND NOME_TABELA = 'Nome da Tabela'))
BEGIN
--Faça a rotina SQL aqui...
END

Subconjuntos do SQL
A linguagem SQL é dividida em subconjuntos de acordo com as operações que queremos efetuar sobre um
banco de dados, tais como:

DML - Linguagem de Manipulação de Dados

O primeiro grupo é a DML (Data Manipulation Language - Linguagem de manipulação de dados). DML é um
subconjunto da linguagem SQL que é utilizado para realizar inclusões, consultas, alterações e exclusões de
dados presentes em registros. Estas tarefas podem ser executadas em vários registros de diversas tabelas ao
mesmo tempo. Os comandos que realizam respectivamente as funções acima referidas são INSERT, UPDATE
e DELETE.

comandos
função descrição do comando exemplo
SQL
é usada para inserir um registro INSERT INTO Pessoa (id, nome,
inclusões INSERT (formalmente uma tupla) a uma tabela
sexo) VALUE;
existente.
para mudar os valores de dados em uma ou UPDATE Pessoa SET data_nascimento =
alterações UPDATE
mais linhas da tabela existente. '11/09/1985' WHERE id_pessoa = 7;
permite remover linhas existentes de uma DELETE FROM pessoa WHERE
exclusões DELETE
tabela. id_pessoa = 7;

É possível inserir dados na tabela Area usando o INSERT INTO:

INSERT INTO Area (arecod, aredes) VALUES (100, "Informática"), (200,


"Turismo"), (300, "Higiene e Beleza");

DDL - Linguagem de Definição de Dados

O segundo grupo é a DDL (Data Definition Language - Linguagem de Definição de Dados). Uma DDL
permite ao utilizador definir tabelas novas e elementos associados. A maioria dos bancos de dados de SQL
comerciais tem extensões proprietárias no DDL.

Os comandos básicos da DDL são poucos:

CREATE: cria um objeto (uma tabela, por exemplo) dentro da base de dados.
DROP: apaga um objeto do banco de dados.

Alguns sistemas de banco de dados usam o comando ALTER, que permite ao usuário alterar um objeto, por
exemplo, adicionando uma coluna a uma tabela existente.

Outros comandos DDL:

CREATE TABLE
CREATE INDEX
CREATE VIEW
ALTER TABLE
ALTER INDEX
DROP INDEX
DROP VIEW
DCL - Linguagem de Controle de Dados

O terceiro grupo é o DCL (Data Control Language - Linguagem de Controle de Dados). DCL controla os
aspectos de autorização de dados e licenças de usuários para controlar quem tem acesso para ver ou manipular
dados dentro do banco de dados.

Duas palavras-chaves da DCL:

GRANT - autoriza ao usuário executar ou setar operações.

REVOKE - remove ou restringe a capacidade de um usuário de executar operações.

DTL - Linguagem de Transação de Dados


BEGIN WORK - (ou BEGIN TRANSACTION, dependendo do dialeto SQL) - pode ser usado
para marcar o começo de uma transação de banco de dados que pode ser completada ou não.

COMMIT - finaliza uma transação dentro de um sistema de gerenciamento de banco de


dados.
ROLLBACK - faz com que as mudanças nos dados existentes desde o último COMMIT ou
ROLLBACK sejam descartadas.

COMMIT e ROLLBACK interagem com áreas de controle como transação e locação. Ambos terminam
qualquer transação aberta e liberam qualquer cadeado ligado a dados. Na ausência de um BEGIN WORK ou
uma declaração semelhante, a semântica de SQL é dependente da implementação.

DQL - Linguagem de Consulta de Dados

Embora tenha apenas um comando, a DQL é a parte da SQL mais utilizada. O comando SELECT permite ao
usuário especificar uma consulta ("query") como uma descrição do resultado desejado. Esse comando é
composto de várias cláusulas e opções, possibilitando elaborar consultas das mais simples às mais elaboradas.

Descrição do
Função Comandos SQL Exemplo
comando

O Select é o principal
comando usado em SQL Select * From
consultas SELECT para realizar consultas a
Pessoa;
dados pertencentes a uma
tabela.

Palavras-chave em SQL

Cláusulas

As cláusulas são condições de modificação utilizadas para definir os dados que deseja selecionar ou modificar
em uma consulta:

FROM – Utilizada para especificar a tabela, que se vai selecionar os registros.


WHERE – Utilizada para especificar as condições que devem reunir os registros que serão
selecionados.
GROUP BY – Utilizada para separar os registros selecionados em grupos específicos.
HAVING – Utilizada para expressar a condição que deve satisfazer cada grupo.
ORDER BY – Utilizada para ordenar os registros selecionados com uma ordem especifica.
DISTINCT – Utilizada para selecionar dados sem repetição.
UNION – combina os resultados de duas consultas SQL em uma única tabela para todas as
linhas correspondentes.

Operadores Lógicos
AND – E lógico. Avalia as condições e devolve um valor verdadeiro caso ambos sejam
corretos.
OR – OU lógico. Avalia as condições e devolve um valor verdadeiro se algum for correto.
NOT – Negação lógica. Devolve o valor contrário da expressão.

Operadores relacionais

O SQL possui operadores relacionais, que são usados para realizar comparações entre valores, em estruturas de
controle.
Operador Descrição Exemplos

SELECT * FROM
Seleciona todos os registros na "tabela" que possuem o
< Menor informacao.tabela WHERE
idade < 18; campo "idade" com valores menores que 18.

SELECT * FROM
Seleciona todos os registros na "tabela" que possuem o
> Maior informacao.tabela WHERE
idade > 18; campo "idade" com valores maiores que 18.

SELECT * FROM
Menor ou Seleciona todos os registros na "tabela" que possuem o
<= informacao.tabela WHERE
igual idade <= 18; campo "idade" com valores menores ou iguais à 18.

SELECT * FROM
Maior ou Seleciona todos os registros na "tabela" que possuem o
>= informacao.tabela WHERE
igual idade >= 18; campo "idade" com valores maiores ou iguais à 18.

SELECT * FROM
Seleciona todos os registros na "tabela" que possuem o
= Igual informacao.tabela WHERE
idade = 18; campo "idade" com valores exatamente iguais à 18.

SELECT * FROM
Seleciona todos os registros na "tabela" que possuem o
<> Diferente informacao.tabela WHERE
idade <> 18; campo "idade" com valores que são diferentes de 18.

BETWEEN – Utilizado para especificar valores dentro de um intervalo fechado.


LIKE – Utilizado na comparação de um modelo e para especificar registros de um banco de
dados. "Like" + extensão % significa buscar todos resultados com o mesmo início da extensão.
IN - Utilizado para verificar se o valor procurado está dentro de um« »a lista. Ex.: valor IN
(1,2,3,4).

Funções de Agregação

As funções de agregação, como os exemplos abaixo, são usadas dentro de uma cláusula SELECT em grupos
de registros para devolver um único valor que se aplica a um grupo de registros:

AVG – Utilizada para calcular a média dos valores de um campo determinado.


COUNT – Utilizada para devolver o número de registros da seleção.
SUM – Utilizada para devolver a soma de todos os valores de um campo determinado.
MAX – Utilizada para devolver o valor mais alto de um campo especificado.
MIN – Utilizada para devolver o valor mais baixo de um campo especificado.
STDDEV - Utilizada para funções estatísticas de desvio padrão
VARIANCE - Utilizada para funções estatísticas de variância
Sistemas de Banco de Dados que usam SQL
Sybase Advantage Database Server (https:// InterBase
web.archive.org/web/20101008045513/htt Microsoft Access
p://www.sybase.com.br/products/databasem Microsoft SQL Server
anagement/advantagedatabaseserver) MySQL
Apache Derby Oracle
Caché PointBase Micro (banco de dados relacional
DB2 implementado em Java)
Dataflex [2] PostgreSQL
Firebird SQLite
HSQLDB (banco de dados implementado LiteBase Mobile (dedicado à plataformas
em Java) móveis como: Palm OS, Pocket PC, WinCE,
IDMS (banco de dados hierárquico) Symbian)
IMS (banco de dados hierárquico) Sybase Adaptive Server Enterprise
Informix Teradata (primeiro RDBMS com arquitetura
paralela do mercado)
Ingres

Referências
1. Chamberlin, D. D., Astrahan, M. M., Blasgen, M. W., Gray, J. N., King, W. F., Lindsay, B. G.,
Lorie, R., Mehl, J. W., Price, T. G., Putzolu, F., Selinger, P. G., Schkolnick, M., Slutz, D. R.,
Traiger, I. L., Wade, B. W., and Yost, R. A. 1981. A history and evaluation of System R. Commun.
ACM 24, 10 (Oct. 1981), 632-646. http://doi.acm.org/10.1145/358769.358784
2. DataFlex SQL Connectivity Kits.
https://www.dataaccess.com.br/produtos/dataflex/características/sql-connectivity-details-1107

Bibliografia
Navathe, S. B. and Elmasri, R. - Sistemas de Banco de Dados – Fundamentos e Aplicações,
Editora LTC, ano 2002.
Ramalho, José Antonio Alves, Transact-SQL Guia de Referência, Série Ramalho, Editora
Berkeley, ano 2001.

Ligações externas
«Padrão SQL 2003» (http://www.acm.org/sigmod/record/issues/0403/index.html#standards)
(em inglês)
O que é SQL? (https://www.alura.com.br/artigos/o-que-e-sql) (em português)
SQL tutorial (http://sqlwoz.com)
«Jupitermedia Corporation's online SQL tutorial» (http://sqlcourse.com/). (em inglês)
«A Gentle Introduction to SQL by Andrew Cumming» (http://sqlzoo.net/) (em inglês)
«Database Debunking» (http://www.dbdebunk.com/). (em inglês)
«Online SQL Formatter» (http://www.text-utils.com/sql-formatter). (em inglês)
«Curso de SQL Gratuito» (http://www.softblue.com.br/site/curso/id/3/CURSO+SQL+COMPLET
O+BASICO+AO+AVANCADO+ON+LINE+BD03)
«SQL for beginners» (http://www.cfxweb.net/modules.php?name=News&file=article&sid=161).
(em inglês)
«Oracle SQL FAQ» (http://www.orafaq.com/faqsql.htm) (em inglês)
«LiteBase» (http://www.litebase.org/)
«Tutorial de SQL» (http://www.1keydata.com/pt/sql/)
«Oracle SQL tutorials» (http://freeitsolutions.com/oracle-tutorials/?search=sql). (em inglês)
«O que faz um Administrador de Banco de Dados» (https://medium.com/@InfoTec/o-que-faz-u
m-administrador-de-banco-de-dados-83caac92d4ef). (em português)
Tutorial SQL - Portal W3 Schools (https://www.w3schools.com/sql/)

Obtida de "https://pt.wikipedia.org/w/index.php?title=SQL&oldid=62218943"

Esta página foi editada pela última vez às 12h29min de 11 de outubro de 2021.

Este texto é disponibilizado nos termos da licença Atribuição-CompartilhaIgual 3.0 Não Adaptada (CC BY-SA 3.0) da
Creative Commons; pode estar sujeito a condições adicionais. Para mais detalhes, consulte as condições de utilização.

Política de privacidade
Sobre a Wikipédia
Avisos gerais

Programadores
Estatísticas
Declaração sobre ''cookies''

Você também pode gostar