Esse artigo faz parte da revista SQL Magazine edição 54. Clique aqui para ler todos os artigos desta edição

imagem

Clique aqui para ler esse artigo em PDFimagem_pdf.jpg

Introdução a SQL (Structured Query Language) – Parte I

 

Ary Júnior

 

Atualmente o volume de dados armazenado nos sistemas de bancos de dados das mais diversas organizações está crescendo de forma bastante acelerada. E para que isto ocorra, é necessário que os Sistemas Gerenciadores de Bancos de Dados (SGBD) forneçam opções para que o armazenamento de dados e posteriormente a recuperação de informações ocorra da melhor forma possível. Para que isso seja possível, a linguagem de consulta estruturada (SQL – Structured Query Language) provê estas tarefas, conforme discorreremos no decorrer deste artigo, que será divido em várias partes para que englobe as principais características da linguagem.

Desta forma, espera-se com este artigo que o leitor consiga criar estruturas de armazenamento e manipular dados para a geração de informações. Nos próximos artigos, abordaremos outras características da SQL.

Iremos utilizar o SGBD PostgreSQL para aplicarmos os conceitos citados neste artigo. Optamos por este SGBD primeiramente por ser um software gratuito e bastante fácil de utilizar para o propósito deste artigo.

Introdução

Até a década de 70, quando um fabricante de bancos de dados criava um novo produto, ele também criava uma linguagem para criar estruturas e manipular os dados armazenados no produto em questão. Da mesma forma, a IBM desenvolveu a SQL, originalmente chamada de Sequel, como parte integrante do Sistema R, no início dos anos 70. Esta linguagem sofreu evoluções e posteriormente teve seu nome alterado para SQL. Então, em 1986 o American National Standard Institute (ANSI), publicou a SQL como linguagem padrão para os bancos de dados relacionais, chamando-o de SQL-86. Assim, a partir de 1986, os sistemas gerenciadores de bancos de dados relacionais passaram a adotar a SQL como linguagem padrão.

A SQL é subdividida em três sub-linguagens, que são:

·         DDL (Data Definition Language): que apresenta uma série de comandos que permitem a definição dos dados. Dentre os principais comandos, podemos destacar o CREATE, que é destinado à criação do Banco de Dados e das Tabelas que o compõe, além das relações existentes entre as tabelas. Outros exemplos de comandos DDL que podemos citar neste momento são: ALTER e DROP, que iremos detalhar nos próximos tópicos;

·         DML (Data Manipulation Language): que apresenta uma série de comandos destinados à manipulação de dados, tais como: consultas, inserções, exclusões e alterações, para um ou mais registros de uma ou mais tabelas de maneira simultânea. Dentre alguns exemplos de comandos DML, destacam-se: SELECT, INSERT, UPDATE e DELETE, que iremos detalhar nos próximos artigos;

·         DCL (Data Control Language): que apresenta uma série de comandos para controlar o acesso aos dados, usuários e grupos. Dentre alguns exemplos de comandos DCL, destaca-se o comando GRANT, que iremos detalhar nos próximos artigos.

 

Após a primeira versão do padrão SQL-86, tivemos algumas variações que originaram a SQL-92 e atualmente várias características foram incorporadas à linguagem, tendo já sido publicado o SQL-3. Foram adicionados recursos relacionados à orientação a objetos, dentre várias outras características. Porém, estas novas funcionalidades fogem do escopo deste artigo, mas serão abordadas nos próximos.

Entretanto, além do padrão SQL, cada fabricante de SGBD pode acrescentar funcionalidades exclusivas ao SGBD. Isto ocorre freqüentemente, principalmente com alguns dos principais fabricantes, como Microsoft (SQL Server), Oracle (atualmente com o Oracle11g) e IBM (DB2). Neste artigo iremos abordar o SQL padrão.

Linguagem de Definição de Dados (DDL)

Conforme abordamos anteriormente, o primeiro tópico que iremos discorrer é a linguagem de definição de dados (DDL), que faz parte da linguagem SQL. O primeiro comando que precisamos detalhar desta linguagem é o comando para criação de banco de dados, que pode ser definido conforme a Listagem 1, onde nome_db é o nome do banco de dados a ser criado.

 

CREATE DATABASE ;

Listagem 1. Criação de Bancos de Dados

 

Outro comando que iremos tratar é o comando CREATE TABLE, responsável por criar tabelas dentro de um determinado banco de dados. A sintaxe padrão deste comando pode ser visualizada na Listagem 2. Onde:

·         Nome_tabela: indica o nome da tabela a ser criada;

·         Nome_atributo1...Nome_atributoN: são os atributos da tabela a ser criada;

·         Tipo_Dados1....Tipo_DadosN: são os tipos de dados de cada um dos atributos da tabela a ser criada;

...

Quer ler esse conteúdo completo? Tenha acesso completo