Нужна помощь в создании схемы базы данных для оптового интернет-магазина тройников - PullRequest
0 голосов
/ 20 марта 2010

Я сейчас работаю над оптовым онлайн магазином футболок.Я сделал это для фиксированного количества и цены, и он работает нормально.Теперь мне нужно сделать это для переменного количества и цены.

Я пытаюсь основать свой дизайн на этом ссылочном сайте .

Основные таблицы, которые я создал:

CREATE TABLE attribute (
  attribute_id int(11) NOT NULL auto_increment,
  name varchar(100) NOT NULL,
  PRIMARY KEY  (attribute_id)
); 

CREATE TABLE attribute_value (
  attribute_value_id int(11) NOT NULL auto_increment,
  attribute_id int(11) NOT NULL,
  value varchar(100) NOT NULL,
  PRIMARY KEY  (attribute_value_id),
  KEY idx_attribute_value_attribute_id (attribute_id)
);

CREATE TABLE  product (
  product_id int(11) NOT NULL auto_increment,
  name varchar(100) NOT NULL,
  description varchar(1000) NOT NULL,
  price decimal(10,2) NOT NULL,
  image varchar(150) default NULL,
  thumbnail varchar(150) default NULL,
  PRIMARY KEY  (product_id),
  FULLTEXT KEY idx_ft_product_name_description (name,description)
);

CREATE TABLE product_attribute (
  product_id int(11) NOT NULL,
  attribute_value_id int(11) NOT NULL,
  PRIMARY KEY  (product_id,attribute_value_id)
);

Я не понимаю, как хранить цену на основе переменного количества.Например -

Quantity    Price
1-9         £1.91
10-99       £1.64
100-499     £1.10
500+        £1.14

Пожалуйста, помогите мне создать продукт и связанные с ним таблицы.Мое требование такое же, как выше ссылка ссылка.

Ответы [ 3 ]

2 голосов
/ 20 марта 2010

Получите копию книги ресурсов модели данных, том 1 - 3, и найдите хорошо спроектированные схемы данных. Просто по мере необходимости (они мощные). Ценообразование в магазине не так просто - серьезно.

0 голосов
/ 20 марта 2010

Ваш дизайн немного запутан. Вам нужна общая модель данных Entity-Attribute-Value или модель для конкретного домена? Моделировать ваш конкретный домен напрямую проще, чем пытаться нарушить абстрактную реализацию EAV.

Если вы хотите взглянуть на пример реализации, в Библиотеке свободной модели данных Барри Уильямса есть хороший пример электронной коммерции. Узнать больше .

0 голосов
/ 20 марта 2010

Просто создайте таблицу, соответствующую матрице цен, показанной на сайте.

  CREATE TABLE product_qty_prices (
     id         INTEGER NOT NULL PRIMARY KEY,
     product_id INTEGER NOT NULL REFERENCES product,
     low_qty    INTEGER NOT NULL
     high_qty   INTEGER NOT NULL
     price      DECIMAL(10,2) NOT NULL )

Вы также можете опустить столбец high_qty и получить его в своем приложении, взглянув на low_qty из следующей строки, но я, как правило, считаю, что с таким дизайном стоит риск перекрытия или неправильных диапазонов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...