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? |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 135 Pomógł: 0 Dołączył: 28.09.2003 Skąd: Rzeszów Ostrzeżenie: (0%)
|
e) Kozystamy z gotowego rozwiazania: ezsql, adodb, creole. (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Btw: przyklady troche bez sensu, bo we wszystkich tych bazach zapytania maja niemal identyczna strukture (selecty we wszystkich), wiec po co do kazdej bazy dawac inne zapytanie (ktore de facto bedzie identyczne? (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) |
|
|
|
dr_bonzo db layer 23.04.2005, 11:49:55
rzseattle Problem ktory poruszyles jest dosc zlozony. Mozna ... 23.04.2005, 13:51:42
M4chu A może Propel? 23.04.2005, 15:19:50
Nievinny Ja myślę, że wystarczy API, na tyle spójne aby obs... 23.04.2005, 16:07:40
hawk @dr_bonzo: A po co ty to w ogóle piszesz? Pisanie ... 24.04.2005, 11:16:08
Nievinny @hawk -> dlatego aby współnym AIP obsłużyć MySQ... 24.04.2005, 16:47:42
hawk @Nievinny: powtarzam, jaki jest sens tworzyć wspól... 25.04.2005, 12:01:52
dr_bonzo @hawk: najpierw mial to byc prosty layerek, ale wz... 25.04.2005, 12:25:49
Nievinny @hawk -> OK, ale czemu nie stworzyć własnego z ... 25.04.2005, 15:15:19
hawk @Nievinny: a czemu nie stworzysz od podstaw własne... 26.04.2005, 11:37:45
Nievinny @hawk -> Czyli twoim zdaniem należy wykorzystać... 26.04.2005, 12:06:28
dr_bonzo Przesiasc sie na 5ke. 26.04.2005, 12:45:00
Nievinny @dr_bonzo -> ja działam na PHP5, ale nie każdy ... 26.04.2005, 13:12:54
dr_bonzo A czytales cokolwiek o PDO?
Mozesz z nim zrobic to... 26.04.2005, 13:33:11
SongoQ @dr_bonzo Co do pierwszego rozwiazania to troche b... 26.04.2005, 13:41:59
Nievinny @dr_bonzo -> czytałem i chodzi mi oto, że jakiś... 26.04.2005, 14:06:13
hawk @Nievinny: jak admin serwera nie udostępni rozszer... 26.04.2005, 14:28:04
Nievinny @hawk -> działam na 4 tylko kiedy zlecą mi wyko... 26.04.2005, 18:30:41
radziel Hm, a ja mam do Was pytanie. Chcąc pisać skrypty, ... 4.05.2005, 18:09:00
radziel Cytat(M4chu @ 2005-05-05 16:25:25)[...] wiec ... 5.05.2005, 17:03:06
Vengeance Dlatego wg. mnie abstrakcja bazy danych powinna za... 5.05.2005, 17:53:01 ![]() ![]() |
|
Aktualny czas: 24.11.2025 - 03:42 |