Шукаєте канонічну відповідь на питання, чому слід віддавати перевагу пакетам у базі даних Oracle над окремими процедурами та функціями.
Шукаєте канонічну відповідь на питання, чому слід віддавати перевагу пакетам у базі даних Oracle над окремими процедурами та функціями.
Відповіді:
Переваги пакетів
Логічне групування - методи, що працюють разом, можуть бути об'єднані в згуртовану одиницю, а не просто логічно зв'язані, а фізично окремі.
Безпечні приватні методи - Функції та процедури можна зробити приватними для пакета та використовувати лише в ньому. Це робить публічну поверхню простішою та безпечнішою.
Управління привілеями - дозволи можуть бути надані один раз для групи процедур, які працюють разом, а не окремо для кожної необхідної процедури / функції.
Безпечне обгортання - загорнуті пакети складніше розгортати, ніж загорнуті функції / процедури.
Спрощена назва - більший простір імен дозволяє імена, які є більш простими і можуть бути повторно використані в інших пакетах.
Краща ефективність - Пакети можуть бути складені та завантажені в пам'ять у повному обсязі, а не на частини, як інші методи. Ця вигода, якщо вона взагалі існує, мінімальна порівняно з іншими перевагами.
Зменшена інвалідність - Зміна тіла пакета не приводить до недійсності залежностей, як це робить зміна функції чи процедури.
Унікальні особливості - Змінні пакети, Константи упаковки, Ініціалізація, Стан сесії, Коментарі до пакунків та Перевантажені методи.
Посилання:
Посібник з концепцій 11.2
Задайте Тому Питання
StackOverflow.com Питання щодо продуктивності пакету
Розкручування презентації PL / SQL (pdf)