32
Fundamentos de SQL Microsoft SQL Server 2005 liano Eloi <[email protected]> 1

Fundamentos de SQL - Parte 2 de 8

Embed Size (px)

DESCRIPTION

Apresentação da segunda parte do curso de fundamentos de SQL. Nessa parte temos primeiras impressões sobre Entidade Relacionamento e Comando de Manipulação de dados DML.

Citation preview

Page 1: Fundamentos de SQL - Parte 2 de 8

Fundamentos de SQL

Microsoft SQL Server 2005

Emiliano Eloi <[email protected]>

1

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

Para hoje

• Na aula passada, vimos: Inserção Seleção, Predicados e alguns conceitos de banco de dados.

• Hoje veremos mais alguns predicados, inserção, atualização e exclusão.

• Além de ver alguns conceitos de Entidade-relacionamento.

3

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

Diagrama de Entidade-Relacionamento

O Diagrama ER é uma ferramenta para modelagem conceitual de banco de dados amplamente utilizada no projeto de banco de dados, sendo considerada praticamente um padrão para modelagem, por ser de fácil compreensão apresentar poucos conceitos: Entidades, Atributos, Ocorrência, Relacionamento e Identificador ou atributo determinante.

5

Page 6: Fundamentos de SQL - Parte 2 de 8

DER

6

Page 7: Fundamentos de SQL - Parte 2 de 8

Entidades

As entidades são o conjunto de objetos de mesma natureza, com as mesmas características, com um nome genérico.

É considerada ocorrência de um entidade um objeto que pertence a ela. Cada ocorrência da entidade se apresenta como uma coleção de elementos de dados ou atributos. O atributo determinante é aquele que identifica unicamente uma ocorrência da entidade.

7

Page 8: Fundamentos de SQL - Parte 2 de 8

DER - ENTIDADES

8

Page 9: Fundamentos de SQL - Parte 2 de 8

Atributos

Representam uma propriedade de uma entidade que necessita ser armazenada, como, por exemplo, o matrícula ou o nome e um aluno que o horário o aluno irá estar em determinada sala. Um atributo pode conter apenas um valor atômico, ou seja, um valor indivisível.

9

Page 10: Fundamentos de SQL - Parte 2 de 8

DER - Atributos

10

Page 11: Fundamentos de SQL - Parte 2 de 8

Classificador nome-descritivo

Os atributos devem ser enquadrados em categorias básicas de dados como: nome, valor, data, descrição, quantidade etc.

Essas categorias são conhecidas como qualificadores e são utilizadas, em geral antes do complemento a esse qualificadores.

11

Page 12: Fundamentos de SQL - Parte 2 de 8

Tabela de qualificadores

Qualificadores SignificadoID Código/IdentificadorNM NomeNR NúmeroVL ValorQT QuantidadeTX Taxa ou pércentualDS DescriçãoSG SiglaDT DataHR Hora

12

Page 13: Fundamentos de SQL - Parte 2 de 8

DER – DB_ESCOLINHA

13

Page 14: Fundamentos de SQL - Parte 2 de 8

Cláusula INSERT

Use a sentença INSERT para inserir novos registros em uma tabela. Os valores na cláusula VALUES correspondem às colunas listadas após o nome da tabela:

INSERT INTO TBL_DISCIPLINAS (ID_DISCIPLINA,NM_NOME_DISCIPLINA)VALUES (5, 'Educação Física')

14

Page 15: Fundamentos de SQL - Parte 2 de 8

Cláusula UPDATE

Para modificar dados existentes em uma tabela,use a sentença UPDATE. Você pode atualizar um ou vários registros, pode especificar um único conjunto de novos valores na sentença ou pode gerar novos valores através de um subquerys.

15

Page 16: Fundamentos de SQL - Parte 2 de 8

Cláusula UPDATE - Usando

UPDATE TBL_PAIS SET NM_EMAIL_PAI = '[email protected]' WHERE NM_PSS_PAI = 'EMILIANOELO'

16

Page 17: Fundamentos de SQL - Parte 2 de 8

Cláusula DELETE

Use a sentença DELETE para excluir registros de uma tabela. Na maioria das vezes ,você escreverá uma cláusula WHERE para identificar um ou mais registros específicos a serem excluídos.

17

Page 18: Fundamentos de SQL - Parte 2 de 8

Cláusula DELETE - Usando

DELETE FROM TBL_ALUNOS WHERE NM_PSS_ALUNO = 'EMILIANOELO'

18

Page 19: Fundamentos de SQL - Parte 2 de 8

Predicado

Predicados são condições que você escreve na clausula WHERE (também nas cláusulas ON e HAVING) de uma sentença de SQL que determinam que registros são afetadas ou retornadas por essa sentença.

O Predicado

NM_NOME_ALUNO = 'Emiliano Eloi'

retorna somente os dados do aluno específico.

19

Page 20: Fundamentos de SQL - Parte 2 de 8

Predicado - IN

Use o IN para testar um valor se encontra dentro de um conjunto dos valores. Você pode enumerar esse conjunto como uma lista de valores literais ou retornar o conjunto como o resultado de uma subquery.

20

Page 21: Fundamentos de SQL - Parte 2 de 8

Predicado – IN - Usando

SELECT NM_NOME_ALUNO FROM TBL_ALUNOS WHERE ID_ALUNO IN (1,2)

21

Page 22: Fundamentos de SQL - Parte 2 de 8

Predicado – IN – Usando

SELECT NM_NOME_ALUNO FROM TBL_ALUNOS WHERE ID_ALUNO IN (SELECT ID_ALUNO

FROM TBL_ALUNOS_PREMIADOS)

22

Page 23: Fundamentos de SQL - Parte 2 de 8

Predicado - BETWEEN

Use BETWEEN para ver se um valor se encontra em uma determinada faixa, podendo ser uma faixa numérica ou de datas.

23

Page 24: Fundamentos de SQL - Parte 2 de 8

Predicado – BETWEEN – Usando

SELECT NM_NOME_ALUNO FROM TBL_ALUNOS WHERE ID_ALUNO BETWEEN 3 AND 9

24

Page 25: Fundamentos de SQL - Parte 2 de 8

Predicado – BETWEEN – Usando

SELECT ID_ALUNOS FROM TBL_ALUNOS_PREMIADIS WHERE DT_DATA_PREMIACAO BETWEEN '2009-05-09' AND '2009-05-16'

25

Page 26: Fundamentos de SQL - Parte 2 de 8

Exercícios

Organizem-se em Duplas. Os componentes dessa dupla são pai e filho.

1) Cadastre o pai na tabela TBL_PAIS.

2) Cadastre o filho na tabela TBL_ALUNOS

Essa sentença deve ser um bloco que funcione em harmonia, por isso escreva utilizando tratamento de erros e com controle de transação.

26

Page 27: Fundamentos de SQL - Parte 2 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 é.

27

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

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

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

Page 31: Fundamentos de SQL - Parte 2 de 8

Comando USE

Altera o contexto de banco de dados para o banco de dados especificado.

USE DB_ESCOLINHA

31

Page 32: Fundamentos de SQL - Parte 2 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*/

32