2010-05-03 2 views
1

Просто нужно немного кикстарт с этим.Нужно выработать структуру базы данных

У меня есть Mysql/PHP и

У меня есть 5000 продуктов. У меня есть 30 компаний

Мне нужно хранить некоторые данные для этих 30 компаний для каждого продукта следующим образом:

а) цены

б) акции кол-во

Я также должен хранить данные исторически ежедневно.

Так таблица ...

Это имеет смысл, что записи будут продукты, потому что есть 5000, и если я ставлю компании, как колонны, я могу хранить цены, но как насчет фондовых величин ? Я мог бы создать два столбца для каждого компонента, один для цен, один для qty. Затем сделайте tablename в качестве даты для этого дня ... так что теер будет новой таблицей за каждый день с 5000 продуктами в ней? это правильный путь?

Некоторое представление о том, как я буду retreiving данных

5 лучших низкие цены (и компания) по видам продукции на определенную дату
цена и изменения запасов за последние 7 дней по продукту

+1

Я thinkith это домашнее задание. –

+0

Нет, это начало большого проекта, если я ошибаюсь в структуре, где-то вдоль линии, она упадет! –

ответ

1

Что-то, как это должно работать:

Company 
------- 
CompanyID (PK) 
Name 

Product 
------- 
ProductID (PK) 
CompanyID (FK) 
Name 

ProductHistory 
-------------- 
ProductHistoryID (PK) 
ProductID (FK) 
Date 
Price 
Quantity 
+0

Нужна колонка даты в ProductHistory тоже, я бы предположил, – fearofawhackplanet

+0

@fearofawhackplanet: Спасибо, добавлено. – RedFilter

+0

спасибо. цены варьируются в зависимости от компании, но нет никакой связи в таблице истории, если бы я записал изменения цен, мне нужно было бы добавить компанию FK в таблицу истории, поэтому у меня было бы 150 000 записей для начала и только вставить запись в историю, если цена изменилась ... это было бы лучшим способом? –

Смежные вопросы