Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> db layer, jak pisac?
dr_bonzo
post
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?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
M4chu
post
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)
Go to the top of the page
+Quote Post

Posty w temacie
- 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
- - M4chu   e) Kozystamy z gotowego rozwiazania: ezsql, adodb,...   5.05.2005, 15:25:25
- - 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


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 5.10.2025 - 17:55