Robię projekt e-commerce i mam wątpliwości co do projektu bazy danych do przechowywania produktów. Istnieją 3 sposoby, na które spekulowałem, że można utworzyć bazę danych:Projektowanie bazy danych E-Commerce - MySQL
1. Dla każdej kategorii produktów mogą być oddzielne tabele.
Table: Categories
------------------
cat_ID
cat_name
Table: Sub_Categories
---------------------
sub_cat_ID
categories_cat_ID
sub_cat_name
Table: Books
-------------
book_ID
sub_categories_sub_cat_ID
book_title
book_author
book_ISBN
book_price
etc
Table: Clothes
---------------
clothes_ID
sub_categories_sub_cat_ID
clothes_name
clothes_color
clothes_size
clothes_description
clothes_price
etc
Table: Perfumes
----------------
perfumes_ID
sub_categories_sub_cat_ID
perfume_name
perfume_size
perfume_weight
perfume_description
perfume_price
etc
2. Grupa wszystkie produkty razem w jednej tabeli i umożliwiają pewne wartości do być null
Table: Categories
------------------
cat_ID
cat_name
Table: Sub_Categories
---------------------
sub_cat_ID
categories_cat_ID
sub_cat_name
Table: Products
---------------
product_ID
sub_categories_sub_cat_ID
title
description
price
author (can be null for everything except books)
size
weight (can be null for everything except perfumes)
ISBN (can be null for everything except books)
color (can be null for everything except clothes)
etc
3. Grupa pól podobna kolumna razem w tabeli o nazwie produktów i zapewnić oddzielne tabele dla określone dane.
Table: Categories
------------------
cat_ID
cat_name
Table: Sub_Categories
---------------------
sub_cat_ID
categories_cat_ID
sub_cat_name
Table: Products
----------------
product_ID
sub_categories_sub_cat_ID
title
description
price
Table: Books
-------------
products_product_id
sub_categories_sub_cat_ID
author
publisher
ISBN
Table: Perfumes
----------------
products_product_id
sub_categories_sub_cat_ID
size
weight
Table: Clothes
--------------
products_product_id
sub_categories_sub_cat_ID
color
size (this can be a one to many relationship to cater to multiple sizes of one product?)
będę naprawdę wdzięczny oświecenie, dziękuję
Dziękuję za pomoc. Moim głównym problemem jest to, jak/gdzie przechowywać różne dane dla różnych rodzajów produktów. To znaczy. czy miałbyś kolumnę dla autorów/ISBN/koloru/rozmiarów/wagi/itd. w tabeli produktów, czy oddzieliłbyś je, aby uniknąć wartości pustych? – a7omiton
Chciałbym mieć podstawową tabelę "produktów", a następnie może tabelę "product_attributes" dla dodatkowych danych, takich jak numery ISBN, a nie każdy produkt będzie miał numer ISBN, jeśli nie jest publikacją. –
A więc metoda 3 byłaby drogą do wyjścia (poza tabelą sub_categories)? Czy możesz powiedzieć, że każdy atrybut dla wszystkich produktów powinien być umieszczony w tabeli product_attributes? – a7omiton