Prática recomendada do SQL: veja aqui quais são os padrões ANSI

Divulgação: Seu suporte ajuda a manter o site funcionando! Ganhamos uma taxa de indicação por alguns dos serviços que recomendamos nesta página.


SQL: Padrões ANSI para administração de banco de dados

O Structured Query Language, ou SQL, é o idioma padrão dos administradores de banco de dados (DBA) para acessar e gerenciar bancos de dados.

Ao longo dos anos, o SQL evoluiu e muitas versões e linguagens começaram a surgir. Para unificar o SQL para melhores práticas, o American National Standards Institute (ANSI) criou padrões específicos para linguagens de consulta de banco de dados.

A linha do tempo do SQL

  • 1970: O Dr. Edgar Frank Codd, cientista da computação que trabalha para a IBM, publica seu famoso artigo “Um modelo relacional de dados para grandes bancos de dados compartilhados” em junho de 1970, no jornal da Association of Computer Machinery (ACM). O modelo do Dr. Codd continua sendo o modelo definitivo para sistemas de gerenciamento de banco de dados relacional (RDBMS).

  • 1978: A IBM Corporation desenvolve o sistema de banco de dados, System / R, juntamente com um idioma de banco de dados, o Structured English Query Language (SEQUEL) no San Jose Research Center, na Califórnia. Eles baseiam-se no modelo original do Dr. Codd e chamam SEQUEL.

  • 1979: A Relational Software, Inc. lança o primeiro sistema de gerenciamento de banco de dados relacional e denomine Oracle. O RDBMS deles funciona em um minicomputador usando SQL como a principal linguagem de consulta. O produto se torna tão popular que a empresa muda seu nome para Oracle.

  • 1982: A IBM lança seu primeiro RDBMS comercial baseado em SQL, que eles chamam de SQL / Data System, ou SQL / DS, e em 1985 eles lançam o sistema Database 2, ou DB2. Ambos os sistemas são executados em um computador mainframe IBM. A IBM transportou o DB2 para sistemas adicionais posteriormente, incluindo aqueles em execução nos sistemas operacionais Windows e UNIX.

Padrões ANSI Ano a Ano

  • 1986: O SQL-87 foi formalizado inicialmente pela ANSI em 1986.

  • 1989: O American National Standards Institute (ANSI) publica o primeiro conjunto de padrões para linguagens de consulta de banco de dados, conhecido como SQL-89 ou FIPS 127-1.

  • 1992: O ANSI publica seus padrões revisados, ANSI / ISO SQL-92 ou SQL2, mais rígidos que o SQLI, adicionando alguns novos recursos. Esses padrões introduzem níveis de conformidade que indicam até que ponto um dialeto atende aos padrões ANSI.

  • 1999: ANSI publica SQL3, ou ANSI / ISO SQL: 1999, com novos recursos, como suporte a objetos. Substituiu os níveis de conformidade com as principais especificações, bem como as especificações adicionais para mais nove pacotes.

  • 2003: O ANSI publica o SQL: 2003, apresentando sequências padronizadas, recursos relacionados ao XML e colunas de identidade. O criador do primeiro RDBMS, Dr. E.F. Codd, falece em 18 de abril do mesmo ano.

  • 2006: ANSI publica SQL: 2006, definindo como usar SQL com XML e permitindo que aplicativos integrem XQuery em seu código SQL existente.

  • 2008: ANSI publica SQL: 2008, introduzindo gatilhos INSTEAD OF, bem como a instrução TRUNCATE.

  • 2011: ANSI publica SQL: 2011 ou ISO / IEC 9075: 2011, a sétima revisão do padrão ISO (1987) e ANSI (1986) para a linguagem de consulta de banco de dados SQL.

