Comando 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.
R: A sigla SQL significa Structured Query Language, ou Linguagem de Consulta Estruturada. SQL apresenta uma série de comandos que permitem à definição dos dados (chamada DDL – Data Definition Language), que é composta, entre outros, pelos comandos CREATE, que é destinado a criação do Banco de Dados, das Tabelas que o compõe, além das relações existentes entre as tabelas. Ela é 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 é usada para inserir um registro (formalmente uma tupla) a uma tabela existente.
- UPDATE para mudar os valores de dados em uma ou mais linhas da tabela existente.
- DELETE permite remover linhas existentes de uma tabela.
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 cria um objeto (uma Tabela, por exemplo) dentro da base de dados.
- DROP apaga um objeto do banco de dados.
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.
Duas palavras-chaves da DCL:
- GRANT - autoriza ao usuário executar ou setar operações.
- REVOKE - remove ou restringe a capacidade de um usuário de executar operações.
Outros comandos DCL:
- ALTER PASSWORD
- CREATE SYNONYM
DTL - Linguagem de Transação de Dados
- BEGIN WORK (ou START TRANSACTION, dependendo do dialeto SQL) pode ser usado para marcar o começo de uma transação de banco de dados que pode ser completada ou não.
- COMMIT envia todos os dados das mudanças permanentemente.
- ROLLBACK faz com que as mudanças nos dados existentes desde que o último COMMIT ou ROLLBACK sejam descartadas.
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.
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é 256
SMALLINT: Valores numéricos inteiros variando de –32.768 até 32.767
INT: Valores numéricos inteiros variando de -2.147.483.648 até 2.147.483.647
BIGINT: Valores numéricos inteiros variando de –92.23.372.036.854.775.808 até 9.223.372.036.854.775.807
BIT: 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.
SMALLMONEY: Valores numéricos decimais variando de -214.748,3648 até 214.748,3647
MONEY: Valores numéricos decimais variando de -922.337.203.685.477,5808 até 922.337.203.685.477,5807
REAL: Valores numéricos aproximados com precisão de ponto flutuante, indo de
FLOAT: Valores numéricos aproximados com precisão de ponto flutuante, indo de
SMALLDATETIME: 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. Se a quantidade de caracteres armazenada no campo for menor que o tamanho total especificado em N, o resto do campo é preenchido com espaços em branco.
VARCHAR(N): Armazena N caracteres (até 8.000) no formato não Unicode. Se a quantidade de caracteres armazenada no campo for menor que o tamanho total especificado em N, o resto do campo não é preenchido.
TEXT: Armazena caracteres (até 2.147.483.647) no formato não Unicode. Se a quantidade de caracteres armazenada no campo for menor que 2.147.483.647, o resto do campo não é preenchido. Procure não utilizar este tipo de dado diretamente, pois existem funções específicas para trabalhar com este tipo de dado.
NCHAR(N): Armazenam N caracteres fixos (até 4.000) no formato Unicode. Se a quantidade de caracteres armazenada no campo for menor que o tamanho total especificado em N, o resto do campo é preenchido com espaços em branco.
NVARCHAR(N): Armazenam N caracteres (até 4.000) no formato Unicode. Se a quantidade de caracteres armazenada no campo for menor que o tamanho total especificado em N, o resto do campo não é preenchido.
NTEXT: Armazena caracteres (até 1.073.741.823) no formato Unicode. Se a quantidade de caracteres armazenada no campo for menor que 1.073.741.823, o resto do campo não é preenchido. Procure não utilizar este tipo de dado diretamente, pois existem funções específicas para trabalhar com este tipo de dado.
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.
R: SELECT é usada para selecionar um subconjunto de tuplas de uma relação as quais devem satisfazer uma condição de seleção.
SELECT {A1, A2,..., AN | * } FROM R1, R2, ...,RN WHERE P
EQUIVALE A
ΠA1, A2,..., AN (ΣP (R1 X R2 X...X RN))
ONDE CADA AI REPRESENTA UM ATRIBUTO E CADA RI É UMA RELAÇÃO.
4) O que é uma visão (view) em SQL? Explique suas propriedades, utilidades e os comandos para a sua manipulação.
R: Uma visão(view) é qualquer relação que não faz parte do modelo lógico do banco de dados, mas é visível ao usuário. Sua propriedade da visão é composta com linhas e colunas como se fosse uma tabela real, a utilidade esta ligada ao aumento de segurança obtendo assim uma visão limitada e controlada dos dados que podem ser obtidos e a performance que utilizada consulta otimizada.
5) Os 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: São procedimentos executados no servidor, ele serve como dispensamento de banco de dados eles permitem encapsular tarefas repetitivas aceita parâmetros de entrada e retorno um valor de status o que acaba reduzindo o trafego na rede e melhorando a performance
Comandos utilizados:
Create procedure busca
@nomedebusca varchar(50)
as
select nome1,nome2
from nome_da tabela
where nome = @nomebusca
6) Os que são gatilhos (TRIGGERS)? Para que servem, quais as vantagens na sua utilização, como funcionam e como criá-los?
R: Os Gatilhos ou TRIGGERS são maneiras para executar um programa quando o evento associado ocorrer, ela mantem a consistência dos dados ou então propaga as alterações de dados de uma tabela para outras, sua vantagem é que quando ocorrer alguma alteração na tabela ele é disparado e deixa gravadas todas as informações do usuário que fez a alteração, eles são criados e funcionam da seguinte forma:
CREATE TRIGGER nome_do_gatilho ON dono.nome_da_tabela
FOR INSERT (ou UPDATE OU DELETE)
As
Código da execução
0 comentários:
Postar um comentário