Linguagem de Programação SQL Banco de dados

Propaganda
Linguagem de Programação
SQL
Banco de dados
Fabiano Jacoboski1, Jackson Colombo2
FIT– Faculdades de Informática de Taquara
Cep 95.600-000 – Taquara – RS – Brasil
1
[email protected], [email protected]
Resumo. Neste trabalho faremos uma introdução na linguagem de banco de
dados SQL, começando Poe um breve histórico, suas características, a
estrutura seguido de um exemplo muito claro.
1. Introdução
Structured Query Language, ou Linguagem de Questões Estruturadas ou SQL, é uma
linguagem de pesquisa declarativa para banco de dados relacional(bases de dados
relacionais). Muitas das características originais do SQL foram inspiradas em cálculo de
tuplas.
2. Conceito
O SQL é um sistema de gerenciamento de banco de dados relacional (SGBDR). Isto
significa que é um sistema para gerenciar dados armazenados em relações. Uma relação
é essencialmente um termo matemático para tabela. A noção de armazenar dados em
tabelas é tão trivial hoje em dia que pode parecer totalmente óbvio, mas existem várias
outras formas de organizar bancos de dados. Arquivos e diretórios em sistemas
operacionais tipo Unix são um exemplo de banco de dados hierárquico. Um
desenvolvimento mais moderno são os bancos de dados orientados a objeto.
Cada tabela é uma coleção nomeada de linhas. Cada linha de uma determinada
tabela possui o mesmo conjunto de colunas nomeadas, e cada coluna é de um tipo de
dado específico. Enquanto as colunas possuem uma ordem fixa em cada linha, é
importante lembrar que o SQL não garante a ordem das linhas dentro de uma tabela
(embora as linhas possam ser explicitamente ordenadas para a exibição).
2. Histórico
SQL foi originalmente criada pela IBM, mas muitos desenvolvedores foram criando
"dialetos" para ela. Por isso, foi adotado um padrão para linguagem pelo American
National Standards Institute (ANSI) em 1986 e ISO em 1987.
Em seu padrão de SQL, o ANSI declarou que a pronunciação oficial para SQL é
"es queue el". Entretanto, muitos profissionais de base de dados tomaram à sequência de
pronunciação como "gíria", isso reflete o nome original da linguagem, SEQUEL, antes
de conflitos da marca IBM perpetrados THE CURRENT MONIKER.
O SQL foi revisado em 1992 a esta versão foi dado o nome de SQL-92. Foi
revisado novamente em 1999 e 2003 para se tornar SQL:1999 (SQL3) e SQL:2003,
respectivamente. O SQL:1999 usa expressões regulares de emparelhamento, queries
recursivas e gatilhos(triggers). Também foi feita uma adição controversa de tipos nãoescalados e algumas características de orientação a objeto. O SQL:2003 introduz
características relacionadas ao XML, sequências padronizadas e colunas com valores de
auto-generalização (inclusive colunas-identidade.
O SQL, embora padronizado pela ANSI e ISO, tem muitas variações e extensões
por causa dos diferentes fabricantes de sistemas gerenciadores de banco de dados.
Normalmente a linguagem pode ser aportada de plataforma para plataforma sem
mudanças estruturais principais.
Outra aproximação é permitir para código de idioma processual ser embutido e
interagir com o banco de dados. Por exemplo, o Oracle e outros incluem Java no banco
de dados, enquanto PostgreSQL permite que funções sejam escritas em Perl, Tcl, ou C,
entre outras linguagens.
3. Caracteristicas
3.1. Linguagem de Definição de Dados (Data Definition Language - DDL)
A SQL DDL fornece comandos para definição de esquemas de relação, remoção de
relações, criação de índices e modificação de esquemas de relação.
3.2. Linguagem Interativa de Manipulação de Dados interativa (Interactive Data
Manipulation Language - DML)
A SQL DML inclui uma linguagem de consulta baseada na álgebra relacional e no
cálculo relacional de tupla. Compreende também comandos para inserir, remover e
modificar tuplas num banco de dados.
3.3. Linguagem de Manipulação de Dados Embutida (Embedded Data
Manipulation Language - Embedded DML)
A forma embutida da SQL incorporados foi projetada para aplicação em linguagens de
programação de uso geral como PL/I, Cobol, Pascal, Fortran e C.
3.4. Definição de visões (View Definition)
A SQL DDL inclui comandos para definição de visões.
3.5. Autorização (Authorization)
A SQL DDL inclui comandos para especificação de direitos de acesso a relações e
visões.
3.6. Integridade (Integrity)
A SQL DDL inclui comandos para especificação de regras de integridade que os dados
que serão armazenados no banco de dados devem satisfazer.
3.7. Controle de transações (Transaction Control)
A SQL inclui comandos para especificação do início e do fim das transações. Algumas
implementações também permitem o bloqueio explícito de dados para o controle de
concorrência.
3.8. Estruturas básicas
A estrutura básica de uma expressão SQL consiste de três cláusulas : SELECT , FROM
e WHERE.
A cláusula SELECT corresponde à operação projeção da álgebra relacional. É
usada para listar os atributos desejados no resultado de uma consulta.
A cláusula FROM corresponde à operação produto cartesiano da álgebra
relacional. Ela lista as relações a ser examinadas na avaliação da expressão.
A cláusula WHERE corresponde à seleção do predicado da álgebra relacional.
Consiste em um predicado envolvendo atributos de relações que aparecem na cláusula
FROM.
Sintaxe:
SELECT nome_coluna1, nome_coluna2, ...
FROM nome_tabela1, nome_tabela2, ...
WHERE condição
ORDER BY nome_colunaN [ ASC / DESC], ....
A SQL forma o produto cartesiano das relações chamadas na cláusula FROM,
executa uma seleção da álgebra relacional usando o predicado da cláusula WHERE e,
então projeta o resultado para as colunas da cláusula SELECT, ordenando-as segundo as
colunas da cláusula ORDER BY.
A cláusula WHERE pode ser omitida; nesse caso assume-se que condição é
verdadeira.
A cláusula ORDER BY também pode ser omitida.
O resultado de uma consulta SQL é, obviamente, uma relação.
4. Sistemas de Banco de Dados que usam SQL
DB2, Ingres, InterBase, MySQL, Oracle, PostgreSQL, Microsoft SQL Server, SQLite,
Sybase, Informix, Firebird (database server).
5. Exemplo
&5($7(7$%/(FOLHQWH&5($7(7$%/(SURGXWR
FRGBFOLHQWH,1735,0$5<.(<FRGBSURGXWR&+$535,0$5<.(<
QRPHBFOLHQWH
&+$512718//GHVFULØÔR
&+$512718//
HQGHUHØR
&+$512718//XQLGDGH&+$512718//'()$8/73&
FLGDGH
&+$512718//SUHFRBXQLW'(&,0$/12718//
XI
&+$5
FJF
&+$5
LH
&+$5
)25(,*1.(<XIUHIHUHQFHVXQLGBIHG
5.1.Regras
Nomes de colunas devem ser únicos dentro de uma determinada tabela, mas um mesmo
nome pode ser usado em diferentes tabelas dentro de um mesmo banco de dados; toda
coluna deve possuir um tipo de dado; se a coluna não tem a especificação de NULL ou
NOT NULL o default é NULL; o comando DROP TABLE nome_tabela apaga a
definição de uma tabela e todos os seus dados.
6. Conclusão
O SQL oferece as tecnologias e os recursos com os quais as empresas e organizações
necessitam contar para armazenar grandes quantidades de dados, não deixando de ser
util tambem até mesmo em pequenas aplicações domésticas. Sendo assim, pode-se
concluir que o conhecimento desta ferramenta é um grande valia para qualquer
profissional da área de informática.
7. Referencias
AGATETEPE – Site destinado a publicação de apostilas para estudo didático.
Disponível em: <http://www.agatetepe.com.br/tutorial891.html> Acesso em: 08 de
Maio de 2005.
WIKIPEDIA – Enciclopédia on-line, em várias linguagem de fonte aberta. Disponível
em : <http://pt.wikipedia.org/wiki/SQL> Acesso em: 08 de Maio de 2005.
Download