Fundamentos de SQL Microsoft SQL Server 2005 Emiliano Eloi <emilianoeloi@gmail.com>
Objetivos Ser capaz se fazer intervenções em bancos de dados que utilizem esta linguagem. Definições das bases de dados. Manipulação dos dados. Recuperação dos dados. Compreender Diagramas de entidade- relacionamento. Pensar em SQL.
Para hoje Na aula anterior nós vimos como criar uma tabela e como armazenar um procedimento. Hoje vamos continuar trabalhando com definição de dados. Também veremos algumas funções de data.
Lista de Verificação Micro computado ligado. Teclado e mouse. Autenticação no Windows. Internet Explorer funcionando. Microsoft SQL Server Management Studio.
DER – DB_CALL_CENTER_CENTRAL
DER – DBEMIL
Cadastrar Call center - Proprietário Base de dados:   DB_CALL_CENTER_CENTRAL Tabela:   TBL_PROPRIETARIOS  (ID_PROPRIETARIO[INT], NM_NOME_PROPRIETARIO[VARCHAR(255)] ) Obs.: A coluna ID_PROPRIETARIO é uma identidade da tabela e é controlada pelo banco de dados. INSERT INTO  TBL_INSTRUMENTOS  (NM_NOME_INSTRUMENTO) VALUES  ( ‘Guitarra’ )
Cadastro Call center – Call Center Base de dados:  DB_CALL_CENTER_CENTRAL Tabela:  TBL_CALLS_CENTERS (ID_CALL_CENTER[INT], NM_NOME_CALL_CENTER[VARCHAR(255)], ID_PROPRIETARIO[INT]) Obs.: A coluna ID_CALL_CENTER é uma identidade da tabela e é controlada pelo banco de dados; A coluna ID_PROPRIETARIO se refere a um registro presenta na tabela TBL_PROPRIETARIOS.
Alterar uma tabela - ALTER TABLE O comando ALTER TABLE altera a definição de uma tabela existente. A forma ADD COLUMN adiciona uma nova coluna na tabela utilizando a mesma sintaxe de CREATE TABLE. A forma ALTER COLUMN SET/DROP DEFAULT  permite definir ou remover o valor padrão para a coluna. Note que o valor padrão somente se aplica aos próximos comandos INSERT; as linhas existentes na tabela não são modificadas. A forma ALTER COLUMN SET STATISTICS permite controlar a coleta de estatísticas para as operações ANALYZE posteriores. A cláusula RENAME faz com que o nome da tabela, coluna, índice ou seqüência seja mudado sem que os dados sejam modificados. Os dados permanecem do mesmo tipo e tamanho após o comando ser executado. A cláusula ADD definição_de_restrição_de_tabela  adiciona uma nova restrição de tabela utilizando a mesma sintaxe de CREATE TABLE. A cláusula DROP CONSTRAINT restrição  elimina todas as restrições da tabela (e de suas descendentes) que correspondam à restrição. A cláusula OWNER muda o dono da tabela para o usuário  novo_dono.
ALTER TABLE – Excluir uma coluna /* Excluir coluna */ ALTER TABLE  TBL_ATENDIMENTOS   DROP COLUMN  DT_DATA_INICIO_ATENDIMENTO
ALTER TABLE – Tabela temporária /* Criar uma tabela temporária Com o nome #TMP1 */ CREATE TABLE  #TMP1 ( ID_TMP  INT , DS_DESCRICAO_TMP  TEXT )
ALTER TABLE – Tabela temporária /* Copiar dados de um tabela física para uma tabela temporária. */ INSERT INTO  #TMP1 ( ID_TEMP ,  DS_DESCRICAO_TEMP ) SELECT  ID_ATENDIMENTO , DS_DESCRICAO_ATENDIMENTO FROM  TBL_ATENDIMENTOS
ALTER TABLE – Tabela temporária /* Apagar a tabela TBL_ATENDIMENTOS */ DROP TABLE  TBL_ATENDIMENTOS
ALTER TABLE – Adicionar uma coluna /* Criar uma coluna na tabela TBL_ATENDIMENTOS */ ALTER TABLE  TBL_ATENDIMENTOS ADD  NM_NOME_ATENDIMENTO  VARCHAR (255)
Exercícios  Excluir a coluna DT_DATA_ATENDIMENTO da tabela TBL_ATENDIMENTOS Incluir a coluna DT_DATA_CADASTRO_CLIENTE NA na tabela TBL_CLIENTES.
Funçõs de data - GETDATE -- Retorna a data de agora SELECT   GETDATE () [AGORA]
Funções de data – DATEADD E DATEDIFF -- Retorna a data de daqui a um mês SELECT   DATEADD ( MONTH , 1 , GETDATE ()) [MES_QUE_VEM] -- Retorna o tempo de atendimento SELECT   DATEDIFF ( HOUR , '2009-05-05 10:00' , '2009-05-05 11:30' ) [TEMPO_ATENDIMENTO]
Funções de data – Tabela de partes da data Palavra-chave Período year Ano quarter Trimestre month Mês day Dia week Semana hour Hora minute Minuto second  Segundo millisecond Milisegundo
Funções de data – YEAR, MONTH, DAY E DATEPART /* Usar uma variável para  armazenar uma data */ DECLARE  @DATA  DATETIME SET  @DATA  =   '2001-10-11 07:55' -- Ano dessa data SELECT   YEAR ( @DATA ) [ANO] -- Mês dessa data SELECT   DATEPART ( MONTH , @DATA ) [MES] -- DIA dessa data SELECT   DAY ( @DATA )
Exercícios  Relatórios: R1) Idade dos atendentes. Colunas : Nome e Idade R2) Idade dos Clientes. Colunas : Nome e Idade R3) Contatos Futuros.  Colunas : id do cliente, id do atendente, data do contato, data do próximo contato. Regra : Próximo contato é igual a data do contato mais um mês. R4) Tempo de atendimento. Colunas : id do cliente, id do atendente, tempo de atendimento.

