Я использую MySQL.
Допустим, у вас есть таблица с именем product, в которой хранится информация о ваших продуктах.
1) Если вам нужно одно видео для одногоproduct (это называется взаимно-однозначным отношением), тогда должен быть столбец, в котором хранится путь к видео, либо из Интернета, либо на вашем компьютере.Заявление MySQL выглядит следующим образом:
CREATE TABLE `webshop`.`product` (
`product_id` INT NOT NULL AUTO_INCREMENT,
`title` VARCHAR(45) NOT NULL,
`description` VARCHAR(100) NOT NULL,
`video_path` VARCHAR(45) NOT NULL,
PRIMARY KEY (`product_id`));
И чтобы получить продукты, используйте:
SELECT * FROM product;
2) Если к вашему продукту может быть прикреплено несколько видео (многие-к-одному)отношения), вам понадобится 3 таблицы: одна для продуктов:
CREATE TABLE `webshop`.`product` (
`product_id` INT NOT NULL AUTO_INCREMENT,
`title` VARCHAR(45) NOT NULL,
`description` VARCHAR(100) NOT NULL,
PRIMARY KEY (`product_id`));
одна для пути:
CREATE TABLE `path` (
`path_id` int(11) NOT NULL AUTO_INCREMENT,
`video_path` varchar(45) DEFAULT NULL,
PRIMARY KEY (`path_id`));
, затем создайте другую базу данных, которая будет содержать идентификатор продукта и идентификатор пути,Оператор создания таблицы должен выглядеть примерно так:
CREATE TABLE `product_path` (
`product_id` int(11) NOT NULL,
`path_id` int(11) NOT NULL,
PRIMARY KEY (`product_id`,`path_id`),
KEY `fk_path_id_idx` (`path_id`),
CONSTRAINT `fk_path_id` FOREIGN KEY (`path_id`) REFERENCES `path`
(`path_id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
CONSTRAINT `fk_product_id` FOREIGN KEY (`product_id`) REFERENCES `product`
(`product_id`) ON DELETE CASCADE ON UPDATE CASCADE);
Чтобы получить все продукты:
SELECT * FROM product
INNER JOIN product_path ON product.product_id = product_path.product_id
INNER JOIN path ON product_path.path_id = path.path_id;