• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Treinamento de SQL Básico
 

Treinamento de SQL Básico

on

  • 14,533 views

Treinamento de SQL Básico focado em SQL Server.

Treinamento de SQL Básico focado em SQL Server.

Statistics

Views

Total Views
14,533
Views on SlideShare
14,532
Embed Views
1

Actions

Likes
2
Downloads
399
Comments
0

1 Embed 1

http://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Treinamento de SQL Básico Treinamento de SQL Básico Presentation Transcript

    • SQL Básico
      Igor Alves
    • Agenda
      O que é SQL
      Tipos de Consultas SQL
      Manipulando Tabelas
      Estrutura de uma Consulta SQL
      Condição no Where
      Funções de Agregações
      Funções de Agrupamento
      Junções
      Subconsultas
      View
      Comando Insert, Update e Delete
      Commit e Rollback
      Grant e Rovoke
      Triggers
      Stored Procedure
      2
    • O Que é SQL?
      3
    • Tipos de Consultas SQL
      SQL – Structured Query Language
      Data Definition
      Language
      DDL
      Data Control
      Language
      DCL
      Data
      Manipulation
      Language
      DML
      Define o Esquema
      Manipula o Esquema
      Assegura o Esquema
      4
    • Manipulando Tabelas
      Para a manipulação de tabelas existem alguns comandos específicos.
      Create Table
      Constraint
      Chave Primária
      Chave Estrangeira
      Alter Table
      Drop Table
      Truncate Table
      5
    • Manipulando Tabelas
      O comando Create Table é utilizado para criar uma tabela no banco de dados.
      Exemplo:
      Create TableDepartamento
      (Cod Interger Not Null,
      Nome Varchar(20) NotNull,
      ConstraintpkdepartPrimary Key (Cod)
      )
      6
    • Manipulando Tabelas
      Exemplo:
      Create TableEmpregados
      (Cod Interger Not Null,
      Nome Varchar(20) Not Null,
      Endereco Varchar (30),
      Funcao Varchar (30) Not Null,
      Coddepart Int Not Null,
      Salario Decimal(10,2) Not Null,
      ConstraintpkempregadoPrimary Key (Cod),
      ConstraintfkdepartForeign Key (Coddepart) References departamento(Cod)
      )
      7
    • Manipulando Tabelas
      O comando Alter Table é utilizado para alterar a estrutura de uma tabela no banco de dados.
      Exemplo:
      Alter Table Empregados Add Column (DTNasc Datetime Not Null);
      Alter Table Empregados Modify Column (Endereco Varchar(40));
      Alter Table Empregados DropEnderecoCascade;
      Alter Table Empregados DropEnderecoRestrict;
      Alter Table Empregados Drop Column Endereco;
      8
    • Manipulando Tabelas
      O Comando DropTable apaga a tabela do banco de dados.
      Exemplo:
      Drop Table Empregados;
      O Comando Truncate apaga os dados da tabela.
      Exemplo:
      Truncate Table Empregados;
      9
    • Estrutura de Consultas SQL
      Para se consultar uma informação em um banco de dados é utlizado o comando SELECT da linguagem SQL. Esse comando tem uma estrurura bem definida.
      SELECT <lista de atributos e funções>
      FROM <lista de tabelas>
      WHERE <condições>
      GROUP BY <atributos de agrupamento>
      HAVING <condição de agrupamento>
      ORDER BY <list de atributos>;
      OBS: A clausula OrderBy pode ser utilizada para uma ordenação crescente (ASC) ou decrescente(DESC).
      10
    • Estrutura de Consultas SQL
      SELECT
      CASE
      WHEN STATUSLAN = 0 THEN ‘Em Aberto’
      WHEN STATUSLAN = 1 THEN ‘Baixado’
      ELSE ‘Cancelado’
      ENDSTATUSLAN
      FROM TITULOS
      11
    • Estrutura de Consultas SQL
      NO LOCK
      SELECT
      COD
      FROM EMPREGADOS WITH(NO LOCK)
      12
    • Condições no Where
      A clausula WHERE das consultas sql tem uma serie de operadores que facilitam a definição das condições do comando SELECT a ser executado, São elas:
      Operadores de Comparação (=,<,>)
      Between
      Like / Not Like
      IN / Not IN
      IS Null / IS Not Null
      And e Or
      13
    • Condições no Where
      Operadores de Comparação:
      = igual a
      > maior que
      <menor que
      >= maior que ou igual a
      <= menor que ou igual a
      <> diferente
      Exemplos:
      Select * From Empregados Where salario > 1000;
      Select * From Empregados Where salario = 720;
      Select * From Empregados Where salario <> 720;
      14
    • Condições no Where
      Os comandos Between e Not Between são utilizados na clausula Where quando é necessario utilizar uma faixa de valores para uma restrição, como demonstrado abaixo:
      Select * From Empregados Where salario Between 600 and 720;
      Select * From Empregados Where salario Not Between 600 and 720;
      OBS: Os valores extremos da faixa de valores estão inclusos no resultado.
      15
    • Condições no Where
      Os comandos Like e Not Like são utilizados na clausula Where quando é necessario utilizar uma faixa de valores para campos dos tipos caracter e datatime para uma restrição, como demonstrado abaixo:
      Select * From Empregados Where nome like ‘%E%’;
      Select * From Empregados Where nome like ‘E%’;
      Select * From Empregados Where nome like ‘%E’;
      16
    • Condições no Where
      Os comandos IN e Not IN são utilizados na clausula Where quando é necessario utilizar uma faixa de valores definida pelo usuário, como demonstrado abaixo:
      Select * From Empregados Where salario In (600,650,720);
      Select * From Empregados Where salario Not In (600,650,720);
      17
    • Condições no Where
      Os comandos IS Null e IS Not Null são utilizados quando deseja-se determinar se a condição é nula ou não, como demonstrado abaixo:
      Select * From Empregados Where salario IS Null;
      Select * From Empregados Where salario IS Not Null;
      18
    • Condições no Where
      Os comandos AND(Todas as restrições são validas) e OR(Pelo menos uma das restrições é valida) são utilizado para definir mais de uma restrição ou caso queira que a restrição varie conforme um determinado valor, como demonstrado abaixo:
      Select * From Empregados Where salario IS Null and funcao = ‘Trainee’;
      Select * From Empregados Where salario IS Null and (funcao = ‘Trainee’ or funcao = ‘Estagiário’);
      19
    • Função de Agregamento
      Essas funções tem a finalidade de agregar os dados a serem retornados numa consulta SQL, São elas:
      Count
      Exemplo: Select count(*) From Empregados;
      Exemplo: Select count(salario) From Empregados;
      Max / Min
      Exemplo: Select max(salario) From Empregados;
      Exemplo: Select min(salario) From Empregados;
      Sum/Avg
      Exemplo: Select sum(Salario) From Empregados;
      Exemplo: Select avg(Salario) From Empregados;
      20
    • Função de Agrupamento
      Essa função tem a finalidade de agrupar os dados a serem retornados numa consulta SQL, Como demonstrado abaixo:
      Select Distinct Funcao,Sum(Salario)
      From Empregados
      Where Cidade = ‘Salvador’
      Group By Funcao
      Having SUM(Salario) > 600
      21
    • Junções
      22
    • Junções
      Exemplos:
      Select Empregados.nome, Empregados.funcao
      From (Empregados Inner Join departamento On Empregados.coddepart = departamento.cod )
      Where departamento.nome = ‘Consultoria’;
      Equivalente a :
      Select Empregados.nome, Empregados.funcao
      From Empregados,departamento
      Where Empregados.coddepart = departamento.cod )
      And departamento.nome = ‘Consultoria’;
      23
    • SubConsultas
      O uso de subconsultas se faz quando é necessaria a utilização de uma consulta como restrição da consulta resultado.
      Exemplo:
      Select
      Nome
      From Empregados
      Where
      Salario = (Selectmax(salario) From Empregados);
      24
    • VIEW
      Por Que o uso de View?
      Create View Consultor_Trainee (Nome,Salario,Departamento)
      As
      Select
      Empregados.Nome, Empregados.Salario,
      Departamento.Nome
      From
      Empregados Inner Join Departamento On
      (Empregados.Coddepart = Departamento.Cod)
      Where
      Empregados.Funcao IN (‘Trainee’,’Consultor’);
      25
    • Insert
      O comando Insert é utilizado para inserir dados nas tabelas do banco utilizado.
      Estrutura:
      Insert Intotabela (atributo1, atributo2, ..., atributon)
      Values (valor1, valor2, ..., valorn)
      Exemplos:
      Insert Into Empregados(Cod,Nome,Funcao,Salario,Coddepart)
      Values (1,’Nelson’,’Estagiário’,600,1);
      Insert Into Empregados(Cod,Nome,Funcao,Salario,Coddepart)
      Values(1,’Nelson’,’Estagiário’,600,(Select min(cod) From
      Departamento);
      26
    • Update
      O comando Update é utilizado para alterar os dados de uma tabela do banco utilizado.
      Estrutura:
      UpdatetabelaSet <atribuições>Where <Condição>
      Exemplos:
      Update Empregados
      Set Funcao = ‘Consultor’
      Where Funcao = ‘Trainee’
      Update Empregados
      Set Funcao = ‘Consultor’, Salario = Salario + 500
      Where Funcao = ‘Trainee’
      27
    • Delete
      O comando Delete é utilizado para apagar dados de uma tabela do banco utilizado.
      Estrutura:
      Delete FromtabelaWhere <Condição>
      Exemplo:
      Delete From Empregados
      Where Funcao = ‘Trainee’;
      28
    • Commit e Rollback
      Commit: Usado para confirmar uma transação.
      RollBack: Usado para desfazer uma transação.
      OBS: No SQL Server para se utilizar os comandos Commit e RollBack é necessário a abertura de transação com o comando Begin Tran.
      Exemplo:
      Begin Tran
      Delete From Empregados
      Where Funcao = ‘Trainee’;
      Rollback
      29
    • Grant
      Permissão de comandos DDL
      GRANT {comando} TO {usuário}
      Permissão de objeto
      GRANT {comando} ON {object} TO {usuário} [ WITH GRANT OPTION]
      GRANT (exemplos)
      Grant Alter tables To igor;
      Grant select, insert, update, deleteOn empregados To igor;
      Grant All On empregados To igor;
      30
    • Revoke
      REVOKE {comando} ON {object} FROM {usuário}
      Revoke (exemplos)
      Revoke deleteOn empregadosFrom igor;
      Revoke All On empregados From igor;
      31
    • Triggers
      Triggers ou Gatilhos são procedimentos disparados através do uso dos comandos: Insert,Update ou Delete.
      No SQL Server Existem algumas condições que determinam o momento que a triggers será executada, são elas:
      After – Executa a trigger caso o comando executado tenha sido realizado com sucesso.
      For – Executa a triggers em conjunto com o comando.
      Instead Of – Executa a triggers no lugar do comando.
      32
    • Triggers
      Estrutura de uma trigger:
      Create Trigger Nome_da_Trigger
      On Tabela
      For | Alter | Instead Of { insert,update, delete}
      As instruções SQL;
      Para se alterar o código de uma Trigger utiliza-se o comando:
      Alter Trigger.
      Para excluir uma Trigger utiliza-se o comando Drop Trigger.
      33
    • Triggers
      Exemplo:
      Create Trigger Tg_EmpregadosOnEmpregados InsteadOfInsertAs
      Declare@Nome Varchar(20), @EnderecoVarchar(30),
      @FuncaoVarchar(30), @CoddepartInt,@Salario
      Decimal(10,2)
      Select@Nome = Nome,@Endereco = Endereco,
      @Funcao = Funcao,@Coddepart = Coddepart,
      @Salario = Salario
      Frominserted
      InsertInto Empregados(Cod,Nome,Endereco,Funcao,Coddepart,Salario) values ((Selectmax(Cod)+1 From Empregados),
      @Nome,@Endereco,@Funcao,@Coddepart,@Salario)
      34
    • Stored Procedure
      A Stored Procedure é Um procedimento armazenado (Stored Procedure), é uma coleção de instruções implementadas com linguagem T-SQL (Transact-Sql, no SQL Server 2000/2005), que, uma vez armazenadas ou salvas, ficam dentro do servidor de forma pré-compilada, aguardando que um usuário do banco de dados faça sua execução.(SQL Magazine – Introdução a Stored Procedure)
      35
    • Stored Procedure
      Exemplo:
      Criando uma Stored Procedure:
      Create Proceduresp_insereUsuario
      @CPF DECIMAL(11,0),
      @NOME VARCHAR(30),
      @EMAIL VARCHAR(30)
      As
      INSERT INTOUSUARIO
      (CPF,NOME,EMAIL,DT_CADASTRO)
      VALUES(@CPF,@NOME,@EMAIL, GETDATE());
      Executando uma Stored Procedure:
      EXEC sp_insereUsuario
      @CPF = '03478956212', @NOME = 'Igor',
      @EMAIL = 'igor.alvez@gmail.com';
      36
    • Dúvidas
      Contatos:
      E-Mail: igor.alvez@gmail.com
      Linkedin: http://www.linkedin.com/in/igoralves
      37
    • Referencias
      SQL Magazine – Introdução a Stored Procedure:
      http://www.devmedia.com.br/post-2213-Introducao-as-Stored-Procedure-com-SQL-Server-2000-2005.html
      38