banco de dados oracle 10g fundamentos de sql i · oracle application server 10g i-7 oracle...

350
Banco de Dados Oracle 10g: Fundamentos de SQL I Volume I Guia do Aluno D17108BP10 Produção 1.0 Junho 2004 D39572 Oracle University and Impacta Tecnologia use only Development Program (WDP) eKit materials are provided for WDP in-class use only. Copying eKit materials is strictly prohibited and is in violation of Oracle copyright. All WDP students must receive an eKit watermarked with their name and email. Contact [email protected] if you have not received your personalized eKit.

Upload: dinhhuong

Post on 12-Feb-2019

228 views

Category:

Documents


0 download

TRANSCRIPT

Banco de Dados Oracle 10g:Fundamentos de SQL I

Volume I Guia do Aluno

D17108BP10

Produo 1.0

Junho 2004

D39572

Ora

cle

Uni

vers

ity a

nd Im

pact

a Te

cnol

ogia

use

onl

y

Development Program (WDP) eKit materials are provided for WDP in-class use only. Copying eKit materials is strictly prohibited and is inviolation of Oracle copyright. All WDP students must receive an eKit watermarked with their name and email. [email protected] if you have not received your personalized eKit.

Copyright 2004, Oracle. Todos os direitos reservados.

Esta documentao contm informaes de propriedade da Oracle Corporation. Ela fornecida sob um contrato de licena que contm restries quanto ao uso e divulgao, alm de ser protegida pela legislao de direitos autorais. proibida a engenharia reversa do software. Se esta documentao for distribuda a uma Agncia Governamental subordinada ao Departamento de Defesa dos EUA, ela ter direitos restritos e o seguinte aviso dever ser aplicado:

Aviso de Direitos Restritos

A utilizao, a duplicao ou a divulgao pelo governo estar sujeita s restries impostas a um software comercial e devero ser aplicadas as leis federais relativas a um software com direitos restritos, como definidos no subpargrafo (c)(1)(ii) de DFARS 252.227-7013, Rights in Technical Data and Computer Software (Direitos sobre Dados Tcnicos e Software de Computadores) (outubro de 1988).

Este material, ou parte dele, no poder ser copiado de qualquer forma ou por qualquer meio sem a prvia permisso expressa por escrito da Oracle Corporation. Qualquer outra cpia constituir uma violao da legislao de direitos autorais e poder resultar em indenizaes civis e/ou criminais.

Se esta documentao for distribuda a uma Agncia Governamental que no pertena ao Departamento de Defesa dos EUA, ela ter "direitos restritos", conforme definido no FAR 52.227-14, Rights in Data-General (Direitos Gerais sobre Dados), incluindo Alternate III (Alternativa III) (junho de 1987).

As informaes contidas neste documento esto sujeitas a alteraes sem aviso prvio. Se voc encontrar algum problema na documentao, envie ao departamento Worldwide Education Services uma descrio de tal problema por escrito. Oracle Corporation, 500 Oracle Parkway, Box SB-6, Redwood Shores, CA 94065 - USA. Distribuidor no Brasil: Oracle do Brasil Sistemas Ltda. Rua Jos Guerra, 127, So Paulo, SP - 04719-030 - Brasil - CNPJ: 59.456.277/0001-76. A Oracle Corporation no garante que esta documentao esteja isenta de erros.

Oracle e todas as referncias a produtos da Oracle so marcas comerciais ou registradas da Oracle Corporation.

Todos os outros nomes de empresas e produtos so usados com o nico propsito de identificao e podem ser marcas comerciais dos respectivos proprietrios.

AutorNancy Greenberg

Revisores e Colaboradores Tcnicos

Wayne Abbott Christian BauwensPerry BensonBrian BoxxZarko CesljasDairy ChanLaszlo CzinkoczkiMarjolein DekkersMatthew GregoryStefan GrenstadJoel GoodmanRosita HanomanSushma JagannathAngelika KruppChristopher LawlessMarcelo ManzanoIsabelle MarchandMalika MarghadiValli PataballaElspeth PayneLigia Jasmin RobayoBryan RobertsHelen RobertsonLata ShivaprasadJohn SoltaniPriya VennapusaKen Woolfe

Editor

Nita K. Brozowski Ora

cle

Uni

vers

ity a

nd Im

pact

a Te

cnol

ogia

use

onl

y

Development Program (WDP) eKit materials are provided for WDP in-class use only. Copying eKit materials is strictly prohibited and is inviolation of Oracle copyright. All WDP students must receive an eKit watermarked with their name and email. [email protected] if you have not received your personalized eKit.

Prefcio

IntroduoObjetivos da Lio I-2Metas do Curso I-3Oracle10g I-4Banco de Dados Oracle 10g I-6Oracle Application Server 10g I-7Oracle Enterprise Manager 10g Grid Control I-8Sistemas de Gerenciamento de Banco de Dados Relacional e Banco de Dados Relacional de Objeto I-9Plataforma Oracle para a Internet I-10Ciclo de Vida de Desenvolvimento do Sistema I-11Armazenamento de Dados em Diferentes Mdias I-13Conceito de Banco de Dados Relacional I-14Definio de um Banco de Dados Relacional I-15Modelos de Dados I-16Modelo de Relacionamento entre Entidades I-17Convenes de Modelagem de Relacionamento entre Entidades I-19Relacionando Vrias Tabelas I-21Terminologia do Banco de Dados Relacional I-23Propriedades do Banco de Dados Relacional I-25Comunicando-se com um RDBMS por Meio de SQL I-26Sistema de Gerenciamento de Banco de Dados Relacional da Oracle I-27Instrues SQL I-28Tabelas Usadas no Curso I-29Sumrio I-30

1 Recuperando Dados com a Instruo SQL SELECTObjetivos 1-2Recursos de Instrues SQL SELECT 1-3Instruo SELECT Bsica 1-4Selecionando Todas as Colunas 1-5Selecionando Colunas Especficas 1-6Criando Instrues SQL 1-7Defaults de Cabealhos de Colunas 1-8Expresses Aritmticas 1-9Usando Operadores Aritmticos 1-10Precedncia de Operadores 1-11Definindo um Valor Nulo 1-12Valores Nulos em Expresses Aritmticas 1-13Definindo um Apelido de Coluna 1-14Usando Apelidos de Colunas 1-15Operador de Concatenao 1-16Strings de Caracteres Literais 1-17Usando Strings de Caracteres Literais 1-18

Contedo

iii

Ora

cle

Uni

vers

ity a

nd Im

pact

a Te

cnol

ogia

use

onl

y

Development Program (WDP) eKit materials are provided for WDP in-class use only. Copying eKit materials is strictly prohibited and is inviolation of Oracle copyright. All WDP students must receive an eKit watermarked with their name and email. [email protected] if you have not received your personalized eKit.

Operador de Aspas (q) Alternativo 1-19Linhas Duplicadas 1-20Interao entre SQL e iSQL*Plus 1-21Instrues SQL e Comandos iSQL*Plus 1-22Viso Geral do iSQL*Plus 1-23Efetuando Login no iSQL*Plus 1-24Ambiente iSQL*Plus 1-25Exibindo a Estrutura de Tabelas 1-26Interagindo com Arquivos de Script 1-28Pgina History do iSQL*Plus 1-32Definindo Preferncias do iSQL*Plus 1-34Definindo a Preferncia de Localizao da Sada 1-35Sumrio 1-36Exerccio 1: Viso Geral 1-37

2 Restringindo e Classificando DadosObjetivos 2-2Limitando Linhas por Seleo 2-3Limitando as Linhas Selecionadas 2-4Usando a Clusula WHERE 2-5Strings de Caracteres e Datas 2-6Condies de Comparao 2-7Usando Condies de Comparao 2-8Usando a Condio BETWEEN 2-9Usando a Condio IN 2-10Usando a Condio LIKE 2-11Usando as Condies NULL 2-13Condies Lgicas 2-14Usando o Operador AND 2-15Usando o Operador OR 2-16Usando o Operador NOT 2-17Regras de Precedncia 2-18Usando a Clusula ORDER BY 2-20Classificao 2-21Variveis de Substituio 2-22Usando a Varivel de Substituio & 2-24Valores de Caractere e Data com Variveis de Substituio 2-26Especificando Nomes de Colunas, Expresses e Texto 2-27Usando a Varivel de Substituio && 2-28Usando o Comando DEFINE do iSQL*Plus 2-29Usando o Comando VERIFY 2-30Sumrio 2-31Exerccio 2: Viso Geral 2-32

iv

Ora

cle

Uni

vers

ity a

nd Im

pact

a Te

cnol

ogia

use

onl

y

Development Program (WDP) eKit materials are provided for WDP in-class use only. Copying eKit materials is strictly prohibited and is inviolation of Oracle copyright. All WDP students must receive an eKit watermarked with their name and email. [email protected] if you have not received your personalized eKit.

3 Usando Functions de uma nica Linha para Personalizar a SadaObjetivos 3-2Functions SQL 3-3Dois Tipos de Functions SQL 3-4Functions de uma nica Linha 3-5Functions de Caractere 3-7Functions de Manipulao de Maisculas e Minsculas 3-9Usando Functions de Manipulao de Maisculas e Minsculas 3-10Functions de Manipulao de Caracteres 3-11Usando as Functions de Manipulao de Caracteres 3-12Functions de Nmero 3-13Usando a Function ROUND 3-14Usando a Function TRUNC 3-15Usando a Function MOD 3-16Trabalhando com Datas 3-17Aritmtica com Datas 3-20Usando Operadores Aritmticos com Datas 3-21Functions de Data 3-22Usando Functions de Data 3-23Exerccio 3: Viso Geral da Parte 1 3-25Functions de Converso 3-26Converso Implcita de Tipos de Dados 3-27Converso Explcita de Tipos de Dados 3-29Usando a Function TO_CHAR com Datas 3-32Elementos do Modelo de Formato de Data 3-33Usando a Function TO_CHAR com Datas 3-37Usando a Function TO_CHAR com Nmeros 3-38Usando as Functions TO_NUMBER e TO_DATE 3-41Formato de Data RR 3-43Exemplo do Formato de Data RR 3-44Aninhando Functions 3-45Functions Gerais 3-47Function NVL 3-48Usando a Function NVL 3-49Usando a Function NVL2 3-50Usando a Function NULLIF 3-51Usando a Function COALESCE 3-52Expresses Condicionais 3-54Expresso CASE 3-55Usando a Expresso CASE 3-56Function DECODE 3-57Usando a Function DECODE 3-58Sumrio 3-60Exerccio 3: Viso Geral da Parte 2 3-61

v

Ora

cle

Uni

vers

ity a

nd Im

pact

a Te

cnol

ogia

use

onl

y

Development Program (WDP) eKit materials are provided for WDP in-class use only. Copying eKit materials is strictly prohibited and is inviolation of Oracle copyright. All WDP students must receive an eKit watermarked with their name and email. [email protected] if you have not received your personalized eKit.

