![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Przyjaciele php.pl Postów: 1 467 Pomógł: 13 Dołączył: 22.02.2003 Ostrzeżenie: (0%) ![]() ![]() |
Jestem ciekawy jak wygląda sprawa rozszeżeń normalnego SQL'a w bazach danych. Wiem, że bazy typu Informix i Oracle mają swoje języki, które znacznie ułatwiają pisanie programów (odpowiednio 4gl dla informixa oraz PL/SQL (czy jakoś tak) w oraclu).
Interesuje mnie, czy inne bazy jak np. Interbase, MySQL, PgSQL i tego typu bazy mają swoje własne rozszeżenia tego typu. Jestem również ciekawy, jak to wygląda z wydajnością takich rozwiązań w porównaniu do zwykłych programów w php... Myślałem o tym np. w kontekście użycia czegoś takiego w BSP (a queries mogłyby być zapisane w bazie danych i przerabiane przez np. szablony). Mam np. taki kawałek kodu w 4gl'u, który ponoć (nie mam informixa, nie testowałem) umie kasować gałęzie w systemie podobnym do naszego, tzn. zakładanego przez nas za najlepszy (a na dodatek robi to od listków, a nie gałęzi, pnia, co jest ważne w przypadku przerwania trasakcji, sesji), tylko, że bez pola depth. Można byłoby takich zestawów zrobić na każdą baze i tylko przerabiać za pomocą szablonów nazwy i id i w zależności od tego, na jakiej bazie byłoby instalowene, ładowalibysmy queriesy do niej (w jej języku). |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 2 335 Pomógł: 6 Dołączył: 7.03.2002 Ostrzeżenie: (0%) ![]() ![]() |
Ogolnie zalozenie takich jezykow jest, ze programista nie musi nawet wiedziec jak co dziala na bazie. On ma tylko przekazac i pobrac dane.
Kiedys mielismy w firmie problem z pewna aplikacja Java'owa, do ktorej nie bylo zrodel a byl jakis problem z wrzucanymi do bazy danymi. Dzieki trigerom i skryptom bez problemu zalatwilismy ta sprawe nie ingerujac w zrodla aplikacji. A tak wogole to Nelefin poddal niezly pomysl dostepu do danych - opakowanie ich. W ten sposob sam driver tworzacy te opakowania bedzie sie martwil w jaki sposob cos zrobic aby to mnialo rece i nogi a my dostaniemy ladny obiekcik danych. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 17:47 |