SlideShare uma empresa Scribd logo
1 de 89
SGP - CDS/STI
Horus@pgr.mpf.gov.br
José CarlosJosé Carlos
ws.josec@gmail.comws.josec@gmail.com
Curso PL/SQL - EssencialCurso PL/SQL - Essencial
WS/ASINFO
Fundamentos
Oracle DB
PL/SQL
SQL
PL/SQL - ESSENCIAL III
SGP - CDS/STI
Horus@pgr.mpf.gov.br
EMENTAEMENTA
 Arquitetura Banco OracleArquitetura Banco Oracle
 FundamentosFundamentos
 Estruturas FísicasEstruturas Físicas
 Estruturas LógicasEstruturas Lógicas
 Banco de DadosBanco de Dados (Review)(Review)
 HistóricoHistórico
 ConceitosConceitos
Curso PL/SQL - EssencialCurso PL/SQL - Essencial
WS/ASINFO
 MERMER (Review)(Review)
 FundamentosFundamentos
 Elementos ComponentesElementos Componentes
 SQLSQL
 Grupo de ComandosGrupo de Comandos
SGP - CDS/STI
Horus@pgr.mpf.gov.br
EMENTAEMENTA
 Case - ExemploCase - Exemplo
 ApresentaçãoApresentação
 Análise de ScriptsAnálise de Scripts
 ExecuçãoExecução
 SQLSQL
 FunçõesFunções
 OperadoresOperadores
Curso PL/SQL - EssencialCurso PL/SQL - Essencial
WS/ASINFO
 SQLSQL
 Funções HierárquicasFunções Hierárquicas
 Funções AnalíticasFunções Analíticas
 PL/SQLPL/SQL
 Seção DeclarativaSeção Declarativa
 Seção ExecutávelSeção Executável
 Seção ExceçãoSeção Exceção
SGP - CDS/STI
Horus@pgr.mpf.gov.br
EMENTAEMENTA
 PL/SQLPL/SQL (Variáveis)(Variáveis)
 CollectionsCollections
 RecordRecord
 Bulk BindsBulk Binds
 PL/SQLPL/SQL (Cursores)(Cursores)
 ExplícitosExplícitos
 Loop While, ForLoop While, For
 ParametrizaçãoParametrização
Curso PL/SQL - EssencialCurso PL/SQL - Essencial
WS/ASINFO
 PL/SQLPL/SQL (Subprogramas)(Subprogramas)
 ProceduresProcedures
 FuntionsFuntions
 PackagesPackages
 PL/SQLPL/SQL (Triggers)(Triggers)
 FundamentosFundamentos
 BenefíciosBenefícios
 Estrutura e EscritaEstrutura e Escrita
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
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
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?!
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
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
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
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.
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
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
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
SGP - CDS/STI
Horus@pgr.mpf.gov.br
Histórico: Modelos de Banco de DadosHistórico: Modelos de Banco de Dados
SGBDSGBD
WS/ASINFO
SGP - CDS/STI
Horus@pgr.mpf.gov.br
Histórico: Modelos de Banco de DadosHistórico: Modelos de Banco de Dados
SGBDSGBD
WS/ASINFO
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
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”
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
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
SGP - CDS/STI
Horus@pgr.mpf.gov.br
Dependência SGBDSDependência SGBDS
XX
Fases de Projeto Banco de DadosFases de Projeto Banco de Dados
MODELO DE DADOSMODELO DE DADOS
WS/ASINFO
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!
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
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
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
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
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
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
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
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
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
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
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
SGP - CDS/STI
Horus@pgr.mpf.gov.br
MER: ENTIDADE ASSOCIATIVAMER: ENTIDADE ASSOCIATIVA
Modelo Entidade RelacionamentoModelo Entidade Relacionamento
WS/ASINFO
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
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
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
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
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).
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.
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
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
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
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
SGP - CDS/STI
Horus@pgr.mpf.gov.br
Tablespaces:Tablespaces:
 Subdivisões lógicas de armazenamento do BD criadas para