Eles dividiram os novos padrões ANSI SQL em nove partes, incluindo:

  • Parte 1 – ISO / IEC 9075-1: 2011 SQL / Framework, que oferece conceitos lógicos.

  • Parte 2 – ISO / IEC 9075-2: 2011 SQL / Foundation, inclui elementos centrais SQL.

  • Parte 3 ISO / IEC 9075-3: 2008 SQL / Call-Level Interface (CLI), explica componentes de interface, como procedimentos, estruturas e ligações variáveis ​​para executar instruções SQL em várias linguagens de codificação, como COBOL e C ++, por exemplo.

  • Parte 4 ISO / IEC 9075-4: 2011 SQL / Persistent Stored Modules (PSM), descreve os padrões para extensões procedurais para SQL, incluindo tratamento de condições e fluxo de controle, bem como sinais e resignações de condições de instruções e variáveis ​​e cursores locais. Atribui expressões a parâmetros e variáveis. Aborda a manutenção de rotinas de linguagem de banco de dados persistentes, como procedimentos armazenados.

  • Parte 9 ISO / IEC 9075-9: 2008 SQL / Gerenciamento de dados externos (MED), inclui extensões ao SQL para definir tipos de datalink e invólucros de dados externos que permitem ao SQL gerenciar dados externos. Dados externos são acessíveis, mas não gerenciados por um DBMS baseado em SQL.

  • Parte 10 ISO / IEC 9075-10: 2008 OLB (SQL / Object Language Bindings), define a semântica e a sintaxe do SQLJ. SQLJ é a incorporação do SQL no Java. O padrão especifica mecanismos para a portabilidade binária de aplicativos SQLJ. Ele também define vários pacotes Java, juntamente com suas classes contidas.

  • Parte 11 ISO / IEC 9075-11: 2011 Esquema SQL / Information and Definition, especifica o Esquema informativo e o Esquema de definição, oferecendo ferramentas para tornar autoexplicativos os objetos e bancos de dados SQL. Inclui o identificador de objeto SQL, especificações de segurança e autorização, bem como as restrições de segurança e integridade. Suporta os recursos e pacotes da ISO / IEC 9075, bem como os recursos fornecidos pelas implementações de DBMS baseadas em SQL.

  • Parte 13 – ISO / IEC 9075-13: 2008 ISO / IEC 9075-13: 2008: rotinas e tipos SQL usando a linguagem de programação Java (JRT), especifica a capacidade de utilizar classes Java como tipos definidos pelo usuário estruturados em SQL, bem como invocar métodos Java estáticos como rotinas de dentro de um SQL aplicativo, conhecido como Java no banco de dados.

  • Parte 14 – ISO / IEC 9075-14: 2011 Especificações relacionadas a SQL / XML, define extensões baseadas em SQL ao usar XML com SQL. Ele descreve tipos de dados XML, rotinas e funções. Também descreve mapeamentos de tipos de dados XML para SQL para armazenamento e gerenciamento de XML dentro de um banco de dados SQL.

Os pacotes de aplicativos e multimídia ISO / IEC 13249 SQL funcionam em conjunto com a ISO / IEC 9075 como um padrão separado, mas relevante, que especifica várias interfaces e pacotes baseados em SQL.

O objetivo deste pacote é fornecer acesso centralizado aos aplicativos de banco de dados mais comuns, como figuras, texto, dados espaciais e mineração de dados.

Como encontrar uma cópia dos padrões

Cópias impressas das especificações dos padrões SQL estão disponíveis apenas para compra, devido a restrições de direitos autorais ISO e ANSI. Você pode encontrar uma cópia eletrônica no site da ANSI, selecionando “Access Standards – eStandards Store” e pesquisando “SQL Language”.

Existem duas variantes de cada documento, mas são idênticas:

  1. INCITS / ISO / IEC 9075 – * – 2011

  2. ISO / IEC 9075 – *: 2011

Todo criador de banco de dados visa cumprir esses padrões, fazendo com que as várias implementações do SQL se tornem semelhantes; no entanto, cada implementação ainda possui um dialeto exclusivo para usar SQL, que inclui extensões ou adições aos padrões.

Colocando SQL em teste

Os comandos e instruções SQL fundamentais são semelhantes para todos os dialetos SQL; portanto, quando um DBA sabe como usar um, pode aprender outros facilmente.

Embora a maioria dos programas de banco de dados SQL tenha suas próprias extensões proprietárias, para cumprir os padrões ANSI, eles devem, no mínimo, suportar esses cinco comandos principais da mesma maneira:

  1. ATUALIZAR

  2. EXCLUIR

  3. SELECT

  4. INSERIR

  5. ONDE

