Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Czy Tradycyjne Widoki To Tylko Sposób Na Uproszczenie Zapytań?
Forum PHP.pl > Forum > Bazy danych
lukaswoj
Witam

"Pracuję na bazach danych" od 5 lat tworząc różne systemy w PHP i aż wstyd się przyznać ale do dnia dzisiejszego nie użyłem ani jednej procedury, ani jednego triggera, ani jednego widoku - czas aby to zmienić i zacząć korzystać z bazy danych nie tylko do przechowywania danych ale także do uproszczenia sobie życia (jako developera) i zwiększenia niezawodności swoich produktów. (nie bez powodu pierwszych kilka słów ująłem w cudzysłów)
To tak słowem wstępu smile.gif

Przy obecnym projekcie miałem problem, którego analiza sprowadziła mnie do takiego jak w temacie pytania.

Proszę tych z was, którzy poza składowaniem danych używacie pozostałych funkcjonalności waszego ulubionego RDBMS'a o odpowiedź na moje pytanie.
sf
Zależy jaka baza... w PostgreSQL to tak, chyba, że coś się zmieniło w najnowszych wersjach, wystarczy spojrzeć do dokumentacji by doczytać. To "uproszczenie zapytań" dla mnie daje coś więcej, ponieważ określa co na danej bazie wykonuje, ale to już bardziej podejście projektowe.
wijet
Nie to nie tylko upraszczanie zapytań. Moim zdaniem bardzo ważne jest tworzenie pewnej warstwy abstrakcji.
Załóżmy ze została podjęta decyzja o tym ze jednak adresy email klientów będą w osobnej tabeli, bo ktoś chce mieć historie adresów email klientów.
Jeśli operujesz na zwykłej tabeli Klienci to musisz wprowadzić zmiany w aplikacji, jeśli Klienci to tak naprawdę widok, tworzysz tabele dla emaili przenosisz tam dane i pozostaje tylko zmienić definicje widoku.
W przypadku dobrze zaprojektowanej aplikacji PHP musisz dokonać zmian w kilku miejscach, jeśli wszędzie walisz sam sql to w kilkunastu miejscach smile.gif.
Sprawa się komplikuje jeśli masz do tego programy okienkowe które trzeba zmienić z kompilować i podmienić na komputerach.
lukaswoj
Cytat(wijet @ 10.08.2007, 13:52:11 ) *
Nie to nie tylko upraszczanie zapytań. Moim zdaniem bardzo ważne jest tworzenie pewnej warstwy abstrakcji.
Załóżmy ze została podjęta decyzja o tym ze jednak adresy email klientów będą w osobnej tabeli, bo ktoś chce mieć historie adresów email klientów.
Jeśli operujesz na zwykłej tabeli Klienci to musisz wprowadzić zmiany w aplikacji, jeśli Klienci to tak naprawdę widok, tworzysz tabele dla emaili przenosisz tam dane i pozostaje tylko zmienić definicje widoku.
W przypadku dobrze zaprojektowanej aplikacji PHP musisz dokonać zmian w kilku miejscach, jeśli wszędzie walisz sam sql to w kilkunastu miejscach smile.gif.
Sprawa się komplikuje jeśli masz do tego programy okienkowe które trzeba zmienić z kompilować i podmienić na komputerach.

Jak najbardziej przyznam Ci rację - do tej pory nie przyszło mi do głowy, żeby tego typu podejście abstrakcyjne stosować przy pobieraniu danych ale pomysł wydaje się być warty wypróbowania
NuLL
Ja sie tez zgadzam z wijet-em. Pozatym stworzenie widoku i operowanie na nim czesto pomaga uniknac tabeli tymczasowej ktora nie jest wygodna i chyba wolniejsza od widoku smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.