![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 16.10.2004 Ostrzeżenie: (0%) ![]() ![]() |
Witam serdecznie
Właśnie tworzę sklep internetowy i nie wiem jaką bazę danych utworzyć. Zakładam, że nie wiem kto będzie korzystał ze sklepu także muszę wziąć pod uwagę, że w sklepie będzie powiedzmy 200 000 różnych produktów w 100 kategoriach (czysto teoretycznie) i problem rodzi się w momencie dodawania produktów do bazy, bo przecież "Laptopy" mają inne cechy niż "Aparaty cyfrowe". Czytając forum doszedłem do wniosku, że można by zrobić taką strukturę: Cytat TABELA PRODUKTY produkt_id kategoria_id produkt_nazwa produkt_cena produkt_opis i ewentualnie jakieś cechy wspólne TABELA CECHY cecha_id kategoria_id cecha_nazwa cecha_typ_danych TABELA CECHY_WARTOSCI wartosc_id cecha_id produkt_id wartosc_napis (string[255]) wartosc_liczba (real) TABELA KATEGORIE kategoria_id kategoria_nazwa Wydaje mi się (ale nie jestem tego pewien), że to rozwiązanie zda egzamin z punktu widzenia elastyczności sklepu ale nie wiem czy będzie to rozwiązanie wydajne przy większej ilości kategorii (z różnymi cechami). Powiedzmy, że średnio 1 kategoria dla sklepu ze sprzętem elektronicznym ma 15 cech. Gdy produktów będzie 100 000 to w tabeli CECHY_WARTOSCI pojawi się 100 000*15=1 500 000 rekordów i tutaj już zaczyna się robić problem bo nie wiem czy baza PostgreSQL lub MySQL (raczej będę używał PostgreSQL) poradzi sobie z taką dużą ilością danych przy bardzo skomplikowanych zapytaniach (join)? Dlatego myślałem czy nie warto zrobić sklepu najpierw planując jakie będą kategorie i dla każdej kategorii stworzyć osobną tabelę z cechami (np 15 kolumnową). To może i byłoby wydajniejsze ale z drugiej strony posiadanie 100 tabeli w bazie (a może więcej) i tworzenie ich dla każdej nowej kategorii wydaj mi się bez sensu. Czekam na jakieś kreatywne sugestie ![]() Pozdrawiam i Wesołych Świąt |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.07.2025 - 22:53 |