Sei sulla pagina 1di 5

SISTEMAS DE INFORMAO

PROGRAMAO EM BANCO DE DADOS

LUCIANO LICAR SEREJO

RA: 1299010524

WESLEY CALADO DA SILVA

RA: 1299010536

Prof. PAULO GUIMARES


CAMPINAS DE SETEMBRO DE 2015.

SQL (Structured Query Language)


a linguagem padro universal para manipular bancos de dados relacionais atravs dos
SGBDs. Isso significa que todos os SGBDRs (Sistema de Gerenciamento de Banco de Dados
Relacionais) oferecem uma interface para acessar o banco de dados utilizando a linguagem
SQL, embora com algumas variaes. Logo, saber o que SQL e como utiliz-la
fundamental para qualquer desenvolvedor de softwares.
A Linguagem Estruturada de Consultas (SQL, traduzida para o portugus) utilizada para
interagir com o SGBD e executar vrias tarefas como inserir e alterar registros, criar objetos
no banco de dados, gerenciar usurio, consultar informaes, controlar transaes, etc. Todas
as operaes realizadas no banco de dados podem ser solicitadas ao SGBD utilizando esta
linguagem.
A linguagem SQL dividida em 4 agrupamentos de acordo com o tipo de operao a ser
executada no banco de dados. A saber, DML (Data Manipulation Language, ou Linguagem
de Manipulao de Dados em portugus), DDL (Data Definition Language, ou Linguagem de
Definio de Dados em portugus), DCL (Data Control Language, ou Linguagem de
Controle de Dados em portugus) e DTL (Data Transaction Language, ou Linguagem de
Transao de Dados em portugus). Alguns autores classificam tambm uma diviso da
linguagem para consultas, a DQL (Data Query Language, Linguagem de Consulta de Dados),
que tem apenas um comando (SELECT), porm mais comum encontrar este comando como
integrante da DML, juntamente com os comandos INSERT, UPDATE e DELETE.
Os Sistemas Gerenciadores de Bancos de Dados Relacionais (SGBDr) so o principal
mecanismo de suporte ao armazenamento de dados e recuperao de informaes utilizadas
em diversas aplicaes. Em um SGBD, os dados do banco de dados so mantidos em tabelas,
o que torna imprescindvel o conhecimento dessa estrutura.
A tabela uma estrutura matricial composta por linhas e colunas. Na prtica, cada linha
representa um objeto do negcio e cada coluna representa uma caracterstica dele.

As linhas de uma tabela so conhecidas por registros ou tuplas. J as colunas, por campos ou
atributos. No desenho, a primeira linha representa os nomes das colunas.
Na prtica, a construo de um banco de dados envolve a criao de diversas tabelas
relacionadas. O relacionamento entre tabelas ocorre atravs do uso de um mecanismo
denominado chave estrangeira. Para maiores detalhes sobre relacionamentos entre tabelas.
Relacionamentos entre tabelas ajudam a manter ntegros os dados do banco de dados. Para
aprender sobre o mecanismo de relacionamento, interessante estudar as definies de chave
primria e de chave estrangeira:

A chave primria serve para identificar de forma nica cada linha de uma tabela. Para
isso, utilizada uma coluna ou uma combinao de colunas da prpria tabela. Quando
uma chave primria escolhida, o prprio SGBD se encarrega de realizar as
verificaes necessrias para manter a integridade dos dados (a chave primria no
pode conter valor nulo).

A chave estrangeira serve para realizar ligaes entre tabelas. Tais ligaes, ou
relacionamentos, so essenciais para ajudar a manter ntegros os dados do banco de
dados.

A vantagem da linguagem SQL reside no fato dela ser declarativa, ou seja, todo o esforo de
codificao de nossa parte resumido na escrita de solicitaes que so submetidas ao SGBD,
no importando (pelo menos se no pensarmos em otimizao de consultas) a forma que o
mesmo utilizar para recuperar as informaes.
Uma sintaxe para consultas
Estudada a composio de uma tabela e ciente da importncia das chaves primria e
estrangeira na manuteno da integridade dos dados do banco de dados, chegada a hora de
conhecer os principais comandos utilizados para a realizao de consultas. Para isso, observe
o cdigo presente na Figura 1.

Figura 1. Sintaxe SQL para a execuo de consultas.


A Figura 1 representa a sintaxe SQL utilizada pela maioria dos SGBD. Observe o significado
de cada comando:
SELECT [DISTINCT | ALL] {*|table.*|[table].field1}

Esta linha serve para apresentar ao usurio as colunas (field) especificadas;

As colunas podem existir em alguma tabela, ou podem ser calculadas atravs do uso
de alguma funo especial (AVG, SUM, COUNT, etc);

As linhas resultantes de uma consulta podem apresentar mesmo contedo. Utiliza-se


DISTINCT para remover linhas repetidas. Para que sejam apresentadas linhas iguais,
utiliza-se opo ALL. Na prtica, esta opo utilizada como padro na maioria dos
SGBDs;
Table.* indica a recuperao de todas (*) as colunas de determinada tabela da
consulta. Para recuperar apenas determinado atributo, substitui-se o * pelo nome da
coluna [table].field1.

- FROM table [, ...]

Nesta linha so declaradas as tabelas envolvidas na consulta;

Em consultas envolvendo vrias tabelas, necessrio indicar os campos que fazem


parte do relacionamento para que o SGBD possa recuperar corretamente as
informaes.

interessante notar que o nome de qualquer tabela pode ser virtualmente modificado,
principalmente para facilitar a escrita das consultas.

[WHERE criteria]

Aqui so declarados os mecanismos (conjunto de condies e filtros) necessrios


obteno da informao;

possvel compor diversos critrios de filtro, usando-se para esse fim uma
combinao de operadores lgicos (AND, OR, NOT), subconsultas, operadores de
pesquisa em cadeia de caracteres, funes de data, entre outros;

Em consultas envolvendo vrias tabelas, pode-se estabelecer a condio de ligao


entre elas.

[GROUP BY groupfieldlist]

Esta opo utilizada para agrupar informaes em uma consulta;

Em groupfieldlist declara-se um conjunto de atributos os quais o SGBD considerar


um grupo,

Quando utilizado em conjunto com funes de agregao (por exemplo, AVG e SUM),
os resultados dessas funes so calculados para cada grupo declarado em
groupfieldlist.

[HAVING groupcriteria]

De maneira semelhante WHERE, esta opo serve para realizar filtros na consulta;

Os filtros realizados por HAVING so executados aps a operao de grupamento ter


sido executada. Neste caso, possvel utilizar funes de agregao como critrios de
filtro.

[ORDER BY field1 [ASC | DESC]

utilizada para ordenar o resultado da consulta;

possvel escolher, para cada coluna, o tipo de ordenao (ascendente ou


descendente);
A maioria dos SGBD utiliza como padro a ordenao ascendente, neste caso tornando
desnecessria a declarao do critrio ASC.