![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 174 Pomógł: 1 Dołączył: 19.02.2004 Ostrzeżenie: (10%) ![]() ![]() |
Mam pytanie dotyczace czesto spotykanego problemu, a dokladniej mowiac chodzi o statusty
przechowywane w bazie danych, czyli: Załóżmy, że nasza baza danych przechowuje informacje o sklepie, produktach i kategorii. Baza danych mogłaby wyglądać tak:
i teraz w naszej bazie znajduja sie przykładowe informacje: tabela sklep: 1|sklep test1|0 2|sklep test2|0 3|sklep test3|1 tabela kategoria: 1|RTV|0 2|AGD|1 tabela produkt: 1|1|1|TV Sony|0 2|2|2|Zmywarka Electrolux|1 i teraz załóżmy, że chcemy wyciągnąć z bazy danych informacje o produktach, sklepie w ktorym dany produkt istnieje i kategorii do ktorej jest przypisany. Oczywiście interesuja nas wszystkie aktywne produkty czyli ( archiwum=0 ). Oto przykładowe zapytanie:
i teraz widzimy, że aby wyciągnąć informacje o produktach niearchiwalnych w kazdym zapytaniu musimy dodawać archiwum=0. Jest to dość żmudna praca, którą musimy wykonywać prawie w każdym zapytaniu, a zapytan do bazy w przykladowym systemie może być wiele ( w zależności od wielkości systemu ). Do tego dochodzi problem kiedy w juz dzialajacym systemie musimy dodac jeszcze inny status ( np. aktywny = 0, aktywny =1 ) i wtedy każde zapytanie kierowane do bazy musi uwzgledniac ten status ( czyli kilkadziesiat zapytan musi zostac zmienionych ) Moje pytanie brzmi jak Wy sobie radzicie z takimi problemami i jak jest Wasza implementacja takich rozwiązań? Mój pomysł na to rozwiązanie to tworzenie widoków czyli np.:
i w każdym zapytaniu wyciągającym dane odnoszenie sie do tego widoku. Czy według Was jest to dobra praktyka? |
|
|
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
Widok ma odzwierciedlac pewna funkcjonalnosc i zmiana jednej opcji w nim ma zmodyfikowac dzialanie wszystkich zapytan ktore odwoluja sie do tego widoku. Jesli masz status dodatkowy i w innym miejscu wyciagany to dokladasz inny widok. Jesli masz zapytanie gdzie jest wiele statusow to w widoku pomijasz status.
W widoku robie sobie wszystkie zlaczenia wtedy zapytanie do widoku jest czytelniejsze. -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 15.08.2025 - 04:00 |