Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Oracle - Apostilas - Informática, Notas de estudo de Informática

Apostilas de Informática sobre Oracle, Banco de Dados Relacional, Banco de Dados Cliente Servidor, Estrutura de Segurança, Organização dos Dados, Linguagem SQL, Estrutura C/S e Aprofundamento PL/SQL.

Tipologia: Notas de estudo

2013

Compartilhado em 28/08/2013

Garoto
Garoto 🇪🇸

4.6

(121)

1 / 50

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
O r a c l e
clube delphi 1
Índice
aula: Conceitos
1. Banco de Dados Relacional
2. Banco de Dados Cliente Servidor
3. Estrutura de Segurança
3.1. DBA Default (System/Manager)
3.2. Usuário – Papel – Privilégio
4. Organização dos Dados
4.1. Área de Dados
4.2. Meta Data
5. Linguagem SQL
5.1. Breve Histórico
5.2. DML (Data Manipulation Language)
Linguagem de Manipulação de Dados
5.3. DDL (Data Definition Language)
Linguagem de Definição de Dados
aula: DDL
1. Criar Usuário
2. Criar Papel
3. Conceder Privilégio
4. Criar Tabelas (PL/SQL ou NAVIGATOR)
5. Criar View
6. Criar Chave Estrangeira
7. Criar Índices
8. Criar Sequência
9. Criar Sinônimo
10. Acessar e Visualizar as Estruturas (Tabelas)
aula: Estrutura C/S e Aprofundamento PL/SQL
1. Procedures
2. Funções
3. Trigger
4. Package
5. Utilizar Objetos
6. Controle de Transação(Commit / Rollback)
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32

Pré-visualização parcial do texto

Baixe Oracle - Apostilas - Informática e outras Notas de estudo em PDF para Informática, somente na Docsity!

Índice

 1ª aula: Conceitos

  1. Banco de Dados Relacional
  2. Banco de Dados Cliente Servidor
  3. Estrutura de Segurança 3.1. DBA Default (System/Manager) 3.2. Usuário – Papel – Privilégio
  4. Organização dos Dados 4.1. Área de Dados 4.2. Meta Data
  5. Linguagem SQL 5.1. Breve Histórico 5.2. DML (Data Manipulation Language) Linguagem de Manipulação de Dados 5.3. DDL (Data Definition Language) Linguagem de Definição de Dados

 2ª aula: DDL

  1. Criar Usuário
  2. Criar Papel
  3. Conceder Privilégio
  4. Criar Tabelas (PL/SQL ou NAVIGATOR)
  5. Criar View
  6. Criar Chave Estrangeira
  7. Criar Índices
  8. Criar Sequência
  9. Criar Sinônimo
  10. Acessar e Visualizar as Estruturas (Tabelas)

 3ª aula: Estrutura C/S e Aprofundamento PL/SQL

  1. Procedures
  2. Funções
  3. Trigger
  4. Package
  5. Utilizar Objetos
  6. Controle de Transação(Commit / Rollback)

 4ª aula: Conexão / Exportação / Importação

  1. SQL Net - Conceito
  2. SQL Net – Criar Alias (Link)
  3. Conexão ODBC – Criar Alias
  4. Conexão BDE(Borland) - Criar Alias
  5. Exportar Banco de Dados(Projeto) - Personal Oracle
  6. Importar Banco de Dados - Server
  7. Executar Script
  8. Recriar Sequência no Servidor

 5ª aula: Projeto Front-End

  1. Criar Conexão (Table / View )
  2. Utilizar Procedure / Function
  • VANTAGENS DA TECNOLOGIA CLIENTE/SERVIDOR:

1- SEPARAÇÃO DAS TAREFAS DE SOLICITAÇÃO E PROCESSO.

A primeira efetuada pela estação de trabalho e a última é feita no servidor, ou seja: as tarefas de tratar e manipular os dados. Como já dissemos o tráfego na Rede diminui sensivelmente, pois só é entregue os dados necessários solicitados pela pesquisa do cliente, e estes depois de tratados são atualizados ao final da transação no servidor. Ao contrário dos Sistemas de Bancos de Dados sem a tecnologia Cliente/Servidor, que disponibiliza todo o banco de dados, indiferente a necessidade quando da solicitação pelo Cliente. A tecnologia Cliente/Servidor é antes de tudo uma incrementadora de performance sem igual.

