Este documento apresenta a programação de um curso PL/SQL essencial, com tópicos que incluem arquitetura do banco de dados Oracle, SQL, PL/SQL, desenvolvimento de procedimentos, funções e triggers.
5. SGP - CDS/STI
Horus@pgr.mpf.gov.br
EMENTAEMENTA
PL/SQLPL/SQL (Tuning, Performance)(Tuning, Performance)
Otimizador OracleOtimizador Oracle
Uso de HintsUso de Hints
Estrutura e EscritaEstrutura e Escrita
PL/SQLPL/SQL (SQL DINÂMICO)(SQL DINÂMICO)
FundamentosFundamentos
UsosUsos
Curso PL/SQL - EssencialCurso PL/SQL - Essencial
WS/ASINFO
PL/SQLPL/SQL (Segurança: FGAC)(Segurança: FGAC)
Conceitos BásicosConceitos Básicos
PL/SQLPL/SQL (Pipelined Function )(Pipelined Function )
ConceitosConceitos
UsosUsos
6. SGP - CDS/STI
Horus@pgr.mpf.gov.br
Curso PL/SQL - EssencialCurso PL/SQL - Essencial
PROGRAMAÇÃOPROGRAMAÇÃO
Carga Horária: 30 horasCarga Horária: 30 horas
Horário: 09h ~ 13hHorário: 09h ~ 13h
Datas (2010): 16/11 ~ 23/11Datas (2010): 16/11 ~ 23/11
MOTIVAÇÃOMOTIVAÇÃO
ConhecimentoConhecimento
Nivelamento de ConteúdoNivelamento de Conteúdo
Amadurecimento nos Conceitos apresentadosAmadurecimento nos Conceitos apresentados
Formulação de Idéias e AplicaçãoFormulação de Idéias e Aplicação
O que deve mudar, acrescentarO que deve mudar, acrescentar
WS/ASINFO
7. SGP - CDS/STI
Horus@pgr.mpf.gov.br
Curso PL/SQL - EssencialCurso PL/SQL - Essencial
WS/ASINFO
Conhece teu Cliente?!Conhece teu Cliente?!
Conhece a TI envolvida?!Conhece a TI envolvida?!
8. SGP - CDS/STI
Horus@pgr.mpf.gov.br
CENÁRIO ATUALCENÁRIO ATUAL
Capacidade e redução dos custos da plataforma computacionalCapacidade e redução dos custos da plataforma computacional
Crescimento massivo das aplicações com uso tempestivo de:Crescimento massivo das aplicações com uso tempestivo de:
Tecnologias e sistemas de informaçãoTecnologias e sistemas de informação
Armazenagem, recuperação de dadosArmazenagem, recuperação de dados
É IMPORTANTE!!!É IMPORTANTE!!!
CapacitarCapacitar
Alcançar os objetivos propostosAlcançar os objetivos propostos
Ter na construção de sistemas:Ter na construção de sistemas:
Fundamentação teóricaFundamentação teórica
Rigor metodológicoRigor metodológico
Boas PráticasBoas Práticas
IntroduçãoIntrodução
WS/ASINFO
9. SGP - CDS/STI
Horus@pgr.mpf.gov.br
Arquitetura Oracle - FundamentosArquitetura Oracle - Fundamentos
CONCEITOS ENVOLVIDOSCONCEITOS ENVOLVIDOS
Banco de DadosBanco de Dados
Fundamentos e ComponentesFundamentos e Componentes
SGBD (review)SGBD (review)
Características e HistóricoCaracterísticas e Histórico
Modelos de DadosModelos de Dados
Projeto de Banco de dados e MERProjeto de Banco de dados e MER
Banco de Dados OracleBanco de Dados Oracle
Características, Estruturas Físicas e LógicasCaracterísticas, Estruturas Físicas e Lógicas
Grupos de Comandos SQLGrupos de Comandos SQL (DDL)(DDL)
Nosso ExemploNosso Exemplo
Apresentação, Análise SQL e ExecuçãoApresentação, Análise SQL e Execução
WS/ASINFO
10. SGP - CDS/STI
Horus@pgr.mpf.gov.br
BANCO DE DADOS É:BANCO DE DADOS É:
Coleção de dadosColeção de dados dede interesseinteresse de uma instituição,de uma instituição, organizados eorganizados e
com interrelaçõescom interrelações bem estabelecidas, capazes debem estabelecidas, capazes de atender àsatender às
necessidades informacionaisnecessidades informacionais das áreas de negócios.das áreas de negócios.
Banco de DadosBanco de Dados
BENEFÍCIOS DO USO:BENEFÍCIOS DO USO:
Sistemas Integrados.Sistemas Integrados.
Compartilhamento de DadosCompartilhamento de Dados
Controle da Redundância de DadosControle da Redundância de Dados
Segurança de Acesso e RecuperaçãoSegurança de Acesso e Recuperação
Garantia de Restrição de IntegridadeGarantia de Restrição de Integridade
Redução do Tempo de DesenvolvimentoRedução do Tempo de Desenvolvimento
WS/ASINFO
11. SGP - CDS/STI
Horus@pgr.mpf.gov.br
Sistema de Banco de DadosSistema de Banco de Dados
WS/ASINFO
SISTEMA DE BANCO DE DADOS:SISTEMA DE BANCO DE DADOS:
É a integração de componentes -É a integração de componentes - humanos, hardwares, softwareshumanos, hardwares, softwares
(SGBD e Aplicativos) – com objetivo de possibilitar ambiente(SGBD e Aplicativos) – com objetivo de possibilitar ambiente
adequado e eficiente para uso na armazenagem e recuperação deadequado e eficiente para uso na armazenagem e recuperação de
informações num BD.informações num BD.
12. SGP - CDS/STI
Horus@pgr.mpf.gov.br
SISTEMA DE GERÊNCIA DE BANCO DE DADOS:SISTEMA DE GERÊNCIA DE BANCO DE DADOS:
Conjunto de programas que possibilita a criação, gerência daConjunto de programas que possibilita a criação, gerência da
base de dados e que sob demanda armazena, recupera e modificabase de dados e que sob demanda armazena, recupera e modifica
dados.dados.
SGBDSGBD
WS/ASINFO
SGBD
Gerenciador
de Arquivos
Processador
de Consultas
Gerenciador
de Transação
DADOS
META-DADOS
13. SGP - CDS/STI
Horus@pgr.mpf.gov.br
SGBD DEVE SUPORTAR E ASSEGURAR:SGBD DEVE SUPORTAR E ASSEGURAR:
Conceitos Definidos no Modelo de Dados;Conceitos Definidos no Modelo de Dados;
Contextualização da Visão de Dados entre Usuários;Contextualização da Visão de Dados entre Usuários;
Segurança e Confidencialidade dos Dados;Segurança e Confidencialidade dos Dados;
Respeito de Regras Definidas sobre os Dados;Respeito de Regras Definidas sobre os Dados;
Linguagens de Acesso e Manipulação aos Dados;Linguagens de Acesso e Manipulação aos Dados;
Resistências a Panes;Resistências a Panes;
Capacidade Elevada de Armazenagem; eCapacidade Elevada de Armazenagem; e
Resposta Performática às Requisições.Resposta Performática às Requisições.
SGBDSGBD
WS/ASINFO
14. SGP - CDS/STI
Horus@pgr.mpf.gov.br
HISTÓRICO:HISTÓRICO:
O primeiro SGBD comercial surgiu na década de 60;O primeiro SGBD comercial surgiu na década de 60;
Interagiam com primitivos sistemas de arquivos;Interagiam com primitivos sistemas de arquivos;
Com a evolução, os SGBD’S passaram a usar diferentes formasCom a evolução, os SGBD’S passaram a usar diferentes formas
de representação ou modelos de dados;de representação ou modelos de dados;
SGBDSGBD
WS/ASINFO
17. SGP - CDS/STI
Horus@pgr.mpf.gov.br
Síntese:Síntese:
Apesar dos SGBDS Orientados a Objetos serem uma tendência háApesar dos SGBDS Orientados a Objetos serem uma tendência há
uma supremacia dos SGBDR;uma supremacia dos SGBDR;
Os BD OO são mais usados em aplicações especializadas;Os BD OO são mais usados em aplicações especializadas;
BD Relacionais sustentam as áreas de negócios tradicionais,BD Relacionais sustentam as áreas de negócios tradicionais,
onde as estruturas de dados baseadas em relações sãoonde as estruturas de dados baseadas em relações são
suficientes;suficientes;
Neste cenário os fornecedores partem para uma solução híbridaNeste cenário os fornecedores partem para uma solução híbrida
que é a Objeto-Relacional. Cuja proposta é simplificar o manuseioque é a Objeto-Relacional. Cuja proposta é simplificar o manuseio
dos dados complexos utilizando-se das facilidades SQLdos dados complexos utilizando-se das facilidades SQL
existentes.existentes.
SGBDSGBD
WS/ASINFO
18. SGP - CDS/STI
Horus@pgr.mpf.gov.br
NOTAS:NOTAS:
ProjetoProjeto necessita de umnecessita de um modelomodelo para suapara sua consecuçãoconsecução;;
ModeloModelo: representação da realidade e guarda com a realidade: representação da realidade e guarda com a realidade
certas similaridades o que permite estudá-la;certas similaridades o que permite estudá-la;
Modelo de DadosModelo de Dados: descrição formal da estrutura de um BD;: descrição formal da estrutura de um BD;
MODELO DE DADOSMODELO DE DADOS
WS/ASINFO
“Modelagem se
refere às atividades de
especificação das
estruturas de dados e
regras de negócios
necessárias à uma
área de negócio”
19. SGP - CDS/STI
Horus@pgr.mpf.gov.br
PROJETO DE UM BANCO DE DADOS:PROJETO DE UM BANCO DE DADOS:
MODELO DE DADOSMODELO DE DADOS
WS/ASINFO
MODELAGEM FÍSICA
MODELAGEM LÓGICA
MODELAGEM CONCEITUAL
PROCESSO DE MODELAGEM
BANCO DE
DADOS
IMPLANTADO
R
E
A
L
I
D
A
D
E
MER
Modelo Entidade
Relacionamento
(Próximo ao visualizado
pelo
Usuário Final)
MDR
Modelo de Dados
Relacional
(Próximo ao visualizado
pelo
Desenvolvedor)
SQL
Representação
codificada da forma
como os dados ficarão
dispostos no BD
20. SGP - CDS/STI
Horus@pgr.mpf.gov.br
Modelos x Fases de Projeto Banco de Dados:Modelos x Fases de Projeto Banco de Dados:
Modelo Conceitual:Modelo Conceitual:
Visão globalVisão global dos principais dados e relacionamentos;dos principais dados e relacionamentos;
Independe da forma de implementação, SGBD;Independe da forma de implementação, SGBD;
Representação gráfica – MER;Representação gráfica – MER;
Modelo Lógico:Modelo Lógico:
Descreve as estruturasDescreve as estruturas para implementação no BD;para implementação no BD;
Considera tipo de BD: hierárquico, em rede, relacional, OO;Considera tipo de BD: hierárquico, em rede, relacional, OO;
Modelo Físico:Modelo Físico:
Descreve as estruturas físicasDescreve as estruturas físicas que serão armazenada no BD.que serão armazenada no BD.
Pode-se usar diagramas;Pode-se usar diagramas;
Pode-se usar DDL (Pode-se usar DDL (Data Definition Language);Data Definition Language);
Leva em conta as características do SGBD específico;Leva em conta as características do SGBD específico;
MODELO DE DADOSMODELO DE DADOS
WS/ASINFO
22. SGP - CDS/STI
Horus@pgr.mpf.gov.br
MER:MER:
É o mais difundido modeloÉ o mais difundido modelo
de dados para projetode dados para projeto
conceitual de base deconceitual de base de
dados. Introduzido pordados. Introduzido por
Peter Chen em 1976 ePeter Chen em 1976 e
posteriormente recebeuposteriormente recebeu
extensões; eextensões; e
Compõe o ciclo de desen-Compõe o ciclo de desen-
volvimento de um sistemavolvimento de um sistema
de informação. Seusde informação. Seus
elementos básicos: entida-elementos básicos: entida-
des, relacionamentos edes, relacionamentos e
atributo.atributo.
Modelo Entidade RelacionamentoModelo Entidade Relacionamento
WS/ASINFO
“do ponto de vista de
quem usa o paradigma OO, a
modelagem de dados é
conceitualmente similar à de
classes.
Entidades <=> Classes
Atributos são associados a
Entidades...assim como os
Atributos e Métodos são
associados as Classes”
É fato: a
modelagem de
dados tradicional é
diferente por focar
apenas dados!
23. SGP - CDS/STI
Horus@pgr.mpf.gov.br
MER: ENTIDADEMER: ENTIDADE
Objeto concreto ou abstrato que se deseja manter informações
no BD. Pode ser:
concreto, com existência física: carro, pessoa;
abstrato, existe conceitualmente: cursos;
Representado graficamente por um retângulo;
Nomeado com um substantivo no singular;
Ocorrência/instância: objeto particular da entidade;
Modelo Entidade RelacionamentoModelo Entidade Relacionamento
WS/ASINFO
24. SGP - CDS/STI
Horus@pgr.mpf.gov.br
MER: RELACIONAMENTOMER: RELACIONAMENTO
Representação das principais associações entre Entidades;
Representado graficamente por um losango; e
Costuma-se nomear com um verbo;
Modelo Entidade RelacionamentoModelo Entidade Relacionamento
WS/ASINFO
25. SGP - CDS/STI
Horus@pgr.mpf.gov.br
MER: RELACIONAMENTOMER: RELACIONAMENTO →→ CARDINALIDADECARDINALIDADE
Número de ocorrências associadas através de um relacionamento;
A representação da cardinalidade é: (mínima, máxima);
Tipos de relacionamentos binários:
1:1 (um-para-um);
1:n ( um-para-muitos );
n:n ( muitos-para-muitos);
A leitura do modelo parte de determinada entidade e a sua
cardinalidade é representada no lado oposto.
Modelo Entidade RelacionamentoModelo Entidade Relacionamento
WS/ASINFO
Uma ocorrência de
especialidade pode ter
de 0 a n ocorrências de
medico
Um ocorrência de
medico tem uma e
somente uma
ocorrência de
especialidade
26. SGP - CDS/STI
Horus@pgr.mpf.gov.br
MER: GRAU DE RELACIONAMENTOMER: GRAU DE RELACIONAMENTO
Refere-se ao número de entidades participantes no
relacionamento, onde:
Unários;
Binários;
Ternários;
Modelo Entidade RelacionamentoModelo Entidade Relacionamento
WS/ASINFO
27. SGP - CDS/STI
Horus@pgr.mpf.gov.br
MER: ATRIBUTOMER: ATRIBUTO
Atributo é dado que – em conjunto com outros atributos – descreve
a ocorrência de uma entidade ou de um relacionamento;
São nomeados e representados por ( ) quando não identifica
dores de ocorrência de uma entidade.
São nomeados e representados por ( ) quando identificadores
de ocorrência de uma entidade;
É interessante que o modelo apresente, através da cardinalidade,
os atributos multivalorados. No exemplo o atributo TELEFONE é
multivalorado.
Modelo Entidade RelacionamentoModelo Entidade Relacionamento
WS/ASINFO
28. SGP - CDS/STI
Horus@pgr.mpf.gov.br
MER: ATRIBUTO IDENTIFICADORMER: ATRIBUTO IDENTIFICADOR
É todo aquele cujo valor é distinto para cada ocorrência da
entidade, ele é chamado de atributo identificador ou atributo
identificador simples.
Pode ocorrer que somente com um conjunto de atributos se
obtenha a unicidade/exclusividade da ocorrência da entidade.
Nesse caso o identificador é dito composto.
Modelo Entidade RelacionamentoModelo Entidade Relacionamento
WS/ASINFO
29. SGP - CDS/STI
Horus@pgr.mpf.gov.br
MER: ATRIBUTO IDENTIFICADORMER: ATRIBUTO IDENTIFICADOR
O atributo identificador pode ser chamado de atributo chave:
Chave Candidata: Atributo ou conjunto de atributos que
podem identificar uma entidade univocamente;
Chave primária: Chave candidata escolhida para
identificar de forma unívoca as ocorrências de uma
entidade;
Modelo Entidade RelacionamentoModelo Entidade Relacionamento
WS/ASINFO
30. SGP - CDS/STI
Horus@pgr.mpf.gov.br
MER: ATRIBUTO DERIVADOMER: ATRIBUTO DERIVADO
Atributo cujo valor pode ser calculado/encontrado a partir de
outro atributo (base).
Modelo Entidade RelacionamentoModelo Entidade Relacionamento
WS/ASINFO
31. SGP - CDS/STI
Horus@pgr.mpf.gov.br
MER: RELACIONAMENTO (ATRIBUTO)MER: RELACIONAMENTO (ATRIBUTO)
Um relacionamento é identificado pelas Entidades dele
participantes e, se necessário, pelos atributos que o constitui.
Abaixo o atributo HORARIO distingue ocorrência da relação FAZER
CONSULTA.
Modelo Entidade RelacionamentoModelo Entidade Relacionamento
WS/ASINFO
32. SGP - CDS/STI
Horus@pgr.mpf.gov.br
MER: GENERALIZAÇÃO E ESPECIALIZAÇÃOMER: GENERALIZAÇÃO E ESPECIALIZAÇÃO
Atribui propriedades particulares a um subconjunto de ocorrências
especializadas de uma ENTIDADE GENÉRICA.
Permite a ENTIDADE ter sub-classes ou pertencer a super-classes.
A Entidade Especializada herda as propriedades da Genérica;
A associação entre uma generaliza-
ção (super-classe) e suas especiali-
zações(sub-classes) recebe o nome
de “isa” (é um) e é representada por
um triângulo:
Modelo Entidade RelacionamentoModelo Entidade Relacionamento
WS/ASINFO
33. SGP - CDS/STI
Horus@pgr.mpf.gov.br
MER: ENTIDADE ASSOCIATIVAMER: ENTIDADE ASSOCIATIVA
Em alguns casos é necessário associar a ocorrência de uma
Entidade com a ocorrência de um Relacionamento.
O Modelo de Entidades e Relacionamentos não permite
associação que não seja entre entidades. A idéia da Entidade
Associativa é tratar um Relacionamento como se ele fosse uma
Entidade.
Modelo Entidade RelacionamentoModelo Entidade Relacionamento
WS/ASINFO
35. SGP - CDS/STI
Horus@pgr.mpf.gov.br
MER: ENTIDADE FRACAMER: ENTIDADE FRACA
Conceitualmente, se uma Entidade E2 depende da existência de
outra Entidade E1, então E2 é existencialmente dependente de E1.
E2 é chamada de Entidade Fraca;
No diagrama ER é representada por um duplo retângulo;
Modelo Entidade RelacionamentoModelo Entidade Relacionamento
WS/ASINFO
36. SGP - CDS/STI
Horus@pgr.mpf.gov.br
Características:Características:
É relacionalÉ relacional pois armazena dados em um conjunto de relações oupois armazena dados em um conjunto de relações ou
tabelas de duas dimensões(tabelas de duas dimensões(linhaslinhas ee colunascolunas););
EstendidoEstendido por incluir os conceitos OO e estruturas como: tipospor incluir os conceitos OO e estruturas como: tipos
de dados abstratos, tabelas aninhadas, atributos multivalorados.de dados abstratos, tabelas aninhadas, atributos multivalorados.
Por essa característica e por ser relacional é considerado umaPor essa característica e por ser relacional é considerado uma
solução Objeto-relacional.solução Objeto-relacional.
O servidor Oracle oferece opções de recuperação de dados comO servidor Oracle oferece opções de recuperação de dados com
base em técnicas debase em técnicas de otimização por custosotimização por custos..
Possibilita o desenvolvimento simplificado de aplicações –Possibilita o desenvolvimento simplificado de aplicações – reusoreuso
de códigode código a exemplo de procedures, functions, packages;a exemplo de procedures, functions, packages;
SGBD OracleSGBD Oracle
WS/ASINFO
37. SGP - CDS/STI
Horus@pgr.mpf.gov.br
Conceitos e Estruturas Fundamentais:Conceitos e Estruturas Fundamentais:
Uma base de dados Oracle tem componentes Físicos e Lógicos;Uma base de dados Oracle tem componentes Físicos e Lógicos;
O Servidor Oracle é composto pelos Arquivos de BD (DatabaseO Servidor Oracle é composto pelos Arquivos de BD (Database
Files) e por uma Instância Oracle (Oracle Instance):Files) e por uma Instância Oracle (Oracle Instance):
Base de DadosBase de Dados: refere-se ao armazenamento físico de: refere-se ao armazenamento físico de
informações. É física. São arquivos armazenados em discos;informações. É física. São arquivos armazenados em discos;
InstânciaInstância: refere-se ao: refere-se ao resultado e açãoresultado e ação de um softwarede um software
executando no servidor que possibilita acesso aos dadosexecutando no servidor que possibilita acesso aos dados
mantidos na base de dados. É o conteúdo real do BD em ummantidos na base de dados. É o conteúdo real do BD em um
determinado instante do tempo. É lógica.determinado instante do tempo. É lógica.
Não se acessa diretamente as informações na base de dadosNão se acessa diretamente as informações na base de dados
OracleOracle. São passadas requisições solicitando dados para uma. São passadas requisições solicitando dados para uma
instância Oracle.instância Oracle.
Base de Dados OracleBase de Dados Oracle
WS/ASINFO
38. SGP - CDS/STI
Horus@pgr.mpf.gov.br
Instância Oracle e Seus Componentes:Instância Oracle e Seus Componentes:
Consiste na estrutura de memória chamada de SGA (SystemConsiste na estrutura de memória chamada de SGA (System
Global Area) e nos processos em segundo plano (backgroundGlobal Area) e nos processos em segundo plano (background
processes) usados para gerenciar o Database Files.processes) usados para gerenciar o Database Files.
Base de Dados OracleBase de Dados Oracle
WS/ASINFO
39. SGP - CDS/STI
Horus@pgr.mpf.gov.br
SGA:SGA:
SGASGA: Área de memória para: Área de memória para
armazenar informações do BDarmazenar informações do BD
compartilhadas por processoscompartilhadas por processos
do usuário e do servidor.do usuário e do servidor.
Shared PoolShared Pool: Armazena: Armazena
comandos SQL executadoscomandos SQL executados
recentemente e informaçõesrecentemente e informações
do dicionário de dados.do dicionário de dados.
Base de Dados OracleBase de Dados Oracle
WS/ASINFO
Database Buffer CacheDatabase Buffer Cache::
ArmazArmazee na dados recentementena dados recentemente
usados.usados.
Redo Log BufferRedo Log Buffer: Armazena: Armazena
alterações feitas no BD.alterações feitas no BD.
Larger Pool: Área opcional paraLarger Pool: Área opcional para
armazenar grande solicitaçõesarmazenar grande solicitações
de I/O no buffer.de I/O no buffer.
Java Pool: usado para todos osJava Pool: usado para todos os
códigos e dados Java espcódigos e dados Java espee
cíficos de sessão dentro docíficos de sessão dentro do
JVM (Java Virtual Machine).JVM (Java Virtual Machine).
40. SGP - CDS/STI
Horus@pgr.mpf.gov.br
Base de Dados OracleBase de Dados Oracle
WS/ASINFO
São responsáveis por:São responsáveis por:
DBWRDBWR: Gravar dados alterados do: Gravar dados alterados do
buffer cacher do BD.buffer cacher do BD.
LGWRLGWR: Gravar sequencial do buffer: Gravar sequencial do buffer
de redo log no redo log file.de redo log no redo log file.
SMONSMON: Verificar consistência do BD: Verificar consistência do BD
e inicia recuperação do BD.e inicia recuperação do BD.
PMONPMON: Dispor recursos para: Dispor recursos para
possíveis falhas Oracle.possíveis falhas Oracle.
CKPCKP: Atualizar status do BD nos: Atualizar status do BD nos
arquivos de controle e de dadosarquivos de controle e de dados
sempre que houver alteraçõessempre que houver alterações
registradas no BD de formaregistradas no BD de forma
permanente.permanente.
Background ProcessesBackground Processes
BPBP: Os processos Oracle executam: Os processos Oracle executam
tarefas específicas aos usuários dotarefas específicas aos usuários do
BD. A Oracle distingue osBD. A Oracle distingue os
processos em 1° e 2° plano queprocessos em 1° e 2° plano que
manipulam diretamente as solicitmanipulam diretamente as solicitaa
ções dos processos de usuários eções dos processos de usuários e
os que manipulam serviços do BDos que manipulam serviços do BD
Oracle, respectivamente.Oracle, respectivamente.
41. SGP - CDS/STI
Horus@pgr.mpf.gov.br
Estruturas Físicas:Estruturas Físicas:
São estruturasSão estruturas fisicamente armazenadas em disco e podemfisicamente armazenadas em disco e podem
ser vistas e manuseada (reconhecidas) pelo sistemaser vistas e manuseada (reconhecidas) pelo sistema
operacional. Há três tipos fundamentais:operacional. Há três tipos fundamentais:
Base de Dados OracleBase de Dados Oracle
WS/ASINFO
42. SGP - CDS/STI
Horus@pgr.mpf.gov.br
Estruturas Físicas:Estruturas Físicas:
Data Files (Arquivos de Dados)Data Files (Arquivos de Dados): Contém todos os dados: Contém todos os dados
armazenados nas estruturas lógicas do BD a exemplo das tabelas,armazenados nas estruturas lógicas do BD a exemplo das tabelas,
dos índices, dicionário de dados, seqüências, entre outrasdos índices, dicionário de dados, seqüências, entre outras;;
Redo Log Files (Arquivos de Log de Repetição)Redo Log Files (Arquivos de Log de Repetição): Guardam: Guardam
mudanças submetidas ao BD para recuperação quando da perda –mudanças submetidas ao BD para recuperação quando da perda –
devido a falhas - de alterações de dados resultantes dedevido a falhas - de alterações de dados resultantes de
transações e atividades interna no banco; etransações e atividades interna no banco; e
Control FileControl File: Contém os endereços dos outros arquivos físicos: Contém os endereços dos outros arquivos físicos
que formam a base de dados: Data File e Redo Log File. Contémque formam a base de dados: Data File e Redo Log File. Contém
informações chaves sobre o conteúdo e o estado da base.informações chaves sobre o conteúdo e o estado da base.
Fornecem informações quando da ativação da base de dados.Fornecem informações quando da ativação da base de dados.
Base de Dados OracleBase de Dados Oracle
WS/ASINFO
43. SGP - CDS/STI
Horus@pgr.mpf.gov.br
Estruturas Físicas:Estruturas Físicas:
NotasNotas:: Além dos arquivos Control, DataAlém dos arquivos Control, Data e Redo Log existem ose Redo Log existem os
arquivosarquivos Parameter, Password e Archived LogParameter, Password e Archived Log. O primeiro grupo. O primeiro grupo
faz parte do BD já o segundo não.faz parte do BD já o segundo não.
Parameter FileParameter File: Contém as características da Instância Oracle.: Contém as características da Instância Oracle.
Password File: Contém a validação do usuário para start up ePassword File: Contém a validação do usuário para start up e
shutdown do BD.shutdown do BD.
Archived Redo Log FileArchived Redo Log File: São cópias off-line dos arquivos de redo: São cópias off-line dos arquivos de redo
log, que podem ser necessários em um processo de recuperaçãolog, que podem ser necessários em um processo de recuperação
de falhas de mídias.de falhas de mídias.
Base de Dados OracleBase de Dados Oracle
WS/ASINFO
44. SGP - CDS/STI
Horus@pgr.mpf.gov.br
Estruturas Lógicas:Estruturas Lógicas:
Estruturas criadas e só reconhecidas pelo BD. São tablespaces,Estruturas criadas e só reconhecidas pelo BD. São tablespaces,
blocos de dados, extensões, segmentos e objetos do esquema:blocos de dados, extensões, segmentos e objetos do esquema:
Base de Dados OracleBase de Dados Oracle
WS/ASINFO
46. SGP - CDS/STI
Horus@pgr.mpf.gov.br
Blocos de dados, Extensões e Segmentos:Blocos de dados, Extensões e Segmentos:
Estruturas lógicas de armazenamentoEstruturas lógicas de armazenamento
de dados que permitem ao banco dede dados que permitem ao banco de
dados Oracle controle do uso dedados Oracle controle do uso de
espaço em disco:espaço em disco:
Base de Dados OracleBase de Dados Oracle
WS/ASINFO
47. SGP - CDS/STI
Horus@pgr.mpf.gov.br
Blocos de dados:Blocos de dados:
Unidades lógicas que o banco Oracle usa para leitura dos dados.Unidades lógicas que o banco Oracle usa para leitura dos dados.
Base de Dados OracleBase de Dados Oracle
Extensões:Extensões:
Grupo de blocos de dados contíguos dentro de um arquivo deGrupo de blocos de dados contíguos dentro de um arquivo de
dados.dados.
Segmentos:Segmentos:
Conjunto de extensões alocado para determinada estruturaConjunto de extensões alocado para determinada estrutura
lógica. Os tipos de segmentos são:lógica. Os tipos de segmentos são:
Segmento de Dados;Segmento de Dados;
Segmento de Índices;Segmento de Índices;
Segmento de Rollback; eSegmento de Rollback; e
Segmento Temporário;Segmento Temporário;
WS/ASINFO
48. SGP - CDS/STI
Horus@pgr.mpf.gov.br
Esquema e Objetos do Esquema:Esquema e Objetos do Esquema:
EsquemaEsquema: Contém objetos do BD disponibilizados para uso; e: Contém objetos do BD disponibilizados para uso; e
ObjetosObjetos: Estruturas lógicas que se referem diretamente aos: Estruturas lógicas que se referem diretamente aos
dados do BD: Tabelas, visões, índices, seqüências, entre outrosdados do BD: Tabelas, visões, índices, seqüências, entre outros;;
Base de Dados OracleBase de Dados Oracle
WS/ASINFO
49. SGP - CDS/STI
Horus@pgr.mpf.gov.br
Objetos do esquema:Objetos do esquema:
TablesTables:: unidades básicas de armazenamento de dados em um BDunidades básicas de armazenamento de dados em um BD
relacional;relacional;
RowsRows: conjunto de colunas e cada coluna tem apenas um valor e: conjunto de colunas e cada coluna tem apenas um valor e
são exclusivas.são exclusivas.São estruturas lógicas que se referem diretamenteSão estruturas lógicas que se referem diretamente
aos dados;aos dados;
ColumnsColumns: local de um valor de dado individual, com: local de um valor de dado individual, com
características definidas;características definidas;
Base de Dados OracleBase de Dados Oracle
WS/ASINFO
50. SGP - CDS/STI
Horus@pgr.mpf.gov.br
Objetos do esquema: Tabelas, Rows e ColumnsObjetos do esquema: Tabelas, Rows e Columns
Base de Dados OracleBase de Dados Oracle
WS/ASINFO
51. SGP - CDS/STI
Horus@pgr.mpf.gov.br
Objetos do esquema:Objetos do esquema:
ViewsViews: são pacotes de consultas customizadas de uma ou mais: são pacotes de consultas customizadas de uma ou mais
tabelas. Não exigem área de armazenamento;tabelas. Não exigem área de armazenamento;
IndexesIndexes: são estruturas armazenadas no BD que agilizam a: são estruturas armazenadas no BD que agilizam a
execução de pesquisas e fazem, se necessário, a singularidade deexecução de pesquisas e fazem, se necessário, a singularidade de
cada linha da tabela;cada linha da tabela;
SequencesSequences: são estruturas incrementadas automaticamente e: são estruturas incrementadas automaticamente e
usadas, geralmente, associadas a chave primária;usadas, geralmente, associadas a chave primária;
Base de Dados OracleBase de Dados Oracle
WS/ASINFO
52. SGP - CDS/STI
Horus@pgr.mpf.gov.br
Objetos do esquema:Objetos do esquema:
SynonymsSynonyms: são alias para qualquer objeto do esquema;: são alias para qualquer objeto do esquema;
ClustersClusters: são estruturas de dados usadas para aumentar o: são estruturas de dados usadas para aumentar o
desempenho da recuperação de dados;desempenho da recuperação de dados;
Materialized ViewsMaterialized Views: são estruturas criadas para agilizar na troca: são estruturas criadas para agilizar na troca
de informações entre BD. Muito usado em DW. Aumenta ode informações entre BD. Muito usado em DW. Aumenta o
desempenho da recuperação de dados;desempenho da recuperação de dados;
Temporary TablesTemporary Tables: são tabelas com vida útil de uma sessão ou: são tabelas com vida útil de uma sessão ou
transação. Estão vazias quando a sessão/transação começa etransação. Estão vazias quando a sessão/transação começa e
descartam seus dados no encerramento da sessão/transação. Sódescartam seus dados no encerramento da sessão/transação. Só
as descrição é perene no banco de dados;as descrição é perene no banco de dados;
Base de Dados OracleBase de Dados Oracle
WS/ASINFO
56. SGP - CDS/STI
Horus@pgr.mpf.gov.br
Linguagem SQLLinguagem SQL
WS/ASINFO
COMENTÁRIOS:COMENTÁRIOS:
Structured Query Language - SQL é uma linguagem de
pesquisa declarativa para banco de dados relacional.
Foi desenvolvida na década de 70 nos laboratórios da IBM em
San Jose, dentro do projeto SISTEM R que tinha por objetivo
demonstrar a viabilidade da implementação do modelo
relacional proposto por Eduard Frank Codd.
A SQL foi criada para ser uma linguagem estruturada de
pesquisa. Caracteriza-se por implementar conceitos da álgebra
relacional e por conter um grupo de facilidades para definição,
manipulação e controle de dados em um Banco de Relacional.
57. SGP - CDS/STI
Horus@pgr.mpf.gov.br
Linguagem SQLLinguagem SQL
WS/ASINFO
COMENTÁRIOS:
Oracle SQL adota padrões internacionais aceitos pelo setor.
Para assegurar a compatibilidade futura com os padrões em
desenvolvimento, a Oracle Corporation mantém ativamente uma
equipe especializada nos comitês de padrões SQL;
Os comitês aceitos pelo setor são:
ANSI (American National Standards Institute);
ISO (International Standards Organization).
Os dois comitês homologaram SQL como a linguagem padrão
para os bancos de dados relacionais.
58. SGP - CDS/STI
Horus@pgr.mpf.gov.br
Linguagem SQLLinguagem SQL
WS/ASINFO
CONVENÇÕES:
Colchetes “[...]” denota elementos opcionais;
Menor e Maior “<...>” denota elementos obrigatórios;
Caracteres em Negrito, indica um elemento da sintaxe que
necessita fornecer na instrução. A exemplo do comando CREATE
e dos “(“, “)”;
Chaves “{...}” e barra vertical | indica que deve ser escolhida
uma das alternativas; e
Os pontos “...” significam que o elemento anterior pode ser
repetido.
59. SGP - CDS/STI
Horus@pgr.mpf.gov.br
Linguagem SQLLinguagem SQL
WS/ASINFO
GRUPOS DE COMANDOS SQL
Data Definition Language – DDL
CREATE
ALTER
DROP
RENAME
TRUNCATE
COMMENT
Data Manipulation Language -
DML
SELECT
INSERT
UPDATE
DELETE
MERGE
Transaction Control - TC
COMMIT
ROLLBACK
SAVEPOINT
Data Control Language - DCL GRANT
REVOKE
60. SGP - CDS/STI
Horus@pgr.mpf.gov.br
Comandos SQL – Grupo DDLComandos SQL – Grupo DDL
WS/ASINFO
COMANDOS DDLCOMANDOS DDL
Destinam-se a criar, configurar, descrever,
modificar e remover objetos do banco de dados;
• CREATE
• RENAME
• ALTER
• TRUNCATE
• DROP
• COMMENT
61. SGP - CDS/STI
Horus@pgr.mpf.gov.br
Comando CREATEComando CREATE
WS/ASINFO
CREATE TABLE
Conceito: Permite a criação de objetos do tipo tabela e suas colunas.
Sintaxe: CREATE TABLE
[dono esquema.]<nome tabela>
(<nome coluna> <tipo dado> (tamanho) {expressões}, . . .)
{PCTFREE n
TABLESPACE <nome tablespace>
[STORAGE([INITIAL n ] [NEXT n]
[MINEXTENTS n] [MAXEXTENTS n]
[PCTINCREASE n])]};
Regras de Nomeação de Tabelas e Colunas:
Iniciar com uma letra;
Ter no máximo 30 caracteres;
Conter apenas caracteres de A a Z, a a z, 0 a 9, _, $, #;
No mesmo usuário não aceita duplicar o nome de outro objeto; e
Não deve ser palavra reservada.
* Para executar o comando CREATE TABLE o usuário deve ter privilégio para tal.
63. SGP - CDS/STI
Horus@pgr.mpf.gov.br
Comando CREATEComando CREATE
WS/ASINFO
CREATE TABLE
Sintaxe: CREATE TABLE
[dono esquema.]<nome tabela>
(<nome coluna> <tipo dado> (tamanho), . . .)
Terminologia:
esquema é um conjunto de estruturas que fazem referência
direta aos dados de um Banco de Dados denominados objetos;
[dono esquema] é o nome do dono do esquema e seus objetos;
<nome tabela> é o nome da tabela(objeto do BD);
<nome coluna> é o nome da coluna(objeto do BD);
<tipo dado> indica se numérico, alfanumérico, data;
(tamanho) é o tamanho máximo da coluna;
64. SGP - CDS/STI
Horus@pgr.mpf.gov.br
Comando CREATEComando CREATE
WS/ASINFO
CREATE TABLE
Sintaxe: CREATE TABLE ( . . .)
{PCTFREE n
TABLESPACE <nome tablespace>
[STORAGE([INITIAL n ] [NEXT n]
[MINEXTENTS n] [MAXEXTENTS n]
[PCTINCREASE n])]};
Terminologia:
PCTFREE: varia 0 à 99. É a percentagem da tabela livre para futuras
alterações, exceto inserções, de linhas . Default igual a 10 %;
STORAGE:permite especificar os parâmetros de armazenamento;
INITIAL n: é o tamanho inicial da extensão. É reservado na hora;
NEXT n: é o tamanho da próxima extensão;
MINEXTENTS n: é o mínimo de extensões iniciais alocadas;
MAXEXTENTS n: número máximo de extensões, incluindo a 1ª; e
PCTINCREASE n: porcentagem que a extensão Next excede ao da última.
* INITIAL n, NEXT n, MINEXTENTS n, MAXEXTENTS n, PCTINCREASE n: Caso não* INITIAL n, NEXT n, MINEXTENTS n, MAXEXTENTS n, PCTINCREASE n: Caso não
especificados é assumido os valores colocados para as TABLESPACES.especificados é assumido os valores colocados para as TABLESPACES.
65. SGP - CDS/STI
Horus@pgr.mpf.gov.br
Comando CREATEComando CREATE
WS/ASINFO
CREATE TABLE: CONSTRAINTS
Conceito:
Constraints impõem regras no nível da tabela;
Impedem exclusão de linhas na tabela com dependências; e
Os seguintes tipos de constraints são válidos:
o NOT NULL;
o PRIMARY KEY;
o UNIQUE;
o FOREIGN KEY; e
o CHECK.
Considerações:
Caso a CONSTRAINT não seja nomeada automaticamente será criado
um nome no formato SYS_C(n);
A criação de uma CONSTRAINT pode ser feita:
o Durante a criação da tabela; ou
o Após a criação da tabela.
A definição de uma CONSTRAINT pode ser feita no nível da coluna ou
da tabela.
66. SGP - CDS/STI
Horus@pgr.mpf.gov.br
Comando CREATEComando CREATE
WS/ASINFO
CREATE TABLE: CONSTRAINTS
Sintaxe: NOT NULL e PRIMARY KEY
-- criando CONSTRAINTS no nível da coluna-- criando CONSTRAINTS no nível da coluna
-- --------------------------------------------------------------------------------------------------------
CREATE TABLE [dono esquema.]<nome tabela>
(<nome coluna > <tipo dado> (tamanho) NOT NULL
{CONSTRAINT <nome constraint> PRIMARY KEY},
. . .
)
-- criando CONSTRAINTS no nível da tabela-- criando CONSTRAINTS no nível da tabela
-- --------------------------------------------------------------------------------------------------------
CREATE TABLE [dono esquema.]<nome tabela>
(<nome coluna1 > <tipo dado> (tamanho) NOT NULL ,
<nome coluna2 > <tipo dado> (tamanho) ,
. . .
{CONSTRAINT <nome constraint> PRIMARY KEY (nome coluna1)}
)
67. SGP - CDS/STI
Horus@pgr.mpf.gov.br
Comando CREATEComando CREATE
WS/ASINFO
CREATE TABLE: CONSTRAINTS
Sintaxe: NOT NULL e UNIQUE
-- criando CONSTRAINTS no nível da coluna-- criando CONSTRAINTS no nível da coluna
-- --------------------------------------------------------------------------------------------------------
CREATE TABLE [dono esquema.]<nome tabela>
(<nome coluna > <tipo dado> (tamanho) NOT NULL
{CONSTRAINT <nome constraint> UNIQUE},
. . .
)
-- criando CONSTRAINTS no nível da tabela-- criando CONSTRAINTS no nível da tabela
-- --------------------------------------------------------------------------------------------------------
CREATE TABLE [dono esquema.]<nome tabela>
(<nome coluna1 > <tipo dado> (tamanho) NOT NULL ,
<nome coluna2 > <tipo dado> (tamanho) ,
. . .
{CONSTRAINT <nome constraint> UNIQUE (nome coluna2)}
)
68. SGP - CDS/STI
Horus@pgr.mpf.gov.br
Comando CREATEComando CREATE
WS/ASINFO
CREATE TABLE: CONSTRAINTS
Sintaxe: NOT NULL e FOREING KEY
-- criando CONSTRAINTS no nível da coluna-- criando CONSTRAINTS no nível da coluna
-- --------------------------------------------------------------------------------------------------------
CREATE TABLE [dono esquema.]<nome tabela1>
(<nome coluna > <tipo dado> (tamanho) NOT NULL
{CONSTRAINT <nome constraint> FOREING KEY
REFERENCES <nome tabela2 (<nome coluna >)>}, . . .)
-- criando CONSTRAINTS no nível da tabela-- criando CONSTRAINTS no nível da tabela
-- --------------------------------------------------------------------------------------------------------
CREATE TABLE [dono esquema.]<nome tabela1>
(<nome coluna1 > <tipo dado> (tamanho) NOT NULL ,
<nome coluna2 > <tipo dado> (tamanho) ,. . .
{CONSTRAINT <nome constraint> FOREING KEY (nome coluna2)
REFERENCES <nome tabela2 (<nome coluna>)>,
CONSTRAINT <nome constraint> UNIQUE (nome coluna2) } )
69. SGP - CDS/STI
Horus@pgr.mpf.gov.br
Comando CREATEComando CREATE
WS/ASINFO
CREATE TABLE: CONSTRAINTS FOREIGN KEY
Terminologia:
FOREING KEY: Define a coluna da tabela filha no nível de
constraint da tabela;
REFERENCES: Identifica a tabela e a coluna da tabela mãe;
ON DELETE CASCADE: Deleta as linhas dependentes da tabela
filha quando uma linha da tabela mãe é deletada; e
70. SGP - CDS/STI
Horus@pgr.mpf.gov.br
Comando CREATEComando CREATE
WS/ASINFO
CREATE TABLE: CONSTRAINTS
Sintaxe: CHECK
-- criando CONSTRAINTS no nível da coluna-- criando CONSTRAINTS no nível da coluna
-- --------------------------------------------------------------------------------------------------------
CREATE TABLE [dono esquema.]<nome tabela1>
(<nome coluna> <tipo dado> (tamanho)
{CHECK (<nome coluna> IN ( 'A' , 'I' ))}, . . .
)
-- criando CONSTRAINTS no nível da tabela-- criando CONSTRAINTS no nível da tabela
-- --------------------------------------------------------------------------------------------------------
CREATE TABLE [dono esquema.]<nome tabela1>
(<nome coluna1> <tipo dado> (tamanho) NOT NULL ,
<nome coluna2> <tipo dado> (tamanho) ,. . .
{CONSTRAINT <nome coluna1> CHECK (<nome coluna2> > 0 ) }
)
71. SGP - CDS/STI
Horus@pgr.mpf.gov.br
Comando CREATEComando CREATE
WS/ASINFO
CREATE TABLE: CONSTRAINTS CHECK
Conceitos:
Valida colunas através de condições;
Expressões não permitidas:
o referências às pseudocolunas CURRVAL, NEXTVAL, LEVEL e
ROWNUM;
o chamadas de functions SYSDATE, UID, USER e USERENV; e
o Consultas que fazem referência a outros valores em outras linhas.
Exemplo:
CREATE TABLE clientes
(cli_cd NUMBER(05) NOT NULL,
cli_nm VARCHAR2(30) NOT NULL,
cli_st VARCHAR2(01) NOT NULL CHECK (cli_st IN ( 'A' , 'I' )))
TABLESPACE ts_dados
STORAGE( INITIAL 100 NEXT 100
MINEXTENTS 001 MAXEXTENTS 010 );
73. SGP - CDS/STI
Horus@pgr.mpf.gov.br
Comando CREATEComando CREATE
WS/ASINFO
CREATE INDEX
Sintaxe:
CREATE INDEX <nome índice>
ON <nome tabela> (<nome coluna>, <nome coluna>,...)
{PCTFREE n [STORAGE([INITIAL n] [NEXT n]
[MINEXTENTS n] [MAXEXTENTS n] )]};
Conceito:
É um objeto do esquema;
Melhora a performance de recuperação de linhas através
ponteiros;
Pode reduzir I/O em disco. Indica o caminho rápido de
localização de dados;
É independente da tabela que indexa; e
Usado e mantido automaticamente pelo servidor Oracle.
74. SGP - CDS/STI
Horus@pgr.mpf.gov.br
Comando CREATEComando CREATE
WS/ASINFO
CREATE INDEX
Terminologia:
<nome índice> é o nome do índice (objeto do BD);
<nome coluna> é o nome das colunas candidatas a índice;
ON:permite referenciar tabela e coluna(s) componentes do índice.
PCTFREE: varia de 0 à 99. É a percentagem de armazenamento do
objeto (índice) deixada livre para futuras alterações, exceto inserções,
das linhas do índice. Default igual a 10 %.
STORAGE: permite especificar os parâmetros de armazenamento.
Exemplo:
CREATE INDEX CON_ANO_IX
ON CONSULTAS (CON_ANO) TABLESPACE ts_curso_dados
75. SGP - CDS/STI
Horus@pgr.mpf.gov.br
Comando CREATEComando CREATE
WS/ASINFO
CREATE SYNOMYM
Sintaxe:
CREATE [PUBLIC] SYNONYM <nome>
FOR [<dono esquema>.]<nome objeto>@ [<elo_banco_dados>];
Conceito:
SYNOMYM: Fornece nomes alternativos a objetos;
PUBLIC: cria sinônimos que serão acessíveis a todos usuários. Na
omissão dessa opção significará que o sinônimo é privado;
FOR: identifica o objeto para o qual o sinônimo vai ser criado.
76. SGP - CDS/STI
Horus@pgr.mpf.gov.br
Comando CREATEComando CREATE
WS/ASINFO
CREATE SYNOMYM
Terminologia:
<objetos>: são estruturas que você poderá criar sinônimos. Ex:
table, view, sequence, stored procedure, function, package,
matetialized view e synonym; e
@[<elo_banco_dados>]: Um database link é um objeto criado em
um esquema de um banco de dados que possibilita o acesso a
objetos de outro banco de dados, seja ele Oracle ou não.
Exemplo:
CREATE PUBLIC SYNONYM clientes FOR PACIENTES
77. SGP - CDS/STI
Horus@pgr.mpf.gov.br
Comando CREATEComando CREATE
WS/ASINFO
CREATE VIEW
Sintaxe:
CREATE [OR REPLACE] [FORCE/NOFORCE] VIEW <nome>
AS SELECT <nome coluna>, <nome coluna>,...
FROM <nome tabela>
[WHERE condição]
[WITH CHECK OPTION [CONSTRAINT <nome da constraint>]]
[WITH READ ONLY];
Conceito:
É um objeto lógico armazenada como instrução SELECT no dicionário de
dados. Pois, representa logicamente subconjuntos de dados de uma ou
mais tabelas-base e não contém dados próprios;
Tabelas-base são tabelas que servem de base para as views;
Através das views na tabela pode ser consultada ou atualizada.
Restringe o acesso aos dados da tabela pela seleção de colunas; e
Facilita consultas complexas e apresenta visualização diferentes dos
mesmos dados;
78. SGP - CDS/STI
Horus@pgr.mpf.gov.br
Comando CREATEComando CREATE
WS/ASINFO
CREATE VIEW
Terminologia:
OR REPLACE: recria a visão se ela já existe;
FORCE: cria a visão, independente de existirem ou não tabelas-bases;
NOFORCE: cria a visão, apenas se existir tabela-base;
WITH CHECK OPTION, especifica que apenas linhas acessíveis a visão podem
ser incluídas ou atualizadas;
WITH READ ONLY: assegura que só a operação de leitura pode ser realizada;
CREATE VIEW vw_feminino ASCREATE VIEW vw_feminino AS
SELECT * FROM pessoas WHERE st_sexo =SELECT * FROM pessoas WHERE st_sexo ='F''F';;
CREATE VIEW vw_masculino ASCREATE VIEW vw_masculino AS
SELECT * FROM pessoas WHERE st_sexo =SELECT * FROM pessoas WHERE st_sexo ='M''M' WITH READ ONLYWITH READ ONLY;;
- ---------------------------------------------------------------------------------------------------------------------------
INSERT INTO vw_feminino VALUES
(22,'NILVA MARIA',999999999022,TO_DATE('20020522','YYYYMMDD'),'F');
INSERT INTO vw_masculino VALUES
(32,'NEIL MARIO',999999999032,TO_DATE('20020627','YYYYMMDD'),'M');
79. SGP - CDS/STI
Horus@pgr.mpf.gov.br
Comando CREATEComando CREATE
WS/ASINFO
CREATE SEQUENCE
Sintaxe: CREATE SEQUENCE <nome> INCREMENT BY {1/n} START WITH n
MINVALUE n MAXVALUE n
CYCLE/NOCYCLE CACHE n / NOCACHE ORDER / NOORDER;
Conceito:
É um objeto físico do BD que gera automaticamente sequências que
podem ser usadas, inclusive, em chave primárias;
Quando é gerado um número seqüencial, a seqüência é incrementada,
independente a transação for efetivada ou não;
Pode existir lacunas. Um usuário nunca poderá adquirir o número
seqüencial gerado por um outro usuário.
Após incremento da SEQUENCE pela instrução NEXTVAL pode-se ter
acesso ao valor atual da SEQUENCE com a instrução CURRVAL:
80. SGP - CDS/STI
Horus@pgr.mpf.gov.br
Comando CREATEComando CREATE
WS/ASINFO
CREATE SEQUENCE
Terminologia:
INCREMENT BY: indica o intervalo entre os números da seqüência. Se negati-
vo será descendente a seqüência e ascendente se positivo. O default é 1;
START WITH: é o primeiro número da seqüência criado. O default é 1;
MINVALUE/NOMINVALUE: define o valor mínimo da seqüência. Para ascen-
dentes, o default é MINVALUE com valor 1. Para descendentes, o default é
NOMINVALUE;
MAXVALUE/NOMAXVALUE: indica valor máximo. default é NOMAXVALUE;
CYCLE/NOCYCLE: define se a seqüência continuará ou não a gerar
valo- res após chegar ao seu valor máximo ou mínimo.
CACHE/NOCACHE: pré-alocará números da seqüência para que sejam
mantidos na memória mínimo é 2. Resulta geração mais rápida de números.
Use para aplicação de altos requisitos de performance. NOCACHE default.
ORDER/NOORDER: garante que os números de seqüências gerados serão
ordenados conforme o especificado. Default é ORDER.
Ex: CREATE SEQUENCE pac_sq INCREMENT BYINCREMENT BY 1 START WITHSTART WITH 1 MINVALUEMINVALUE 1
MAXVALUEMAXVALUE 999999999999 CYCLECYCLE CACHECACHE 20 ORDERORDER;
SELECT pac_sq.NEXTVAL FROM sys.dual;
SELECT pac_sq.CURRVAL FROM sys.dual;
81. SGP - CDS/STI
Horus@pgr.mpf.gov.br
Comando RENAMEComando RENAME
WS/ASINFO
RENAME
Sintaxe:
RENAME <nome> TO <nome_novo>;
Conceito:
Tem por objetivo renomear objetos do BD.
Exemplos:
RENAME clientes TO usuarios;
82. SGP - CDS/STI
Horus@pgr.mpf.gov.br
Comando ALTERComando ALTER
WS/ASINFO
ALTER TABLE
Sintaxe:
ALTER TABLE <usuário>.]<nome tabela>
[ADD {<elemento_tabela>,...)]
[MODIFY {<definicção da coluna>}]
[DROP COLUMN{<nome>}]
[RENAME COLUMN{<nm_antigo TO nm_novo>}]
[ADD CONSTRAINT {<definição constraint>,...)]
[DROP CONSTRAINT{<nome>}]
[MODIFY CONSTRAINT{<nome>} ENABLE / DISABLE ]
[STORAGE <armazenamento>]
Quando usar:
Na inclusão/exclusão de colunas na tabela;
Na modificação de características de colunas;
Ao acrescentar/retirar restrições;
Ao modificar parâmetros de armazenamento.
83. SGP - CDS/STI
Horus@pgr.mpf.gov.br
Comando ALTERComando ALTER
WS/ASINFO
ALTER
EXEMPLO:EXEMPLO:
ALTER TABLE pessoasALTER TABLE pessoas ADDADD pes_mat number(11)pes_mat number(11)
//
ALTER TABLE pessoasALTER TABLE pessoas MODIFYMODIFY pes_mat number(12)pes_mat number(12)
//
ALTER TABLE pessoasALTER TABLE pessoas RENAMERENAME COLUMNCOLUMN pes_matpes_mat TOTO codigocodigo
//
ALTER TABLE pessoasALTER TABLE pessoas ADDADD CONSTRAINTCONSTRAINT ck_cdck_cd CHECKCHECK (codigo >=1)(codigo >=1)
//
ALTER TABLE pessoasALTER TABLE pessoas MODIFY CONSTRAINTMODIFY CONSTRAINT ck_cdck_cd DISABLEDISABLE
//
ALTER TABLE pessoasALTER TABLE pessoas DROP CONSTRAINTDROP CONSTRAINT ck_cdck_cd
//
ALTER TABLE pessoasALTER TABLE pessoas DROP COLUMNDROP COLUMN codigocodigo
//
84. SGP - CDS/STI
Horus@pgr.mpf.gov.br
Comando TRUNCATEComando TRUNCATE
WS/ASINFO
TRUNCATE
Sintaxe: TRUNCATE TABLE <nome_tabela>;
Conceito:
Remove todas as linhas de uma tabela e libera espaço físico
armazenado por ela.
Exemplo:
TRUNCATE TABLE clientes;
85. SGP - CDS/STI
Horus@pgr.mpf.gov.br
Comando DROPComando DROP
WS/ASINFO
DROP TABLE
Sintaxe:
DROP TABLE <nome_tabela> [CASCADE CONSTRAINTS];
Conceito:
Todos os dados da tabela são excluídos;
Todas as transações pendentes são confirmada;
Todos os índices são eliminados; e
Este comando não pode ser desfeito
Cascade Constraints:
O uso desta expressão remove todas as constraints de
integridade referencial dependentes;
86. SGP - CDS/STI
Horus@pgr.mpf.gov.br
Comando DROPComando DROP
WS/ASINFO
DROP SEQUENCE
Sintaxe:
DROP SEQUENCE <nome_sequence>;
Conceito:
A sequência é removida do dicionário de dados;
Uma vez removida a sequência não pode ser mais referenciada;
DROP VIEW
Sintaxe:
DROP VIEW <nome_view>;
Conceito:
A visão é removida do dicionário de dados;
Uma vez removida não pode ser mais referenciada;
A remoção de visões não causa impactos nas tabelas-base;
87. SGP - CDS/STI
Horus@pgr.mpf.gov.br
Comando DROPComando DROP
WS/ASINFO
DROP INDEX
Sintaxe:
DROP INDEX <nome_index>;
Conceito:
O índice não pode ser modificados. Temos que eliminá-los e
então recriá-los;
O índice é removido do dicionário de dados;
Uma vez removido não pode ser mais referenciado;
88. SGP - CDS/STI
Horus@pgr.mpf.gov.br
Comando COMMENTComando COMMENT
WS/ASINFO
COMMENT
Sintaxe:
COMMENT ON TABLE <nome_tabela>;
Conceito:
adicionar comentários para as colunas de uma tabela.
Exemplo:
COMMENT ON TABLE PESSOAL IS ‘Informação sobre Empregado’;
COMMENT ON COLUMN PESSOAL.MATRICULA IS ‘Matrícula‘;
NOTA: Os comentário podem ser vistos nas visões do dicionário de
dados:
o ALL_COL_COMMENTS
o USER_COL_COMMENTS
o ALL_TAB_COMMENTS