У меня есть вопрос, связанный с настройкой третьей таблицы ( Repair_Parts таблица) со следующей структурой:
Деталь Таблица
Part_id (INT, без знака, автоинкремент) - первичный ключ
Part_name (VARCHAR (50)) - уникальный
Part_descrip (TEXT)
Ремонт Таблица
Repair_id (INT, без знака, автоинкремент) - первичный ключ
Repair_name (VARCHAR (50)) - уникальный
Repair_descrip (TEXT)
Repair_Parts Таблица
Repair_id (внешний ключ - относится к полю Repair_id таблицы восстановления)
Part_id (внешний ключ - относится к полю Part_id таблицы деталей)
Repair_Part_Item # - нумерация, основанная на количестве записей в поле Part_id, относящихся к конкретному Repair_id (используется для хранения данных о деталях, связанных с ремонтом) - я хочу, чтобы это поле начинало нумерацию с «1» для каждого отдельного repair_id.
Вопрос
Например, допустим, программа php позволяет пользователю создавать инструкции по ремонту автомобилей. Пользователь указывает, что исправление - это «Проверка батареи» (которое вставляет данные в таблицу «Восстановление» в поле «Repair_name» (VARCHAR (50)) и краткое описание исправления (которое вставляет данные в таблицу «Восстановление» в поле «Repair_descrip» ( ТЕКСТ)). Пользователь также может указать конкретные детали, участвующие в ремонте «Проверка батареи», которые могут быть одной или несколькими, но в этом случае это только две разные части, «Генератор» и «Аккумулятор». В другой записи пользователь указывает три детали для другого ремонта.
Как можно было бы создать эту таблицу Repair_Parts в phpMyAdmin или MySQL, чтобы база данных отслеживала конкретные детали, необходимые для ремонта? Какой двигатель следует использовать? MyISAM или INNODB?
Из того, что я прочитал о нормализации баз данных, у меня, кажется, есть правильный способ структурировать мои таблицы, но я не могу понять, как сделать поле Repair_Part_Item # для хранения данных так, как я хочу. В частности, при условии, что я разбил свои таблицы и их поля приемлемым образом, как бы получить в поле Repair_Part_Item # начальную нумерацию с 1 для каждой отдельной записи поля Repair_id и подсчитать для каждой строки с тем же Repair_id с помощью другой Part_id (и не позволяющий дублировать строки с одинаковыми Repair_id и Part_id)?
Из того, что я читал о нормализации, это кажется правильным способом структурирования моих таблиц, но я не могу понять, как сделать так, чтобы поле Repair_Part_Item # работало правильно.
Я относительный новичок в MySQL и PHP, и я просто пытаюсь настроить базы данных, прежде чем перейти к PHP-стороне уравнения.