2- INDEPENDÊNCIA DA ESTAÇÃO DE TRABALHO.

Os usuários não ficam restritos a um tipo de sistema ou plataforma.

3- PRESERVAÇÃO DA INTEGRIDADE DOS DADOS

Mesmo quando são efetuados Back-ups em tempo real ou até a encriptação dos dados. Nestes casos o DBMS, ultiliza o espelhamento dos dados enquanto eles são acessados, gravando sempre a última fotografia dos dados antes da cópia de segurança.

4- PROCESSAMENTO DE TRANSAÇÕES.

A grande vantagem deste método e guardar durante um certo tempo tempo as modificações efetuadas no Banco de Dados. Podendo, recuperá-las em caso de queda de energia ou mesmo quando o usuário do Banco desiste da modificação.

  • DESVANTAGENS:

1- A maior delas é o aumento do custo administrativo e a contratação de pessoal especializado para dar suporte e manter o Banco de Dados sempre ativo. Nasce o profissional Administrador de Bancos de Dados (DBA). 2- O aumento do custo de hardware, também é significativo, pois parte integrante desta tecnologia Cliente/Servidor, exige a distribuição do processamento, quando a rede for grande. 3- Quando da utilização do Processamento Distribuído a complexidade aumenta, o número de equipamentos diversos também aumenta, e nem sempre podemos encontrar profissionais no mercado com um conhecimento tão diversificado

UTILITÁRIOS ORACLE:

O AMBIENTE:

Para manipular e acessar as estruturas de Bancos de Dados Relacionais criadas no Oracle, o produto possui um ambiente completo para estas atividades. A base para este trabalho é a linguagem SQL, que através desta sintax, cria, modifica e manipula as estruturas de dados, tendo como componentes básicos do ambiente:

SQL (Structured Language Query): Linguagem básica e padrão, extremamente

simples e muito próxima da língua inglesa falada de maneira simples e comum, faz a maior e mais expressiva parte do trabalho de criação e manutenção de estruturas de dados. Porém sua limitação é não ser procedural, ou seja, não permite agrupar as palavras chaves sob a forma de programas executáveis. É uma linguagem puramente interativa de construção e submissão de comandos individuais, embora os comandos sejam macro comandos muito poderosos.

SQL*PLUS: É o ambiente que permite tornar procedural os comandos individuais do

SQL. Este ambiente é composto, como veremos a seguir de um editor de textos, que permite reunir grupos de frases SQL, que podem ser gravadas sob a forma de arquivo e então executadas.

ORACLE NAVIGATOR: Conjunto de recursos por intermédio telas(forms), onde o

desenvilvedor do Baco de Dados, cria, altera e exclui objetos. É uma tendência no que diz respeito a manutenção de objetos e no elaborar das estruturas.

PL/SQL: É a linguagem procedural do SQL do ORACLE, composta essencialmente

de todos os comandos SQL padrão e mais um grupo adicional que permite utilizar o SQL de forma procedural.

Ao ser acionado com um duplo click, o editor é ativado solicitando para sua operação a identificação do usuário e seu código de acesso, seguido do “drive” lógico, que no caso do uso “Stand Alone”, foi convencionado 2: Caso estivermos trabalhando em uma rede local o drive lógico seria por exemplo o X:, mais as informações da localização física do Banco de Dados.

Select JOB, sum (sal) from emp group by JOB

  1. Insert Insert into dept values(35, ‘Estoque’, ‘Madureira’);
  2. Update Update dept set loc = ‘Centro’ where deptno = 35;
  3. Delete Delete from dept where dnome = ‘Estoque’
  4. Commit
  5. Rollback
  6. Connect (System/Manager)
  7. Disconnect

PASSOS BÁSICOS PARA UTILIZAÇÃO DO ORACLE