4 Gerando Relatrios de Dados Agregados com as Functions de GrupoObjetivos 4-2O Que So Functions de Grupo? 4-3Tipos de Functions de Grupo 4-4Functions de Grupo: Sintaxe 4-5Usando as Functions AVG e SUM 4-6Usando as Functions MIN e MAX 4-7Usando a Function COUNT 4-8Usando a Palavra-Chave DISTINCT 4-9Functions de Grupo e Valores Nulos 4-10Criando Grupos de Dados 4-11Criando Grupos de Dados: Sintaxe da Clusula GROUP BY 4-12Usando a Clusula GROUP BY 4-13Agrupando por Mais de Uma Coluna 4-15Usando a Clusula GROUP BY em Vrias Colunas 4-16Consultas Invlidas Usando Functions de Grupo 4-17Restringindo Resultados de Grupos 4-19Restringindo Resultados de Grupos com a Clusula HAVING 4-20Usando a Clusula HAVING 4-21Aninhando Functions de Grupo 4-23Sumrio 4-24Exerccio 4: Viso Geral 4-25

5 Exibindo Dados de Vrias TabelasObjetivos 5-2Obtendo Dados de Vrias Tabelas 5-3Tipos de Joins 5-4Unindo Tabelas com a Sintaxe SQL:1999 5-5Criando Joins Naturais 5-6Recuperando Registros com Joins Naturais 5-7Criando Joins com a Clusula USING 5-8Unindo Nomes de Colunas 5-9Recuperando Registros com a Clusula USING 5-10Qualificando Nomes de Colunas Ambguos 5-11Usando Apelidos de Tabelas 5-12Criando Joins com a Clusula ON 5-13Recuperando Registros com a Clusula ON 5-14Auto-Joins Usando a Clusula ON 5-15Aplicando Outras Condies a uma Join 5-17Criando Joins Tridimensionais com a Clusula ON 5-18No-Equijoins 5-19Recuperando Registros com No-Equijoins 5-20Joins Externas 5-21Joins Internas e Externas 5-22LEFT OUTER JOIN 5-23RIGHT OUTER JOIN 5-24

vi

Ora

cle

Uni

vers

ity a

nd Im

pact

a Te

cnol

ogia

use

onl

y

Development Program (WDP) eKit materials are provided for WDP in-class use only. Copying eKit materials is strictly prohibited and is inviolation of Oracle copyright. All WDP students must receive an eKit watermarked with their name and email. [email protected] if you have not received your personalized eKit.

FULL OUTER JOIN 5-25Produtos Cartesianos 5-26Gerando um Produto Cartesiano 5-27Criando Joins Cruzadas 5-28Sumrio 5-29Exerccio 5: Viso Geral 5-30

6 Usando Subconsultas para Solucionar ConsultasObjetivos 6-2Usando uma Subconsulta para Solucionar um Problema 6-3Sintaxe da Subconsulta 6-4Usando uma Subconsulta 6-5Diretrizes de Uso de Subconsultas 6-6Tipos de Subconsultas 6-7Subconsultas de uma nica Linha 6-8Executando Subconsultas de uma nica Linha 6-9Usando Functions de Grupo em uma Subconsulta 6-10A Clusula HAVING com Subconsultas 6-11O Que Est Errado Nesta Instruo? 6-12Esta Instruo Retornar Linhas? 6-13Subconsultas de Vrias Linhas 6-14Usando o Operador ANY em Subconsultas de Vrias Linhas 6-15Usando o Operador ALL em Subconsultas de Vrias Linhas 6-16Valores Nulos em uma Subconsulta 6-17Sumrio 6-19Exerccio 6: Viso Geral 6-20

7 Usando os Operadores de ConjuntoObjetivos 7-2Operadores de Conjunto 7-3Tabelas Usadas Nesta Lio 7-4Operador UNION 7-8Usando o Operador UNION 7-9Operador UNION ALL 7-11Usando o Operador UNION ALL 7-12Operador INTERSECT 7-13Usando o Operador INTERSECT 7-14Operador MINUS 7-15Diretrizes de Operadores de Conjunto 7-17O Servidor Oracle e os Operadores de Conjunto 7-18Correspondncia entre Instrues SELECT 7-19Correspondncia entre Instrues SELECT: Exemplo 7-20Controlando a Ordem das Linhas 7-21Sumrio 7-23Exerccio 7: Viso Geral 7-24

vii

Ora

cle

Uni

vers

ity a

nd Im

pact

a Te

cnol

ogia

use

onl

y

Development Program (WDP) eKit materials are provided for WDP in-class use only. Copying eKit materials is strictly prohibited and is inviolation of Oracle copyright. All WDP students must receive an eKit watermarked with their name and email. [email protected] if you have not received your personalized eKit.

8 Manipulando DadosObjetivos 8-2Data Manipulation Language 8-3Adicionando uma Nova Linha a uma Tabela 8-4Sintaxe da Instruo INSERT 8-5Inserindo Novas Linhas 8-6Inserindo Linhas com Valores Nulos 8-7Inserindo Valores Especiais 8-8Inserindo Valores de Data Especficos 8-9Criando um Script 8-10Copiando Linhas de Outra Tabela 8-11Alterando Dados de uma Tabela 8-12Sintaxe da Instruo UPDATE 8-13Atualizando Linhas de uma Tabela 8-14Atualizando Duas Colunas com uma Subconsulta 8-15Atualizando Linhas com Base em Outra Tabela 8-16Removendo uma Linha de uma Tabela 8-17Instruo DELETE 8-18Deletando Linhas de uma Tabela 8-19Deletando Linhas com Base em Outra Tabela 8-20Instruo TRUNCATE 8-21Usando uma Subconsulta em uma Instruo INSERT 8-22Transaes de Banco de Dados 8-24Vantagens das Instrues COMMIT e ROLLBACK 8-26Controlando Transaes 8-27Fazendo Rollback de Alteraes at um Marcador 8-28Processamento de Transao Implcita 8-29Estado dos Dados antes de COMMIT ou ROLLBACK 8-31Estado dos Dados aps COMMIT 8-32Submetendo Dados a Commit 8-33Estado dos Dados aps ROLLBACK 8-34Rollback no Nvel de Instruo 8-36Consistncia de Leitura 8-37Implementao da Consistncia de Leitura 8-38Sumrio 8-39Exerccio 8: Viso Geral 8-40

9 Usando Instrues DDL para Criar e Gerenciar TabelasObjetivos 9-2Objetos de Banco de Dados 9-3Regras de Nomeao 9-4Instruo CREATE TABLE 9-5Fazendo Referncia a Tabelas de Outro Usurio 9-6Opo DEFAULT 9-7Criando Tabelas 9-8Tipos de Dados 9-9Tipos de Dados de Data/Horrio 9-11

viii

Ora

cle

Uni

vers

ity a

nd Im

pact

a Te

cnol

ogia

use

onl

y

Development Program (WDP) eKit materials are provided for WDP in-class use only. Copying eKit materials is strictly prohibited and is inviolation of Oracle copyright. All WDP students must receive an eKit watermarked with their name and email. [email protected] if you have not received your personalized eKit.

Incluindo Constraints 9-17Diretrizes de Constraints 9-18Definindo Constraints 9-19Constraint NOT NULL 9-21Constraint UNIQUE 9-22Constraint PRIMARY KEY 9-24Constraint FOREIGN KEY 9-25Constraint FOREIGN KEY: Palavras-chave 9-27Constraint CHECK 9-28CREATE TABLE: Exemplo 9-29Violando Constraints 9-30Criando uma Tabela com uma Subconsulta 9-32Instruo ALTER TABLE 9-34Eliminando uma Tabela 9-35Sumrio 9-36Exerccio 9: Viso Geral 9-37

10 Criando Outros Objetos de Esquema Objetivos 10-2Objetos de Banco de Dados 10-3O Que uma View? 10-4Vantagens das Views 10-5Views Simples e Complexas 10-6Criando uma View 10-7Recuperando Dados de uma View 10-10Modificando uma View 10-11Criando uma View Complexa 10-12Regras para Executar Operaes DML em uma View 10-13Usando a Clusula WITH CHECK OPTION 10-16Negando Operaes DML 10-17Removendo uma View 10-19Exerccio 10: Viso Geral da Parte 1 10-20Seqncias 10-21Instruo CREATE SEQUENCE: Sintaxe 10-23Criando uma Seqncia 10-24Pseudocolunas NEXTVAL e CURRVAL 10-25Usando uma Seqncia 10-27Armazenando Valores de Seqncia em Cache 10-28Modificando uma Seqncia 10-29Diretrizes para Modificar uma Seqncia 10-30ndices 10-31Como Criar ndices? 10-33Criando um ndice 10-34Diretrizes para Criar ndices 10-35Removendo um ndice 10-36

ix

Ora

cle

Uni

vers

ity a

nd Im

pact

a Te

cnol

ogia

use

onl

y

Development Program (WDP) eKit materials are provided for WDP in-class use only. Copying eKit materials is strictly prohibited and is inviolation of Oracle copyright. All WDP students must receive an eKit watermarked with their name and email. [email protected] if you have not received your personalized eKit.

Sinnimos 10-37Criando e Removendo Sinnimos 10-39Sumrio 10-40Exerccio 10: Viso Geral da Parte 2 10-41

11 Gerenciando Objetos com Views de Dicionrio de DadosObjetivos 11-2O Dicionrio de Dados 11-3Estrutura do Dicionrio de Dados 11-4Como Usar as Views de Dicionrio 11-6View USER_OBJECTS 11-7Informaes sobre Tabelas 11-9Informaes sobre Colunas 11-10Informaes sobre Constraints 11-12Informaes sobre Views 11-15Informaes sobre Seqncias 11-16Informaes sobre Sinnimos 11-18Adicionando Comentrios a uma Tabela 11-19Sumrio 11-20Exerccio 11: Viso Geral 11-21

A Solues dos Exerccios

B Dados e Descries de Tabelas

C Sintaxe de Join Oracle

D Usando o SQL*Plus

ndice

Exerccios Adicionais

Exerccios Adicionais: Dados e Descries de Tabelas

Exerccios Adicionais: Solues

x

Ora

cle

Uni

vers

ity a

nd Im

pact

a Te

cnol

ogia

use

onl

y

Development Program (WDP) eKit materials are provided for WDP in-class use only. Copying eKit materials is strictly prohibited and is inviolation of Oracle copyright. All WDP students must receive an eKit watermarked with their name and email. [email protected] if you have not received your personalized eKit.

Prefcio

Ora

cle

Uni

vers

ity a

nd Im

pact

a Te

cnol

ogia

use

onl

y

Development Program (WDP) eKit materials are provided for WDP in-class use only. Copying eKit materials is strictly prohibited and is inviolation of Oracle copyright. All WDP students must receive an eKit watermarked with their name and email. [email protected] if you have not received your personalized eKit.

Ora

cle

Uni

vers

ity a

nd Im

pact

a Te

cnol

ogia

