fundamentos de sql - parte 3 de 8
DESCRIPTION
Terceira apresentação da série. Nessa parte veremos a Linguagem de Definição de dados DDLTRANSCRIPT
![Page 2: Fundamentos de SQL - Parte 3 de 8](https://reader037.vdocuments.com.br/reader037/viewer/2022100507/5597064a1a28ab33208b458e/html5/thumbnails/2.jpg)
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
![Page 3: Fundamentos de SQL - Parte 3 de 8](https://reader037.vdocuments.com.br/reader037/viewer/2022100507/5597064a1a28ab33208b458e/html5/thumbnails/3.jpg)
Para hoje
• Na aula passada vimos Inserção, Alteração e exclusão de dados.
• Hoje aprenderemos a armazenar um procedimento e veremos Definição de dados.
3
![Page 4: Fundamentos de SQL - Parte 3 de 8](https://reader037.vdocuments.com.br/reader037/viewer/2022100507/5597064a1a28ab33208b458e/html5/thumbnails/4.jpg)
Lista de Verificação
Micro computado ligado.Teclado e mouse.Autenticação no Windows. Internet Explorer funcionando.Microsoft SQL Server Management
Studio.
4
![Page 5: Fundamentos de SQL - Parte 3 de 8](https://reader037.vdocuments.com.br/reader037/viewer/2022100507/5597064a1a28ab33208b458e/html5/thumbnails/5.jpg)
Armazenar um procedimento
“Stored Procedures nada mais são do que um conjunto de instruções Transact-SQL que são executadas dentro do banco de dados. É como escrever um programa dentro do próprio banco de dados para executar tudo lá dentro. Dentro das Stored Procedures devemos utilizar comandos Transact-SQL que não deixam nada a desejar a comandos de uma liguagem de programação qualquer, como Visual Basic ou Delphi. O Transact-SQL possui instruções de comparação (if), loops (while) operadores, variáveis, funcões, etc.”
Mauro Pichiliani
http://imasters.uol.com.br/artigo/223/sql_server/criacao_e_uso_de_stored_procedures/
5
![Page 6: Fundamentos de SQL - Parte 3 de 8](https://reader037.vdocuments.com.br/reader037/viewer/2022100507/5597064a1a28ab33208b458e/html5/thumbnails/6.jpg)
Armazenar um procedimento
/* Procedimento para imprimir o texto 'A alma do aprendizado é a repetição.‘*/CREATE PROCEDURE SPR_IMPRIMIR_TEXTOASBEGIN
PRINT 'A alma do aprendizado é a repetição.'END
6
![Page 7: Fundamentos de SQL - Parte 3 de 8](https://reader037.vdocuments.com.br/reader037/viewer/2022100507/5597064a1a28ab33208b458e/html5/thumbnails/7.jpg)
Armazenar um procedimento
-- Procedimento para somar dois números CREATE PROCEDURE SPR_SOMA
@NUMERO1 INT,@NUMERO2 INT
ASDECLARE @SOMA INT
BEGINSET @SOMA = @NUMERO1 + @NUMERO2PRINT @SOMA
END
7
![Page 8: Fundamentos de SQL - Parte 3 de 8](https://reader037.vdocuments.com.br/reader037/viewer/2022100507/5597064a1a28ab33208b458e/html5/thumbnails/8.jpg)
Armazenar um procedimento
-- Executar os procedimentos
EXECUTE SPR_SOMA 2, 3
EXECUTE SPR_IMPRIMIR_TEXTO
8
![Page 9: Fundamentos de SQL - Parte 3 de 8](https://reader037.vdocuments.com.br/reader037/viewer/2022100507/5597064a1a28ab33208b458e/html5/thumbnails/9.jpg)
Criando Tabelas
A tabela é uma estrutura bidimensional formada por colunas e linhas. Cria-se uma tabela nova em uma base de dados emitindo uma sentença
CREATE TABLE.
9
![Page 10: Fundamentos de SQL - Parte 3 de 8](https://reader037.vdocuments.com.br/reader037/viewer/2022100507/5597064a1a28ab33208b458e/html5/thumbnails/10.jpg)
Criando Tabelas
Para criar uma tabela você tem que ter uma lista de nomes de colunas e seus tipos de dados:
Nome da coluna: ID_ATENDENTETipo da coluna: INT (Número Inteiro)
Nome da coluna: ID_PESSOATipo da coluna: INT (Número Inteiro)
Nome da coluna: NM_MATRICULA_ATENDENTETipo da coluna: CHAR(5) (Cadeia de caracteres)
10
![Page 11: Fundamentos de SQL - Parte 3 de 8](https://reader037.vdocuments.com.br/reader037/viewer/2022100507/5597064a1a28ab33208b458e/html5/thumbnails/11.jpg)
CREATE TABLE - Usando
CREATE TABLE TBL_ATENDENTES(ID_ATENDENTE INT NOT NULL,ID_PESSOA INT NOT NULL,NM_MATRICULA_ATENDENTE CHAR(5)
)
11
![Page 12: Fundamentos de SQL - Parte 3 de 8](https://reader037.vdocuments.com.br/reader037/viewer/2022100507/5597064a1a28ab33208b458e/html5/thumbnails/12.jpg)
CREATE TABLE - Usando
CREATE TABLE TBL_PESSOAS(ID_PESSOA INT IDENTITY(1,1),NM_NOME_PESSOA VARCHAR(255),DT_DATA_NASCIMENTO DATETIME
)
12
![Page 13: Fundamentos de SQL - Parte 3 de 8](https://reader037.vdocuments.com.br/reader037/viewer/2022100507/5597064a1a28ab33208b458e/html5/thumbnails/13.jpg)
Exercícios
1) Crie as tabelas com as características abaixo:
Nome da tabela: TBL_DW_ATENDIMENTOColunas: ID_ATENDENTE(INT), ID_CLIENTE(INT),
DT_TEMPO_ATENDIMENTO(DATETIME)
Nome da tabela: TBL_DW_CLIENTEColunas: ID_CLIENTE(INT),
DT_IDADE_CLIENTE(DATETIME)
13
![Page 14: Fundamentos de SQL - Parte 3 de 8](https://reader037.vdocuments.com.br/reader037/viewer/2022100507/5597064a1a28ab33208b458e/html5/thumbnails/14.jpg)
Transações
Uma transação é um conjunto de operações tratado como uma unidade. Ou todas as operações que compõem a unidade são concluídas ou nenhuma delas é.
14
![Page 15: Fundamentos de SQL - Parte 3 de 8](https://reader037.vdocuments.com.br/reader037/viewer/2022100507/5597064a1a28ab33208b458e/html5/thumbnails/15.jpg)
Transações – Usando
Iniciar a transação
BEGIN TRANSACTION DEMOSTRACAO
Tornar a transação permanente. Confirmar a transação.
COMMIT TRANSACTION DEMOSTRACAO
Voltar a transação, abortar.
ROLLBACK TRANSACTION DEMOSTRACAO15
![Page 16: Fundamentos de SQL - Parte 3 de 8](https://reader037.vdocuments.com.br/reader037/viewer/2022100507/5597064a1a28ab33208b458e/html5/thumbnails/16.jpg)
Tratamento de Erro
Um grupo de instruções pode ser incluído em um bloco TRY. Se ocorrer um erro no bloco TRY, o controle passará para outro grupo de instruções que está incluído em um bloco CATCH.
BEGIN TRYSELECT NM_CEP_ALUNO FROM TBL_ALUNOS
END TRYBEGIN CATCH
PRINT 'Houve um erro'END CATCH 16
![Page 17: Fundamentos de SQL - Parte 3 de 8](https://reader037.vdocuments.com.br/reader037/viewer/2022100507/5597064a1a28ab33208b458e/html5/thumbnails/17.jpg)
ExemploUSE DB_ESCOLINHABEGIN TRY
BEGIN TRANSACTION INSERIR_ALUNO-- INSERIR MÃEINSERT INTO TBL_PAIS (ID_PAI, NM_NOME_PAI, NM_SOBRENOME_PAI,
NM_PSS_PAI, NM_CEP_PAI)VALUES (10,'Tatiane','Silva', 'TATIANESILV','30730-230')-- INSERIR ALUNOINSERT INTO TBL_ALUNOS
(ID_ALUNO, NM_NOME_ALUNO, NM_SOBRENOME_ALUNO, NM_PSS_ALUNO, NM_CEP_ALUNO)VALUES (10,'Tatiane','Silva', 'TATIANESILV','30730-230')COMMIT TRANSACTION INSERIR_ALUNOPRINT 'INSERIDO COM SUCESSO!'
END TRYBEGIN CATCH
ROLLBACK TRANSACTION INSERIR_ALUNOPRINT 'HOUVE UM ERRO NA INSERSAO!'PRINT ERROR_MESSAGE()
END CATCH 17
![Page 18: Fundamentos de SQL - Parte 3 de 8](https://reader037.vdocuments.com.br/reader037/viewer/2022100507/5597064a1a28ab33208b458e/html5/thumbnails/18.jpg)
Comando USE
Altera o contexto de banco de dados para o banco de dados especificado.
USE DB_ESCOLINHA
18
![Page 19: Fundamentos de SQL - Parte 3 de 8](https://reader037.vdocuments.com.br/reader037/viewer/2022100507/5597064a1a28ab33208b458e/html5/thumbnails/19.jpg)
Comentário
Os comentários são importantes para identificar cada instrução e dar sentido na sua utilização.
-- Comentário de uma linha/*Comentário de inúmeraslinhas*/
19