![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
Stoje przed zadaniem napisania abstrakcji na bazy danych i mam dwa rozwiazania do wyboru:
1. zupelna abstrakcja od api az po pseudo skladnie sql, ktora ma byc identyczna dla kazdej z baz (lub zamiast skladni, budowanie zapytania, np. $q = $db->newQuyery( 'select' ); $q->addFields( array( 'ID', 'blabla' ) ); $q->addTable(... $q->limited( 3,5 ); subqueries triggers transactions itd... masa roboty, ale za to mam calkowita niezaleznosc od bazy, nie moge wykorzystac wszystkich mozliwosci bazy (np. triggery w psql -- w mysqlu chyba nie ma?) [aplikacja]<->[db layer]<-**[DB] lub 2. tworze tylko wspolne api -- sql bedzie recznie wpisywany i bedzie rozny dla roznych baz + tworze kolejna abstrakcje (dla kazdej z baz) zawierajaca podstawowe zapytanie uzywane przez aplikacje, np. pobierz dane usera, pobierz wszystkie newsy [aplikacja]<->[podstawowe operacje]<-**[db layer (bardziej API)]<->[DB] co jest latwiejsze (chyba) do napisania ale nie mam calkowitej niezaleznosci od bazy i przenoszenie na inna baze wymaga napisania nowych "podstawowych funkcji". Jak wy to rozwiazaliscie, ktore z rozwiazan sie sprawdza? A moze macie inne pomysly? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 14.09.2025 - 18:24 |