Fundamentos de SQL - Parte 1 de 8

29
Fundamentos de SQL Microsoft SQL Server 2005 Curso de curta duração iliano Eloi <[email protected]> 1

description

Apresentação 1 de uma sério de 8 do Curso de Extensão de Fundamentos de SQL do Centro Universitário UNA. Belo Horizonte - Minas Gerais, Brasil

Transcript of Fundamentos de SQL - Parte 1 de 8

Page 1: Fundamentos de SQL - Parte 1 de 8

Fundamentos de SQL

Microsoft SQL Server 2005

Curso de curta duração

Emiliano Eloi <[email protected]>

1

Page 2: Fundamentos de SQL - Parte 1 de 8

Objetivos

• Ser capaz se fazer intervenções nos dados de bancos de dados que utilizem esta linguagem.– Definições das bases de dados.– Manipulação dos dados.– Recuperação dos dados.

• Compreender Diagrama de Entidade-Relacionamento (DER).

• Pensar em SQL.

2

Page 3: Fundamentos de SQL - Parte 1 de 8

Lista de Verificação

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

Studio.

3

Page 4: Fundamentos de SQL - Parte 1 de 8

Para estudar

http://msdn.microsoft.com/pt-br/express/aa718378.aspx

4

Page 5: Fundamentos de SQL - Parte 1 de 8

Conteúdo• Definição de dados

– CREATE TABLE, ALTER TABLE

• Manipulação de dados– INSERT, UPDATE, DELETE

• Transações– COMMIT, ROLLBACK

• Funções– SUBSTRING, GETDATE

• Recuperação de dados– SELECT, JOIN

• Conceitos básicos Banco de Dados, Entidade-Relacionamento e SGDB. 5

Page 6: Fundamentos de SQL - Parte 1 de 8

Cláusula SELECT

Cada expressão da cláusula SELECT se transforma em uma coluna no conjunto de resultados retornados pela consulta. As expressões podem ser nomes simples de colunas, podem gerar um novo valor usando um valor de coluna como entrada ou podem não ter nada haver com nenhuma coluna. A cláusula SELECT especifica os elementos de dados individuais que você quer que a sentença retorne.

6

Page 7: Fundamentos de SQL - Parte 1 de 8

Cláusula SELECT - Usando

SELECT ID_ALUNO, NM_NOME_ALUNO, NM_EMAIL_ALUNO, NM_PSS_ALUNO

7

Page 8: Fundamentos de SQL - Parte 1 de 8

Cláusula FROM

Use a cláusula FROM para especificar a fonte dos dados que você quer recuperar. O caso mais simples é se especificar uma única tabela ou visualização na cláusula FROM de uma sentença SELECT

8

Page 9: Fundamentos de SQL - Parte 1 de 8

Cláusula FROM - Usando

SELECT ID_ALUNO, NM_NOME_ALUNO, NM_EMAIL_ALUNO, NM_PSS_ALUNO

FROM TBL_ALUNOS

9

Page 10: Fundamentos de SQL - Parte 1 de 8

Cláusula WHERE

Use a cláusula WHERE para restringir os resultados da query a somente aquelas linhas de interesse. Raramente você ira querer todas as linhas de uma tabela. Na maioria das vezes você querer as linhas que atendam a um critério especifico.

10

Page 11: Fundamentos de SQL - Parte 1 de 8

Cláusula WHERE - Usando

SELECT ID_ALUNO, NM_NOME_ALUNO, NM_EMAIL_ALUNO, NM_PSS_ALUNO

FROM TBL_ALUNOSWHERE NM_PSS_ALUNO = 'BRIGIDAROES'

11

Page 12: Fundamentos de SQL - Parte 1 de 8

Comando USE

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

USE DB_ESCOLINHA

12

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

13

Page 14: Fundamentos de SQL - Parte 1 de 8

Networking

Vamos fazer negócio?

14

Page 15: Fundamentos de SQL - Parte 1 de 8

Exercícios

1) A tabela de origem dos dados é especificada na cláusula SELECT? Justifique.2) É natural precisar retornar 100% dos dados de uma tabela?3) Busque seus dados da Base de dados.

1) Base de dados: DB_ESCOLINHA2) Tabela: TBL_ALUNOS3) Colunas: ID_ALUNO, NM_NOME_ALUNO

15

Page 16: Fundamentos de SQL - Parte 1 de 8

Predicado

Predicados são condições que se 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.

16