conter objetos. São compostos por Data Files com exclusividade::
Base de Dados OracleBase de Dados Oracle
WS/ASINFO
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
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
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
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
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
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
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
SGP - CDS/STI
Horus@pgr.mpf.gov.br
MER:MER:
Modelo ExemploModelo Exemplo
WS/ASINFO
SGP - CDS/STI
Horus@pgr.mpf.gov.br
EXECUTAR : PRIMEIRA_FASEEXECUTAR : PRIMEIRA_FASE
Scripts do ExemploScripts do Exemplo
WS/ASINFO
SGP - CDS/STI
Horus@pgr.mpf.gov.br
Linguagem SQLLinguagem SQL
WS/ASINFO
• SQL
• Padrão e Convenções
• Grupos de Comandos
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.
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.
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.
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
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
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.
SGP - CDS/STI
Horus@pgr.mpf.gov.br
Comando CREATEComando CREATE
WS/ASINFO
TIPOS DE DADOS:TIPOS DE DADOS:
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;
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.
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.
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)}
)
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)}
)
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) } )
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
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 ) }
)
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 );
SGP - CDS/STI
Horus@pgr.mpf.gov.br
Comando CREATEComando CREATE
WS/ASINFO
CREATE TABLE
 Exemplo:
CREATE TABLE medicos
(
med_id NUMBER(10,0) NOT NULL,
med_nm VARCHAR2(60) NOT NULL,
med_esp_sg VARCHAR2(02) NOT NULL,
med_id_chefe NUMBER(10,0),
CONSTRAINT med_pk
PRIMARY KEY(med_id)
USING INDEX TABLESPACE ts_curso_inx,
CONSTRAINT med_esp_fk
FOREIGN KEY(med_esp_sg)
REFERENCES especialidades(esp_sg),
CONSTRAINT med_med_fk
FOREIGN KEY(med_id_chefe)
REFERENCES medicos(med_id)
) TABLESPACE ts_curso_dados;
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.
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
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.
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
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;
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');
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:
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;
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;
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.
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
//
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;
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;
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;
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;
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
SGP - CDS/STI
Horus@pgr.mpf.gov.br
Grupo de Comandos SQLGrupo de Comandos SQL
WS/ASINFO
Por Hoje éPor Hoje é
SóSó
Pessoal!!!!Pessoal!!!!

Mais conteúdo relacionado

Destaque

Introducao oracle-sqlplsql-vol2-pt
Introducao oracle-sqlplsql-vol2-ptIntroducao oracle-sqlplsql-vol2-pt
Introducao oracle-sqlplsql-vol2-ptValdinho Pereira
 
Aula De Projeto De Bd E Mer
Aula De Projeto De Bd E MerAula De Projeto De Bd E Mer
Aula De Projeto De Bd E Merlinux.certifield
 
SpringSource Tool Suite, tc Server e dm Server
SpringSource Tool Suite, tc Server e dm ServerSpringSource Tool Suite, tc Server e dm Server
SpringSource Tool Suite, tc Server e dm ServerDr. Spock
 
Modelo conceitual fisico_logico_er[1]
Modelo conceitual fisico_logico_er[1]Modelo conceitual fisico_logico_er[1]
Modelo conceitual fisico_logico_er[1]Miguel Aquino
 
Transparências Sistemas de Informação
Transparências Sistemas de InformaçãoTransparências Sistemas de Informação
Transparências Sistemas de InformaçãoLuis Borges Gouveia
 
Apresentação Projeto Banco de Dados MER
Apresentação Projeto Banco de Dados MERApresentação Projeto Banco de Dados MER
Apresentação Projeto Banco de Dados MERDavi Rodrigues
 
Banco de Dados - Modelo Lógico, Chave primária e Chave estrangeira
Banco de Dados - Modelo Lógico, Chave primária e Chave estrangeiraBanco de Dados - Modelo Lógico, Chave primária e Chave estrangeira
Banco de Dados - Modelo Lógico, Chave primária e Chave estrangeiraNatanael Simões
 
PL/SQL - Conceitos Básicos
PL/SQL - Conceitos BásicosPL/SQL - Conceitos Básicos
PL/SQL - Conceitos BásicosDanilo Braga
 
Curso Básico de Pl Sql Oracle
Curso Básico de Pl Sql OracleCurso Básico de Pl Sql Oracle
Curso Básico de Pl Sql Oracleluisguil
 

Destaque (14)

Introducao oracle-sqlplsql-vol2-pt
Introducao oracle-sqlplsql-vol2-ptIntroducao oracle-sqlplsql-vol2-pt
Introducao oracle-sqlplsql-vol2-pt
 
Aula De Projeto De Bd E Mer
Aula De Projeto De Bd E MerAula De Projeto De Bd E Mer
Aula De Projeto De Bd E Mer
 
SpringSource Tool Suite, tc Server e dm Server
SpringSource Tool Suite, tc Server e dm ServerSpringSource Tool Suite, tc Server e dm Server
SpringSource Tool Suite, tc Server e dm Server
 