1. Conectar como DBA – System Manager (Criar Usuário)

1.1. Create user AlunoX Identified by A123;

1.2. Grant connect to AlunoX;

2. Conectar com usuário – Scott / Tiger (Dar Privilégio)

2.1. Grant Select on Dept to AlunoX;

2.2. Connect AlunoX / A123;

2.3. Select * From Scott.Dept;

3. Conectar como System/Manager (Criar Papel e Dar Privilégio ao mesmo)

3.1. Create Role PapelAlunoX;

3.2. Connect Scott /Tiger;

3.3. Grant Insert, Delete, Update on Dept to PapelAlunoX;

3.4. Grant Select on Emp to PapelAlunoX;

4. Conectar como DBA – System / Manager (Atribuir Papel ao Usuário)

4.1. Grant PapelAlunoX to AlunoX;

5. Conectar como Usuário – Scott /Tiger (Criar Sinônimo)

5.1. Create Public Synonym Empregado for Scott.Emp;

5.2. Select * From Empregados;

6. Tópicos Diversos

6.1. Ver qual usuário conectado Select user from Dual;

6.1.1. Dar Privilégio à Usuário de Criar Tabelas e Derivados

6.1.2. Grant Resource to AlunoX; (Conecatodo como System)

6.1.3. Connect AlunoX / A123;

Objeto User

Nota: Acionado a partir do click do botão direito do mause, quando sobre este nó.

Aba General

Propriedade Name - dentificador do usuário Propriedade New - password(iniciado por caracter Alpha sequido de Alpha-Numérico)

Aba Role/Privilege

Define os privilégios de acesso e manipulação atribuidos ao usuário

Objeto Table

Nota: Acionado a partir do click do botão direito do mause, quando sobre este nó. De forma bastante prática, temos uma visão de todo a estrutura da tabela. A sintaxe necessária para execução via script ou código entrado pelo SQL Plus, segue:

Aba General

Name - Nome da tabela a ser criada Owner Usuário a quem pertence

Aba Object Privilege Definição dos privilégios

Aba Design

Column Name - Nome do campo Type Acionando o combo é apresentado um lista para escolha Size Define-se o tamanho do campo Scale Quando tipo number, indica quantas casas decimais serão reservadas Default Valor entrado como default quando do não preenchimento

Aba Design(continuação)

Can Be Null ?- Quando assinalado, o campo aceitará valor nulo Unique? - Quando assinalado, cria restrição para valores duplicados nesta coluna Primary Key - Indica que o(s) campo(s) faz(em) parte da chave primária Foreign Key - Cria restrição, indicando o campo como chave estrangeira, referenciado um campo chave em outra tabela Check Condition - Atribuição de uma condição para validação do valor entrado no campo

-------------------------------------------------------Script das Tabelas do Projeto-----------------------------------------

CREATE TABLE CLIENTES ( CODIGO NUMBER(10, 0) NOT NULL, NOME VARCHAR2(50) NOT NULL, DATA DATE NOT NULL, STATUS NUMBER(1, 0) DEFAULT '1' NOT NULL, CREDITO NUMBER(12, 2), HISTORICO LONG, TIPO VARCHAR2(1) DEFAULT 'J' NOT NULL, CGC VARCHAR2(14) NOT NULL )

CREATE TABLE CLIENTESFOTO ( CODIGO NUMBER(10, 0) NOT NULL, FOTO LONG RAW)

Alteração na Estrutura de Tabelas / Constraint / Chave Estrangeira

Alter Table Clientes Modify (Nome char (42));

Alter Table Clientes Add Constraint Ck_Clientescredito Check (Credito <= 50000)

Alter Table Clientes Add Constraint Nn_Clientescgc Check (Cgc Is Not Null)

Alter Table Clientes Add Constraint Uk_Clientescgc Unique (Cgc)

Alter Table Itens Add Constraint Sys_C00577 Foreign Key (Numeroped) References Aulamanha.Pedido

Alter Table Itens Add Constraint Sys_C00578 Foreign Key (Codproduto) References Aulamanha.Produtos