O SQL permite que um DBA realize as seguintes ações em um banco de dados:

  • Executar consultas

  • Recuperar dados

  • Inserir, atualizar e excluir registros

  • Crie novas tabelas e visualizações

  • Crie novos bancos de dados

  • Produzir procedimentos armazenados

  • Definir permissões para visualizações, tabelas e procedimentos.

Para produzir um site que possa acessar dados de um banco de dados, é necessário um programa de banco de dados do Sistema de Gerenciamento de Banco de Dados Relacional (RDBMS). Alguns programas RDBMS populares incluem:

  • servidor SQL

  • MS Access

  • MySQL

  • Postgre SQL

  • Banco de Dados Oracle.

Para criar um banco de dados, o administrador do banco de dados também precisará utilizar o seguinte:

  • Uma linguagem de marcação padrão como CSS / HTML

  • Uma linguagem de script do servidor, como ASP ou PHP.

  • Entenda como usar o SQL para recuperar os dados solicitados.

A anatomia de um banco de dados

O sistema de gerenciamento de banco de dados relacional (RDBMS) forma a base do banco de dados. O uso do RDBMS permite que um DBA armazene dados em objetos de banco de dados, chamados tabelas. As tabelas consistem em colunas e linhas de dados relacionados organizadas em seções.

Identificando tabelas de banco de dados

Como muitos bancos de dados contêm mais de uma tabela, o DBA deve identificar cada tabela com um nome. Cada tabela conterá linhas de registros contendo informações e dados.

Por exemplo, uma empresa usaria um banco de dados com uma tabela de clientes contendo os seguintes dados para cada cliente:

  1. nome do cliente

  2. Nome de contato

  3. Identificação do Cliente

  4. Endereço do cliente – rua, cidade, código postal e país

  5. Informações de contato do cliente

Nesse caso, a tabela contém cinco registros – um para cada cliente – e oito colunas, um para cada grupo de dados: Nome do cliente, Nome do contato, ID do cliente, Endereço do cliente, incluindo cidade, CEP e país e Informações de contato do cliente.

Comunicação com um banco de dados SQL

Os administradores de banco de dados executam todas as ações necessárias em um banco de dados usando instruções SQL. Os resultados são armazenados em uma tabela de resultados, chamada conjunto de resultados.

O SQL geralmente não diferencia maiúsculas de minúsculas e alguns sistemas de banco de dados requerem o uso de ponto e vírgula no final de cada instrução SQL. Um ponto-e-vírgula tornou-se o método padrão de separar instruções SQL umas das outras em um sistema de banco de dados.

Isso permite que um DBA execute várias instruções SQL em uma chamada para o servidor.

Alguns dos comandos SQL incluem:

  • ALTERAR A TABELA Modifica tabelas.

  • ALTER DATABASE Modifica bancos de dados.

  • CRIAR BASE DE DADOS Cria novos bancos de dados.

  • CRIAR ÍNDICE Cria chaves de índice / pesquisa.

  • CRIAR A TABELA Cria novas tabelas.

  • EXCLUIR Exclui dados de bancos de dados.

  • DROP INDEX Exclui índices.

  • DROP TABLE Exclui tabelas

  • INSIRA DENTRO DE Insere novos dados nos bancos de dados.

  • SELECT Extrai dados de bancos de dados.

  • ATUALIZAR Atualiza dados em bancos de dados.

As 12 regras de Codd

Quando ele criou o primeiro sistema de gerenciamento de banco de dados relacional, o Dr. Codd incluiu 13 regras, sugerindo que, se um sistema de gerenciamento de banco de dados atender a todas essas regras, ele será um verdadeiro sistema de gerenciamento de banco de dados relacional.

