terça-feira, 1 de dezembro de 2009

Comandos e Conceitos do SQL

1) O que significa a sigla SQL? Qual a finalidade dessa linguagem? Como ela se divide? Quais são os comandos principais de cada divisão? Explique-os resumidamente.

Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL, é uma linguagem de pesquisa declarativa para banco de dados relacional.Surgiu para padronizar a manipulação dos dados do BD. É dividida em:

DML - Linguagem de Manipulação de Dados
Primeiro há os elementos da DML (Data Manipulation Language - Linguagem de Manipulação de Dados). A DML é um subconjunto da linguagem usada para inserir, atualizar e apagar dados.
INSERT, UPDATE, DELETE

DDL - Linguagem de Definição de Dados
O segundo grupo é a DDL (Data Definition Language - Linguagem de Definição de Dados). Uma DDL permite ao utilizador definir tabelas novas e elementos associados. A maioria dos bancos de dados de SQL comerciais tem extensões proprietárias no DDL.
CREATE, DROP

DCL - Linguagem de Controle de Dados
O terceiro grupo é o DCL (Data Control Language - Linguagem de Controle de Dados). DCL controla os aspectos de autorização de dados e licenças de usuários para controlar quem tem acesso para ver ou manipular dados dentro do banco de dados.
GRANT, REVOKE

DTL - Linguagem de Transação de Dados
BEGIN WORK, COMMIT, ROLLBACK

DQL - Linguagem de Consulta de Dados
Embora tenha apenas um comando, a DQL é a parte da SQL mais utilizada. O comando SELECT permite ao usuário especificar uma consulta ("query") como uma descrição do resultado desejado. Esse comando é composto de várias cláusulas e opções, possibilitando elaborar consultas das mais simples às mais elaboradas.
FROM, WHERE, GROUP BY, HAVING, ORDER BY, DISTINCT.


2) Quais são os tipos de dados que a linguagem SQL padrão (ANSI) suporta? Explique cada um resumidamente.


Os dados podem ser armazenados em diferentes tipos, o tipo define as operações que poder ser executadas com determinado dado. Os tipos no SQL são:

Inteiros: integer, int, smallint e tinyint;
Reais: float, double, real, numeric;
Caracteres: char;
Texto: varchar, text;
Data: date

3) Explique o comando SELECT. Sua sintaxe, características básicas, Cláusula Where, operadores, conectores, subconsultas, funções de agregação, cláusula order by, group by, having e compute by.

O comando SELECT Instrui o programa principal do banco de dados para retornar a informação como um conjunto de registros.
Para executar esta operação, o programa principal de banco de dados procura a tabela ou tabelas especificadas, extrai as colunas escolhidas, seleciona as linhas que satisfazem o critério e classifica ou agrupa as linhas resultantes na ordem especificada.


Sintaxe

SELECT [predicado { * tabela.* [tabela.]campo1 [AS alias1] [, [tabela.]campo2 [AS alias2] [, ...]]}
FROM expressãotabela [, ...] [IN bancodedadosexterno]
[WHERE... ]
[GROUP BY... ]
[HAVING... ]
[ORDER BY... ]
[WITH OWNERACCESS OPTION]

WHERE – Utilizada para especificar as condições que devem reunir os registros que serão selecionados.

GROUP BY – Utilizada para separar os registros selecionados em grupos específicos.

HAVING – Utilizada para expressar a condição que deve satisfazer cada grupo.

ORDER BY – Utilizada para ordenar os registros selecionados com uma ordem especifica.

Funções de Agregação
As funções de soma se usam dentro de uma cláusula SELECT em grupos de registros para devolver um único valor que se aplica a um grupo de registros.

AVG – Utilizada para calcular a media dos valores de um campo determinado.

COUNT – Utilizada para devolver o número de registros da seleção.

SUM – Utilizada para devolver a soma de todos os valores de um campo determinado.

MAX – Utilizada para devolver o valor mais alto de um campo especificado.

MIN – Utilizada para devolver o valor mais baixo de um campo especificado.

Operadores Lógicos
AND – E lógico. Avalia as condições e devolve um valor verdadeiro caso ambos sejam corretos.
OR – OU lógico. Avalia as condições e devolve um valor verdadeiro se algum for correto.
NOT – Negação lógica. Devolve o valor contrário da expressão.

Operadores Relacionais

< – Menor que
> – Maior que
<> – Diferente de
<= – Menor ou Igual que
>= – Maior ou Igual que
= – Igual a

BETWEEN – Utilizado para especificar um intervalo de valores.

LIKE – Utilizado na comparação de um modelo e para especificar registros de um banco de
dados."Like" + extensão % vai significar buscar todos resultados com o mesmo início da extensão.



4) O que é uma visão (view) em SQL? Explique suas propriedades, utilidades e os comandos para a sua manipulação.


Uma view é uma maneira alternativa de observação de dados de uma ou mais entidades (tabelas), que compõem uma base de dados. Pode ser considerada como uma tabela virtual ou uma consulta armazenada. Geralmente e recomendável, uma view, implementada encapsulando uma instrução SELECT (busca de dados para exposição), guarda os dados em uma tabela virtual, armazenando também em cache, pois todas as consultas ao banco, encapsuladas ou não, ao serem executadas, são armazenadas em cache. Por este motivo, pode ser mais rápido ter uma consulta armazenada em forma de view, em vez de ter que retrabalhar uma instrução.
O comando para criar uma view é o CREATE VIEW.


5) O que são procedimentos armazenados (stored procedure)? Para que servem, o que eles permite fazer e quais comandos podemos utilizar no seu corpo e para criá-los?

Stored Procedure é um conjunto de comandos, ao qual é atribuído um nome. Este conjunto fica armazenado no Banco de Dados e pode ser chamado a qualquer momento tanto pelo SGBD (sistema Gerenciador de Banco de Dados) quanto por um sistema que faz interface com o mesmo. A utilização de Stored Procedures é uma técnica eficiente de executarmos operações repetitivas. Ao invés de digitar os comandos cada vez que determinada operação necessite ser executada

CREATE PROCEDURE nome_do_stored_procedure[ {@parametro tipo_de_dados_parametro}[=valor_default] [output] ][,...n]AS comando1, comando2, comando3, ..., comando2GO.

6) O que são gatilhos (TRIGGERS)? Para que servem, quais as vantagens na sua utilização, como funcionam e como criá-los?

Um Trigger é bloco de comandos Transact-SQL que é automaticamente executado quando um comando INSERT , DELETE ou UPDATE for executado em uma tabela do banco de dados.
Os Triggers são usados para realizar tarefas relacionadas com validações , restrições de acesso , rotinas de segurança e consistência de dados ; desta forma estes controles deixam de ser executados pela aplicação e passam a ser executados pelos Triggers em determinadas situações :
Mecanismos de validação envolvendo múltiplas tabelas
Criação de contéudo de uma coluna derivada de outras colunas da tabela
Realizar análise e e atualizações em outras tabelas com base em alterações e/ou incluções da tabela atual
A criação de um Trigger envolve duas etapas :
Um comando SQL que vai disparar o Trigger ( INSERT , DELETE , UPDATE)
A ação que o Trigger vai executar ( Geralmente um bloco de códigos SQL )
Podemos criar um Trigger usando o comando Create Trigger

Nenhum comentário:

Postar um comentário