fundamentos de sql - parte 2 de 8
Post on 02-Dec-2014
2.274 Views
Preview:
DESCRIPTION
TRANSCRIPT
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
top related