










































Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
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
1 / 50
Esta página não é visível na pré-visualização
Não perca as partes importantes!











































Índice
1ª aula: Conceitos
2ª aula: DDL
3ª aula: Estrutura C/S e Aprofundamento PL/SQL
4ª aula: Conexão / Exportação / Importação
5ª aula: Projeto Front-End
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.
Os usuários não ficam restritos a um tipo de sistema ou plataforma.
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.
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.
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
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:
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. 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.
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.
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. 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;
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)
Define os privilégios de acesso e manipulação atribuidos ao usuário
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'))
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')
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;
Parcodigo Clientes.Codigo%Type) IS BEGIN Delete Clientes Where Codigo = Parcodigo; END;
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;
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);