use

onl

y

Development Program (WDP) eKit materials are provided for WDP in-class use only. Copying eKit materials is strictly prohibited and is inviolation of Oracle copyright. All WDP students must receive an eKit watermarked with their name and email. [email protected] if you have not received your personalized eKit.

Prefcio-3

PerfilAntes de Iniciar o Curso

Antes de iniciar este curso, voc dever ser capaz de usar uma GUI (interface grfica do usurio). Como pr-requisito, necessrio que o aluno tenha familiaridade com os conceitose as tcnicas de processamento de dados.

Organizao deste CursoO curso Banco de Dados Oracle 10g: Fundamentos de SQL I orientado por instrutor e inclui palestras e exerccios prticos. As sesses de demonstrao on-line e os exerccios reforam as tcnicas e os conceitos apresentados.

Ora

cle

Uni

vers

ity a

nd Im

pact

a Te

cnol

ogia

use

onl

y

Development Program (WDP) eKit materials are provided for WDP in-class use only. Copying eKit materials is strictly prohibited and is inviolation of Oracle copyright. All WDP students must receive an eKit watermarked with their name and email. [email protected] if you have not received your personalized eKit.

Prefcio-4

Publicaes RelacionadasPublicaes Oracle

Ttulo Part Number(Nmero do Componente)

Oracle Database Reference 10g Release 1 (10.1) B10755-01 Oracle Database SQL Reference 10g Release 1 (10.1) B10759-01 Oracle Database Concepts 10g Release 1 (10.1) B10743-01 Oracle Database Application Developer's Guide - Fundamentals

10g Release 1 (10.1) B10795-01 SQL*Plus User's Guide and Reference B12170-01

Publicaes Adicionais Boletins de releases de sistemas Guias de instalao e do usurio Arquivos readme Artigos do IOUG (International Oracle Users Group) Oracle Magazine

Ora

cle

Uni

vers

ity a

nd Im

pact

a Te

cnol

ogia

use

onl

y

Development Program (WDP) eKit materials are provided for WDP in-class use only. Copying eKit materials is strictly prohibited and is inviolation of Oracle copyright. All WDP students must receive an eKit watermarked with their name and email. [email protected] if you have not received your personalized eKit.

Prefcio-5

Convenes TipogrficasA seguir, so fornecidas duas listas de convenes tipogrficas usadas especificamente no texto ou no cdigo.Convenes Tipogrficas do Texto

Conveno Objeto ou Termo ExemploLetras maisculas Comandos, Use o comando SELECT para exibir

functions, informaes armazenadas na coluna nomes de colunas, LAST_NAME da tabela EMPLOYEES.nomes de tabelas,objetos PL/SQL,esquemas

Letras minsculas, Nomes de arquivos, em que: role o nome da atribuioitlico variveis de sintaxe, a ser criada.

nomes de usurios,senhas

Inicial maiscula Trigger e Designe um trigger When-Validate-Item nomes de boto para o bloco ORD.

Escolha Cancel.Itlico Livros, nomes de Para obter mais informaes sobre o

cursos e assunto, consulte o Oracle SQL Referencemanuais, Manualpalavras ou frases enfatizadas No salve as alteraes no banco de dados.

Aspas Ttulos de mdulos Este assunto abordado na Lio 3,da lio mencionados Trabalhando com Objetos.em um curso

Ora

cle

Uni

vers

ity a

nd Im

pact

a Te

cnol

ogia

use

onl

y

Development Program (WDP) eKit materials are provided for WDP in-class use only. Copying eKit materials is strictly prohibited and is inviolation of Oracle copyright. All WDP students must receive an eKit watermarked with their name and email. [email protected] if you have not received your personalized eKit.

Prefcio-6

Convenes Tipogrficas (continuao)

Convenes Tipogrficas do CdigoConveno Objeto ou Termo ExemploLetras Comandos, SELECT employee_idmaisculas functions FROM employees;Letras minsculas, Variveis de sintaxe CREATE ROLE role;itlicoInicial maiscula Triggers de forms Form module: ORD

Trigger level: S_ITEM.QUANTITYitemTrigger name: When-Validate-Item. . .

Letras minsculas Nomes de colunas, . . .nomes de tabelas, OG_ACTIVATE_LAYERnomes de arquivos, (OG_GET_LAYER (prod_pie_layer))objetos PL/SQL . . .

SELECT last_nameFROM employees;

Negrito Texto a ser CREATE USER scottespecificado por um IDENTIFIED BY tiger;usurio

Ora

cle

Uni

vers

ity a

nd Im

pact

a Te

cnol

ogia

use

onl

y

Development Program (WDP) eKit materials are provided for WDP in-class use only. Copying eKit materials is strictly prohibited and is inviolation of Oracle copyright. All WDP students must receive an eKit watermarked with their name and email. [email protected] if you have not received your personalized eKit.

Copyright 2004, Oracle. Todos os direitos reservados.

Introduo

Ora

cle

Uni

vers

ity a

nd Im

pact

a Te

cnol

ogia

use

onl

y

Development Program (WDP) eKit materials are provided for WDP in-class use only. Copying eKit materials is strictly prohibited and is inviolation of Oracle copyright. All WDP students must receive an eKit watermarked with their name and email. [email protected] if you have not received your personalized eKit.

Banco de Dados Oracle 10g: Fundamentos de SQL I I-2

Copyright 2004, Oracle. Todos os direitos reservados.

Objetivos da Lio

Ao concluir esta lio, voc ser capaz de: Listar os recursos do Oracle10g Discutir os aspectos tericos e fsicos de um banco

de dados relacional Descrever a implementao Oracle do RDBMS e do

ORDBMS Compreender as metas do curso

ObjetivosNesta lio, voc compreender o RDBMS (Relational Database Management System) e o ORDBMS (Object Relational Database Management System). Tambm sero apresentadas informaes sobre:

Instrues SQL especficas do Oracle O iSQL*Plus, que um ambiente usado para executar instrues SQL e para fins de

formatao e gerao de relatrios

Ora

cle

Uni

vers

ity a

nd Im

pact

a Te

cnol

ogia

use

onl

y

Development Program (WDP) eKit materials are provided for WDP in-class use only. Copying eKit materials is strictly prohibited and is inviolation of Oracle copyright. All WDP students must receive an eKit watermarked with their name and email. [email protected] if you have not received your personalized eKit.

Banco de Dados Oracle 10g: Fundamentos de SQL I I-3

Copyright 2004, Oracle. Todos os direitos reservados.

Metas do CursoAps concluir este curso, voc ser capaz de: Identificar os principais componentes estruturais

do Banco de Dados Oracle 10g Recuperar dados contidos em linhas e colunas

de tabelas com a instruo SELECT Criar relatrios de dados classificados e restritos Utilizar functions SQL para gerar e recuperar dados

personalizados Executar instrues DML (data manipulation

language) para atualizar dados no Banco de Dados Oracle 10g

Obter metadados por meio de consultas s viewsde dicionrio

Metas do CursoEste curso apresenta a tecnologia de banco de dados Oracle 10g. No curso, voc aprender os conceitos bsicos de bancos de dados relacionais e a avanada linguagem deprogramao SQL. O curso fornece as habilidades essenciais em SQL que permitem criar consultas em uma ou mais tabelas, manipular dados em tabelas, criar objetos de banco de dados e consultar metadados. O

racl

e U

nive

rsity

and

Impa

cta

Tecn

olog

ia u

se o

nly

Development Program (WDP) eKit materials are provided for WDP in-class use only. Copying eKit materials is strictly prohibited and is inviolation of Oracle copyright. All WDP students must receive an eKit watermarked with their name and email. [email protected] if you have not received your personalized eKit.

Banco de Dados Oracle 10g: Fundamentos de SQL I I-4

Copyright 2004, Oracle. Todos os direitos reservados.

Oracle10g

Modelo dedesenvolvimento

nico

Conjuntos derecursos comuns

Confiabilidade Gerenciamento unificado

Escalabilidade Umfornecedor

Recursos do Oracle10gA release Oracle10g oferece uma infra-estrutura completa e de alto desempenhoque inclui:

Escalabilidade de departamentos at sites de e-business da empresa Arquitetura segura, disponvel, confivel e avanada Um modelo de desenvolvimento; opes de disponibilizao fcil Aproveitamento do conjunto de recursos atuais de uma organizao por meio da

plataforma Oracle (incluindo SQL, PL/SQL, Java e XML) Uma interface de gerenciamento para todas as aplicaes Tecnologias padro do setor; sem bloqueios proprietrios

Alm de oferecer as vantagens relacionadas acima, a release Oracle10g contm o banco de dados para a grade. A computao em grade pode diminuir drasticamente o custo decomputao, aumentar a disponibilidade dos recursos de computao e proporcionar mais produtividade e qualidade.A idia bsica da computao em grade a noo de computao como um serviopblico, em analogia rede de energia eltrica ou rede telefnica. Como cliente dagrade, voc no se importa com o local onde os dados so mantidos ou onde realizada acomputao. Voc deseja que a computao seja concluda e que as informaes sejam fornecidas quando especificado. No lado servidor, a grade refere-se a virtualizao eprovisionamento. Voc agrupa todos os recursos, provisiona-os dinamicamente com basenas necessidades da sua empresa e, como conseqncia, obtm maior eficincia na utilizao desses recursos.

Ora

cle

Uni

vers

ity a

nd Im

pact

a Te

cnol

ogia

use

onl

y

Development Program (WDP) eKit materials are provided for WDP in-class use only. Copying eKit materials is strictly prohibited and is inviolation of Oracle copyright. All WDP students must receive an eKit watermarked with their name and email. [email protected] if you have not received your personalized eKit.

Banco de Dados Oracle 10g: Fundamentos de SQL I I-5

Copyright 2004, Oracle. Todos os direitos reservados.

Oracle10g

Oracle10gEstes so os trs produtos da infra-estrutura em grade da release Oracle10g:

Oracle Database 10g Oracle Application Server 10g Oracle Enterprise Manager 10g Grid Control O

racl

e U

nive

rsity

and

Impa

cta

Tecn

olog

ia u

se o

nly

Development Program (WDP) eKit materials are provided for WDP in-class use only. Copying eKit materials is strictly prohibited and is inviolation of Oracle copyright. All WDP students must receive an eKit watermarked with their name and email. [email protected] if you have not received your personalized eKit.

Banco de Dados Oracle 10g: Fundamentos de SQL I I-6

Copyright 2004, Oracle. Todos os direitos reservados.

Oracle Database 10g

Multimdia

Dados relacionais de objeto

Mensagens

Documentos

