-- Таблица продуктов
CREATE TABLE Product (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
image_path TEXT
);
-- Таблица значений параметров
CREATE TABLE Val (
id INTEGER PRIMARY KEY AUTOINCREMENT,
val TEXT NOT NULL
);
-- Таблица параметров продуктов
CREATE TABLE Param (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
val TEXT NOT NULL
);
-- Таблица параметров категорий
CREATE TABLE CParams (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
val_id INTEGER,
FOREIGN KEY (val_id) REFERENCES Val (id)
);
-- Таблица категорий
CREATE TABLE Category (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
prod_id INTEGER,
image_path TEXT,
c_params_id INTEGER,
FOREIGN KEY (prod_id) REFERENCES Product (id),
FOREIGN KEY (c_params_id) REFERENCES CParams (id)
);
-- Таблица связи продуктов и параметров (многие-ко-многим)
CREATE TABLE Product_Param (
product_id INTEGER,
param_id INTEGER,
PRIMARY KEY (product_id, param_id),
FOREIGN KEY (product_id) REFERENCES Product (id),
FOREIGN KEY (param_id) REFERENCES Param (id)
);