Mapeamento de herança OR
Mapeamento de herança ORMapeamento de herança OR
Mapeamento de herança OR
 
Modelo conceitual fisico_logico_er[1]
Modelo conceitual fisico_logico_er[1]Modelo conceitual fisico_logico_er[1]
Modelo conceitual fisico_logico_er[1]
 
plsql oracle
plsql oracleplsql oracle
plsql oracle
 
Transparências Sistemas de Informação
Transparências Sistemas de InformaçãoTransparências Sistemas de Informação
Transparências Sistemas de Informação
 
Apresentação Projeto Banco de Dados MER
Apresentação Projeto Banco de Dados MERApresentação Projeto Banco de Dados MER
Apresentação Projeto Banco de Dados MER
 
Banco de Dados - Modelo Lógico, Chave primária e Chave estrangeira
Banco de Dados - Modelo Lógico, Chave primária e Chave estrangeiraBanco de Dados - Modelo Lógico, Chave primária e Chave estrangeira
Banco de Dados - Modelo Lógico, Chave primária e Chave estrangeira
 
Slides primeiro ano completo
Slides primeiro ano completoSlides primeiro ano completo
Slides primeiro ano completo
 
PL/SQL - Conceitos Básicos
PL/SQL - Conceitos BásicosPL/SQL - Conceitos Básicos
PL/SQL - Conceitos Básicos
 
Curso Básico de Pl Sql Oracle
Curso Básico de Pl Sql OracleCurso Básico de Pl Sql Oracle
Curso Básico de Pl Sql Oracle
 
Slides Geografia do Brasil
Slides Geografia do BrasilSlides Geografia do Brasil
Slides Geografia do Brasil
 
Slides Primeiro Ano
Slides Primeiro Ano Slides Primeiro Ano
Slides Primeiro Ano
 

Semelhante a josecws

Tesi Dados Final
Tesi Dados FinalTesi Dados Final
Tesi Dados Finaljcaroso
 
Bdii aula01 apresentacao
Bdii aula01 apresentacaoBdii aula01 apresentacao
Bdii aula01 apresentacaosamuel1562314
 
Entenda como as grandes empresas utilizam múltiplas abordagens de armazenamen...
Entenda como as grandes empresas utilizam múltiplas abordagens de armazenamen...Entenda como as grandes empresas utilizam múltiplas abordagens de armazenamen...
Entenda como as grandes empresas utilizam múltiplas abordagens de armazenamen...Leonardo Roberto Marinho Farias
 
Mer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoMer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoRademaker Siena
 
Banco de Dados Ágeis e Refatoração
Banco de Dados Ágeis e RefatoraçãoBanco de Dados Ágeis e Refatoração
Banco de Dados Ágeis e Refatoraçãoelliando dias
 
gcc214-slides-1-introducao-bd.pdf
gcc214-slides-1-introducao-bd.pdfgcc214-slides-1-introducao-bd.pdf
gcc214-slides-1-introducao-bd.pdfSlowtfk
 
gcc214-slides-1-introducao-conceitos-arquitetura.pdf
gcc214-slides-1-introducao-conceitos-arquitetura.pdfgcc214-slides-1-introducao-conceitos-arquitetura.pdf
gcc214-slides-1-introducao-conceitos-arquitetura.pdfSlowtfk
 
Introdução a Banco de Dados (Parte 1)
Introdução a Banco de Dados (Parte 1)Introdução a Banco de Dados (Parte 1)
Introdução a Banco de Dados (Parte 1)Mario Sergio
 
Keynote nuvem estaleiro_ics
Keynote nuvem estaleiro_icsKeynote nuvem estaleiro_ics
Keynote nuvem estaleiro_icsHoracio Ibrahim
 

Semelhante a josecws (20)

Tesi Dados Final
Tesi Dados FinalTesi Dados Final
Tesi Dados Final
 
bd.ppt
bd.pptbd.ppt
bd.ppt
 
Banco aula 01
Banco aula 01Banco aula 01
Banco aula 01
 
Ingestão de Dados
Ingestão de DadosIngestão de Dados
Ingestão de Dados
 
1_intro.ppt
1_intro.ppt1_intro.ppt
1_intro.ppt
 
Aulas TSI33A - Banco de Dados I (TSI UTFPR-Toledo)
Aulas TSI33A - Banco de Dados I (TSI UTFPR-Toledo)Aulas TSI33A - Banco de Dados I (TSI UTFPR-Toledo)
Aulas TSI33A - Banco de Dados I (TSI UTFPR-Toledo)
 
