39
Banco de Dados II Aula 3-4 Profa. Ms. Sueli A. Loddi Conteúdo: Introdução a Linguagem SQL Linguagem de Definição de Dados ( DDL - Data Definition Language ) Linguagem de Manipulação de Dados ( DML –Data Manipulation Language )

Banco de Dados II Aula 3-4 Profa. Ms. Sueli A. Loddi Conteúdo: Introdução a Linguagem SQL Linguagem de Definição de Dados ( DDL - Data Definition Language

Embed Size (px)

Citation preview

Page 1: Banco de Dados II Aula 3-4 Profa. Ms. Sueli A. Loddi Conteúdo: Introdução a Linguagem SQL Linguagem de Definição de Dados ( DDL - Data Definition Language

Banco de Dados IIAula 3-4

Profa. Ms. Sueli A. Loddi

Conteúdo:Introdução a Linguagem SQLLinguagem de Definição de Dados ( DDL - Data Definition Language )Linguagem de Manipulação de Dados ( DML –Data Manipulation Language )

Page 2: Banco de Dados II Aula 3-4 Profa. Ms. Sueli A. Loddi Conteúdo: Introdução a Linguagem SQL Linguagem de Definição de Dados ( DDL - Data Definition Language

Banco de Dados II - Aula 3

Modelo Utilizado para a Aula

Page 3: Banco de Dados II Aula 3-4 Profa. Ms. Sueli A. Loddi Conteúdo: Introdução a Linguagem SQL Linguagem de Definição de Dados ( DDL - Data Definition Language

Banco de Dados II - Aula 3

Inclusões

Forma Geral:

INSERT INTO <nome_tabela> <lista das colunas>VALUES <lista do conteúdo a ser inserido nas

colunas – na mesma orderm da lista anterior >

Page 4: Banco de Dados II Aula 3-4 Profa. Ms. Sueli A. Loddi Conteúdo: Introdução a Linguagem SQL Linguagem de Definição de Dados ( DDL - Data Definition Language

Banco de Dados II - Aula 3

Inclusões

Exemplos de Inclusões

Page 5: Banco de Dados II Aula 3-4 Profa. Ms. Sueli A. Loddi Conteúdo: Introdução a Linguagem SQL Linguagem de Definição de Dados ( DDL - Data Definition Language

Banco de Dados II - Aula 3

Inclusões

Exemplos de Inclusões

Page 6: Banco de Dados II Aula 3-4 Profa. Ms. Sueli A. Loddi Conteúdo: Introdução a Linguagem SQL Linguagem de Definição de Dados ( DDL - Data Definition Language

Banco de Dados II - Aula 3

Inclusões

Exercício:Inclua 5 departamentosInclua 5 Empregados Inclua 2 dependentes para cada funcionárioCada Empregado deve trabalhar em 2 projetos

Page 7: Banco de Dados II Aula 3-4 Profa. Ms. Sueli A. Loddi Conteúdo: Introdução a Linguagem SQL Linguagem de Definição de Dados ( DDL - Data Definition Language

Banco de Dados II - Aula 3

Seleção

SELECT <listra de atributos>FROM <lista de tabelas>WHERE <condição>;

Onde:•lista de atributos: é a lista dos atributos que serão recuperados pela

consulta;•lista de tabelas: é a lista de relações necessárias para o processamento

da consulta;•condição: uma restrição condicional(booleana) que identifica os registros

que serão recuperadas na consulta.

Page 8: Banco de Dados II Aula 3-4 Profa. Ms. Sueli A. Loddi Conteúdo: Introdução a Linguagem SQL Linguagem de Definição de Dados ( DDL - Data Definition Language

Banco de Dados II - Aula 3

Seleção

Operador Significado

= Igual a

< Menor que

> Maior que

<= Menor ou igual a

>= Maior ou igual a

<> Diferente (não igual)

Operadores Lógicos básicos do SQL

Page 9: Banco de Dados II Aula 3-4 Profa. Ms. Sueli A. Loddi Conteúdo: Introdução a Linguagem SQL Linguagem de Definição de Dados ( DDL - Data Definition Language

Banco de Dados II - Aula 3

Seleção

Seleção sem filtro

Page 10: Banco de Dados II Aula 3-4 Profa. Ms. Sueli A. Loddi Conteúdo: Introdução a Linguagem SQL Linguagem de Definição de Dados ( DDL - Data Definition Language

Banco de Dados II - Aula 3

Seleção

Seleção com filtro

Page 11: Banco de Dados II Aula 3-4 Profa. Ms. Sueli A. Loddi Conteúdo: Introdução a Linguagem SQL Linguagem de Definição de Dados ( DDL - Data Definition Language

Banco de Dados II - Aula 3

Seleção

Seleção com filtro e seleção de campos

Page 12: Banco de Dados II Aula 3-4 Profa. Ms. Sueli A. Loddi Conteúdo: Introdução a Linguagem SQL Linguagem de Definição de Dados ( DDL - Data Definition Language

Banco de Dados II - Aula 3

Seleção

Seleção com filtro e seleção de campos

Page 13: Banco de Dados II Aula 3-4 Profa. Ms. Sueli A. Loddi Conteúdo: Introdução a Linguagem SQL Linguagem de Definição de Dados ( DDL - Data Definition Language

Banco de Dados II - Aula 3

Alterações

Forma Geral

UPDATE <NomeTabela>SET <coluna> = <valor a ser

alterado>WHERE <condição>

Page 14: Banco de Dados II Aula 3-4 Profa. Ms. Sueli A. Loddi Conteúdo: Introdução a Linguagem SQL Linguagem de Definição de Dados ( DDL - Data Definition Language

Banco de Dados II - Aula 3

Alterações

Exemplo

Page 15: Banco de Dados II Aula 3-4 Profa. Ms. Sueli A. Loddi Conteúdo: Introdução a Linguagem SQL Linguagem de Definição de Dados ( DDL - Data Definition Language

Banco de Dados II - Aula 3

Alterações

Exercícios:

-Altere a tabela projeto para que cada projeto tenha um responsável

-Dê um aumento de salário de 15% para os funcionário do RH-Dê um aumento de salário de 25% para os funcionário do TI-Dê um aumento de salário de 55% para os funcionário do Contabilidade

-Inclua um campo idade na tabela empregado-Calcule o valor da idade atual de cada empregado e atribua a este campo

Page 16: Banco de Dados II Aula 3-4 Profa. Ms. Sueli A. Loddi Conteúdo: Introdução a Linguagem SQL Linguagem de Definição de Dados ( DDL - Data Definition Language

Banco de Dados II - Aula 3

Remoção

Forma geral:

DELETE FROM <nome_tabela>WHERE <condição>

Page 17: Banco de Dados II Aula 3-4 Profa. Ms. Sueli A. Loddi Conteúdo: Introdução a Linguagem SQL Linguagem de Definição de Dados ( DDL - Data Definition Language

Banco de Dados II - Aula 3

Remoção

Exemplo

Page 18: Banco de Dados II Aula 3-4 Profa. Ms. Sueli A. Loddi Conteúdo: Introdução a Linguagem SQL Linguagem de Definição de Dados ( DDL - Data Definition Language

Banco de Dados II - Aula 3

Between e Not Between

Este operador retorna as linhas de um tabela cuja coluna em comparação esteja ou não no intervalo solicitado.

Sintaxe:

WHERE <Nome Coluna> between <valor1> and <valor2>

Ou

WHERE <Nome Coluna> not between <valor1> and <valor2>

Page 19: Banco de Dados II Aula 3-4 Profa. Ms. Sueli A. Loddi Conteúdo: Introdução a Linguagem SQL Linguagem de Definição de Dados ( DDL - Data Definition Language

Banco de Dados II - Aula 3

Exemplo Between

Page 20: Banco de Dados II Aula 3-4 Profa. Ms. Sueli A. Loddi Conteúdo: Introdução a Linguagem SQL Linguagem de Definição de Dados ( DDL - Data Definition Language

Banco de Dados II - Aula 3

Like e not Like

Este operador trabalha nas colunas tipo caractere, retornando as colunas que tenham o valor/diferente ‘igual’ ao declarado. as linhas de um tabela cuja coluna em comparação esteja ou não no intervalo solicitado.Sintaxe:WHERE <Nome Coluna> like <valor1> OuWHERE <Nome Coluna> not like <valor1>

O % e o _ podem ser usados como coringas. O % como uma cadeia de caracteres e o _ um único caractere.

Page 21: Banco de Dados II Aula 3-4 Profa. Ms. Sueli A. Loddi Conteúdo: Introdução a Linguagem SQL Linguagem de Definição de Dados ( DDL - Data Definition Language

Banco de Dados II - Aula 3

Exemplo Like

Page 22: Banco de Dados II Aula 3-4 Profa. Ms. Sueli A. Loddi Conteúdo: Introdução a Linguagem SQL Linguagem de Definição de Dados ( DDL - Data Definition Language

Banco de Dados II - Aula 3

Exemplo Like

Page 23: Banco de Dados II Aula 3-4 Profa. Ms. Sueli A. Loddi Conteúdo: Introdução a Linguagem SQL Linguagem de Definição de Dados ( DDL - Data Definition Language

Banco de Dados II - Aula 3

in e not in

Este operador retorna as linhas de um tabela cuja coluna em comparação esteja ou não no intervalo solicitado.Sintaxe:WHERE <NomeColuna> in (<valor1>,<valor2>, ...,<valorN>)OuWHERE <Nome Coluna> not in (<valor1>,<valor2>, ...,<valorN>)

Page 24: Banco de Dados II Aula 3-4 Profa. Ms. Sueli A. Loddi Conteúdo: Introdução a Linguagem SQL Linguagem de Definição de Dados ( DDL - Data Definition Language

Banco de Dados II - Aula 3

in e not in

Page 25: Banco de Dados II Aula 3-4 Profa. Ms. Sueli A. Loddi Conteúdo: Introdução a Linguagem SQL Linguagem de Definição de Dados ( DDL - Data Definition Language

Banco de Dados II - Aula 3

Is null e not is null

Este operador retorna as linhas de um tabela cuja coluna em comparação esteja ou não no intervalo solicitado.Sintaxe:WHERE <Nome Coluna> is nullOuWHERE <Nome Coluna> is not null

Page 26: Banco de Dados II Aula 3-4 Profa. Ms. Sueli A. Loddi Conteúdo: Introdução a Linguagem SQL Linguagem de Definição de Dados ( DDL - Data Definition Language

Banco de Dados II - Aula 3

Is null e not is null

Page 27: Banco de Dados II Aula 3-4 Profa. Ms. Sueli A. Loddi Conteúdo: Introdução a Linguagem SQL Linguagem de Definição de Dados ( DDL - Data Definition Language

Banco de Dados II - Aula 3

Order By

O order by coloca as linhas na ordem de um determinada coluna desejada. Ele pode ser Ascendente (ASC), padrão, ou Descendente ( DESC)

Sintaxe:SELECT <nome das colunas>FROM <tabelas>WHERE <Condição>Order By <nome das colunas>

Page 28: Banco de Dados II Aula 3-4 Profa. Ms. Sueli A. Loddi Conteúdo: Introdução a Linguagem SQL Linguagem de Definição de Dados ( DDL - Data Definition Language

Banco de Dados II - Aula 3

Order By

Page 29: Banco de Dados II Aula 3-4 Profa. Ms. Sueli A. Loddi Conteúdo: Introdução a Linguagem SQL Linguagem de Definição de Dados ( DDL - Data Definition Language

Banco de Dados II - Aula 3

Order By

Page 30: Banco de Dados II Aula 3-4 Profa. Ms. Sueli A. Loddi Conteúdo: Introdução a Linguagem SQL Linguagem de Definição de Dados ( DDL - Data Definition Language

Banco de Dados II - Aula 3

Funções Agregadas

Funções básicas:Mínimo (MIN)Máximo (MAX)Soma (SUM)MÉDIA (AVG)Contagem de Linhas (Count)

Page 31: Banco de Dados II Aula 3-4 Profa. Ms. Sueli A. Loddi Conteúdo: Introdução a Linguagem SQL Linguagem de Definição de Dados ( DDL - Data Definition Language

Banco de Dados II - Aula 3

Funções Agregadas

Page 32: Banco de Dados II Aula 3-4 Profa. Ms. Sueli A. Loddi Conteúdo: Introdução a Linguagem SQL Linguagem de Definição de Dados ( DDL - Data Definition Language

Banco de Dados II - Aula 3

Distinct

A cláusula distinct elimina redundâncias em uma query.

Observe o exemplo:

Page 33: Banco de Dados II Aula 3-4 Profa. Ms. Sueli A. Loddi Conteúdo: Introdução a Linguagem SQL Linguagem de Definição de Dados ( DDL - Data Definition Language

Banco de Dados II - Aula 3

Distinct

Adicionando o distinct a querya repetição de nomes foi suprimida.

Page 34: Banco de Dados II Aula 3-4 Profa. Ms. Sueli A. Loddi Conteúdo: Introdução a Linguagem SQL Linguagem de Definição de Dados ( DDL - Data Definition Language

Banco de Dados II - Aula 3

Agrupando Informações

A função de agregação produz um número simples para uma coluna.A cláusula organiza esse sumário de dados em grupos, produzindo informações sumarizadas para os grupos definidos na tabela objeto de seleção.A cláusula HAVING realiza as restrições das linhas resultantes da mesma forma que a cláusula WHERE o faz mo Select.

Sintaxe:SELECT <nome das colunas>, agregaçãoFROM <tabelas>WHERE <Condição>Group By <nome das colunas>HAVING <Condições>

Page 35: Banco de Dados II Aula 3-4 Profa. Ms. Sueli A. Loddi Conteúdo: Introdução a Linguagem SQL Linguagem de Definição de Dados ( DDL - Data Definition Language

Banco de Dados II - Aula 3

Agrupando Informações

A função de agregação produz um número simples para uma coluna.A cláusula organiza esse sumário de dados em grupos, produzindo informações sumarizadas para os grupos definidos na tabela objeto de seleção.A cláusula HAVING realiza as restrições das linhas resultantes da mesma forma que a cláusula WHERE o faz mo Select.

Sintaxe:SELECT <nome das colunas>, agregaçãoFROM <tabelas>WHERE <Condição>Group By <nome das colunas>HAVING <Condições>

Page 36: Banco de Dados II Aula 3-4 Profa. Ms. Sueli A. Loddi Conteúdo: Introdução a Linguagem SQL Linguagem de Definição de Dados ( DDL - Data Definition Language

Banco de Dados II - Aula 3

Page 37: Banco de Dados II Aula 3-4 Profa. Ms. Sueli A. Loddi Conteúdo: Introdução a Linguagem SQL Linguagem de Definição de Dados ( DDL - Data Definition Language

Banco de Dados II - Aula 3

O having funcionará como uma restrição para a agregação

Page 38: Banco de Dados II Aula 3-4 Profa. Ms. Sueli A. Loddi Conteúdo: Introdução a Linguagem SQL Linguagem de Definição de Dados ( DDL - Data Definition Language

Banco de Dados II - Aula 3

Page 39: Banco de Dados II Aula 3-4 Profa. Ms. Sueli A. Loddi Conteúdo: Introdução a Linguagem SQL Linguagem de Definição de Dados ( DDL - Data Definition Language

Banco de Dados IIBibliografia

DATE, C. J. Introdução a sistemas de bancos de dados. 8ª Edição. Rio de Janeiro:Elsevier:2003.

ELMASRI, Ramirez; NAVATHEM, Shamkant B. Sistema de Banco de Dados. 4ª Edição. São Paulo:Perarson Addison Wesley, 2005.

MONTEIRO, Emiliano Soares. Projeto de sistemas de banco de dados. Rio de Janeiro: Brasport, 2004.

SILBERSCHATZ, Abrahan; KORTH, Henry F.; SUDARSHAN, S. Sistema de Banco de Dados. 3ª Edição. São Paulo:Makron Books, 1999.