Oracle Database 10gO Oracle Database 10g foi projetado para armazenar e gerenciar informaes empresariais.Alm de eliminar custos de gerenciamento, ele oferece um servio de alta qualidade. Areduo dos requisitos de configurao e gerenciamento associada ao ajuste automtico de SQL diminuram drasticamente o custo de manuteno do ambiente. O Oracle Database 10g um dos produtos da infra-estrutura em grade da release Oracle 10g. A computao em grade est relacionada ao conceito de computao como um servio pblico. Os clientes no precisam saber onde os dados so mantidos nem em qual computador esto armazenados. Basta ser capaz de solicitar informaes ou a computaodos dados e receb-los como desejado.O Oracle Database 10g gerencia todos os seus dados. No so apenas os dados relacionaisde objeto que o banco de dados de uma empresa deve gerenciar. Ele tambm pode gerenciardados no estruturados como:

Planilhas Documentos do Word Apresentaes do PowerPoint XML Tipos de dados multimdia, como MP3, elementos grficos, vdeo e outros

Os dados nem precisam estar no banco de dados. O Oracle Database 10g contm servios que permitem armazenar metadados sobre as informaes mantidas em sistemas dearquivos. Voc pode usar o servidor de banco de dados para gerenciar e fornecer informaes onde quer que ele esteja localizado.

Ora

cle

Uni

vers

ity a

nd Im

pact

a Te

cnol

ogia

use

onl

y

Development Program (WDP) eKit materials are provided for WDP in-class use only. Copying eKit materials is strictly prohibited and is inviolation of Oracle copyright. All WDP students must receive an eKit watermarked with their name and email. [email protected] if you have not received your personalized eKit.

Banco de Dados Oracle 10g: Fundamentos de SQL I I-7

Copyright 2004, Oracle. Todos os direitos reservados.

Oracle Application Server 10g

Estrutura de desenvolvimento

de aplicaes

Servidor de aplicaes

Business intelligence

Portais

Integrao

Aplicaes transacionais

Oracle Application Server 10gO Oracle Application Server 10g fornece uma plataforma de infra-estrutura completa para odesenvolvimento e a disponibilizao de aplicaes empresariais. Ele integra vrias funes, incluindo um ambiente de runtime de servios Web e J2EE, um portal empresarial, um broker de integrao empresarial, business intelligence, armazenamento em cache naWeb e servios de gerenciamento de identidades. O Oracle Application Server 10g contm novos recursos de computao em grade, que sebaseiam no sucesso do Oracle9i Application Server, com centenas de clientes que executam aplicaes empresariais de produo.O Oracle Application Server 10g o nico servidor de aplicaes que contm servios paraas diversas aplicaes de servidor que voc executar, incluindo:

Portais ou Web sites Aplicaes transacionais Java Aplicaes de business intelligence

Ele tambm possibilita a integrao entre usurios, aplicaes e dados em toda aorganizao.

Ora

cle

Uni

vers

ity a

nd Im

pact

a Te

cnol

ogia

use

onl

y

Development Program (WDP) eKit materials are provided for WDP in-class use only. Copying eKit materials is strictly prohibited and is inviolation of Oracle copyright. All WDP students must receive an eKit watermarked with their name and email. [email protected] if you have not received your personalized eKit.

Banco de Dados Oracle 10g: Fundamentos de SQL I I-8

Copyright 2004, Oracle. Todos os direitos reservados.

Oracle Enterprise Manager 10gGrid Control

Provisionamento de software Monitoramento no nvel de servios de aplicaes

Oracle Enterprise Manager 10g Grid ControlO Oracle Enterprise Manager 10g Grid Control a console de gerenciamento completa,integrada e central, bem como a estrutura subjacente que automatiza as tarefas administrativas nos conjuntos de sistemas em um ambiente de grade. Com ele, possvel agrupar vrios ns de hardware, bancos de dados, servidores de aplicaes e outros destinos em entidades lgicas nicas. O Grid Control permite o escalonamento com uma grade em crescimento por meio da execuo de jobs, da imposio de polticas padro, domonitoramento do desempenho e da automao de vrias outras tarefas em um grupo dedestinos, e no em diversos sistemas individualmente.Provisionamento de SoftwareCom o Grid Control, o Oracle 10g automatiza a instalao, a configurao e a clonagem do Application Server 10g e do Database 10g em vrios ns. O Oracle Enterprise Managercontm uma estrutura comum para provisionamento e gerenciamento de software,permitindo aos administradores criar, configurar, disponibilizar e utilizar novos servidorescom novas instncias do servidor de aplicaes e do banco de dados conforme necessrio.Monitoramento no Nvel de Servios de AplicaesAssim como um usurio, o Oracle Grid Control avalia a disponibilidade e o desempenho dainfra-estrutura de grade como um todo, e no como unidades de armazenamento, caixas deprocessamento, bancos de dados e servidores de aplicaes isolados.

Ora

cle

Uni

vers

ity a

nd Im

pact

a Te

cnol

ogia

use

onl

y

Development Program (WDP) eKit materials are provided for WDP in-class use only. Copying eKit materials is strictly prohibited and is inviolation of Oracle copyright. All WDP students must receive an eKit watermarked with their name and email. [email protected] if you have not received your personalized eKit.

Banco de Dados Oracle 10g: Fundamentos de SQL I I-9

Copyright 2004, Oracle. Todos os direitos reservados.

Sistemas de Gerenciamento de Banco de DadosRelacional e Banco de Dados Relacional de Objeto

Modelo relacional e modelo relacional de objeto Tipos de dados e objetos definidos pelo usurio Compatibilidade integral com o banco de dados

relacional Suporte a objetos grandes e multimdia Recursos de servidor de banco de dados de alta

qualidade

Sobre o Servidor OracleO servidor Oracle suporta modelos relacionais e modelos relacionais de objeto.O servidor estende os recursos de modelagem de dados para suportar um modelo de bancode dados relacional de objeto que inclui programao orientada a objeto, tipos de dadoscomplexos, objetos de negcios complexos e compatibilidade integral com o mundo relacional.Ele contm vrios recursos para proporcionar melhor desempenho e funcionalidade deaplicaes OLTP (On-Line Transaction Processing), como o compartilhamento mais eficiente de estruturas de dados durante o runtime, caches de buffer maiores e constraintsadiveis. As aplicaes de data warehouse so beneficiadas por melhorias como a execuo paralela de operaes de insero, atualizao e deleo; o particionamento; e a otimizaode consultas em paralelo. Operando na estrutura da NCA (Network Computing Architecture), o modelo Oracle suporta aplicaes cliente/servidor e aplicaes baseadas naWeb distribudas e com vrias camadas.Para obter mais informaes sobre o modelo relacional e o modelo relacional de objeto,consulte o manual Database Concepts.

Ora

cle

Uni

vers

ity a

nd Im

pact

a Te

cnol

ogia

use

onl

y

Development Program (WDP) eKit materials are provided for WDP in-class use only. Copying eKit materials is strictly prohibited and is inviolation of Oracle copyright. All WDP students must receive an eKit watermarked with their name and email. [email protected] if you have not received your personalized eKit.

Banco de Dados Oracle 10g: Fundamentos de SQL I I-10

Copyright 2004, Oracle. Todos os direitos reservados.

Plataforma Oracle para a Internet

Ger

enci

amen

to d

o si

stem

a

Servios de rede

Bancosde dados

Servidores deaplicaes

Aplicaes para a Internet

Qualquerbrowser

Qualquercliente FTP

Qualquercliente de e-mail

SQL

PL/SQL

Java

Clientes

Ferramentas de desenvolvim

entoLgica de

apresentaoe negcios

Lgica denegciose dados

Plataforma Oracle para a InternetPara desenvolver uma aplicao de e-commerce, necessrio um produto que possa armazenar e gerenciar dados, um produto que possa proporcionar um ambiente de runtimepara as aplicaes que implementam a lgica de negcios e um produto que possa monitorare diagnosticar a aplicao aps a sua integrao. Os produtos Oracle 10g abordados fornecem todos os componentes necessrios ao desenvolvimento da sua aplicao. A Oracle oferece uma plataforma completa para a Internet de alto desempenho que permite desenvolver aplicaes de e-commerce e data warehouse. A Plataforma Oracle para a Internet integrada contm todos os elementos necessrios ao desenvolvimento, disponibilizao e ao gerenciamento de aplicaes para a Internet, incluindo estes trs elementos principais:

Clientes baseados em browser para processar a apresentao Servidores de aplicaes para executar a lgica de negcios e fornecer a lgica de

apresentao a clientes baseados em browser Bancos de dados para executar a lgica de negcios com uso intensivo de banco de

dados e para fornecer dadosA Oracle oferece uma grande variedade de ferramentas avanadas de desenvolvimento orientadas por GUI (interface grfica do usurio) para criar aplicaes de negcios, bem como um amplo conjunto de aplicaes de software para diversos setores e reas denegcios. O Oracle Developer Suite contm ferramentas para o desenvolvimento de forms erelatrios, e para a criao de data warehouses. possvel criar stored procedures, functions e packages com SQL, PL/SQL ou Java.

Ora

cle

Uni

vers

ity a

nd Im

pact

a Te

cnol

ogia

use

onl

y

Development Program (WDP) eKit materials are provided for WDP in-class use only. Copying eKit materials is strictly prohibited and is inviolation of Oracle copyright. All WDP students must receive an eKit watermarked with their name and email. [email protected] if you have not received your personalized eKit.

Banco de Dados Oracle 10g: Fundamentos de SQL I I-11

Copyright 2004, Oracle. Todos os direitos reservados.

Ciclo de Vida de Desenvolvimento do Sistema

Estratgiae anlise

Projeto

Desenvolvimentoe documentao

Transio

Produo

Ciclo de Vida de Desenvolvimento do SistemaDo conceito produo, voc pode desenvolver um banco de dados usando o ciclo de vidade desenvolvimento do sistema, que contm vrios estgios de desenvolvimento. Essa abordagem sistemtica e completa do desenvolvimento de um banco de dados transforma requisitos de informaes de negcios em um banco de dados operacional.Fase de Estratgia e Anlise

Estude e analise os requisitos de negcios. Entreviste os usurios e os gerentes para identificar os requisitos de informaes. Incorpore os objetivos das aplicaes e da empresa, assim como as futuras especificaes do sistema.

Desenvolva modelos do sistema. Transforme a narrativa em uma representao grfica das regras e necessidades de informaes de negcios. Confirme e refine o modelocom os analistas e os especialistas.

Fase de ProjetoProjete o banco de dados com base no modelo desenvolvido na fase de estratgia e anlise.Fase de Criao e Documentao

Desenvolva o prottipo do sistema. Crie e execute os comandos para produzir astabelas e os objetos de suporte do banco de dados.

Desenvolva a documentao do usurio, o texto da ajuda e os manuais de operao para suportar o uso e a operao do sistema.

Ora

cle

Uni

vers

ity a

nd Im

pact

a Te

cnol

ogia

use

onl

y

Development Program (WDP) eKit materials are provided for WDP in-class use only. Copying eKit materials is strictly prohibited and is inviolation of Oracle copyright. All WDP students must receive an eKit watermarked with their name and email. [email protected] if you have not received your personalized eKit.

Banco de Dados Oracle 10g: Fundamentos de SQL I I-12

Copyright 2004, Oracle. Todos os direitos reservados.