BDI_1_conceitos
BDI_1_conceitosBDI_1_conceitos
BDI_1_conceitos
 
Bdii aula01 apresentacao
Bdii aula01 apresentacaoBdii aula01 apresentacao
Bdii aula01 apresentacao
 
No sql o_que_e_isso.key
No sql o_que_e_isso.keyNo sql o_que_e_isso.key
No sql o_que_e_isso.key
 
Big Data na Nuvem
Big Data na NuvemBig Data na Nuvem
Big Data na Nuvem
 
Rogério falcone
Rogério falconeRogério falcone
Rogério falcone
 
Entenda como as grandes empresas utilizam múltiplas abordagens de armazenamen...
Entenda como as grandes empresas utilizam múltiplas abordagens de armazenamen...Entenda como as grandes empresas utilizam múltiplas abordagens de armazenamen...
Entenda como as grandes empresas utilizam múltiplas abordagens de armazenamen...
 
Mer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoMer - Modelo Entidade Relacionamento
Mer - Modelo Entidade Relacionamento
 
Banco de dados aula 2
Banco de dados  aula 2Banco de dados  aula 2
Banco de dados aula 2
 
Banco de Dados Ágeis e Refatoração
Banco de Dados Ágeis e RefatoraçãoBanco de Dados Ágeis e Refatoração
Banco de Dados Ágeis e Refatoração
 
Sistema de banco_de_dados
Sistema de banco_de_dadosSistema de banco_de_dados
Sistema de banco_de_dados
 
gcc214-slides-1-introducao-bd.pdf
gcc214-slides-1-introducao-bd.pdfgcc214-slides-1-introducao-bd.pdf
gcc214-slides-1-introducao-bd.pdf
 
gcc214-slides-1-introducao-conceitos-arquitetura.pdf
gcc214-slides-1-introducao-conceitos-arquitetura.pdfgcc214-slides-1-introducao-conceitos-arquitetura.pdf
gcc214-slides-1-introducao-conceitos-arquitetura.pdf
 
Introdução a Banco de Dados (Parte 1)
Introdução a Banco de Dados (Parte 1)Introdução a Banco de Dados (Parte 1)
Introdução a Banco de Dados (Parte 1)
 
Keynote nuvem estaleiro_ics
Keynote nuvem estaleiro_icsKeynote nuvem estaleiro_ics
Keynote nuvem estaleiro_ics
 

