Когда вам нужно использовать PLSQL вместо SQL? - PullRequest
0 голосов
/ 17 июня 2019

Я достаточно хорошо знаю Oracle SQL, но знаю только основы PL / SQL.Недавно у меня было интервью, где меня спросили: «Когда вы используете PL / SQL вместо SQL», и я был озадачен.Я не нашел четкого ответа на это во время исследования.Из того, что я прочитал до сих пор, я думаю, что вы используете PL / SQL вместо Oracle SQL, когда вам нужно создавать такие вещи, как функции, процедуры, курсоры, пакеты, типы.Это действительно ответ?Разве вы не можете создавать такие вещи с помощью Oracle SQL?

Спасибо всем, кто ответит!

Ответы [ 3 ]

2 голосов
/ 17 июня 2019

Полагаю, вы хотите знать, когда кто-то пишет один SQL-оператор, а не когда кому-то нужно писать процедурное программирование.Простое объяснение может быть следующим:

  1. Оператор SQL - это отдельный оператор, который удовлетворяет конкретную потребность в очень специфическом компоненте, окружающем разумное количество таблиц / представлений, которые можно объединить друг с другом.
  2. Но давайте предположим, что вам нужно создать приложение базы данных, в котором вам нужно создавать процессы для сбора данных, применять бизнес-логику для транзакций, происходящих в вашем приложении переднего плана, проверять целостность ограничений, используя триггеры, очищаяданные, сопоставление данных, объединение нескольких источников данных, преобразование данных, перевод данных в разную гранулярность, загрузка данных в отдельные таблицы измерений и фактов, загрузка данных в сводную таблицу, загрузка данных в слой представления данных DataWarehouse и т. д., то есть когда вынеобходимо создать хранимую процедуру, функции, представления, триггеры для создания конвейера данных, который может поддерживать все эти действия и рабочий процесс.
  3. Знайте, что эти процедуры, функциии триггеры будут иметь несколько таких операторов SQL, на которые вы ссылаетесь, наряду с условными блоками, циклом, временной таблицей, входными и выходными переменными, этапами создания индекса и т. д.
0 голосов
/ 17 июня 2019

Существует несколько ключевых способов использования PL / SQL в дополнение к (или поверх SQL):

  • Не предоставляйте разработчикам приложений прямой доступ к таблицам через SQL.Вместо этого создайте API в пакетах PL / SQL.Это упростит для appdevs, особенно для пользователей UI, таких как разработчики JavaScript, правильное соблюдение правил транзакций, целостности данных и правил безопасности.

  • Реализация логики бизнес-правил в базе данных.Частично это можно сделать на «чистом» SQL, но обычно для этого вам понадобится более процедурный или ОО-язык.Я знаю, я знаю - есть большие, бесконечные дебаты о том, где поставить бизнес логику.Вот как я смотрю на это: если вы поместите его в базу данных, рядом с данными и моделью данных, вы (1) с большей вероятностью получите правильные правила и будете синхронизировать их с моделью данных и (2) этой логикойдоступен из любого внешнего интерфейса, среднего уровня или внутреннего процесса, в котором он нуждается.

Подробный обзор "Зачем использовать PL / SQL?"доступно здесь .

0 голосов
/ 17 июня 2019

PL / SQL - это диалект SQL от Oracle. Если вы пишете какие-либо специфические вещи Oracle в свои операторы (например, пользовательские типы данных, не охваченные стандартом SQL92), вы пишете PL / SQL.

Но да, обычно люди говорят о PL / SQL в контексте хранимых процедур и тому подобного.

Подведем итог: Oracle SQL IS PL / SQL

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...