segunda-feira, 8 de fevereiro de 2010

Linguagem SQL - Categorias da Linguagem

A linguagem SQL se divide em três categorias.

DDL – Linguagem de Definições de Dados (Data Definition Language)
Parte da linguagem SQL com comandos para criação das estruturas de dados como tabelas e colunas, etc. Ex: Create Table.

DML – Linguagem de Manipulação de Dados (Data Manipulation Language)
Parte da linguagem SQL com comandos para acessar e manipular os dados armazenados. Os principais comandos são: Select, UpDate, Insert, Delete.

DCL – Linguagem de Controle de Dados (Data Control Language)
Parte da linguagem com comandos para definir usuários e controlar seus acessos aos dados.
Ex: Grant, Revoke e Lock

Triggers e Stored Procedures
São pedaços de código escritos em uma extensão da linguagem SQL e variam para cada fornecedor do banco, sendo portanto uma linguagem proprietária. Essas extensões possuem instruções para implementar “Loops” e verificar condições permitindo fazer pequenos programas estruturados.

Triggers.
São disparados automaticamente pelo banco quando eventos de inclusão, alteração ou exclusão ocorrem em uma tabela.

Stored Procedures.
São chamados pelo aplicativo.
Domínio de Dados.
Estipulação de faixas de valores para campos, pode se usar triggers para este propósito

Regras de negócio.
Pode se definir como regra de negócio a integridade que deve existir entre campos de uma ou mais tabelas e as consistências e atualizações que devem ser feitas quando um registro é manipulado. Para estes tratamentos são utilizados os triggers e as stored procedures.

Alguns Comandos SQL

Criando Tabelas
Create table Agenda (Ag_Cd Código integer not nul,
Ag_Nm Nome VarChar(50) not nul,
Ag_Fone Telefone VarChar(11),
Primary Key (Ag_Cd));

Create [Unique] Index
On ( [ASC ] [DESC] , [ [ASC ] [DESC] ])
Drop Index

Relacionamento de tabelas
Alter Table Add Foreign Key (nome-coluna-chave-estrangeira) References
(nome-tabela-pai) On Delete [Restrict] [Cascade] [Set Null]

On Delete - Esta opção especifica os procedimentos que devem ser feitos pelo SGBD quando houver uma exclusão de um registro na tabela pai quando existe um registro correspondente nas tabelas filhas. As opções disponíveis são:
Restrict - Opção default. Esta opção não permite a exclusão na tabela pai de um registro cuja chave primária exista em alguma tabela filha.
Cascade - Esta opção realiza a exclusão em todas as tabelas filhas que possua o valor da chave que será excluída na tabela pai.
Set Null - Esta opção atribui o valor NULO nas colunas das tabelas filhas que contenha o valor da chave que será excluída na tabela pai.

Inserindo Dados
Insert into Agenda (Ag_Cd, Ag_Nm, Ag_Fone) values (1,’Maria’,’01166664444’)

Selecionando Dados
SELECT ALL FROM [, ] DISTINCT
WHERE GROUP BY HAVING
ORDER BY ASC DESC

ALL - Opção default. Mostra todos os valores obtidos na seleção.
DISTINCT - Opção que mostra os valores obtidos na seleção eliminando as duplicidades.
WHERE - Especifica o critério de seleção dos registros nas tabelas especificadas.
GROUP BY - Especifica o(s) campo(s) que serão grupados para atender a consulta.
HAVING - Especifica uma condição para seleção de um grupo de dados. Esta opção só é utilizada combinada com a opção GROUP BY.
ORDER BY - Esta opção quando utilizada apresenta o resultado da consulta ordenado de forma crescente ou decrescente pelos campos definidos.

Select * from Agenda [ where ]
Select Ag_Nm, Ag_Fone from Agenda [ where ]

Alterando Dados
UpDate Agenda Set Ag_Nm=’Maria da Silva’, Ag_Fone=’01166774455’ where Ag_Cd=1
[ where ]

Excluindo Dados
Delete from Agenda where Ag_Cd=1

Alter Table
Drop
Add [Not Null] [Not Null With Default]
Rename
Rename Table
Modify [Null] [Not Null] [Not Null With Default]
Add Primary Key
Drop Primary Key
Add Foreign Key (nome-coluna-chave-estrangeira) References
(nome-tabela-pai) On Delete [Restrict] [Cascade] [Set Null]
Drop Foreign Key (nome-coluna-chave-estrangeira) References
(nome-tabela-pai)

Concluindo operações e registrando no banco
Commit

Controle de Transações

- Begin Transaction - Start Transaction
- Commit - Commit
- RollBack - RollBack

Travas
- Exclusive Lock
- Shared Lock
Algumas funções utilizadas no comando Select.
a) COUNT(*) (DISTINCT )
Objetivo:
Retorna a quantidade de registros existentes no campo especificado. Quando a opção * é utilizada o resultado é a quantidade de registros existentes. Quando é referenciado o nome de um campo retorna a quantidade de valores existentes na coluna.

b) SUM (ALL ) DISTINCT
Objetivo:
Retorna a soma dos valores existentes no campo especificado. Quando a opção DISTINCT é utilizada são consideradas apenas os diferentes valores existentes no campo.

c) AVG (ALL )
DISTINCT
Objetivo:
Retorna a média dos valores existentes no campo especificado. Quando a opção DISTINCT é utilizada são consideradas apenas os diferentes valores existentes no campo.

d) MAX (ALL )
DISTINCT
Objetivo:
Retorna o maior valor existente no campo especificado. Quando a opção DISTINCT é utilizada são consideradas apenas os diferentes valores existentes no campo.

e) MIN (ALL )
DISTINCT
Objetivo:
Retorna o menor valor existente no campo especificado. Quando a opção DISTINCT é utilizada são consideradas apenas os diferentes valores existentes no campo.

ACS.

Nenhum comentário:

Postar um comentário

Quem sou eu

Minha foto
Profissional da area de informática desde os XT. Casado 3 filhos. Programando atualmente em Delphi,Clipper com xHarbour e PHP as vezes. Já programei em VB, era o rei dos bats,rs algumas experiências com C++, C#.Net e Java. Fã de documentários de ciências e tecnologias