article Related Topics:
SQL :: SQLBase :: SQL_Databases
 

Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL, é uma linguagem de pesquisa declarativa para banco de dados relacional (bases de dados relacionais). Muitas das características originais do SQL foram inspiradas na álgebra relacional.

SQL é normalmente pronunciado em português como "esse-quê-ele", porém sua pronúcia correta deveria se "síquel", do inglês "sequel", ou "alguma coisa que segue outra coisa". SQL é uma brincadeira com o nome da primeira linguagem de consulta QUEL.

Embora o SQL tenha sido originalmente criado pela IBM, rapidamente surgiram vários "dialectos" desenvolvidos por 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, o SQL, 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 processual 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.

Exemplo



- valign="top" align="left"
Table 'T' Query Result
- valign="top" align="left"

- valign="top" align="left"
C1 C2
- valign="top" align="left"
1 a
- valign="top" align="left"
2 b
Select * from T

- valign="top" align="left"
C1 C2
- valign="top" align="left"
1 a
- valign="top" align="left"
2 b

- valign="top" align="left"

- valign="top" align="left"
C1 C2
- valign="top" align="left"
1 a
- valign="top" align="left"
2 b
Select C1 from T

- valign="top" align="left"
C1
- valign="top" align="left"
1
- valign="top" align="left"
2

- valign="top" align="left"

- valign="top" align="left"
C1 C2
- valign="top" align="left"
1 a
- valign="top" align="left"
2 b
Select * from T where C1=1

- valign="top" align="left"
C1 C2
- valign="top" align="left"
1 a

Entrando um dado para uma tabela T, a query Select * from T resultará em todos os elementos de todas as filas da tabela.

Com a mesma tabela, a query Select C1 from T resultará nos elementos da coluna C1 de todas as filas da tabela.

E a query Select * from T where C1=1 resultarão em todos os elementos de todas as filas onde o valor de coluna C1 é '1'.

Palavras-chaves em SQL


DML - Linguagem de Manipulação de Dados

Primeiro há os elementos da DML (Data Manipulation Language - Linguagem de Manipulação de Dados). A DML é um subconjunto da linguagem usada para selecionar, inserir, atualizar e apagar dados.

  • SELECT é o comumente mais usado do DML, comanda e permite ao usuário especificar uma query como uma descrição do resultado desejado. A questão não especifica como os resultados deveriam ser localizados.

  • INSERT é usada para somar uma fila (formalmente uma tupla) a uma tabela existente.

  • UPDATE para mudar os valores de dados em uma fila de tabela existente.

  • DELETE permite remover filas existentes de uma tabela.

  • BEGIN WORK (ou START 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 envia todos os dados das mudanças permanentemente.

  • ROLLBACK faz com que as mudanças nos dados existentes desde que 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.

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 usuário 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:

  • CREATE cria um objeto (uma Tabela, por exemplo) dentro do 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:

  • ALTER TABLE

  • CREATE INDEX

  • ALTER INDEX

  • DROP INDEX

  • CREATE VIEW

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

outros comandos DCL:

  • ALTER PASSWORD

  • CREATE SYNONYM

DQL - Linguagem de Consulta de Dados

Embora tenha apenas um comando a DQL é a parte da SQL mais utilizada. O comando SELECT é composta de várias cláusulas e opções, possibilitando elaborar consultas das mais simples as mais elaboradas. Exemplos: SELECT nome FROM pessoas; SELECT aP.codigo, aP.nome, aP.data_nascimento, aO.nome, aO.local FROM pessoas aP, objetos aO, WHERE aP.codigo = aO.codigo_pessoa and aP.codigo = ( SELECT codigo_pessoa FROM catalogo WHERE cod_catalogo = 5 );

Obs.: O SELECT também é considerado um comando DML.

Sistemas de Banco de Dados que usam SQL


Links Externos


Linguagens de programação | Bancos de dados

SQL | SQL | SQL | SQL | Structured Query Language | SQL | SQL | SQL | SQL | SQL | SQL | Structured Query Language | Teanga Struchtúrtha Iarratas | SQL | SQL programozási nyelv | SQL | SQL | SQL | SQL | SQL | SQL | SQL | SQL | Structured Query Language | SQL | SQL | SQL | SQL | SQL | SQL | SQL | SQL | SQL (мова програмування) | SQL | SQL

 

This article is licensed under the GNU Free Documentation License. It uses material from the "SQL".

Home Pageartsbusinesscomputersgameshealthhospitalshomekids & teensnewsphysiciansrecreationreferenceregionalscienceshoppingsocietysportsworld