Obrigado, Convidado!
Bem-vindo ao FMGARCIA - SAMP!
HuemersonFMG | ||||
CleidiSilva21 | ||||
barbfix | ||||
Tranks_NorT | ||||
RenatoFMG | ||||
William | ||||
Vinícius_ Kawasaki | ||||
scorpio | ||||
alfredw10 |
PL/SQL - Extensão da linguagem SQL - Oracle
PL/SQL - Extensão da linguagem SQL - Oracle
.
PL/SQL [Procedural Language/Structured Query Language], é uma extensão da linguagem SQL baseado em banco de dados da Oracle onde temos a combinação do poder de manipulação dos dados do SQL com o poder de processamento da linguagem procedural para criar consultas SQL poderosíssimas. A PL/SQL ainda oferece o processamento contínuo de instruções SQL, aprimorando a segurança, a portabilidade e a robustez do banco de dados. O PL/SQL instrui o compilador “o que fazer” por meio do SQL e “como fazer” por meio de sua lógica procedimental. Parecido com outras linguagens de banco de dados, dá mais controle aos programadores com o uso de loops, condições e conceitos orientados a objeto.Com o PL/SQL podemos escrever programas que ficam armazenados no nosso banco de dados e que podem ser executados por alguma aplicação ou usuário que acesse o banco. Devemos compreender que essa ferramenta não se limita a apenas processar instruções SQL (INSERT, DELETE, SELECT e UPDATE) para o banco, e sim, executar tarefas que exigem uma série de estruturas de decisão, como loops e coisas parecidas.
A arquitetura PL/SQL
Bloco do PL/SQL
Esse é o componente onde colocaremos o nosso código PL/SQL. Ele consiste de diversas seções para dividir o código logicamente (seção declarativa para as declarações, seção de execução para instruções de processamento, seção de tratamento de exceções para tratamento de erros).
Motor do PL/SQL
O motor do PL/SQL é o componente onde há o processamento real dos códigos. Ele separa as unidades PL/SQL da parte de entrada do SQL onde as unidades separadas do PL/SQL são gerenciadas pelo próprio motor. A parte do SQL é enviada para o servidor para fazer a interação real com o banco de dados. Ele pode ser instalado tanto no servidor de banco de dados como no servidor de aplicativos.
Servidor do banco de dados
Esse é o principal componente da unidade PL/SQL onde possuímos o armazenamento dos dados. O motor do PL/SQL usa o SQL da unidade PL/SQL para interagir com o servidor de banco de dados. Por fim, o executor do SQL é o responsável por analisar todas as instruções SQL de entrada e fazer as devidas execuções.
Variáveis, Operadores, Cursores e Sequences do PL/SQL
Uma variável nada mais é do que um nome dado a um local de armazenamento que podem ser manipulados. Cada variável no PL/SQL tem um tipo de dado específico, que determina seu tamanho e o layout da memória. O nome de uma variável no PL/SQL consiste em uma letra seguida opcionalmente por mais letras, números, cifrões, sublinhados e sinais numéricos e não pode ultrapassar 30 caracteres. As variáveis do PL/SQL devem ser declaradas na seção de declaração ou em um pacote como uma variável global.
Um Vperador é um símbolo que informa ao compilador que ele deve executar uma manipulação lógica ou matemática específica. Na linguagem PL/SQL temos uma série de operadores integrados que oferecem um amplo suporte a linguagem.
Um Cursor é um ponteiro para a área de contexto. A linguagem PL/SQL controla toda a área de contexto a partir de um cursor. Um cursor tem o valor das linhas retornadas por uma instrução SQL. Esse conjunto de linhas que o cursor mantém é referido como o conjunto ativo. Você pode nomear um cursor para que ele possa ser referido em um programa para procurar e processar as linhas retornadas por uma instrução SQL.
Sequence é um objeto do banco de dados que pode ser criado por um usuário e compartilhado entre vários usuários. Conseguimos utilizar as Sequences para a criação de valor para uma chave primária onde o valor deve ser único por linha. Os números das sequências são armazenados e gerados independentemente das tabelas, logo a mesma Sequence consegue ser utilizada em várias tabelas diferentes.
Funções e procedures do PL/SQL:
Uma função é um bloco PL/SQL muito semelhante a uma procedure. O que podemos entender de início entre esses dois tipos de blocos é que os blocos função retornam valores e as procedures podem ou não retornar um valor. As função tem duas características que diferem das procedures, as quais não podemos deixar de tratar:
• As função sempre retornam valores
• função são usadas como parte de uma expressão.
Uma procedure é uma unidade/módulo de um programa que executa uma tarefa bem específica. Esses subprogramas, como são chamadas as procedures, são combinados para formar programas maiores. Isso é basicamente chamado de design modular. Um subprograma pode ser invocado por outro subprograma ou programa, no qual é denominado calling program.
• Funções – Nesses subprogramas temos o retorno de apenas um valor. É usado principalmente para calcular e retornar um valor simples.
• Procedures – Esses subprogramas não retornam um valor diretamente. Usado para executar uma ação.
Triggers, JOBs e Views do PL/SQL:
Os Triggers são programas armazenados que são executados ou disparados automaticamente quando ocorrem alguns eventos. Os Triggers são, na verdade, escritos para serem executados em resposta a qualquer um dos seguintes eventos:
• Uma instrução que manipula o banco de dados (DML) (DELETE, INSERT ou UPDATE)
• Uma instrução de definição de banco de dados (DDL) (CREATE, ALTER ou DROP)
• Ou uma operação no banco de dados (SERVERERROR, LOGON, LOGOFF, STARTUP ou SHUTDOWN)
Os Triggers podem ser definidos na tabela, view, schema ou banco de dados ao qual o evento está associado.
As principais vantagens de se utilizar os Triggers são:
• Geração automática de algum valor para alguma tabela
• Registro de eventos e armazenamento de informações sobre o acesso ao banco de dados.
• Replicação síncrona das tabelas
• Autorizações de segurança
• Prevenção de transações inválidas.
Jobs são tipos de objetos presentes no banco de dados Oracle que nos permite automatizar a execução de script PL/SQL, são extremamente úteis quando temos que executar determinadas operações com certa periodicidade onde basicamente podemos programar qualquer comando PL/SQL válido mesmo que seja apenas o nome de um procedure que execute uma série de ações.
Uma View é uma tabela lógica baseada em uma tabela ou outra view, logo uma view não contém dados próprios mas é como uma janela através da qual os dados das tabelas podem ser vistos ou alterados. As tabelas nas quais uma view é baseada são chamadas tabelas-base, logo a view é armazenada como uma instrução SELECT no dicionário de dados.
O uso das views se dá por diversos fatores, como:
• Para restringir o acesso a dados;
• Para facilitar as consultas complexas;
• Para permitir a independência dos dados;
• Para apresentar diferentes view dos mesmos dados.
Uma view pode ser categorizada como simples ou complexa:
View simples:
• Cria dados a partir de somente uma tabela;
• Não contém funções ou grupos de dados;
• Pode executar a DML através da view.
View complexa:
• Cria dados a partir de várias tabelas;
• Contém funções ou grupos de dados;
• Nem sempre executa a DML através da view.
Resumindo:
PL/SQL não é uma linguagem de programação standalone e sim uma ferramenta dentro de um ambiente de programação Oracle. Para executar o ambiente do PL/SQL, podemos utilizar o SQL Plus que basicamente nos permite digitar as instruções PL/SQL no prompt de comando. Todos os comandos são enviados para o banco de dados para o processamento. Depois que as declarações são processadas, os resultados são enviados de volta e exibidos na tela. Para executar programas PL/SQL, você precisará ter o Oracle RDBMS Server instalado na sua máquina.
O principal trabalho de um desenvolvedor PL/SQL será escrever consultas baseadas em SQL para melhorar o desempenho das instruções do banco de dados. Também será exigido que você analise os resultados de operações e forneça soluções, sugestões a clientes finais e também relacionadas à criação de documentos.
As principais características de um desenvolvedor PL/SQL são:
• Conhecimento profundo de banco de dados Oracle.
• Boa compreensão de construções de programas, procedures, Packages, Triggers e escrita de instruções.
• Conhecimento sólido na área de desenvolvimento de software e deve ser capaz de seguir processos padrões, como revisão de código, criação e execução de casos de testes unitários.
• Ser capaz de criar modelos de dados, design e implementação
• Ser capaz de ajustar o desempenho das consultas SQL.
HuemersonFMG- Fundador - ADM
- PublicaçõesPublicaçõesMembro VipMembro VipCriador de TópicosCriador de TópicosParticipação em tópicosParticipação em tópicosCriador de EventosCriador de EventosPopular no fórum - AmigosPopular no fórum - AmigosAvaliação de MSGAvaliação de MSGMelhores avaliações de AmigosMelhores avaliações de AmigosRei dos Grupos no FórumRei dos Grupos no FórumMelhor RPGRecebe este ao criar sua Ficha RPG no Perfil
- Mensagens : 506
Pontos : 26578
Reputação : 0
Data de inscrição : 11/06/2018
Idade : 51
Localização : Brasil
FMGRPG
FMG:
(200/100)
Qui 14 Mar 2024, 09:36 por HuemersonFMG
» Esqueceu o número do seu telefone?
Ter 05 Dez 2023, 12:51 por HuemersonFMG
» Scripts SQL - Oracle
Ter 05 Dez 2023, 11:56 por HuemersonFMG
» Dicas para Excel
Sex 27 Out 2023, 11:22 por HuemersonFMG
» Acentos e Caracteres Especiais em HTML
Sex 20 Out 2023, 13:17 por HuemersonFMG
» Dez motivos para consumir mais café...
Dom 27 Ago 2023, 05:09 por alfredw10
» Combinações de teclas do Windows
Dom 06 Ago 2023, 13:29 por HuemersonFMG
» PL/SQL - Extensão da linguagem SQL - Oracle
Qua 10 maio 2023, 10:16 por HuemersonFMG
» Node.js é uma tecnologia assíncrona
Ter 09 maio 2023, 11:21 por HuemersonFMG
» Pontos Cardeais
Seg 24 Abr 2023, 20:02 por HuemersonFMG
» 1º DE MAIO – DIA MUNDIAL DO TRABALHO
Seg 24 Abr 2023, 15:34 por HuemersonFMG
» ChatGPT - robô virtual (chatbot) que responde a perguntas variadas
Seg 20 Fev 2023, 11:23 por HuemersonFMG
» Simples Página de Login em HTML - Visual Studio Code
Seg 06 Fev 2023, 13:40 por HuemersonFMG
» HTML - Dicas interessantes
Qui 19 Jan 2023, 17:02 por HuemersonFMG
» https://phaser.io/ - para criar jogos HTML5
Ter 17 Jan 2023, 13:06 por HuemersonFMG