Fundamentos de SQL - Parte 2 de 8

Preview:

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

Fundamentos de SQL

Microsoft SQL Server 2005

Emiliano Eloi <emiliano.eloi@gmail.com>

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 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

Lista de Verificação

Micro computado ligado.Teclado e mouse.Autenticação no Windows. Internet Explorer funcionando.Microsoft SQL Server Management

Studio.

4

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

DER

6

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

DER - ENTIDADES

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

DER - Atributos

10

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

Tabela de qualificadores

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

12

DER – DB_ESCOLINHA

13

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

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

Cláusula UPDATE - Usando

UPDATE TBL_PAIS SET NM_EMAIL_PAI = 'emiliano@gmail.com' WHERE NM_PSS_PAI = 'EMILIANOELO'

16

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

Cláusula DELETE - Usando

DELETE FROM TBL_ALUNOS WHERE NM_PSS_ALUNO = 'EMILIANOELO'

18

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

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

Predicado – IN - Usando

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

21

Predicado – IN – Usando

SELECT NM_NOME_ALUNO FROM TBL_ALUNOS WHERE ID_ALUNO IN (SELECT ID_ALUNO

FROM TBL_ALUNOS_PREMIADOS)

22

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

Predicado – BETWEEN – Usando

SELECT NM_NOME_ALUNO FROM TBL_ALUNOS WHERE ID_ALUNO BETWEEN 3 AND 9

24

Predicado – BETWEEN – Usando

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

25

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

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

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

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

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

Comando USE

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

USE DB_ESCOLINHA

31

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