Você está na página 1de 6

SQL APOSTILA

INTRODUO
Uma linguagem de consulta a linguagem por meio da qual os usurios obtm informaes do banco de dados. Essas linguagens so, tipicamente, de nvel mais alto que as linguagens de programao tradicionais. As linguagens de consulta podem ser categorizadas como procedurais ou no-procedurais. Em uma linguagem procedural, o usurio deve "ensinar" ao sistema a realizao de uma seqncia de operaes no banco de dados para obter o resultado desejado. Em uma linguagem no-procedural, o usurio descreve a informao desejada sem fornecer um procedimento especfico para a obteno dessas informaes. Os sistemas de banco de dados comerciais oferecem uma linguagem de consulta que incorpora elementos de ambos os enfoques: procedurais e no-procedurais. Linguagens "puras": a lgebra relacional procedural, enquanto o clculo relacional de uma tupla e o clculo relacional de um domnio so no-procedurais. Essas linguagens de consulta so concisas e formais, sem "o acar sinttico" das linguagens comercias, mas ilustram as tcnicas fundamentais para a extrao de dados do banco de dados.

A LINGUAGEM SQL
O nome "SQL" significa "Structured Query Language" - Linguagem Estruturada de Pesquisa. Essa linguagem, de grande utilizao, teve seus fundamentos no modelo relacional de Codd (1970). Sua primeira verso recebeu o nome de SEQUEL ("Structured English Query Language"), sendo definida por D. D. CHAMBERLIN, entre outros, em 1974, nos laboratrios de pesquisa da IBM (Califrnia). Em 1975, foi implementado um prottipo de aplicao dessa nova linguagem. Entre 1976 e 1977, o SEQUEL foi revisado e ampliado, e teve seu nome alterado para "SQL" por razes jurdicas. Com esta reviso foi posto em prtica um projeto ambicioso da IBM chamado System R. Novas alteraes foram introduzidas na SQL, graas s idias apresentadas pelos diversos usurios do ambiente. Devido ao sucesso dessa nova forma de consulta e manipulao de dados, dentro de um ambiente de banco de dados, a utilizao da SQL foi se tornando cada vez maior. Com isso uma grande quantidade de SGBD's foi tendo como linguagem bsica a SQL - SQL/DS e DB2 da IBM, ORACLE da Oracle Corporation, RDB da Digital, SYBASE da Sybase INC, e Microsoft SQL ServerTM, entre outros. A SQL se tornou um padro de fato, no mundo dos ambientes de banco de dados relacionais. Bastava agora se tornar de direito. Ento, em 1982, o American National Standard Institute (ANSI) tornou a SQL padro oficial de linguagem em ambiente relacional. Infelizmente, como todo padro que se preze, existem hoje vrios dialetos SQL, cada um, evidentemente, tentando ser mais padronizado que o outro. O modelo relacional constitudo basicamente de tabelas, cada qual contendo linhas (registros, tuplas) e colunas. Os registros na tabela no so ordenados e sua localizao se faz por meio de um campo-chave, ou seja, um campo que assume o papel de chave primria da tabela. por intermdio dessa chave que se identifica uma, e somente uma, ocorrncia do valor contido no campo. Uma das razes da popularidade dos sistemas relacionais a sua facilidade de manipulao e entendimento. A linguagem SQL foi desenvolvida especialmente para o ambiente relacional, podendo ser adaptada a qualquer ambiente no relacional.