Alter Table.Pedido Add Constraint Sys_C00576 Foreign Key (Codcliente) References Aulamanha.Clientes

Alter Table Clientes Add Constraint Clientescheckconstraint1 Check (Tipo In ('J', 'F'))

Objeto View

Nota: Acionado a partir do click do botão direito do mause, quando sobre este nó. Uma View conceitualmente se aplica para minimizar o acesso aos dados de uma tabela ou a composição de um join.

Create View View_Clientesfoto As Select Clientes.Nome, Clientes.Foto From Clientes Where Clientes.Status = 1

Create View View_Itensdescricao As Select Produtos.Descricao,Itens.Quantidade,Itens.Precovenda From Itens,Produtos Where Itens.Codproduto = Produtos.Codigo

Create View View_Pedidosdata As Select Clientes.Nome, Pedido.Dataped, Pedido.Numero From Aulamanha.Clientes, Aulamanha.Pedido Where Clientes.Codigo = Pedido.Codcliente And Pedido.Dataped >= Sysdate - 150

Create View View_VendaMesAno As Select Trunc(Pedidos.DataPed, 'Month') As MesAno, Sum(Itens.Quantidade * Itens.PrecoVenda) As Total From Itens, Pedidos Where Pedidos.Numero = Itens.NumeroPed Group By Trunc(Pedidos.DataPed, 'Month')

CREATE PROCEDURE PROCALTCLIENTE (

Parcodigo Clientes.Codigo%Type, Parnome Clientes.Nome%Type, Pardata Clientes.Data%Type, Parstatus Clientes.Status%Type, Parcredito Clientes.Credito%Type, Parhistorico Clientes.Historico%Type, Parfoto Clientes.Foto%Type, Partipo Clientes.Tipo%Type, Parcgc Clientes.Cgc%Type ) Is BEGIN Update Clientes Set Clientes.Nome = Parnome, Clientes.Data = Pardata, Clientes.Status = Status, Clientes.Credito = Parcredito, Clientes.Historico = Parhistorico, Clientes.Foto = Parfoto, Clientes.Tipo = Partipo, Clientes.Cgc = Parcgc Where Clientes.Codigo = Parcodigo; END;

CREATE PROCEDURE PROCEXCCLIENTE (

Parcodigo Clientes.Codigo%Type) IS BEGIN Delete Clientes Where Codigo = Parcodigo; END;

Criar Procedure com Cursor

CREATE PROCEDURE Proccursorregistro(Pardata In Pedidos.Dataped%Type) As Registro Pedidos%Rowtype; Cursor Cursorregistros Is Select * From Pedidos Where Pedidos.Dataped >= Pardata; Begin Open Cursorregistro; Loop Fetch Cursorregistro Into Registro; Exit When Cursorregistro%Notfound; End Loop; Close Cursorregistro; End;

CREATE PROCEDURE PROCVENDASCLI (

Pardata Pedido.Dataped%Type, Parvalor Itens.Precovenda%Type) As

Cursor Cursorvendascli Is Select Clientes.Nome, Sum(Itens.Quantidade * Itens.Precovenda) As Total From Clientes,Itens,Pedido Where Clientes.Codigo = Pedido.Codcliente And Pedido.Numero = Itens.Numeroped And Pedido.Dataped >= Pardata Group By Clientes.Nome Having Sum(Itens.Quantidade * Itens.Precovenda) >= Parvalor Order By Clientes.Nome;

Varnome Clientes.Nome%Type; Vartotal Itens.Precovenda%Type; BEGIN Delete Vendascli; Open Cursorvendascli; If Sql%Notfound Then Raise_Application_Error (-20000,'Não Há Vendas Neste Período.'); End If; Loop Fetch Cursorvendascli Into Varnome,Vartotal; Exit When Cursorvendascli%Notfound ; Insert Into Vendascli Values (Varnome, Vartotal); End Loop; Close Cursorvendascli; End;

Testando no SQL-Plus SQL> Set ServerOutput on; SQL> Execute ProcCursor1(1);