Programação
 
 
SQL
(Structured Query Language)

O SQL é uma linguagem para consultas a banco de dados. Banco de Dados (em inglês DataBase) é um conjunto de tabelas relacionadas entre si e gerenciadas por um SGBD (Sistema Gerenciador de Banco de Dados). Um SGBD (em inglês DBMS - DataBase Management System) é uma ferramenta usada para acessar, manter e gerenciar bancos de dados através do SQL. Temos como exemplos de SGDBs o MS-SQL Server, PostgreSQL, MySQL, Oracle, Firebird, DB2 etc.



SELECIONAR LINHAS E/OU COLUNAS



JOIN



FUNÇÕES



FUNÇÕES DE GRUPO


SUBQUERIES
Obs: geralmente usa-se "subqueries" com as cláusulas "where", "having", "set (update)" e "values (insert)". Subqueries não podem ser utilizadas em cláusulas ORDER BY.


MER

Agora que foi entendido alguns comando básico SQL, vamos ver como é originado um banco de dados. Tudo começa pelo MER (Modelo de Entidade e Relacionamento) que é uma associação entre entidades distintas:



CRIAR TABELA

Essa parte será um pouco mais extensa, pois será necessário passar vários conceitos para o entendimento da criação de uma tabela. Tabela é entendida como objeto do banco de dados utilizado para armazenar dados. Para a criação do objeto usa-se um comando DDL. Para a criação de uma tabela usa-se o seguinte padrão:

CREATE TABLE [schema.]TABELA (COLUNA DATA_TYPE [constraint_coluna], [constraint_tabela]) ()


DELETAR TABELA



DML (Data Manipulation Language)

DML (Data Manipulation Language) compreende os comandos usados para incluir, atualizar ou deletar dados no banco de dados.


Adicionar Linha


Atualizar Linha


Deletar Linha


Adicionar Coluna


Deletar Coluna


Modificar Coluna



VER CONSTRAINTS DE COLUNA



DELETAR CONSTRAINTS DE COLUNA


ADICIONAR CONSTRAINTS DE COLUNA



ROLLBACK e COMMIT
ANTES
  • O estado anterior dos dados pode ser restaurado, pois as operações de manipulação de dados ainda se encontra no buffer;
  • Outros usuários não podem ver os resultados das operações DML do usuário corrente. Apenas do último commit;
  • As linhas afetadas pela DML ficam no modo locked;
    DEPOIS
  • As alterações de dados são gravadas fisicamente no banco;
  • O estado anterior é perdido completamente;
  • Todos os usuário podem visualizar o resultado;
  • Os locks de linha são liberados;
  • Todos os savepoints são apagados;
      ROLLBACK
    • select * from s_region ()
    • begin tran savepoint_a (as mudanças daqui para frente ficarão no buffer. No SQL Server se usa BEGIN TRAN, no FireBird é SAVEPOINT)
    • insert into s_region (id, name) values (8, 'Central') (inseri uma linha)
    • select * from s_region (mostra a mudança na tabela s_region)
    • rollback tran savepoint_a (volta ao estado anterior ao BEGIN TRAN. No SQL Server se usa ROLLBACK, no FireBird é ROLLBACK TO)
      select * from s_region (mostra a tabela sem alterações)
      COMMIT
    • select * from s_region ()
    • begin tran savepoint_a (as mundaças daqui para frente ficarão no buffer)
    • insert into s_region (id, name) values (8, 'Central') (inseri uma linha)
    • select * from s_region (mostra a mudança na tabela s_region)
    • commit tran savepoint_a (as mudanças que estão no buffer serão gravadas no disco. No SQL Server se usa COMMIT TRAN)
    • select * from s_region (mostra a tabela alterada)


    CRIAR BANCO DE DADOS
    • CREATE DATABASE Test


    DELETAR BANCO DE DADOS
    • DROP DATABASE Test


    USAR UM BANCO DE DADOS
    • USE Test



    DML (Data Manipulation Language)

    DML (Data Manipulation Language) compreende os comandos usados para incluir, atualizar ou deletar dados no banco de dados. Ex: INSERT, UPDATE, DELETE, SELECT, MERGE, CALL, EXPLAIN PLAN e LOCK TABLE.




    DDL (Data Definition Language)

    DDL (Data Definition Language) compreende os comandos usados para criar, alterar, truncar, comentar, renomear ou dropar estruturas ou esquemas de dados. Ex: CREATE, ALTER, DROP e UNDROP (TABLE, INDEX, VIEWS, STORE PROCEDURE, FUNCTION E TRIGGERS).




    DCL (Data Control Language)

    DCL (Data Control Language) compreende os comandos usados para conceder e revogar (GRANT e REVOKE) privilégios de acesso a bases de dados. Ex: GRANT e REVOKE.




    TCL (Transaction Control Language)

    TCL (Transaction Control Language) compreende os comandos usados para commit, savepoint, roolback e set transaction para os dados. Ex: BEGIN, COMMIT e ROOLBACK.




    SCL (Session Control Language)

    SCL (Session Control Language) compreende os comandos usados para ALTER SESSION E SET ROLE.




    SCL (System Control Language)

    SCL (System Control Language) compreende os comandos usados para.




    ESQL (Embedded SQL)

    ESQL (Embedded SQL) compreende os comandos usados para .




    AGUARDE
    PÁGINA EM CONSTRUÇÃO

  •  
     


    Hugo Azevedo de Jesus
    ETI - Especialista em Tecnologia da Informação