Ciclo de Vida de Desenvolvimento do Sistema

Estratgiae anlise

Projeto

Desenvolvimentoe documentao

Transio

Produo

Ciclo de Vida de Desenvolvimento do Sistema (continuao)Fase de TransioRefine o prottipo. Passe uma aplicao para a fase de produo com testes de aceitao pelos usurios, converso dos dados existentes e operaes paralelas. Faa todas asmodificaes necessrias.Fase de ProduoApresente o sistema aos usurios. Opere o sistema de produo. Monitore seu desempenhoe, depois, aprimore e refine o sistema.Observao: As diversas fases do ciclo de desenvolvimento do sistema podem serrealizadas de forma iterativa. Este curso concentra-se na fase de criao do ciclo.

Ora

cle

Uni

vers

ity a

nd Im

pact

a Te

cnol

ogia

use

onl

y

Development Program (WDP) eKit materials are provided for WDP in-class use only. Copying eKit materials is strictly prohibited and is inviolation of Oracle copyright. All WDP students must receive an eKit watermarked with their name and email. [email protected] if you have not received your personalized eKit.

Banco de Dados Oracle 10g: Fundamentos de SQL I I-13

Copyright 2004, Oracle. Todos os direitos reservados.

Armazenamento de Dadosem Diferentes Mdias

Planilha eletrnica Armrio de arquivo

Banco de dados

Armazenando InformaesToda organizao tem necessidades de informaes. Uma biblioteca mantm uma lista demembros, livros, datas de vencimento e multas. Uma empresa precisa guardar informaes sobre funcionrios, departamentos e salrios. Essas informaes so chamadas de dados.As organizaes podem armazenar dados em vrias mdias e em formatos diferentes; por exemplo, um documento impresso em um armrio de arquivo ou dados armazenados em planilhas eletrnicas ou em bancos de dados.Um banco de dados um conjunto organizado de informaes.Para gerenciar bancos de dados, necessrio um DBMS (Database Management System). Um DBMS um programa que armazena, recupera e modifica dados de bancos de dados sob demanda. Existem quatro tipos principais de bancos de dados: hierrquico, de rede,relacional e (recentemente) relacional de objeto.

Ora

cle

Uni

vers

ity a

nd Im

pact

a Te

cnol

ogia

use

onl

y

Development Program (WDP) eKit materials are provided for WDP in-class use only. Copying eKit materials is strictly prohibited and is inviolation of Oracle copyright. All WDP students must receive an eKit watermarked with their name and email. [email protected] if you have not received your personalized eKit.

Banco de Dados Oracle 10g: Fundamentos de SQL I I-14

Copyright 2004, Oracle. Todos os direitos reservados.

Conceito de Banco de Dados Relacional

O Dr. E. F. Codd props o modelo relacional para sistemas de banco de dados em 1970.

Ele a base para o RDBMS. O modelo relacional composto de:

Um conjunto de objetos ou relaes Um conjunto de operadores para agir sobre as

relaes Integridade de dados para preciso e consistncia

Modelo RelacionalOs princpios do modelo relacional foram descritos primeiramente pelo Dr. E. F. Codd emum trabalho de junho de 1970 intitulado "A Relational Model of Data for Large Shared Data Banks". Nesse trabalho, o Dr. Codd propunha o modelo relacional para sistemas debanco de dados.Os modelos comuns usados na poca eram o hierrquico e o de rede, ou at mesmo estruturas de dados simples de flat files. Logo depois, o RDBMS (Relational Database Management System) tornou-se muito popular, especialmente pela facilidade de uso eflexibilidade em termos de estrutura. Alm disso, vrios fornecedores inovadores, como a Oracle, complementaram o RDBMS com um conjunto de produtos eficientes para usuriose desenvolvedores de aplicaes, que compunham uma soluo integral.Componentes do Modelo Relacional

Conjuntos de objetos ou relaes que armazenam os dados Um conjunto de operadores que age sobre as relaes para produzir outras relaes Integridade de dados para preciso e consistncia

Para obter mais informaes, consulte An Introduction to Database Systems, Eighth Edition(Addison-Wesley: 2004), escrito por Chris Date.

Ora

cle

Uni

vers

ity a

nd Im

pact

a Te

cnol

ogia

use

onl

y

Development Program (WDP) eKit materials are provided for WDP in-class use only. Copying eKit materials is strictly prohibited and is inviolation of Oracle copyright. All WDP students must receive an eKit watermarked with their name and email. [email protected] if you have not received your personalized eKit.

Banco de Dados Oracle 10g: Fundamentos de SQL I I-15

Copyright 2004, Oracle. Todos os direitos reservados.

Definio de um Banco de Dados Relacional

Um banco de dados relacional um conjunto de relaes ou tabelas de duas dimenses.

Servidor Oracle

Nome da tabela:EMPLOYEES

Nome da tabela:DEPARTMENTS

Definio de um Banco de Dados RelacionalUm banco de dados relacional usa relaes ou tabelas de duas dimenses para armazenar informaes.Por exemplo, possvel armazenar informaes sobre todos os funcionrios de uma empresa. Em um banco de dados relacional, voc cria diversas tabelas para armazenar diferentes informaes sobre os funcionrios, como uma tabela de funcionrios, uma tabelade departamentos e uma tabela de salrios.

Ora

cle

Uni

vers

ity a

nd Im

pact

a Te

cnol

ogia

use

onl

y

Development Program (WDP) eKit materials are provided for WDP in-class use only. Copying eKit materials is strictly prohibited and is inviolation of Oracle copyright. All WDP students must receive an eKit watermarked with their name and email. [email protected] if you have not received your personalized eKit.

Banco de Dados Oracle 10g: Fundamentos de SQL I I-16

Copyright 2004, Oracle. Todos os direitos reservados.

Modelos de Dados

Modelo desistema

imaginadopelo cliente

Modelo de entidadedo modelo do cliente

Tabelas em disco

Servidor Oracle

Modelo de tabelado modelo de entidade

Modelos de DadosOs modelos constituem a base do projeto. Os engenheiros desenvolvem o modelo de umcarro para aperfeioar os detalhes antes de produzi-lo. Da mesma forma, os designers desistemas desenvolvem modelos para explorar idias e compreender melhor o projeto dobanco de dados.Finalidade dos ModelosOs modelos ajudam a comunicar os conceitos imaginados pelas pessoas. possvel us-loscom os seguintes objetivos:

Comunicar Categorizar Descrever Especificar Investigar Desenvolver Analisar Imitar

O objetivo produzir um modelo que atenda a vrios desses usos, seja compreendido porum usurio final e contenha detalhes suficientes para que um desenvolvedor crie um sistemade banco de dados.

Ora

cle

Uni

vers

ity a

nd Im

pact

a Te

cnol

ogia

use

onl

y

Development Program (WDP) eKit materials are provided for WDP in-class use only. Copying eKit materials is strictly prohibited and is inviolation of Oracle copyright. All WDP students must receive an eKit watermarked with their name and email. [email protected] if you have not received your personalized eKit.

Banco de Dados Oracle 10g: Fundamentos de SQL I I-17

Copyright 2004, Oracle. Todos os direitos reservados.

Modelo de Relacionamento entre Entidades

Crie um diagrama de relacionamento entre entidades a partir de especificaes de negcios ou narrativas:

Cenrio ". . . Designe um ou mais funcionrios a um

departamento. . ." ". . . Ainda no foram designados funcionrios a

alguns departamentos. . ."

EMPLOYEE#* number* nameo job title

DEPARTMENT#* number* nameo location

designado a

composto de

Modelagem de EREm um sistema eficiente, os dados so divididos em entidades ou categorias discretas. Ummodelo de ER (Entity Relationship) uma ilustrao de vrias entidades em uma empresa e dos relacionamentos entre elas. Um modelo de ER derivado de especificaes de negcios ou narrativas e criado durante a fase de anlise do ciclo de vida de desenvolvimento dosistema. Os modelos de ER separam as informaes necessrias a uma empresa das atividades realizadas por ela. Embora as empresas possam mudar de atividades, o tipo deinformaes tende a permanecer constante. Portanto, as estruturas de dados tambm tendema permanecer constantes.

Ora

cle

Uni

vers

ity a

nd Im

pact

a Te

cnol

ogia

use

onl

y

Development Program (WDP) eKit materials are provided for WDP in-class use only. Copying eKit materials is strictly prohibited and is inviolation of Oracle copyright. All WDP students must receive an eKit watermarked with their name and email. [email protected] if you have not received your personalized eKit.

Banco de Dados Oracle 10g: Fundamentos de SQL I I-18

Modelagem de ER (continuao)Vantagens da Modelagem de ER

Documenta as informaes para a organizao em um formato simples e preciso Possibilita uma viso clara do escopo dos requisitos de informaes Fornece um mapa ilustrado e de fcil compreenso do projeto do banco de dados Oferece uma estrutura eficiente para integrar vrias aplicaes

Componentes Principais Entidade: Algo importante sobre o qual so necessrias informaes. Como exemplos,

podemos citar departamentos, funcionrios e pedidos. Atributo: Algo que descreve ou qualifica uma entidade. Por exemplo, para a entidade

de funcionrio, os atributos sero o nmero, o nome, o cargo, a data de admisso, onmero do departamento e outros dados sobre o funcionrio. Cada um desses atributos obrigatrio ou opcional. Esse estado denominado opcionalidade.

Relacionamento: Uma associao nomeada entre entidades que exibe a opcionalidadee o grau. Como exemplos, podemos citar as associaes entre funcionrios edepartamentos, e entre pedidos e itens.

Ora

cle

Uni

vers

ity a

nd Im

pact

a Te

cnol

ogia

use

onl

y

Development Program (WDP) eKit materials are provided for WDP in-class use only. Copying eKit materials is strictly prohibited and is inviolation of Oracle copyright. All WDP students must receive an eKit watermarked with their name and email. [email protected] if you have not received your personalized eKit.

Banco de Dados Oracle 10g: Fundamentos de SQL I I-19

Copyright 2004, Oracle. Todos os direitos reservados.

Convenes de Modelagem de Relacionamento entre Entidades

Entidade Nome exclusivo, singular Letras maisculas Caixa editvel Sinnimo entre parnteses

UID (Unique Identifier)Principal marcado com "#"Secundrio marcado com "(#)"

EMPLOYEE#* number* nameo job title

DEPARTMENT#* number* nameo location

Atributo Nome singular Letras minsculas Obrigatrio marcado com * Opcional marcado com "o"

designado a

composto de

Convenes da Modelagem de EREntidadesPara representar uma entidade em um modelo, use as seguintes convenes:

Nome de entidade exclusivo, singular Nome de entidade em maisculas Caixa editvel Nomes de sinnimos opcionais em maisculas entre parnteses: ( )

AtributosPara representar um atributo em um modelo, use as seguintes convenes:

