Banco de Dados 2
Questionário sobre Comandos
e Conceitos de 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.
SQL
significa Structured Query Language, que traduzindo
é Linguagem de Consulta Estruturada . É uma linguagem cuja finalidade é para pesquisa
declarativa para banco de dados relacional. Muitas das características
originais do SQL foram inspiradas na álgebra relacional. A linguagem SQL é dividida em subconjuntos de acordo com as
operações que queremos efetuar sobre um banco de dados, tais como:
·
DML - Linguagem de Manipulação de Dados;
·
DDL - Linguagem de Definição de Dados;
·
DCL - Linguagem de Controle de Dados;
·
DTL - Linguagem de Transação de Dados;
·
DQL - Linguagem de Consulta de Dados;
2) Quais são os tipos de dados que a linguagem SQL padrão (ANSI) suporta? Explique cada um resumidamente.
O SQL suporta três modalidades de tipos de dado: tipos de dado pré-definidos, tipos construídos e tipos definidos pelo usuário. Os tipos pré-definidos são algumas vezes chamados de "tipos nativos", mas não neste Padrão Internacional. Os tipos definidos pelo usuário podem ser definidos por um padrão, por uma implementação, ou por um aplicativo.
O tipo construído é especificado utilizando um dos construtores de tipo de dado do SQL: ARRAY, MULTISET, REF e ROW. O tipo construído é um tipo matriz, um tipo multi-conjunto, um tipo referência ou um tipo linha, se for especificado por ARRAY, MULTISET,REF e ROW, respectivamente. Os tipos matriz e multi-conjunto são conhecidos genericamente como tipos coleção.
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.
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]
4) O que é uma visão (view) em SQL? Explique suas propriedades, utilidades e os comandos para a sua manipulação.
Uma visão consiste basicamente de uma tabela derivada de outras tabelas. Considerando o exemplo TRABALHO, poderíamos criar uma visão baseada na Tabela de Empregados (EMP) e na Tabela de Departamentos (DEPT) onde tivéssemos somente os Nomes dos Funcionários e os Departamenos nos quais estes trabalhassem. Teríamos algo assemelhado ao abaixo representado
CREATE VIEW EMP_DEP
AS SELECT E.EMPNOME, D.DEPNOME
FROM EMP E, DEPT D
WHERE E.DEPNUME = D.DEPNUME;
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?
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, visto que, os comandos são executados diretamente no servidor. Além de melhorar a performance, criar mecanismos de segurança entre a manipulação dos dados do Banco de Dados. Exemplo: (MS-SQL Server).
6) O que são gatilhos (TRIGGERS)? Para que servem, quais as vantagens na sua utilização, como funcionam e como criá-los?
Gatilho ou trigger é um recurso de programação executado sempre que o evento
associado ocorrer. Trigger é um tipo especial de procedimento armazenado, que é
executado sempre que há uma tentativa de modificar os dados de uma tabela que é
protegida por ele.
É 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.
Nenhum comentário:
Postar um comentário