A idia original da SQL s previa seu uso de forma interativa. Aps sofrer alguns acrscimos, ela passou tambm a ter capacidade de ser utilizada em linguagens hospedeiras, tais como: COBOL, FORTRAN, "C", etc. Atualmente, a linguagem SQL assume um papel muito importante nos sistemas de gerenciamento de banco de dados, podendo ter muitos enfoques, como apresenta a figura: Linguagem interativa de consulta (query AdHoc)- Por meio de comandos SQL, os usurios podem montar consultas poderosas sem a necessidade da criao de um programa, podendo utilizar Forms ou ferramentas de montagem de relatrio; Linguagem de programao para acesso a banco de dados - Comandos SQL embutidos em programas de aplicao que acessam os dados armazenados; Linguagem de administrao de banco de dados - 0 responsvel pela administrao do banco de dados (DBA) pode utilizar comandos SQL para realizar suas tarefas; Linguagem cliente/servidor - Os programas (cliente) dos computadores pessoais usam comandos SQL para se comunicarem por meio de uma rede local, compartilhando os dados armazenados em um nico local (servidor). A arquitetura cliente/servidor minimiza o trfego de dados pela rede; Linguagem para banco de dados distribudo - A SQL auxilia na distribuio dos dados por meio de vrios ns conectados ao sistema de computao. Auxilia tambm na comunicao de dados com outros sistemas; Caminho de acesso a outros bancos de dados em diferentes mquinas - A SQL auxilia na converso entre diferentes produtos de banco de dados colocados em diferentes mquinas (de micro at mainframe). Por ser uma linguagem de numerosas aplicaes, a SQL pode manipular objetos de diferentes classes entre as funes de um SGBD:

Definio de dados (DDL) - permite ao usurio a definio da estrutura e organizao dos dados armazenados, e as relaes que existem entre eles; Manipulao de dados (DML) - permite ao usurio ou a um programa de aplicao, a incluso, remoo, seleo ou atualizao de dados previamente armazenados no banco; Controle de acesso - protege os dados de manipulaes no autorizadas; Compartilhamento de dados - coordena o compartilhamento dos dados por usurios concorrentes, sem contudo interferir na ao de cada um deles; Integridade dos dados - auxilia no processo de definio da integridade dos dados, protegendo contra corrupes, inconsistncias e falhas do sistema de computao
.

Vantagens e Desvantagens da linguagem SQL


Com o uso e a padronizao da SQL, algumas vantagens so diretas: Independncia de fabricante - A SQL oferecida em praticamente todos os SGBD's, e os que ainda no tm esto se encaminhando para l. Com isso posso mudar de SGBD sem me preocupar com o novo que vai chegar; Portabilidade entre computadores - A SQL pode ser utilizada desde um computador pessoal, passando por uma estao de trabalho, at um computador de grande porte; Reduo dos custos com treinamento - Baseado no item anterior, as aplicaes podem se movimentar de um ambiente para o outro sem que seja necessria uma reciclagem da equipe de desenvolvimento; Ingls estruturado de alto nvel - A SQL formada por um conjunto bem simples de sentenas em ingls, oferecendo um rpido e fcil entendimento; Consulta interativa - A SQL prov um acesso rpido aos dados, fornecendo respostas ao usurio, a questes complexas, em minutos ou segundos;

Mltiplas vises dos dados - A SQL permite ao criador do banco de dados levar diferentes vises dos dados a diferentes usurios; Definio dinmica dos dados - Por meio da SQL, podem-se alterar, expandir ou incluir, dinamicamente, as estruturas dos dados armazenados com a mxima flexibilidade; Apesar de todas essas vantagens, algumas crticas so dirigidas SQL:
A padronizao leva a uma, natural, inibio da criatividade, pois quem desenvolve aplicaes fica preso a solues padronizadas, no podendo sofrer melhorias ou alteraes;

Mesmo enfrentando alguns problemas e crticas, a linguagem SQL veio para ficar, auxiliando de forma bastante profunda a vida dos usurios e analistas no trabalho de manipulao dos dados armazenados em um banco de dados relacional. E sobre esse auxlio que iremos tratar, mostrando comandos e funcionalidades da SQL, por meio de exemplos prticos. No iremos mostrar todos os comandos, principalmente os que foram definidos para serem utilizados dentro de uma linguagem hospedeira (cursor); apresentaremos os comandos para criao, atualizao, alterao, pesquisa e eliminao de tabelas dentro de um ambiente relacional tpico.

Tabelas referentes ao modelo de dados;

VISO GRFICA DO PEDIDO

Você também pode gostar