Thanks to visit codestin.com
Credit goes to pt.scribd.com

0% acharam este documento útil (0 voto)
4 visualizações4 páginas

BD SQL

O documento aborda as sublinguagens do SQL, incluindo DDL, DML, DCL e TCL, e suas funções específicas. Ele também discute manipulação de dados, rotinas administrativas, programação avançada, indexação, otimização de consultas, gerenciamento de transações e controle de concorrência. Exemplos práticos de comandos SQL são fornecidos para ilustrar cada conceito.

Enviado por

gabrielnpc2010
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
4 visualizações4 páginas

BD SQL

O documento aborda as sublinguagens do SQL, incluindo DDL, DML, DCL e TCL, e suas funções específicas. Ele também discute manipulação de dados, rotinas administrativas, programação avançada, indexação, otimização de consultas, gerenciamento de transações e controle de concorrência. Exemplos práticos de comandos SQL são fornecidos para ilustrar cada conceito.

Enviado por

gabrielnpc2010
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 4

1.

Sublinguagens SQL

O SQL possui sublinguagens responsáveis por diferentes operações:

• DDL (Data Definition Language): definição da estrutura do banco (CREATE, ALTER,


DROP, TRUNCATE).

• DML (Data Manipulation Language): manipulação dos dados (SELECT, INSERT, UPDATE,
DELETE).

• DCL (Data Control Language): controle de permissões (GRANT, REVOKE).

• TCL (Transaction Control Language): controle de transações (COMMIT, ROLLBACK,


SAVEPOINT).

2. Manipulação de Dados com SQL (DML)

Principais comandos:

• SELECT: consulta dados.

• INSERT INTO: insere registros.

• UPDATE: atualiza registros.

• DELETE: remove registros.

• WHERE, ORDER BY, GROUP BY: filtragem, ordenação e agrupamento.

Exemplo de SELECT:

sql

SELECT nome, salario

FROM funcionarios

WHERE salario > 3000

ORDER BY salario DESC;

3. Rotinas Administrativas (Administração de Banco de Dados)

• Backup e Restore: proteção contra perda de dados.

• Controle de acessos: uso de GRANT e REVOKE para permissões.

• Monitoramento de desempenho: uso de CPU, memória, índices e planos de execução.

• Criação de usuários e permissões.

Exemplo de GRANT:

sql
GRANT SELECT, INSERT ON funcionarios TO usuarioX;

4. Programação Avançada em SQL

Procedures (Procedimentos Armazenados):

sql

CREATE PROCEDURE aumentarSalario()

BEGIN

UPDATE funcionarios SET salario = salario * 1.1;

END;

Triggers (Gatilhos):

sql

CREATE TRIGGER before_insert_cliente

BEFORE INSERT ON clientes

FOR EACH ROW

SET NEW.cadastro = NOW();

Functions (Funções Definidas pelo Usuário - UDF):

sql

CREATE FUNCTION calcular_bonus(salario DECIMAL(10,2)) RETURNS DECIMAL(10,2)

BEGIN

RETURN salario * 0.1;

END;

Views (Visões):

sql

CREATE VIEW vw_funcionarios_ativos AS

SELECT nome, salario

FROM funcionarios

WHERE ativo = 1;

Cursores:

sql
DECLARE cursor_func CURSOR FOR

SELECT nome FROM funcionarios;

5. Indexação e Hashing

Melhora a performance das consultas:

• Índices B-tree: ideal para consultas ordenadas e intervalares (ORDER BY, BETWEEN).

• Índices Hash: ideal para buscas exatas (WHERE id = 5).

Exemplo de índice B-tree:

sql

CREATE INDEX idx_nome ON clientes(nome);

6. Otimização de Consultas

• Utilizar índices adequados.

• Evitar SELECT *.

• Analisar o plano de execução com EXPLAIN.

Exemplo:

sql

EXPLAIN SELECT nome FROM funcionarios WHERE salario > 3000;

• Melhorar consultas usando JOIN, subconsultas e WITH.

7. Gerenciamento de Transações

Propriedades ACID:

• Atomicidade: tudo ou nada.

• Consistência: mantém integridade.

• Isolamento: não há interferência mútua.

• Durabilidade: permanência após falhas.

Exemplo:

sql

BEGIN;

UPDATE contas SET saldo = saldo - 100 WHERE id = 1;

COMMIT; -- ou ROLLBACK
8. Controle de Concorrência

• Locks (bloqueios): impede alterações simultâneas.

• Controle por Timestamp: ordena execuções.

• MVCC: cria versões dos dados.

Problemas evitados:

• Leitura suja (Dirty Read)

• Leitura fantasma (Phantom Read)

• Escrita perdida (Lost Update)

Você também pode gostar