Processos de Padronização do SQL
-
Upload
dartvader125 -
Category
Documents
-
view
21 -
download
0
Transcript of 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.
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:
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
esses dados e por fim publicá-los em formas nativas do XML, além de
conseguir empacotar dados em SQL no formato do XML.