Создание базы данных интернет магазина

SDone

Новичок
Создание базы данных интернет магазина

Я тут набросал простую базу данных для самого простого интернет магазина.
Подскажите что можно упростить или улучшить. Хотя суть вопроса: создать наилучший вариант базы данных для магазина.
---
pages
pages / страницы, тут хранится вся нужная нам информация относящаяся и к продуктам и к категориям и к новостям и к страницам и к др.
id int(11) NOT NULL auto_increment
kid int(11) NOT NULL привязать к странице или к товару и тп
pos bigint(10) позиция
active tinyint(1) NOT NULL default '0' активна при 0, не активна при 1
who int к какому типу принадлежит.
0-страницы и разделы.
1-раздел страницы
2- товары
3- категории товаров
4- новости
5-категории новостей
6-бренд

url varchar(255)
name varchar(255)
title varchar(500)
description varchar(500)
keywords varchar(500)
annotation text NOT NULL аннотация, краткое описание
body longtext основной текст
created datetime NOT NULL дата создания
modified datetime NOT NULL дата редактирования
price float(10,2) NOT NULL default '0.00'

---
properties
свойства товаров
id
name varchar(255)
active tinyint(1) NOT NULL default '0'
values text NOT NULL список значений которые будут по умолчанию
---
values
id_products int(11) NOT NULL ид продукта из pages
id_properties int(11) NOT NULL к свойству
value text NOT NULL значение
---
fotos
фотографии, имя зависит от ида. фотки будут в формате jpg.
id
name
description
created
---
pagesVSfotos
связь страницы с фото
id_pages
id_fotos
heads tinyint(1) NOT NULL default '0' главное фото
---
delivery
доставка
id
name
description
price float(10,2) NOT NULL default '0.00'
active
---
payment
способы оплаты
id
name
description
param text NOT NULL параметры
active
---
deliveryVSpayment
свзяь
id_delivery
id_payment
---
orders
заказ
id
id_delivery
price_delivery
id_ payment
status_ payment
date_ payment
date
id_users
name
address
phone
email
comment
status
---
ordersVSproducts
id_orders
id_products
name_products
price
quantity кол-во в штуках
---
users - пользов
id
email
pass
name
active
---
settings
id
name
value
---
modules
id
name
class имя класса модуля
view модуль для страниц? то есть этот модуль можно вставить на страницу. например модель обратной связи.
---

Суть упростить магазин до минимума. что бы было все линейно и просто:
Категории товаров
бренды
товары
свойства товаров
одна валюта
пользователи
способ доставки
способ оплаты
фотки
модули
и то что вы видите выше. или правельней сказать сделать ядро для мага.
 

akd

dive now, work later
Команда форума
очень понравились названия таблиц :)
скоро на экранах страны...

pagesVSfotos - страницы против фоток. давняя борьба двух кланов в споре о том, который из них более популярен у пользователей.

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

ordersVSproducts - жизнь разбросала друзей детства Заказа и Продукта. Продукт живет в Казахстане с сестрой Суппортой. Суппорта замужем за казахом Каллцентром, их сын тяжело болен: он не может ходить. Денег на операцию в семье нет. Заказ, оставшись в маленьком сибирском городке, сам возглавляет местную банду... скоро их пути опять пересекутся.
 

SDone

Новичок
ну это конечно весело. Будем считать VS - разделителем, то есть это связывающие таблицы.

akd есть по сути что нить?
 

whirlwind

TDD infected, paranoid
SDone лучше в UML нарисовать. Не думаю что найдется много жаждущих вдумчиво листать 5 страниц вверх-вниз что бы понять что с чем связано.

А по сути есть конечно.
 

prolis

Новичок
Сначала цель хотелось бы услышать. "создать наилучший вариант базы данных " - это не удовлетворяет понятию цели. Вот типа ТЗ бы "создать БД для:
- инет магазина сорочек
- 100 пользователей в день
- возможность фильтрации товара по размеру, модели и цвету
- показ фото спереди и сзади
- цена и расчеты только в рублях
- анализ продаж по сегментам, каналам, клиентам и категориям товаров
-стоимость внедрения до $5000
-срок - до полугода
-и т.д."
по сути нечего сказать - может и прокатит, а может и нет, нет критерия адекватности реализации поставленной задачи
 

antonim

Новичок
времени нет все просматривать, но бросается что не у всех таблиц есть id а в первой и не увидел у id primary key. По названиям это ор :) таблицы называть лучше не pages а T_pages и т.д. если поле показывает на id другой таблицы, то называть связь FK и желательно конечно не в MyISAM создавать, а в InnoDB
 
Сверху