Nome singular em minsculas Tag de asterisco (*) para atributos obrigatrios (isto , valores que devem ser

conhecidos) Tag de letra "o" para atributos opcionais (isto , valores que podem ser conhecidos)

Relacionamentos

Smbolo Descrio Linha tracejada Elemento opcional que indica probabilidade Linha slida Elemento necessrio que indica obrigatoriedade P-de-galinha Elemento de grau que indica um ou mais Linha nica Elemento de grau que indica apenas um

Ora

cle

Uni

vers

ity a

nd Im

pact

a Te

cnol

ogia

use

onl

y

Development Program (WDP) eKit materials are provided for WDP in-class use only. Copying eKit materials is strictly prohibited and is inviolation of Oracle copyright. All WDP students must receive an eKit watermarked with their name and email. [email protected] if you have not received your personalized eKit.

Banco de Dados Oracle 10g: Fundamentos de SQL I I-20

Copyright 2004, Oracle. Todos os direitos reservados.

Convenes de Modelagem de Relacionamento entre Entidades

Entidade Nome exclusivo, singular Letras maisculas Caixa editvel Sinnimo entre parnteses

UID (Unique Identifier)Principal marcado com #Secundrio marcado com (#)

EMPLOYEE#* number* nameo job title

DEPARTMENT#* number* nameo location

Atributo Nome singular Letras minsculas Obrigatrio marcado com * Opcional marcado com "o"

designado a

composto de

Convenes de Modelagem de ER (continuao)RelacionamentosCada direo do relacionamento contm:

Um label: por exemplo, taught by ou assigned to Uma opcionalidade: must be ou may be Um grau: one and only one ou one or more

Observao: O termo cardinalidade sinnimo do termo grau.Cada entidade de origem {may be | must be} nome de relacionamento {one and only one | one or more} entidade de destino.Observao: A conveno a leitura no sentido horrio.Identificadores ExclusivosUm UID (Unique Identifier, Identificador Exclusivo) uma combinao de atributos e/ou relacionamentos utilizada para distinguir ocorrncias de uma entidade. Cada ocorrncia deentidade deve ser identificada com exclusividade.

Marque cada atributo que compe o UID com um smbolo de nmero: # Marque os UIDs secundrios com um smbolo de nmero entre parnteses: (#)

Ora

cle

Uni

vers

ity a

nd Im

pact

a Te

cnol

ogia

use

onl

y

Development Program (WDP) eKit materials are provided for WDP in-class use only. Copying eKit materials is strictly prohibited and is inviolation of Oracle copyright. All WDP students must receive an eKit watermarked with their name and email. [email protected] if you have not received your personalized eKit.

Banco de Dados Oracle 10g: Fundamentos de SQL I I-21

Copyright 2004, Oracle. Todos os direitos reservados.

Relacionando Vrias Tabelas

Cada linha de dados de uma tabela identificada com exclusividade por uma PK (Primary Key, Chave Primria).

possvel relacionar logicamente dados de vrias tabelas por meio de FKs (Foreign Keys, Chaves Estrangeiras).

Nome da tabela: EMPLOYEESNome da tabela: DEPARTMENTS

Chave primria Chave primriaChave estrangeira

Relacionando Vrias TabelasCada tabela contm dados que descrevem exatamente uma entidade. Por exemplo, a tabelaEMPLOYEES contm informaes sobre funcionrios. As categorias de dados so listadas na parte superior de cada tabela e, em casos especficos, na parte inferior. Com um formatode tabela, voc pode visualizar imediatamente, compreender e usar as informaes.Como os dados sobre entidades distintas so armazenados em tabelas diferentes, talvez seja necessrio combinar duas ou mais tabelas para responder a determinada pergunta. Por exemplo, talvez voc queira saber a localizao do departamento onde um funcionrio trabalha. Nesse caso, voc precisar de informaes da tabela EMPLOYEES (que contmdados sobre funcionrios) e da tabela DEPARTMENTS (que contm informaes sobre departamentos). Um RDBMS permite relacionar os dados de uma tabela aos de outra por meio das chaves estrangeiras. Uma chave estrangeira uma coluna (ou um conjunto decolunas) que faz referncia a uma chave primria na mesma tabela ou em outra tabela.Voc pode usar a capacidade de relacionar dados de uma tabela a dados de outra para organizar informaes em unidades gerenciveis separadas. possvel manter os dadossobre funcionrios logicamente separados dos dados sobre departamentos armazenando estes ltimos em outra tabela.

Ora

cle

Uni

vers

ity a

nd Im

pact

a Te

cnol

ogia

use

onl

y

Development Program (WDP) eKit materials are provided for WDP in-class use only. Copying eKit materials is strictly prohibited and is inviolation of Oracle copyright. All WDP students must receive an eKit watermarked with their name and email. [email protected] if you have not received your personalized eKit.

Banco de Dados Oracle 10g: Fundamentos de SQL I I-22

Relacionando Vrias Tabelas (continuao)Diretrizes de Chaves Primrias e Chaves Estrangeiras

No possvel usar valores duplicados em uma chave primria. Em geral, no possvel alterar chaves primrias. As chaves estrangeiras baseiam-se em valores de dados e so ponteiros lgicos (e no

fsicos). Um valor de chave estrangeira deve corresponder a um valor de chave primria

existente ou a um valor de chave exclusiva; ou ento, deve ser nulo. Uma chave estrangeira deve fazer referncia a uma coluna de chave primria ou

exclusiva.

Ora

cle

Uni

vers

ity a

nd Im

pact

a Te

cnol

ogia

use

onl

y

Development Program (WDP) eKit materials are provided for WDP in-class use only. Copying eKit materials is strictly prohibited and is inviolation of Oracle copyright. All WDP students must receive an eKit watermarked with their name and email. [email protected] if you have not received your personalized eKit.

Banco de Dados Oracle 10g: Fundamentos de SQL I I-23

Copyright 2004, Oracle. Todos os direitos reservados.

Terminologia do Banco de Dados Relacional

1

23 4

6

5

Terminologia Usada em um Banco de Dados RelacionalUm banco de dados relacional pode conter uma ou muitas tabelas. A tabela a estrutura bsica de armazenamento de um RDBMS. Ela pode conter todos os dados necessrios sobre algo relativo ao mundo real, como funcionrios, NFFs ou clientes.O slide mostra o contedo da relao ou da tabela EMPLOYEES. Os nmeros indicam:

1. Uma nica linha (ou tupla) que representa todos os dados necessrios a umfuncionrio especfico. Cada linha de uma tabela deve ser identificada por uma chave primria, que impede linhas duplicadas. A ordem das linhas no importante;especifique essa ordem quando os dados forem recuperados.

2. Uma coluna ou um atributo que contm o nmero do funcionrio. O nmero dofuncionrio identifica um funcionrio com exclusividade na tabela EMPLOYEES.Neste exemplo, a coluna contendo o nmero do funcionrio designada como a chave primria. Uma chave primria deve conter um valor, que deve ser exclusivo.

3. Uma coluna que no um valor-chave. Uma coluna representa um tipo de dados em uma tabela; no exemplo, os dados representam os salrios de todos os funcionrios. Aordem das colunas no importante durante o armazenamento de dados; especifique essa ordem quando os dados forem recuperados.

Ora

cle

Uni

vers

ity a

nd Im

pact

a Te

cnol

ogia

use

onl

y

Development Program (WDP) eKit materials are provided for WDP in-class use only. Copying eKit materials is strictly prohibited and is inviolation of Oracle copyright. All WDP students must receive an eKit watermarked with their name and email. [email protected] if you have not received your personalized eKit.

Banco de Dados Oracle 10g: Fundamentos de SQL I I-24

Terminologia Usada em um Banco de Dados Relacional (continuao)4. Uma coluna com o nmero dos departamentos, que tambm uma chave

estrangeira. Uma chave estrangeira uma coluna que define o relacionamento entre tabelas. Uma chave estrangeira faz referncia a uma chave primria ou exclusiva na mesma tabela ou em outra. No exemplo, DEPARTMENT_ID identifica comexclusividade um departamento na tabela DEPARTMENTS.

5. A localizao de um campo a interseo entre uma linha e uma coluna. Um campos pode conter um valor.

6. Um campo pode no conter um valor. Nesse caso, seu valor nulo. Na tabelaEMPLOYEES, somente os funcionrios com a atribuio de representante de vendas possuem um valor no campo COMMISSION_PCT (comisso).

Ora

cle

Uni

vers

ity a

nd Im

pact

a Te

cnol

ogia

use

onl

y

Development Program (WDP) eKit materials are provided for WDP in-class use only. Copying eKit materials is strictly prohibited and is inviolation of Oracle copyright. All WDP students must receive an eKit watermarked with their name and email. [email protected] if you have not received your personalized eKit.

Banco de Dados Oracle 10g: Fundamentos de SQL I I-25

Copyright 2004, Oracle. Todos os direitos reservados.

Propriedades do Banco de Dados Relacional

Um banco de dados relacional: Pode ser acessado e modificado com a execuo de

instrues SQL (Structured Query Language) Contm um conjunto de tabelas sem ponteiros

fsicos Usa um conjunto de operadores

Propriedades de um Banco de Dados RelacionalEm um banco de dados relacional, voc no especifica a rota de acesso s tabelas e no precisa saber como os dados esto organizados fisicamente.Para acessar o banco de dados, execute uma instruo SQL (Structured Query Language),que a linguagem padro ANSI (American National Standards Institute) de operao debancos de dados relacionais. Essa linguagem contm um amplo conjunto de operadores para particionar e combinar relaes. possvel usar instrues SQL para modificar o banco de dados.

Ora

cle

Uni

vers

ity a

nd Im

pact

a Te

cnol

ogia

use

onl

y

Development Program (WDP) eKit materials are provided for WDP in-class use only. Copying eKit materials is strictly prohibited and is inviolation of Oracle copyright. All WDP students must receive an eKit watermarked with their name and email. [email protected] if you have not received your personalized eKit.

Banco de Dados Oracle 10g: Fundamentos de SQL I I-26

Copyright 2004, Oracle. Todos os direitos reservados.

Comunicando-se com um RDBMSpor Meio de SQL

A instruo SQL informada.

A instruo enviada ao servidor Oracle.

Servidor Oracle

SELECT department_name FROM departments;

SQL (Structured Query Language)O uso de SQL permite a comunicao com o servidor Oracle. A linguagem SQL apresenta estas vantagens:

Eficiente Fcil de aprender e usar Funcionalmente completa (permite definir, recuperar e manipular os dados das tabelas)

Ora

cle

Uni

vers

ity a

nd Im

pact

a Te

cnol

ogia

use

onl

y

Development Program (WDP) eKit materials are provided for WDP in-class use only. Copying eKit materials is strictly prohibited and is inviolation of Oracle copyright. All WDP students must receive an eKit watermarked with their name and email. [email protected] if you have not received your personalized eKit.

Banco de Dados Oracle 10g: Fundamentos de SQL I I-27

Copyright 2004, Oracle. Todos os direitos reservados.

