![]() |
![]() |
![]()
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? |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 25.07.2025 - 09:59 |