Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Baza dla katalogu produktów
Forum PHP.pl > Forum > Bazy danych
bangoo
Chciałbym poradzić się bardziej doświadczonych osób w kwestii projektowania baz danych. Mam do napisania CRUD, który będzie operował na sporej ilości produktów podzielonych na kilkadziesiąt kategorii. Produkty konkretnej kategorii mają dedykowane pola i tak np. dla monitorów będzie to rozdzielczość, przekątna, plamka. Baza powinna być dostosowana do szybkiego pobierania wszystkich monitorów spełniających konkretne kryteria. Budowanie osobnej tabeli dla każdej kategorii wydaje mi się słabym pomysłem. Podobnie mam wątpliwości co do rozwiązania przedstawionego na tym obrazku

http://i.imgur.com/I2FSz.png

Do tej pory używałem wyłącznie MySQL i SQLite, więc nie jestem na czasie w temacie baz. Może da się to efektywnie rozwiązać za pomocą jakiegoś MongoDB?
masahuku
"Spora" ilość produktów to ilość bardzo subiektywna smile.gif. Na pewno "płaska" baza w stylu mongo się tutaj nie nada - za dużo ograniczeń, tragedia w modyfikacjach (a co jak będą chcieli zmienić nazwę kategorii ?) i kompletna nieintuicyjność. Ja bym to rozwiązał dodatkową relacją (produkty należą do kategorii, atrybuty należą do kategorii, produkty mają różne wartości atrybutów) - czyli to co masz w linku. W celach optymalizacyjnych zainteresuj się bardziej cache'owaniem frontu (żeby nie pukać do bazy), a nie "upraszczaniem" relacji. Katalogi mają to do siebie, że są "początkiem" jakiś statystyk/raportów itp. - bez dobrze skrojonej bazy będzie to katorga smile.gif. Jeśli kategorie są zagnieżdżone poczytaj o nested tree set (bardzo fajny sposób na drzewka, szybkie i proste wyszukiwanie dzieci/rodziców, ciężki insert, ale to margines operacji w takich systemach).
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.