Oracle – Qual a diferença entre SQL e o PL/SQL?

Publicado: 3 de novembro de 2016 em Sql

Uma das dúvidas mais comuns entre estudantes e profissionais de TI que não trabalham diretamente com Banco de Dados é a diferença entre essas duas linguagens. Vou te confessar que é um pouco complicado e eu entendo isso, afinal até o nome delas é parecido e isso pode confundir e muito os profissionais. 

 

O que é o SQL?

O SQL é uma linguagem de programação que foi criada na década de 70 pela IBM para os Banco de Dados Relacionais da empresa, com o objetivo de implementar as regras de relacionamento de um banco de dados.

Mais tarde ela entrou para o padrão ANSI e todas as empresas que desenvolvem SGDBs adotaram ele como padrão de banco de dados relacionais.

logoazuresql

O que é o PL/SQL?

O PL/SQL é uma linguagem de programação procedural que foi implantada pela Oracle Database no ano de 1991, Clique aqui para ver a história do PL/SQL (http://aprendaplsql.com/2013/08/conheca-historia-da-linguagem-plsql/) e ela surgiu com a necessidade da Oracle de ter uma linguagem interna, já que o SQL tem a função apenas o objetivo de pesquisas, recuperar e formatar dados de forma simples. 

Qual a grande vantagem de usar o PL/SQL?

O PL/SQL é uma linguagem de programação que é compilada dentro do Banco de Dados e com isso temos uma economia gigantesca de tempo e o poder da utilização do Hardware do Database para processar as informações, esta é uma grande vantagem tendo em vista que o Banco de Dados possuí recursos muito poderosos.

Vale lembrar que esses recursos devem ser usados com moderação, como eu costumo defender para os meus alunos o Banco de Dados é o coração da empresa e se ele ficar fora do ar, simplesmente todos os sistemas ficam fora do ar. Então tome muito cuidado com as suas implementações.

É possível fazer um sistema apenas com o SQL?

A resposta é sim, e eu como especialista nas duas linguagens te digo que qualquer programador deve saber SQL, afinal você vai precisar sempre fazer a interface com um Banco de Dados, inclusive criei um artigo com os 10 motivos pelos quais todo programador deve saber SQL(http://aprendaplsql.com/2016/03/10-motivos-pelos-quais-todo-programador-deve-saber-sql/).

Um bom desenvolvedor PL/SQL deve dominar o SQL, isso porque apesar do PL/SQL ser muito rápido e resolver os seus problemas quando um código simples não funciona, o SQL sempre tem que estar muito bem feito, senão você vai ter problemas de performance.

O que é SQL e o que é PL/SQL?

Segue abaixo o que o SQL suporta

Elementos da linguagem: Clausulas, Expressões, Consultas, Statments (Demonstrações), Condições de uma consulta;

Operadores: =, >, =, <=, BETWEEN, LIKE, IN, NOT IN, IS, IS NOT, AS, etc;

Consultas (Queries): que inclui SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY, etc;

Tipos de Dados: NUMBER,  CHAR, BIT, DATE e TIME

DDLs(CREATE, REPLACE), DMLs(INSERT, DELETE, UPDATE) e DCLs (COMMIT ROLLBACK)

Já o PL/SQL suporta os seguintes objetos/comandos.

Objetos: Packages, Procedures, Functions, Triggers, Types

Variáveis: NUMBER, PLS_INTEGER, BOOLEAN, BINARY_INTEGER, VARCHAR2, RAW, etc

Estruturas de Decisão e Repetição: IF, ELSE, THEN, LOOP, WHILE, CASE

Cursores Explícitos e Implícitos.

Conclusão

Com as informações passadas acredito que você agora consiga distinguir o SQL e o PL/SQL mas o mais importante deste artigo é que você entenda que é impossível saber um sem saber o outro e que essas linguagens são altamente poderosas e que podem fazer total diferença no seu dia-a-dia de programador.

 

Autor:  William Miranda

Site: aprendaplsql.com

Deixe um comentário