Processos de Padronização do SQL

4
Processos de Padronização do SQL O SQL, mais especificadamente como Structured Query Language, foi desenvolvida pela IBM, considerado uma linguagem declarativa, ou seja, descreve o problema ao invés de resolvê-lo. Ao contrário das outras linguagens, o SQL não serve para desenvolver sistemas. É considerada como a linguagem de banco de dados mais utilizada no mercado. Neste trabalho abordaremos como se deu o seu processo de padronização. O SQL utiliza uma estrutura de banco de dados relacional para armazenar todos os seus dados em tabelas. Essas tabelas são visíveis ao usuário graficamente através de um Sistema Gerenciador de Bando de Dados (SGDB). Um grupo de engenheiros que havia participado da criação do SQL fundou uma nova empresa em 1979 chamada Revelation Software. Seu objetivo era criar um banco de dados relacional. Hoje é conhecida como chamado Oracle. Primeiramente, a necessidade de se padronizar o SQL veio de sua popularização, e é hoje indispensável para um banco de dados. Essa mesma padronização começou em meados de 1986 em sua versão mais antiga, SQL- 86, mas antes mesmo de se chamar SQL, ela era chamada de SEQUEL (Structured English Query Language) e fez parte de do Sistema R(primeiro sistema de banco de dados relacional) dos anos 70. Em 1980 a IBM começou a usar o SQL em outros sistemas comerciais, conseguindo um espaço reservado e padronizado no mercado. Muitas outras empresas começaram a aplicar o SQL em seus produtos e isso gerou grandes modificações e falta de padronização. Em 1982 a ANSI passou a estabelecer normas e critérios técnicos para definir os padrões para a linguagem SQL Devido o seu sucesso o instituto Americano Nacional de Padrões (ANSI) optou por padronizar a linguagem em 1986. A importância da padronização também se destaca quando o usuário se depara com uma situação de migração, ou seja, quando ele necessita passa os dados de um banco para outro. Esse tipo de situação é um processo muito complicado devido a tipos e extensões dos dados, e se não houver uma boa padronização os dados podem corrompidos durante o processo de migração. Nos EUA, os padrões relacionados ao banco de dados são tratados pela ANSI NCITS H2, que representa o National Committe for Information Technology Standards – Technical Comittee on Database. Seus grupos de representantes são a IBM, Microsoft e o Oracle.

Transcript of Processos de Padronização do SQL

Page 1: Processos de Padronização do SQL

Processos de Padronização do SQL

O SQL, mais especificadamente como Structured Query Language, foi

desenvolvida pela IBM, considerado uma linguagem declarativa, ou seja,

descreve o problema ao invés de resolvê-lo. Ao contrário das outras

linguagens, o SQL não serve para desenvolver sistemas. É considerada como

a linguagem de banco de dados mais utilizada no mercado. Neste trabalho

abordaremos como se deu o seu processo de padronização.

O SQL utiliza uma estrutura de banco de dados relacional para

armazenar todos os seus dados em tabelas. Essas tabelas são visíveis ao

usuário graficamente através de um Sistema Gerenciador de Bando de Dados

(SGDB). Um grupo de engenheiros que havia participado da criação do SQL

fundou uma nova empresa em 1979 chamada Revelation Software. Seu

objetivo era criar um banco de dados relacional. Hoje é conhecida como

chamado Oracle.

Primeiramente, a necessidade de se padronizar o SQL veio de sua

popularização, e é hoje indispensável para um banco de dados. Essa mesma

padronização começou em meados de 1986 em sua versão mais antiga, SQL-

86, mas antes mesmo de se chamar SQL, ela era chamada de SEQUEL

(Structured English Query Language) e fez parte de do Sistema R(primeiro

sistema de banco de dados relacional) dos anos 70.

Em 1980 a IBM começou a usar o SQL em outros sistemas comerciais,

conseguindo um espaço reservado e padronizado no mercado. Muitas outras

empresas começaram a aplicar o SQL em seus produtos e isso gerou grandes

modificações e falta de padronização. Em 1982 a ANSI passou a estabelecer

normas e critérios técnicos para definir os padrões para a linguagem SQL

Devido o seu sucesso o instituto Americano Nacional de Padrões (ANSI)

optou por padronizar a linguagem em 1986. A importância da padronização

também se destaca quando o usuário se depara com uma situação de

migração, ou seja, quando ele necessita passa os dados de um banco para

outro. Esse tipo de situação é um processo muito complicado devido a tipos e

extensões dos dados, e se não houver uma boa padronização os dados podem

corrompidos durante o processo de migração.

Nos EUA, os padrões relacionados ao banco de dados são tratados pela

ANSI NCITS H2, que representa o National Committe for Information

Technology Standards – Technical Comittee on Database. Seus grupos de

representantes são a IBM, Microsoft e o Oracle.

Page 2: Processos de Padronização do SQL

Sua primeira padronização foi basicamente importantes recursos de

chaves primárias, estrangeiras e campos não valorados. Sendo que essas

padronizações foram na versão SQL-86, pois a primeira versão (SQL-86) tinha

apenas arquiteturas já definidas pela IBM. O SQL- 86 já oferecia algumas