Como ele os numerou de zero a 12, eles são chamados de 12 Regras do Codd:

  • Regra Zero: Fundações Afirma que um sistema básico deve atender a três requisitos básicos: deve ser relacional e incluir um banco de dados e um sistema de gerenciamento. Ele também precisa aproveitar instalações relacionais exclusivamente para gerenciar o banco de dados para ser considerado um verdadeiro RDBMS.

  • Regra Um: Representação da Informação Representar todas as informações no banco de dados de uma maneira singular, especificamente colocando valores nas posições das colunas nas linhas das tabelas.

  • Regra Dois: Acesso Garantido Todos os dados devem estar acessíveis, como o requisito fundamental para as chaves primárias. Cada valor escalar individual em um banco de dados deve ser sensivelmente endereçável, definindo o nome da tabela e da coluna que contém, bem como o valor da chave primária para a linha que contém.

  • Regra Três: Manipulando Valores Nulos O DBMS deve deixar cada campo permanecer vazio ou nulo. Isso significa que ele deve suportar a manipulação de uma representação de qualquer informação inaplicável ou ausente de uma maneira sistemática, diferente de todos os valores regulares, além de ser independente do tipo de dados..

  • Regra Quatro: Catálogo Online Ativo O sistema deve oferecer suporte a uma estrutura ou catálogo online, online, relacional, acessível a usuários autorizados, usando sua linguagem de consulta normal. Os usuários devem poder acessar o catálogo do banco de dados usando o mesmo modelo relacional e linguagem de consulta usados ​​para acessar os dados dentro do banco de dados.

  • Regra Cinco: Sub-Idioma de Dados Abrangentes O sistema deve suportar no mínimo uma linguagem relacional com uma sintaxe linear. Os usuários devem poder aproveitá-lo também em programas aplicativos e de forma interativa. Ele também deve suportar operações de manipulação de dados, como atualização e recuperação, e operações de definição de dados, como definições de exibição, bem como operações de gerenciamento de transações como confirmação, início e reversão. Também deve ter restrições de integridade e segurança em vigor.

  • Regra Seis: Atualizando Quaisquer visualizações que possam ser atualizadas teoricamente devem ser atualizadas pelo sistema.

  • Regra Sete: Atualização de Alto Nível, Inserir e Excluir O sistema deve oferecer suporte a atualização definida de cada vez, inserir e excluir operadores, para que os usuários possam recuperar dados de um banco de dados relacional em conjuntos construídos com dados de várias tabelas e / ou linhas. As operações de atualização, inserção e exclusão devem ser ativadas para qualquer conjunto recuperável em vez de para uma única linha em uma única tabela.

  • Regra Oito: Independência de Dados Físicos As atualizações no nível físico não devem exigir uma atualização para um aplicativo com base na estrutura. Por exemplo, alterações na maneira como os dados são armazenados, como colocá-los em matrizes ou listas vinculadas.

  • Regra Nove: Independência de Dados Lógicos As atualizações no nível lógico, como colunas, tabelas e linhas, não devem exigir uma atualização para um aplicativo com base na estrutura. É mais difícil obter independência lógica de dados do que independência física de dados.

  • Regra 10: Independência da Integridade A especificação de restrições de integridade deve ser armazenada separadamente dos programas aplicativos e no catálogo. É necessário atualizar essas restrições quando apropriado, sem afetar os aplicativos existentes no momento.

  • Regra 11: Independência da Distribuição A distribuição de partes do banco de dados para vários locais não deve estar visível para os usuários do banco de dados. Todos os aplicativos existentes devem poder operar de maneira contínua e eficiente diante da introdução de uma versão distribuída do DBMS ou quando os dados distribuídos atuais forem redistribuídos por todo o sistema.

  • Regra 12: Não Subversão Se o sistema fornecer uma interface de um registro por vez ou de baixo nível, não poderá ser aproveitado para diminuir outro sistema. Um exemplo disso seria o ato de ignorar uma integridade relacional ou restrição de segurança.

A Linguagem de Consulta Estruturada, ou SQL, já percorreu um longo caminho, mas as bases usadas para criá-la ainda permanecem fortes. Os administradores de banco de dados podem descobrir mais maneiras e locais para usá-lo, à medida que a computação em nuvem se torna a norma; no entanto, o ANSI permanecerá em vigor para especificar padrões para unificar os idiomas de consulta do banco de dados.

Recursos:

ANSI.org

História do SQL

W3Resource

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map