Comandos e Conceitos do SQL
Autor: Grupo SI 2009 (São luis) | Publicado: 2011-12-01T14:07:00-08:00

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.R: Structured Query Language, ou Linguagem de Consulta Estruturada, ela se divide em:
DML (Data Manipulation Language - Linguagem de Manipulação de Dados) Comandos: INSERT, UPDATE, DELETE;DCL (Data Control Language - Linguagem de Controle de Dados) Comandos: GRANT, REVOKE;DTL, (Linguagem de Transação de Dados) Comandos: BEGIN WORK, COMMIT, ROLLBACK;

DQL, (Linguagem de Consulta de Dados) Comandos: Select.




2) Quais são os tipos de dados que a linguagem SQL padrão (ANSI) suporta? Explique cada um resumidamente.R: TINYINT: Valores numéricos inteiros variando de 0 até 256SMALLINT: Valores numéricos inteiros variando de –32.768 até 32.767INT: Valores numéricos inteiros variando de -2.147.483.648 até 2.147.483.647BIGINT: Valores numéricos inteiros variando de –92.23.372.036.854.775.808 até 9.223.372.036.854.775.807BIT: Somente pode assumir os valores 0 ou 1. Utilizado para armazenar valores lógicos.DECIMAL(I,D) e NUMERIC(I,D): Armazenam valores numéricos inteiros com casas decimais utilizando precisão. "I" deve ser substituído pela quantidade de dígitos total do número e "D" deve ser substituído pela quantidade de dígitos da parte decimal (após a vírgula). DECIMAL e NUMERIC possuem a mesma funcionalidade, porém DECIMAL faz parte do padrão ANSI e NUMERIC é mantido por compatibilidade. O SQL Server internamente armazena o separador decimal como ponto (.) e o separador de milhar como vírgula (,), idependente da configuração do Windows.SMALLMONEY: Valores numéricos decimais variando de -214.748,3648 até 214.748,3647MONEY: Valores numéricos decimais variando de -922.337.203.685.477,5808 até 922.337.203.685.477,5807REAL: Valores numéricos aproximados com precisão de ponto flutuante, indo de -3.40E + 38 até 3.40E + 38FLOAT: Valores numéricos aproximados com precisão de ponto flutuante, indo de -1.79E + 308 até 1.79E + 308SMALLDATETIME: Armazena hora e data variando de 1 de janeiro de 1900 até 6 de junho de 2079. A precisão de hora é armazenada até os segundos.DATETIME: Armazena hora e data variando de 1 de janeiro de 1753 até 31 de Dezembro de 9999. A precisão de hora é armazenada até os centésimos de segundos.CHAR(N): Armazena N caracteres fixos (até 8.000) no formato não Unicode. VARCHAR(N): Armazena N caracteres (até 8.000) no formato não Unicode. TEXT: Armazena caracteres (até 2.147.483.647) no formato não Unicode. NCHAR(N): Armazena N caracteres fixos (até 4.000) no formato Unicode. NVARCHAR(N): Armazena N caracteres (até 4.000) no formato Unicode. NTEXT: Armazena caracteres (até 1.073.741.823) no formato Unicode
3) Explique o comando SELECT.&nbsp;R: 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.Select é a seleção de uma entidade, where é usado como uma condição imposta para a seleção da entidade. 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.
4) O que é uma visão (view) em SQL? Explique suas propriedades, utilidades e os comandos para a sua manipulação.&nbsp;&nbsp;R:&nbsp; Uma view, no contexto dos bancos de dados é uma relação que não armazena dados, composta dinamicamente por uma consulta que é previamente analisada e otimizada.
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?R:&nbsp; Procedimento armazenado ou Stored Procedure é uma coleção de comandos em SQL para dispensamento de Banco de dados. Encapsula tarefas repetitivas, aceita parâmetros de entrada e retorna um valor de status (para indicar aceitação ou falha na execução). O procedimento armazenado pode reduzir o tráfego na rede, melhorar a performance, criar mecanismos de segurança, etc.
6) O que são gatilhos (TRIGGERS)? Para que servem, quais as vantagens na sua utilização, como funcionam e como criá-los?R: Gatilho ou trigger é um recurso de programação executado sempre que o evento associado ocorrer.É muito utilizada para ajudar a manter a consistência dos dados ou para propagar alterações em um determinado dado de uma tabela para outras. Um bom exemplo é um gatilho criado para controle de quem alterou a tabela, nesse caso, quando a alteração for efetuada, o gatilho é "disparado" e grava em uma tabela de histórico de alteração, o usuário e data/hora da alteração.