funcionalidades, como uma DDL para definição de esquema da base de dados

e uma DML para programação de consultas e transações que inseriam,

removiam e alteravam linhas e tabelas. Também essa versão de SQL continha

embutido linguagens de programação de 3ª geração como COBOL e C por

exemplo.

Sua segunda padronização já foi bem diferente, ela sofreu várias

implementações também importantes. Em sua versão SQL-92, também

conhecida como SQL2, foram feitas alterações e, relação á domínios, tabelas

temporárias, novos tipos de junções como: left join, rigth join e natural join,

assim como valores únicos , expressões na clausula from e permitia escrever

comandos SQL em aplicações

Em 1999 surgiu a necessidade de se atualizar o SQL para melhor

entender as características da padronização das últimas versões, voltadas para

o ramo comercial de negócios. A partir disso criou-se o SQL99, ou o SQL3.

Esta versão foi considerada mais robusta por introduzir novos tipos de dados,

consultas recursivas, gatilhos e o conceito de orientação a objetos.

Quando estudamos padrões de banco de dados como SQL, não

podemos deixar de falar em regras de normalização. Durante a padronização

do próprio SQL, ocorreram várias criticas em torno da padronização do SQL92,

já que ele continha um tipo de dado que era oposto às regras de normalização

de banco de dados. Esse tipo de dados era chamado de array, que hoje é

conhecido também como vetor e possui uma estrutura multi valorada,

infringindo então a primeira forma de normalização que diz: "Toda relação está

na Primeira Forma Normal se não possui atributos multi valorados nem

relações aninhadas [Guimarães, 2003]”.

Outro fator importante a ser levado em consideração sobre os padrões

SQL são os níveis de conformidade entre eles. O padrão de 1999 possuía os

mesmos da versão de 1992, que eram divididos em três categorias: o

Principiante, o Intermediário e o Completo. Para que isso não provocasse

problemas entre os diferentes níveis, no SQL99 foram retiradas as categorias

de conformidade, fazendo com que os fornecedores tivessem que implementar

todos os atributos dos níveis mais baixos de adaptação.

Mais tarde, em 2003, surgiu o novo padrão SQL2003, onde foram

mantidas certas funcionalidades e também foram implementadas outras novas:

Page 3: Processos de Padronização do SQL

o padrão anterior, o SQL99, possuía duas partes principais, Fundamental (ou

Foundation) e Vínculos (ou Biding), partes estas que foram mantidas, enquanto

uma nova seção conhecida como Esquemata (ou squemata) fora adicionada

ao pacote. Em relação aos requisitos mais importantes não ocorreram grandes

alterações no núcleo do SQL2003 em relação à versão anterior, tornando

assim possível a retro compatibilidade entre as versões, mesmo que vários

comportamentos e instruções externas ao núcleo tenham sido modificados.

Entre os elementos da versão 99 que foram excluídos no SQL2003

temos os tipos de dados “Bit” e “Bit Varying”; a cláusula “Union Join”; e a

instrução “Update... Set Row”. Enquanto isso, novos atributos foram

adicionados ao SQL, atributos especialmente importantes ao meio acadêmico

por não existirem em nenhuma outra plataforma de banco de dados. Entre os

principais temos:

• Funções OLAP elementares: conhecida também como Online Analytical

Processing, consistia em uma emenda que incluía funções de exibição parcial

para suportar cálculos amplamente utilizados como médias de mudança e

somas acumulativas.

• Amostragem: é adicionada a cláusula “Tramblesample” à cláusula

“From”, útil para consultas estatísticas em grandes bancos de dados.

• Funções numéricas aprimoradas: é adicionado um grande número de

funções numéricas.

Outro fator importante na criação do padrão SQL2003 foi a definição dos

pacotes de características suplementares disponíveis à plataforma, ou seja,

pacotes extras implantados pelos fornecedores. Com isso surgiu uma nova

adição ao SQL, o SQL/XML (amplamente utilizado no SQL2006). Entre os

pacotes principais (também opcionais) estavam o SQL/Framework, o SQL

Fundamental, o SQL/CLI (Interface de Nível de Chamada), o SQL/PSM

(Módulos Armazenados de Persistência), o SQL/MED (Gerenciamento de

Dados Externos), o SQL/OBJ (Vínculo de Linguagem de Objetos), o

SQL/Esquemata (já dito anteriormente) e o SQL/JRT (Rotinas e Tipos Java).

Mais tarde, em 2006, o corpo de padrão ANSI que regulariza o SQL

lança um novo padrão, o SQL2006. Neste todas as melhorias apresentadas no

SQL 2003 foram retidas e aumentadas, apesar de não apresentar nenhuma

mudança significativa em relação aos comandos e funções do SQL2003. A

novidade principal do novo padrão foi a implementação do suporte ao XML

(eXtensible Markup Language), ou seja, a capacidade de um banco de dados

da plataforma SQL poder importar e armazenar dados em XML, manipular

Page 4: Processos de Padronização do SQL

esses dados e por fim publicá-los em formas nativas do XML, além de

conseguir empacotar dados em SQL no formato do XML.