У меня есть таблица, в которой нужно 2 поля. Один будет внешним ключом, другой не обязательно уникальным. На самом деле нет никакой причины, по которой я могу найти первичный ключ, кроме как прочитав, что «каждой отдельной таблице когда-либо нужен первичный ключ».
Редактировать:
Здесь есть несколько хороших мыслей.
Для ясности я приведу пример, который похож на мои потребности в базе данных.
Допустим, у вас есть таблица с типом продукта, количеством, стоимостью и производителем.
Тип продукта не всегда будет уникальным (например, MP3-плеер), но производитель / тип продукта будет уникальным (например, Apple MP3 Player). Забудьте о различных моделях, которые производители делают для этого примера. Для простоты в этой таблице есть автоинкрементный первичный ключ.
Я даю значение в баллах и регистрирую, как часто эти продукты ищутся, добавляются в корзину и покупаются для отображения в списке горячих товаров.
В настоящее время я изложил это во второй таблице, где FK указывает на основную таблицу, а во втором столбце указано общее количество «очков популярности», набранных этим элементом.
Полученные здесь ответы заставили меня подумать, что, возможно, мне следует просто добавить столбец «баллов» в мою таблицу основных продуктов, чтобы я мог просто отслеживать там ... но похоже, что я недостаточно нормализую свою базу данных.
Моя проблема в том, что в настоящее время я в основном просто любитель, занимающийся этим для обучения, и у меня нет роскоши администратора базы данных, чтобы рассказать мне, как настроить мои таблицы, поэтому мне нужно изучить как сторону кодирования, так и сторону базы данных.