Antes dos bancos de dados relacionais, consultar significava navegar: o usuário especificava caminhos de acesso, índices e procedimentos registro a registro, e cada sistema tinha sua própria linguagem. Em 1970, Edgar Codd, na IBM Research, publicou A Relational Model of Data for Large Shared Data Banks, defendendo um modelo construído sobre tabelas e o objetivo da independência de dados.

A IBM construiu o SQL sobre a fundação relacional e, em meados da década de 1980, a linguagem tinha impulso suficiente para ser padronizada: ANSI X3.135-1986, Database Language SQL. Em março de 1987, o US National Bureau of Standards a adotou como FIPS PUB 127, declarando que seu propósito era promover a portabilidade de definições de banco de dados e de programas de aplicação de banco de dados entre diferentes instalações.

O design declarativo era o ponto central: as aplicações dizem quais dados querem, e o banco de dados decide como obtê-los. Essa separação permitiu que o SQL sobrevivesse entre fornecedores, de mainframes a dispositivos embarcados, e o tornou a única linguagem de consulta que todo sistema de banco de dados precisava falar.

Declare o que você quer; deixe o sistema decidir como

As consultas declarativas libertaram as aplicações de depender dos detalhes de armazenamento de um único fornecedor.

Um único padrão ANSI deu aos compradores uma linguagem comum de aquisição.

A adoção pelo governo (FIPS 127) forçou a portabilidade nos requisitos do setor público.

A linguagem que sobrevive transfere o trabalho difícil para a plataforma: as consultas declarativas permitem que os usuários troquem de banco de dados livremente, e a padronização transformou a portabilidade em um requisito de aquisição.

O SQL tornou-se a linguagem universal de bancos de dados: a ISO/IEC 9075 continua a evoluí-la, todo grande mecanismo de banco de dados implementa um dialeto, e o modelo relacional que ela incorporava impulsionou a indústria de bancos de dados por décadas. Sistemas NoSQL posteriores se definiram em oposição a ela, o que apenas confirma seu status como padrão.

CONFIRA AS EVIDÊNCIAS

As fontes

  1. A Relational Model of Data for Large Shared Data Banks (E.F. Codd, CACM 13(6), 1970) Communications of the ACM / University of Pennsylvania · seas.upenn.edu
  2. FIPS PUB 127: Database Language SQL (adopting ANSI X3.135-1986) US National Bureau of Standards (NIST) · nvlpubs.nist.gov