josecws

  • 1. SGP - CDS/STI Horus@pgr.mpf.gov.br José CarlosJosé Carlos ws.josec@gmail.comws.josec@gmail.com Curso PL/SQL - EssencialCurso PL/SQL - Essencial WS/ASINFO Fundamentos Oracle DB PL/SQL SQL PL/SQL - ESSENCIAL III
  • 2. SGP - CDS/STI Horus@pgr.mpf.gov.br EMENTAEMENTA  Arquitetura Banco OracleArquitetura Banco Oracle  FundamentosFundamentos  Estruturas FísicasEstruturas Físicas  Estruturas LógicasEstruturas Lógicas  Banco de DadosBanco de Dados (Review)(Review)  HistóricoHistórico  ConceitosConceitos Curso PL/SQL - EssencialCurso PL/SQL - Essencial WS/ASINFO  MERMER (Review)(Review)  FundamentosFundamentos  Elementos ComponentesElementos Componentes  SQLSQL  Grupo de ComandosGrupo de Comandos
  • 3. SGP - CDS/STI Horus@pgr.mpf.gov.br EMENTAEMENTA  Case - ExemploCase - Exemplo  ApresentaçãoApresentação  Análise de ScriptsAnálise de Scripts  ExecuçãoExecução  SQLSQL  FunçõesFunções  OperadoresOperadores Curso PL/SQL - EssencialCurso PL/SQL - Essencial WS/ASINFO  SQLSQL  Funções HierárquicasFunções Hierárquicas  Funções AnalíticasFunções Analíticas  PL/SQLPL/SQL  Seção DeclarativaSeção Declarativa  Seção ExecutávelSeção Executável  Seção ExceçãoSeção Exceção
  • 4. SGP - CDS/STI Horus@pgr.mpf.gov.br EMENTAEMENTA  PL/SQLPL/SQL (Variáveis)(Variáveis)  CollectionsCollections  RecordRecord  Bulk BindsBulk Binds  PL/SQLPL/SQL (Cursores)(Cursores)  ExplícitosExplícitos  Loop While, ForLoop While, For  ParametrizaçãoParametrização Curso PL/SQL - EssencialCurso PL/SQL - Essencial WS/ASINFO  PL/SQLPL/SQL (Subprogramas)(Subprogramas)  ProceduresProcedures  FuntionsFuntions  PackagesPackages  PL/SQLPL/SQL (Triggers)(Triggers)  FundamentosFundamentos  BenefíciosBenefícios  Estrutura e EscritaEstrutura e Escrita
  • 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
  • 15. SGP - CDS/STI Horus@pgr.mpf.gov.br Histórico: Modelos de Banco de DadosHistórico: Modelos de Banco de Dados SGBDSGBD WS/ASINFO
  • 16. SGP - CDS/STI Horus@pgr.mpf.gov.br Histórico: Modelos de Banco de DadosHistórico: Modelos de Banco 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
  • 21. SGP - CDS/STI Horus@pgr.mpf.gov.br Dependência SGBDSDependência SGBDS XX Fases de Projeto Banco de DadosFases de Projeto Banco de Dados 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
  • 34. SGP - CDS/STI Horus@pgr.mpf.gov.br MER: ENTIDADE ASSOCIATIVAMER: ENTIDADE ASSOCIATIVA 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
  • 45. SGP - CDS/STI Horus@pgr.mpf.gov.br Tablespaces:Tablespaces:  Subdivisões lógicas de armazenamento do BD criadas para conter objetos. São compostos por Data Files com exclusividade:: 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
  • 53. SGP - CDS/STI Horus@pgr.mpf.gov.br MER:MER: Modelo ExemploModelo Exemplo WS/ASINFO
  • 54. SGP - CDS/STI Horus@pgr.mpf.gov.br EXECUTAR : PRIMEIRA_FASEEXECUTAR : PRIMEIRA_FASE Scripts do ExemploScripts do Exemplo WS/ASINFO
  • 55. SGP - CDS/STI Horus@pgr.mpf.gov.br Linguagem SQLLinguagem SQL WS/ASINFO • SQL • Padrão e Convenções • Grupos de Comandos
  • 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.
  • 62. SGP - CDS/STI Horus@pgr.mpf.gov.br Comando CREATEComando CREATE WS/ASINFO TIPOS DE DADOS:TIPOS DE DADOS:
  • 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 );
  • 72. SGP - CDS/STI Horus@pgr.mpf.gov.br Comando CREATEComando CREATE WS/ASINFO CREATE TABLE  Exemplo: CREATE TABLE medicos ( med_id NUMBER(10,0) NOT NULL, med_nm VARCHAR2(60) NOT NULL, med_esp_sg VARCHAR2(02) NOT NULL, med_id_chefe NUMBER(10,0), CONSTRAINT med_pk PRIMARY KEY(med_id) USING INDEX TABLESPACE ts_curso_inx, CONSTRAINT med_esp_fk FOREIGN KEY(med_esp_sg) REFERENCES especialidades(esp_sg), CONSTRAINT med_med_fk FOREIGN KEY(med_id_chefe) REFERENCES medicos(med_id) ) TABLESPACE ts_curso_dados;
  • 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
  • 89. SGP - CDS/STI Horus@pgr.mpf.gov.br Grupo de Comandos SQLGrupo de Comandos SQL WS/ASINFO Por Hoje éPor Hoje é SóSó Pessoal!!!!Pessoal!!!!

Notas do Editor

  1. A
  2. A
  3. A
  4. A
  5. A
  6. A
  7. A
  8. A
  9. A
  10. A
  11. A
  12. A
  13. A
  14. A
  15. A
  16. A
  17. A
  18. A
  19. A
  20. A
  21. A
  22. A
  23. A
  24. A
  25. A
  26. A
  27. A
  28. A
  29. A
  30. A
  31. A
  32. A
  33. A
  34. A
  35. A
  36. A
  37. A
  38. A
  39. A
  40. A
  41. A
  42. A
  43. A
  44. A
  45. A
  46. A
  47. A
  48. A
  49. A
  50. A
  51. A
  52. A
  53. A
  54. A
  55. A
  56. A
  57. A
  58. A
  59. A
  60. A
  61. A
  62. A
  63. A
  64. A
  65. A
  66. A
  67. A
  68. A
  69. A
  70. A
  71. A
  72. A
  73. A
  74. A
  75. A
  76. A
  77. A
  78. A
  79. A
  80. A
  81. A
  82. A