Download - Fundamentos de SQL - Parte 4 de 8
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.
2
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.
3
Lista de Verificação
Micro computado ligado.Teclado e mouse.Autenticação no Windows. Internet Explorer funcionando.Microsoft SQL Server Management
Studio.
4
Cadastrar Call center - Proprietário
Base de dados: DB_CALL_CENTER_CENTRALTabela: 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’)
7
Cadastro Call center – Call Center
Base de dados: DB_CALL_CENTER_CENTRALTabela: 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.
8
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.
9
ALTER TABLE – Excluir uma coluna
/*Excluir coluna
*/ ALTER TABLE TBL_ATENDIMENTOS DROP COLUMN DT_DATA_INICIO_ATENDIMENTO
10
ALTER TABLE – Tabela temporária
/* Criar uma tabela temporária Com o nome #TMP1*/CREATE TABLE #TMP1(
ID_TMP INT,DS_DESCRICAO_TMP TEXT
)
11
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
12
ALTER TABLE – Adicionar uma coluna
/*Criar uma coluna na tabela
TBL_ATENDIMENTOS*/ALTERTABLE TBL_ATENDIMENTOS ADD NM_NOME_ATENDIMENTO VARCHAR(255)
14
Exercícios
1) Excluir a coluna DT_DATA_ATENDIMENTO da tabela TBL_ATENDIMENTOS
3) Incluir a coluna DT_DATA_CADASTRO_CLIENTE NA na tabela TBL_CLIENTES.
15
Funções de data – DATEADD E DATEDIFF
-- Retorna a data de daqui a um mêsSELECT DATEADD(MONTH,1,GETDATE())[MES_QUE_VEM]
-- Retorna o tempo de atendimentoSELECT DATEDIFF(HOUR,'2009-05-05 10:00','2009-05-05 11:30')[TEMPO_ATENDIMENTO]
17
Funções de data – Tabela de partes da data
Palavra-chave Período
year Anoquarter Trimestre
month Mêsday Diaweek Semanahour Horaminute Minutosecond Segundo
millisecond Milisegundo
18
Funções de data – YEAR, MONTH, DAY E DATEPART
/* Usar uma variável para armazenar uma data*/DECLARE @DATA DATETIMESET @DATA = '2001-10-11 07:55'-- Ano dessa dataSELECT YEAR(@DATA)[ANO]-- Mês dessa dataSELECT DATEPART(MONTH,@DATA)[MES]-- DIA dessa dataSELECT DAY(@DATA)
19
Exercícios
Relatórios:R1) Idade dos atendentes.Colunas: Nome e IdadeR2) Idade dos Clientes.Colunas: Nome e IdadeR3) 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.
20