Modelowanie baz danych - Funkcje wbudowane i obiektowe metody

1. Korzyści z wykorzystywania metod w Oracle są następujące:
  • modularność (metody pozwalają na podzielenie logiki biznesowej na mniejsze, łatwiejsze do zrozumienia i utrzymania fragmenty)
  • abstrakcja (metody pozwalają na oddzielenie implementacji od interfejsu od interfejsu, co ułatwia zarządzanie i rozwój aplikacji)
  • reusability (metody mogą być używane w różnych miejscach w aplikacji, co pozwala na uniknięcie powtarzania kodu)
  • enkapsulacja (metody pozwalają na ukrycie szczegółów implementacji przed innymi elementami aplikacji, co poprawia bezpieczeństwo i stabilność)
  • przejrzystość (metody pozwalają na zwiększenie czytelności kodu poprzez jasne określenie celu i działania każdego fragmentu kodu)
  • skalowalność (metody pozwalają łatwe rozbudowanie aplikacji poprzez dodawanie nowych metod bez konieczności modyfikacji istniejących już fragmentów kodu)
  • konfiguralność (metody pozwalają na łatwe dostosowanie aplikacji do różnych potrzeb poprzez zmianę implementacji metod bez konieczności modyfikacji pozostałych elementów aplikacji)
  • zwiększona funkcjonalność (metody pozwalają na zwiększenie funkcjonalności aplikacji poprzez dodawanie nowych metod i rozszerzanie już istniejących)
2. Oracle udostępnia kilka różnych typów, które mogą być używane w aplikacjach:
  • funkcje i procedury (obiekty bazy danych, które zawierają zestaw instrukcji PL/SQL. Różnica pomiędzy nimi polega na tym, że funkcje zwracają wartość, natomiast procedury nie)
  • metody statyczne (nie są związane z konkretnym obiektem i mogą być wywoływane bezpośrednio na typie obiektowym)
  • metody insancyjne (są związane z konkretnym obiektem i muszą być wywoływane na egzemplarzu danego typu)
  • metody konstruktora (służą do tworzenia nowego egzemplarza typu obiektowego)
  • metody destruktora (służą do zwalniania zasobów zajmowanych przez obiekt)
  • metody przeciążające (pozwalają na stworzenie kilku wersji tej samej metody, które różnią się liczbą lub typem parametrów)
  • metody przesłonięcia (pozwalają na nadpisanie implementacji metody zdefiniowanej w klasie bazowej przez implementację zdefiniowaną w klasie pochodnej)
3. W bazie danych Oracle można używać kilku języków programowania do tworzenia metod dla obiektów:
  • PL/SQL
  • Java
  • C
4. Funkcje są zdefiniowane za pomocą słowa kluczowego FUNCTION, a składnia jest następująca:

CREATE OR REPLACE FUNCTION nazwa (parametr1 IN/OUT typ, ...) 
return typ

procedury: zamiast FUNCTION, słowo PROCEDURE

5. Funkcje mogą przyjmować parametry IN, OUT lub IN/OUT.

np.

CREATE OR REPLACE calc_bonus (p_employee_id IN NUMBER)
RETURN NUMBER
AS l_bonus NUMBER;
BEGIN
SELECT * INTO L_bonus FROM INTO  employees WHERE employee_id = p_employee_id;
REURN l_bonus;
END

6. Metoda statyczna:

CREATE TYPE math_utils AS OBJECT (
STATIC FUNCTION factorial(N NUMBER) RETURN NUMBER 
);

CREATE TYPE BODY math_utils AS OBJECT (
STATIC FUNCTION factorial(N NUMBER) RETURN NUMBER IS
BEGIN
/ciało/
END;
);

7. Metoda instancyjna (MEMBER FUNCTION):

j.w.

8. Metody konstruktora (CONSTRUCTOR FUNCTION)

9. Metoda destruktora (DESTRUCTOR MEMBER FUNCTION)