Fundamentos de SQL - Parte 4 de 8

  • 1.
    Fundamentos de SQLMicrosoft SQL Server 2005 Emiliano Eloi <emilianoeloi@gmail.com>
  • 2.
    Objetivos Ser capazse fazer intervenções em bancos de dados que utilizem esta linguagem. Definições das bases de dados. Manipulação dos dados. Recuperação dos dados. Compreender Diagramas de entidade- relacionamento. Pensar em SQL.
  • 3.
    Para hoje Naaula anterior nós vimos como criar uma tabela e como armazenar um procedimento. Hoje vamos continuar trabalhando com definição de dados. Também veremos algumas funções de data.
  • 4.
    Lista de VerificaçãoMicro computado ligado. Teclado e mouse. Autenticação no Windows. Internet Explorer funcionando. Microsoft SQL Server Management Studio.
  • 5.
  • 6.
  • 7.
    Cadastrar Call center- Proprietário Base de dados: DB_CALL_CENTER_CENTRAL Tabela: TBL_PROPRIETARIOS (ID_PROPRIETARIO[INT], NM_NOME_PROPRIETARIO[VARCHAR(255)] ) Obs.: A coluna ID_PROPRIETARIO é uma identidade da tabela e é controlada pelo banco de dados. INSERT INTO TBL_INSTRUMENTOS (NM_NOME_INSTRUMENTO) VALUES ( ‘Guitarra’ )
  • 8.
    Cadastro Call center– Call Center Base de dados: DB_CALL_CENTER_CENTRAL Tabela: TBL_CALLS_CENTERS (ID_CALL_CENTER[INT], NM_NOME_CALL_CENTER[VARCHAR(255)], ID_PROPRIETARIO[INT]) Obs.: A coluna ID_CALL_CENTER é uma identidade da tabela e é controlada pelo banco de dados; A coluna ID_PROPRIETARIO se refere a um registro presenta na tabela TBL_PROPRIETARIOS.
  • 9.
    Alterar uma tabela- ALTER TABLE O comando ALTER TABLE altera a definição de uma tabela existente. A forma ADD COLUMN adiciona uma nova coluna na tabela utilizando a mesma sintaxe de CREATE TABLE. A forma ALTER COLUMN SET/DROP DEFAULT permite definir ou remover o valor padrão para a coluna. Note que o valor padrão somente se aplica aos próximos comandos INSERT; as linhas existentes na tabela não são modificadas. A forma ALTER COLUMN SET STATISTICS permite controlar a coleta de estatísticas para as operações ANALYZE posteriores. A cláusula RENAME faz com que o nome da tabela, coluna, índice ou seqüência seja mudado sem que os dados sejam modificados. Os dados permanecem do mesmo tipo e tamanho após o comando ser executado. A cláusula ADD definição_de_restrição_de_tabela adiciona uma nova restrição de tabela utilizando a mesma sintaxe de CREATE TABLE. A cláusula DROP CONSTRAINT restrição elimina todas as restrições da tabela (e de suas descendentes) que correspondam à restrição. A cláusula OWNER muda o dono da tabela para o usuário novo_dono.
  • 10.
    ALTER TABLE –Excluir uma coluna /* Excluir coluna */ ALTER TABLE TBL_ATENDIMENTOS DROP COLUMN DT_DATA_INICIO_ATENDIMENTO
  • 11.
    ALTER TABLE –Tabela temporária /* Criar uma tabela temporária Com o nome #TMP1 */ CREATE TABLE #TMP1 ( ID_TMP INT , DS_DESCRICAO_TMP TEXT )
  • 12.
    ALTER TABLE –Tabela temporária /* Copiar dados de um tabela física para uma tabela temporária. */ INSERT INTO #TMP1 ( ID_TEMP , DS_DESCRICAO_TEMP ) SELECT ID_ATENDIMENTO , DS_DESCRICAO_ATENDIMENTO FROM TBL_ATENDIMENTOS
  • 13.
    ALTER TABLE –Tabela temporária /* Apagar a tabela TBL_ATENDIMENTOS */ DROP TABLE TBL_ATENDIMENTOS
  • 14.
    ALTER TABLE –Adicionar uma coluna /* Criar uma coluna na tabela TBL_ATENDIMENTOS */ ALTER TABLE TBL_ATENDIMENTOS ADD NM_NOME_ATENDIMENTO VARCHAR (255)
  • 15.
    Exercícios Excluira coluna DT_DATA_ATENDIMENTO da tabela TBL_ATENDIMENTOS Incluir a coluna DT_DATA_CADASTRO_CLIENTE NA na tabela TBL_CLIENTES.
  • 16.
    Funçõs de data- GETDATE -- Retorna a data de agora SELECT GETDATE () [AGORA]
  • 17.
    Funções de data– DATEADD E DATEDIFF -- Retorna a data de daqui a um mês SELECT DATEADD ( MONTH , 1 , GETDATE ()) [MES_QUE_VEM] -- Retorna o tempo de atendimento SELECT DATEDIFF ( HOUR , '2009-05-05 10:00' , '2009-05-05 11:30' ) [TEMPO_ATENDIMENTO]
  • 18.
    Funções de data– Tabela de partes da data Palavra-chave Período year Ano quarter Trimestre month Mês day Dia week Semana hour Hora minute Minuto second Segundo millisecond Milisegundo
  • 19.
    Funções de data– YEAR, MONTH, DAY E DATEPART /* Usar uma variável para armazenar uma data */ DECLARE @DATA DATETIME SET @DATA = '2001-10-11 07:55' -- Ano dessa data SELECT YEAR ( @DATA ) [ANO] -- Mês dessa data SELECT DATEPART ( MONTH , @DATA ) [MES] -- DIA dessa data SELECT DAY ( @DATA )
  • 20.
    Exercícios Relatórios:R1) Idade dos atendentes. Colunas : Nome e Idade R2) Idade dos Clientes. Colunas : Nome e Idade R3) Contatos Futuros. Colunas : id do cliente, id do atendente, data do contato, data do próximo contato. Regra : Próximo contato é igual a data do contato mais um mês. R4) Tempo de atendimento. Colunas : id do cliente, id do atendente, tempo de atendimento.