Page 17: Fundamentos de SQL - Parte 1 de 8

Predicado - LIKE

Os predicados LIKE e NOT LIKE lhe oferecem recursos básicos de reconhecimento de padrões. Você pode usar os caracteres por cento (%) e sublinhado (_) para o reconhecimento de qualquer numero de caracteres ou qualquer caractere específico, respectivamente. Para encontrar todos os pais que contêm no seu nome 'Silva', especifique:

17

Page 18: Fundamentos de SQL - Parte 1 de 8

Predicado – LIKE – Usando

SELECT ID_PAI, NM_NOME_PAI, NM_EMAIL_PAI, NM_PSS_PAI

FROM TBL_PAIS WHERE NM_SOBRENOME_PAI LIKE '%Silva%‘

Maria Aparecida da Silva DuarteTatiane Silva BarbosaSilva e Souza Amanda Almeida

18

Page 19: Fundamentos de SQL - Parte 1 de 8

Predicado – LIKE – Usando

Para encontrar todas os pais que possui o primeiro nome 'Maria', especifique:SELECT ID_PAI,

NM_NOME_PAI, NM_EMAIL_PAI, NM_PSS_PAI

FROM TBL_PAIS WHERE NM_NOME_PAI LIKE ‘Maria%'Maria Aparecida da Silva DuarteTatiane Maria BarbosaSilva e Souza Amanda Almeida

19

Page 20: Fundamentos de SQL - Parte 1 de 8

Predicado – LIKE – Usando

Para encontrar todos os pais que possui o '230' nos três últimos dígitos do CEP, especifique:SELECT ID_PAI,

NM_NOME_PAI, NM_EMAIL_PAI, NM_PSS_PAI

FROM TBL_PAIS WHERE NM_CEP_PAI LIKE '%230‘307302303073023530630230 30750444

20

Page 21: Fundamentos de SQL - Parte 1 de 8

Predicado – LIKE – Usando

Ou ainda, use:SELECT ID_PAI,

NM_NOME_PAI, NM_EMAIL_PAI, NM_PSS_PAI

FROM TBL_PAIS WHERE NM_CEP_PAI LIKE ‘______230‘307302303073023530630230 30750444

21

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

22

Page 23: Fundamentos de SQL - Parte 1 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 DEMOSTRACAO23

Page 24: Fundamentos de SQL - Parte 1 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 24

Page 25: Fundamentos de SQL - Parte 1 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')

25

Page 26: Fundamentos de SQL - Parte 1 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 26

Page 27: Fundamentos de SQL - Parte 1 de 8

SEQUEL

História do SQL começa em 1970 com a publicação por E. F. Codd, no ACM Journal, de um artigo intitulado “A RelationalModel of Data for Large Shared Data Banks”. O modelo proposto por Codd é hoje considerado a base de trabalho para qualquer Sistema de Gestão de Base de Dados Relacional (SGBDR).A primeira implementação da linguagem SEQUEL foi realizada pela IBM e tinha por objetivo a implementação do modelo de Codd. A evolução desta linguagem veio a dar origem ao SQL.A primeira implementação comercial de SQL foi realizada pela Relational Software, Inc., hoje conhecida por Oracle Corporation.Nos dias de hoje, a linguagem SQL é considerada um standard dos Sistemas de Gestão de Base de Dados Relacionais (SGBDR); por isso, todos os fabricantes a integram nos seu produtos.

27

Page 28: Fundamentos de SQL - Parte 1 de 8

O dialeto

O Transact-SQL é central para usar o SQL Server. Todos os aplicativos que se comunicam com uma instância do SQL Server o fazem enviando instruções Transact-SQL ao servidor, independentemente da interface do usuário do aplicativo.

28

Page 29: Fundamentos de SQL - Parte 1 de 8

Banco de Dados

Os bancos de dados são ferramentas desenvolvidas com a finalidade de ajudar a organizar e recuperar dados de forma eficiente. Seu conceito não está diretamente vinculado a informática ou a qualquer meio eletrônico. Desse modo pode-se dizer que uma agenda, uma lista telefônica ou até uma enciclopédia são um banco de dados, pois a informação armazenada nesses meios está organizado e pode ser facilmente recuperada. utilizando essa mesma linha de raciocínio, não se poderia classificar um romance, por exemplo, como um banco de dados, pois a informação contida em uma romance, como as falas dos personagens, não pode ser facilmente recuperadas e não está armazenada de forma organizada.

29