Sistema de Gerenciamento de Bancode Dados Relacional da Oracle

Tabelas de usurios Dicionriode dados

Servidor Oracle

Sistema de Gerenciamento de Banco de Dados Relacional da OracleA Oracle fornece um RDBMS flexvel denominado Banco de Dados Oracle 10g. Com os recursos desse produto, voc pode armazenar e gerenciar dados com todas as vantagens deuma estrutura relacional e de PL/SQL, um mecanismo que possibilita o armazenamento e aexecuo de unidades de programa. O Banco de Dados Oracle 10g tambm suporta Java e XML. O servidor Oracle oferece opes de recuperao de dados com base em tcnicas deotimizao. Ele contm recursos de segurana que controlam a forma como um banco de dados acessado e usado. Outros recursos incluem a consistncia e a proteo de dados por meio de mecanismos de bloqueio.A release Oracle10g apresenta um mtodo aberto, completo e integrado para ogerenciamento de informaes. Um servidor Oracle consiste em um banco de dados Oracle e uma instncia de servidor Oracle. Sempre que um banco de dados iniciado, uma SGA (System Global Area) alocada e os processos de background do Oracle so iniciados. A SGA uma rea da memria usada para as informaes de banco de dados compartilhadas pelos usurios de banco de dados. A combinao dos processos de background e dos buffers de memria chamada de instncia Oracle.

Ora

cle

Uni

vers

ity a

nd Im

pact

a Te

cnol

ogia

use

onl

y

Development Program (WDP) eKit materials are provided for WDP in-class use only. Copying eKit materials is strictly prohibited and is inviolation of Oracle copyright. All WDP students must receive an eKit watermarked with their name and email. [email protected] if you have not received your personalized eKit.

Banco de Dados Oracle 10g: Fundamentos de SQL I I-28

Copyright 2004, Oracle. Todos os direitos reservados.

Instrues SQL

DML (Data Manipulation Language)

DDL (Data Definition Language)

Controle de transaes

DCL (Data Control Language)

SELECTINSERTUPDATEDELETEMERGE

CREATEALTERDROPRENAMETRUNCATECOMMENT

COMMITROLLBACKSAVEPOINT

GRANTREVOKE

Instrues SQLO Oracle SQL adota os padres aceitos pelo setor. Para assegurar a compatibilidadefutura com os padres em desenvolvimento, a Oracle Corporation mantm ativamenteuma equipe especializada nos comits de padres SQL. Os comits aceitos pelo setor soo ANSI (American National Standards Institute) e o ISO (International Standards Organization). Os dois comits aceitam SQL como a linguagem padro para os bancos de dados relacionais.

Instruo Descrio SELECT INSERT UPDATE DELETE MERGE

Recupera dados do banco de dados, informa novas linhas, altera linhas existentes e remove linhas indesejadas das tabelas do banco de dados, respectivamente. Conhecida coletivamente como DML (Data Manipulation Language).

CREATE ALTER DROP RENAME TRUNCATE COMMENT

Configura, altera e remove estruturas de dados das tabelas. Conhecida coletivamente como DDL (Data Definition Language).

COMMIT ROLLBACK SAVEPOINT

Gerencia as alteraes feitas por instrues DML. As alteraes nos dados podem ser agrupadas em transaes lgicas.

GRANT REVOKE

Concede ou revoga direitos de acesso ao banco de dados Oracle e s estruturas contidas nele. Conhecida coletivamente como DCL (Data Control Language).

Ora

cle

Uni

vers

ity a

nd Im

pact

a Te

cnol

ogia

use

onl

y

Development Program (WDP) eKit materials are provided for WDP in-class use only. Copying eKit materials is strictly prohibited and is inviolation of Oracle copyright. All WDP students must receive an eKit watermarked with their name and email. [email protected] if you have not received your personalized eKit.

Banco de Dados Oracle 10g: Fundamentos de SQL I I-29

Copyright 2004, Oracle. Todos os direitos reservados.

Tabelas Usadas no Curso

EMPLOYEES

DEPARTMENTS JOB_GRADES

Tabelas Usadas no CursoEstas so as principais tabelas usadas neste curso:

Tabela EMPLOYEES: Fornece detalhes de todos os funcionrios Tabela DEPARTMENTS: Fornece detalhes de todos os departamentos Tabela JOB_GRADES: Fornece detalhes de salrios para diversos nveis

Observao: A estrutura e os dados de todas as tabelas so fornecidos no Apndice B.0

Ora

cle

Uni

vers

ity a

nd Im

pact

a Te

cnol

ogia

use

onl

y

Development Program (WDP) eKit materials are provided for WDP in-class use only. Copying eKit materials is strictly prohibited and is inviolation of Oracle copyright. All WDP students must receive an eKit watermarked with their name and email. [email protected] if you have not received your personalized eKit.

Banco de Dados Oracle 10g: Fundamentos de SQL I I-30

Copyright 2004, Oracle. Todos os direitos reservados.

Sumrio

O Banco de Dados Oracle 10g o banco de dados utilizado para a computao em grade.

Ele se baseia no sistema de gerenciamento de banco de dados relacional de objeto.

Os bancos de dados relacionais so compostos de relaes, gerenciados por operaes relacionais e regidos por constraints de integridade de dados.

Com o servidor Oracle, voc pode armazenar e gerenciar informaes com a linguagem SQL e o mecanismo PL/SQL.

SumrioOs sistemas de gerenciamento de banco de dados relacional so compostos de objetosou relaes. Eles so gerenciados por operaes e regidos por constraints de integridade de dados.A Oracle Corporation cria produtos e servios para atender s suas necessidades de RDBMS. Os principais produtos so:

Oracle Database 10g, com o qual voc armazena e gerencia informaes por meio de SQL

Oracle Application Server 10g, com o qual voc executa todas as aplicaes Oracle Enterprise Manager 10g Grid Control, usado para gerenciar e automatizar

tarefas administrativas nos conjuntos de sistemas de um ambiente de grade.SQLO servidor Oracle suporta instrues SQL com o padro ANSI e contm extenses. Com alinguagem SQL, possvel estabelecer comunicao com o servidor para acessar, manipulare controlar dados.

Ora

cle

Uni

vers

ity a

nd Im

pact

a Te

cnol

ogia

use

onl

y

Development Program (WDP) eKit materials are provided for WDP in-class use only. Copying eKit materials is strictly prohibited and is inviolation of Oracle copyright. All WDP students must receive an eKit watermarked with their name and email. [email protected] if you have not received your personalized eKit.

Copyright 2004, Oracle. Todos os direitos reservados.

Recuperando Dados com a Instruo SQL SELECT

Ora

cle

Uni

vers

ity a

nd Im

pact

a Te

cnol

ogia

use

onl

y

Development Program (WDP) eKit materials are provided for WDP in-class use only. Copying eKit materials is strictly prohibited and is inviolation of Oracle copyright. All WDP students must receive an eKit watermarked with their name and email. [email protected] if you have not received your personalized eKit.

Banco de Dados Oracle 10g: Fundamentos de SQL I 1-2

Copyright 2004, Oracle. Todos os direitos reservados.

Objetivos

Ao concluir esta lio, voc ser capaz de: Listar os recursos das instrues SQL SELECT Executar uma instruo SELECT bsica Diferenciar instrues SQL de comandos iSQL*Plus

ObjetivosPara extrair dados do banco de dados, necessrio usar a instruo SQL (Structured Query Language) SELECT. Talvez voc precise restringir as colunas exibidas. Esta lio descreve todas as instrues SQL necessrias para executar essas aes. Voc pode criar instruesSELECT para usar mais de uma vez.Esta lio tambm aborda o ambiente iSQL*Plus no qual as instrues SQL so executadas.

Ora

cle

Uni

vers

ity a

nd Im

pact

a Te

cnol

ogia

use

onl

y

Development Program (WDP) eKit materials are provided for WDP in-class use only. Copying eKit materials is strictly prohibited and is inviolation of Oracle copyright. All WDP students must receive an eKit watermarked with their name and email. [email protected] if you have not received your personalized eKit.

Banco de Dados Oracle 10g: Fundamentos de SQL I 1-3

Copyright 2004, Oracle. Todos os direitos reservados.

Recursos de Instrues SQL SELECT

SeleoProjeo

Tabela 1 Tabela 2

Tabela 1Tabela 1

Join

Recursos de Instrues SQL SELECTUma instruo SELECT recupera informaes do banco de dados. Com essa instruo, possvel usar os seguintes recursos:

Projeo: Escolha as colunas de uma tabela a serem retornadas por uma consulta.Escolha quantas colunas forem necessrias

Seleo: Escolha as linhas de uma tabela a serem retornadas por uma consulta. possvel usar vrios critrios para restringir as linhas recuperadas.

Join: Una os dados armazenados em diferentes tabelas especificando o vnculo entre elas. As joins SQL so abordadas com mais detalhes em uma lio posterior.

Ora

cle

Uni

vers

ity a

nd Im

pact

a Te

cnol

ogia

use

onl

y

Development Program (WDP) eKit materials are provided for WDP in-class use only. Copying eKit materials is strictly prohibited and is inviolation of Oracle copyright. All WDP students must receive an eKit watermarked with their name and email. [email protected] if you have not received your personalized eKit.

Banco de Dados Oracle 10g: Fundamentos de SQL I 1-4

Copyright 2004, Oracle. Todos os direitos reservados.

Instruo SELECT Bsica

SELECT identifica as colunas a serem exibidas FROM identifica a tabela contendo essas colunas

SELECT *|{[DISTINCT] column|expression [alias],...}FROM table;

Instruo SELECT BsicaEm sua forma mais simples, uma instruo SELECT deve incluir:

Uma clusula SELECT, que especifica as colunas a serem exibidas Uma clusula FROM, que identifica a tabela com as colunas listadas na clusulaSELECT

Na sintaxe:SELECT uma lista de uma ou mais colunas* seleciona todas as colunasDISTINCT suprime as colunas duplicadascolumn|expression seleciona a coluna nomeada ou a expressoalias fornece cabealhos distintos s colunas selecionadasFROM table especifica a tabela que contm as colunas

Observao: Neste curso, os termos palavra-chave, clusula e instruo so usados da seguinte maneira:

Uma palavra-chave um elemento individual de SQL.Por exemplo, SELECT e FROM so palavras-chave.

Uma clusula uma parte de uma instruo SQL.Por exemplo, SELECT employee_id, last_name, ... uma clusula.

Uma instruo uma combinao de duas ou mais clusulas.Por exemplo, SELECT * FROM employees uma instruo SQL.

Ora

cle

Uni

vers

ity a

nd Im

pact

a Te

cnol

ogia

use

onl

y

Development Program (WDP) eKit materials are provided for WDP in-class use only. Copying eKit materials is strictly prohibited and is inviolation of Oracle copyright. All WDP students must receive an eKit watermarked with their name and email. [email protected] if you have not received your personalized eKit.

Banco de Dados Oracle 10g: Fundamentos de SQL I 1-5

