SQL - Structured Query Language - Histórico


Volta ao Menu Principal do SQL


Desenvolvido por DORNELLES Carlos Alberto - Analista de Sistemas - Brasília DF.
    Menu principal                 [Fechar]




O uso de comandos SQL é fundamental quando se trabalha com banco de dados. A instrução SQL é usada em diversas linguagens que agregam o poder da Structured Query Language, tais como:
Cobol, Natural, SQL Server, Oracle, MySql e outros.


Em junho de 1970, E. F. Codd, membro do Laboratório de Pesquisa da IBM em San Jose, na Califórnia, publicou um trabalho intitulado "A Relational Model of Data for Large Shared Data Banks" (Um Modelo Relacional de Dados para Grandes Bancos de Dados Compartilhados), no jornal Association of Computer Machinery. Nesse trabalho, Codd estabeleceu príncipios sobre gerência de banco de dados, denominando-os com o termo relacional. Essa foi a base utilizada na criação de uma linguagem-padrão para manipular informações em Banco de Dados Relacionais. E essa linguagem é a SQL (Structured Query Language).

Inicialmente chamada de SEQUEL (Structured English Query Language), a linguagem SQL foi concebida e desenvolvida pela IBM, utilizando os conceitos de Codd. Em 1979, a Relational Software Inc., hoje Oracle Corporation, lançou a primeira versão comercial da linguagem SQL.

Atualmente, a SQL pode ser considerada um padrão para manipulação de dados em um banco de dados. Duas entidades, a ANSI (American National Standards Institute) e a ISO (International Standards Organization), vêm ao longo do tempo padronizando a linguagem SQL. O primeiro padrão (SQL-86) foi definido pela ANSI em 1986 e consistia basicamente na SQL da IBM, com poucas modificações.
Em 1987, a ISO adotou o mesmo padrão. Em 1989, surge uma nova versão (SQL-89), com significativas modificações. Essa versão é utilizada pelos bancos de dados atuais.

Em 1992, houve uma nova versão aprimorando a anterior (SQL-92). Essa versão define as regras básicas para os bancos de dados relacionais. Em 1999 surge a SQL-99, conhecida também como SQL3, que define um modelo de banco de dados objeto-relacional.

Divide-se o padrão SQL-92 em quatro níveis: Entry (básico), Transational (em evolução), Intermediate (intermediário) e Full (completo). A maior parte dos bancos de dados utilizados atualmente atende ao nível básico. Mesmo existindo uma versão mais nova do padrão, a maior parte dos bancos de dados ainda utiliza, de forma básica, o padrão anterior. Alguns comandos, contudo, atingem os níveis intermediário e completo.

O que é SQL?

SQL (structured Query Language) é um conjunto de comandos de manipulação de banco de dados utilizado para criar e manter a estrutura desse banco de dados, além de incluir, excluir, modificar e pesquisarinformações nas tabelas dele. A linguagem SQL não é uma linguagem de programação autônoma; poderia ser chamada de "sublinguagem". Quando se escrevem aplicações para banco de dados, é necessário utilizar uma linguagem de programação tradicional (C, Java, Pascal, COBOL, etc...) e embutir comandos SQL para manipular os dados.

Em um modelo relacional, apenas uma tipo de estrutura de dados existe: a tabela. Novas tabelas são criadas com a junção ou combinação de outras tabelas. Utilizando apenas um comando SQL é possível pesquisar dados em diversas tabelas ou atualizar e excluir diversas linhas das mesmas.

A linguagem SQL não é procedural, logo é possível especificar o que deve ser feito, e não como deve ser feito. Dessa forma, um conjunto de linhas (set) será atingido pelo comando e não cada uma das linhas, como é feito no ambiente procedural. Portanto, não é necessário entender o funcionamento interno do banco de dados e como e onde estão armazenados fisicamente os dados.



A linguagem SQL é dividida nos seguintes componentes:

Data Definition Language (DDL): permite a criação dos componentes do banco de dados, como tabelas, índices, etc..

Principais comandos DDL:
        CREATE TABLE
        ALTER TABLE
        DROP TABLE
        CREATE INDEX
        ALTER INDEX
        DROP INDEX


Data Manipulation Language (DML): permite a manipulação dos dados armazenados no banco de dados:

Comandos DML:
        INSERT
        DELETE
        UPDATE
        DELETE


Data Query Language (DQL): permite extrair dados do banco de dados:

Comandos DQL:
        SELECT


Data Control Language (DCL): provê a segurança interna do banco de dados:

Comandos DCL:
        CREATE USER
        ALTER USER
        GRANT
        REVOKE
        CREATE SCHEMA