Transcript

Fundamentos de SQL

Microsoft SQL Server 2005

Emiliano Eloi <[email protected]>

1

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

DER – DB_CALL_CENTER_CENTRAL

5

DER – DBEMIL

6

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 – Tabela temporária

/*Apagar a tabela TBL_ATENDIMENTOS

*/ DROPTABLE TBL_ATENDIMENTOS

13

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çõs de data - GETDATE

-- Retorna a data de agoraSELECT GETDATE()[AGORA]

16

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


Top Related