fundamentos de sql - parte 3 de 8

19

Click here to load reader

Upload: emiliano-eloi-silva-barbosa

Post on 04-Jul-2015

1.226 views

Category:

Documents


1 download

DESCRIPTION

Terceira apresentação da série. Nessa parte veremos a Linguagem de Definição de dados DDL

TRANSCRIPT

Page 1: Fundamentos de SQL - Parte 3 de 8

Fundamentos de SQL

Microsoft SQL Server 2005

Emiliano Eloi <[email protected]>

1

Page 2: Fundamentos de SQL - Parte 3 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

Page 3: Fundamentos de SQL - Parte 3 de 8

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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