Copyright 2004, Oracle. Todos os direitos reservados.

Selecionando Todas as Colunas

SELECT *FROM departments;

Selecionando Todas as Colunas de Todas as LinhasVoc pode exibir todas as colunas de dados de uma tabela inserindo um asterisco (*) aps apalavra-chave SELECT. No exemplo do slide, a tabela departments contm quatro colunas: DEPARTMENT_ID, DEPARTMENT_NAME, MANAGER_ID e LOCATION_ID. A tabela contm sete linhas, uma para cada departamento.Voc tambm pode exibir todas as colunas da tabela listando-as aps a palavra-chaveSELECT. Por exemplo, a instruo SQL a seguir (como o exemplo do slide) exibe todas ascolunas e linhas da tabela DEPARTMENTS:SELECT department_id, department_name, manager_id, location_idFROM departments;

Ora

cle

Uni

vers

ity a

nd Im

pact

a Te

cnol

ogia

use

onl

y

Development Program (WDP) eKit materials are provided for WDP in-class use only. Copying eKit materials is strictly prohibited and is inviolation of Oracle copyright. All WDP students must receive an eKit watermarked with their name and email. [email protected] if you have not received your personalized eKit.

Banco de Dados Oracle 10g: Fundamentos de SQL I 1-6

Copyright 2004, Oracle. Todos os direitos reservados.

Selecionando Colunas Especficas

SELECT department_id, location_idFROM departments;

Selecionando Colunas Especficas de Todas as LinhasPara exibir colunas especficas de uma tabela, voc pode usar a instruo SELECT com os nomes das colunas separados por vrgulas. O exemplo do slide exibe todos os nmeros dedepartamentos e locais da tabela DEPARTMENTS. Na clusula SELECT, especifique as colunas desejadas na ordem em que devero aparecer na sada. Por exemplo, para exibir o local antes do nmero do departamento da esquerda para a direita, use a seguinte instruo:

SELECT location_id, department_idFROM departments;

Ora

cle

Uni

vers

ity a

nd Im

pact

a Te

cnol

ogia

use

onl

y

Development Program (WDP) eKit materials are provided for WDP in-class use only. Copying eKit materials is strictly prohibited and is inviolation of Oracle copyright. All WDP students must receive an eKit watermarked with their name and email. [email protected] if you have not received your personalized eKit.

Banco de Dados Oracle 10g: Fundamentos de SQL I 1-7

Copyright 2004, Oracle. Todos os direitos reservados.

Criando Instrues SQL As instrues SQL no fazem distino entre

maisculas e minsculas. As instrues SQL podem ocupar uma ou mais linhas. No possvel abreviar palavras-chave ou dividi-las

em duas linhas. As clusulas geralmente so colocadas em linhas

separadas. Os recuos so usados para melhorar a legibilidade. No iSQL*Plus, o encerramento das instrues SQL

com ponto-e-vrgula (;) opcional. A utilizao de ponto-e-vrgula ser obrigatria se voc executar vrias instrues SQL.

No SQL*Plus, voc dever encerrar cada instruoSQL com ponto-e-vrgula (;).

Criando Instrues SQLCom estas diretrizes e regras simples, voc pode criar instrues vlidas de fcil leitura eedio:

As instrues SQL no fazem distino entre maisculas e minsculas (a menos que essa distino seja indicada).

possvel informar instrues SQL em uma ou vrias linhas. No possvel dividir palavras-chave em duas linhas ou abrevi-las. As clusulas normalmente so colocadas em linhas separadas por questes de

legibilidade e facilidade de edio. Devem ser usados recuos para tornar o cdigo mais legvel. Em geral, as palavras-chave so informadas em maisculas; todas as outras palavras,

como nomes de tabelas e colunas, so informadas em minsculas.Executando Instrues SQL

No iSQL*Plus, clique no boto Execute para executar os comandos na janela de edio. No SQL*Plus, encerre a instruo SQL com ponto-e-vrgula e pressione a tecla Enter para executar o comando.

Ora

cle

Uni

vers

ity a

nd Im

pact

a Te

cnol

ogia

use

onl

y

Development Program (WDP) eKit materials are provided for WDP in-class use only. Copying eKit materials is strictly prohibited and is inviolation of Oracle copyright. All WDP students must receive an eKit watermarked with their name and email. [email protected] if you have not received your personalized eKit.

Banco de Dados Oracle 10g: Fundamentos de SQL I 1-8

Copyright 2004, Oracle. Todos os direitos reservados.

Defaults de Cabealhos de Colunas

iSQL*Plus: Alinhamento de cabealho default: centralizado Exibio de cabealho default: letras maisculas

SQL*Plus: Os cabealhos das colunas de caractere e data so

alinhados esquerda Os cabealhos das colunas de nmero so alinhados

direita Exibio de cabealho default: letras maisculas

Defaults de Cabealhos de ColunasNo iSQL*Plus, os cabealhos das colunas so exibidos em maisculas e centralizados.

SELECT last_name, hire_date, salaryFROM employees;

Voc pode substituir o cabealho da coluna por um apelido. Os apelidos de colunas so abordados posteriormente nesta lio.

O

racl

e U

nive

rsity

and

Impa

cta

Tecn

olog

ia u

se o

nly

Development Program (WDP) eKit materials are provided for WDP in-class use only. Copying eKit materials is strictly prohibited and is inviolation of Oracle copyright. All WDP students must receive an eKit watermarked with their name and email. [email protected] if you have not received your personalized eKit.

Banco de Dados Oracle 10g: Fundamentos de SQL I 1-9

Copyright 2004, Oracle. Todos os direitos reservados.

Expresses Aritmticas

Crie expresses com dados de nmero e data usando operadores aritmticos.

Multiplicar *Dividir /

Subtrair -Somar+DescrioOperador

Expresses AritmticasTalvez voc precise modificar a forma como os dados so exibidos, realizar clculos ou examinar cenrios hipotticos. Todas essas aes so possveis com o uso de expresses aritmticas. Uma expresso aritmtica pode conter nomes de colunas, valores numricos constantes e operadores aritmticos.Operadores AritmticosO slide lista os operadores aritmticos disponveis em SQL. Voc pode usar operadores aritmticos em qualquer clusula de uma instruo SQL (exceto na clusula FROM).Observao: Nos tipos de dados DATE e TIMESTAMP, s possvel usar os operadores deadio e subtrao.

Ora

cle

Uni

vers

ity a

nd Im

pact

a Te

cnol

ogia

use

onl

y

Development Program (WDP) eKit materials are provided for WDP in-class use only. Copying eKit materials is strictly prohibited and is inviolation of Oracle copyright. All WDP students must receive an eKit watermarked with their name and email. [email protected] if you have not received your personalized eKit.

Banco de Dados Oracle 10g: Fundamentos de SQL I 1-10

Copyright 2004, Oracle. Todos os direitos reservados.

SELECT last_name, salary, salary + 300FROM employees;

Usando Operadores Aritmticos

Usando Operadores AritmticosO exemplo do slide usa o operador de adio para calcular um aumento de salrio de US$ 300 para todos os funcionrios. O slide tambm exibe uma coluna SALARY+300 na sada.Observe que a coluna SALARY+300 calculada resultante no uma nova coluna da tabelaEMPLOYEES; ela existe apenas para fins de exibio. Por default, o nome de uma novacoluna origina-se do clculo que a gerou neste caso, salary+300.Observao: O servidor Oracle ignora os espaos em branco antes e depois do operador aritmtico.

Precedncia de OperadoresSe uma expresso aritmtica contiver mais de um operador, a multiplicao e a diviso sero avaliadas primeiro. Se os operadores de uma expresso tiverem a mesma prioridade, aavaliao ser realizada da esquerda para a direita.Voc pode usar parnteses para impor a avaliao da expresso entre parnteses primeiro.Regras de Precedncia:

A multiplicao e a diviso ocorrem antes da adio e da subtrao. Os operadores com a mesma prioridade so avaliados da esquerda para a direita. So usados parnteses para sobrepor a precedncia default ou tornar a instruo mais

clara.

Ora

cle

Uni

vers

ity a

nd Im

pact

a Te

cnol

ogia

use

onl

y

Development Program (WDP) eKit materials are provided for WDP in-class use only. Copying eKit materials is strictly prohibited and is inviolation of Oracle copyright. All WDP students must receive an eKit watermarked with their name and email. [email protected] if you have not received your personalized eKit.

Banco de Dados Oracle 10g: Fundamentos de SQL I 1-11

Copyright 2004, Oracle. Todos os direitos reservados.

SELECT last_name, salary, 12*salary+100FROM employees;

Precedncia de Operadores

SELECT last_name, salary, 12*(salary+100)FROM employees;

1

2

Precedncia de Operadores (continuao)O primeiro exemplo do slide exibe o sobrenome, o salrio e a remunerao anual dosfuncionrios. Para calcular a remunerao anual, ele multiplica o salrio mensal por 12 eacrescenta um bnus nico de US$ 100. Observe que a multiplicao executada antes da adio.Observao: Use parnteses para reforar a ordem padro de precedncia e para tornar aexpresso mais clara. Por exemplo, a expresso do slide pode ter a forma (12*salary)+100 sem alteraes no resultado.

Usando ParntesesVoc pode sobrepor as regras de precedncia usando parnteses para especificar a ordem na qual os operadores devem ser executados.O segundo exemplo do slide exibe o sobrenome, o salrio e a remunerao anual dosfuncionrios. Ele calcula a remunerao anual da seguinte forma: adiciona um bnusmensal de US$ 100 ao salrio mensal e multiplica esse subtotal por 12. Em funo dosparnteses, a adio tem prioridade sobre a multiplicao.

Ora

cle

Uni

vers

ity a

nd Im

pact

a Te

cnol

ogia

use

onl

y

Development Program (WDP) eKit materials are provided for WDP in-class use only. Copying eKit materials is strictly prohibited and is inviolation of Oracle copyright. All WDP students must receive an eKit watermarked with their name and email. [email protected] if you have not received your personalized eKit.

Banco de Dados Oracle 10g: Fundamentos de SQL I 1-12

Copyright 2004, Oracle. Todos os direitos reservados.

Definindo um Valor Nulo

Um valor nulo no est disponvel nem designadoe no conhecido ou aplicvel.

Um valor nulo diferente de zero ou de um espao em branco.SELECT last_name, job_id, salary, commission_pctFROM employees;

Valores NulosSe, em uma coluna especfica, uma linha no contiver um valor de dados, o valor ser nuloou conter um valor nulo. Um valor nulo no est disponvel nem designado e no conhecido ou aplicvel. Um valornulo diferente de zero ou de um espao. Zero um nmero e um espao um caractere. As colunas de qualquer tipo de dados podem conter valores nulos. No entanto, algumasconstraints (NOT NULL e PRIMARY KEY) impedem o uso de valores nulos em colunas. Na coluna COMMISSION_PCT da tabela EMPLOYEES, observe que apenas um gerente devendas ou um repres