У меня есть вопрос, связанный с настройкой третьей таблицы (таблица Repair_Parts) со следующей структурой:
Часть Таблица
Part_id (INT, без знака, автоинкремент) — первичный ключ
Part_name (VARCHAR(50)) – уникальный
Часть_описание (ТЕКСТ)
Исправить таблицу
Repair_id (INT, без знака, автоинкремент) — первичный ключ
Repair_name (VARCHAR(50)) – уникальный
Repair_descrip (ТЕКСТ)
Таблица 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 ( ТЕКСТ)) Пользователь также может указать конкретные детали, участвующие в ремонте «Проверка аккумулятора», которых может быть одна или несколько, но в данном случае это только 2 разные детали, «Генератор» и «Аккумулятор». В другой записи пользователь указывает три детали для другого ремонта.
Как можно создать эту таблицу 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.