Гриша К.
Новичок
В зависимости от условия, таблица объединяется с другими по разным столбцам. Вопрос?
Здравствуйте.
Есть таблица БД (пример):
ВОПРОС: с учетом приведенных примеров выше, допустима (правильна) ли такая структура базы данных, что в зависимости от условия, таблица объединяется с двумя разными таблицами (по очереди) по разным полям???
Либо правильнее будет delivery_id и warehouse_id, вынести в 2 отдельные таблицы:
Здравствуйте.
Есть таблица БД (пример):
PHP:
CREATE TABLE order (
order_id int(11) NOT NULL auto_increment,
delivery_id int(11) NOT NULL,
warehouse_id int(11) NOT NULL,
order_type tinyint(4) NOT NULL,
PRIMARY KEY (order_id),
KEY delivery_id (delivery_id),
KEY warehouse_id (warehouse_id)
)
PHP:
# 1) Если order_type=0:
SELECT *
FROM order, delivery
WHERE order.delivery_id = delivery.delivery_id
# 2) Если order_type=1:
SELECT *
FROM order, warehouse
WHERE order.warehouse_id = warehouse.warehouse_id
Либо правильнее будет delivery_id и warehouse_id, вынести в 2 отдельные таблицы:
PHP:
CREATE TABLE order_to_delivery (
order_id int(11) NOT NULL,
delivery_id int(11) NOT NULL,
KEY (order_id),
KEY delivery_id (delivery_id)
)
CREATE TABLE order_to_warehouse (
order_id int(11) NOT NULL,
warehouse_id int(11) NOT NULL,
KEY (order_id),
KEY warehouse_id (warehouse_id)
)