В чем разница между первичным ключом и RRN?Первичный ключ против RRN
ответ
Первичный ключ однозначно и однозначно идентифицирует данную запись (в таблице базы данных/представлении) или заданной строке (в текстовом файле). Хотя для первичного ключа может быть удобно использовать одно поле (один «столбец»), также возможно, чтобы первичный элемент основывался на нескольких полях/столбцах.
RRN является аббревиатурой, который может быть либо понимать как "Запись Row Номер" или "Относительная Рядное Количество". Обычно номер строки записи - это число, обычно (но не обязательно), назначенное простым приращением (на основе значения предыдущего назначенного RRN), которое добавляется к другим полям/столбцам определенного типа записи , Многие СУБД предоставляют функции поддержки таких «автоматически увеличивающихся» или, как правило, автоматически назначаемых RRN.
Как определено выше, RRN может использоваться как первичный ключ.
Существует множество преимуществ - и недостатков - наличие [семантически недействительного] RRN в отличие от первичного ключа на основе значений [одного или нескольких] атрибутов (поля или столбца) записи. Это, вероятно, обсуждается в другом вопросе SO; вот несколько наиболее распространенных аргументов:
- Первичный ключ может быть изменен, RRN является «неизменным».
Например, если первичный ключ является номером социального обеспечения (SSN), запись может быть в какой-то момент обновлена, поскольку SSN был первоначально введен с ошибкой опечатки. Когда/если это произойдет, все связанные записи, которые используют этот SSN для ссылки на обновленную запись, также должны быть обновлены. Если бы эти связанные записи использовали [несущественные] RRN, они были бы невосприимчивы к возможным изменениям значения SSN. - Когда нет «естественного» Первичного ключа на основе одного столбца, это может быть более удобно использовать RRN
- индивидуальных номера регистрации, как правило, короче
- Связанных таблиц и списки, которые относятся к первоначальным записям путем первичный ключ без RRN, как-то дублирует основную информацию. Это может быть как преимуществом, так и недостатком: можно знать значение базового поля без необходимости искать его в исходной таблице: хорошо, если вы хотите, чтобы связанная таблица содержала такую информацию, плохая, если вы этого не сделаете (например: Social Защитный номер можно считать чувствительным и т. Д.)
- RRN гарантированно уникальны (если не считать ошибки с логикой RRN-генерации), в результате чего ключи на основе атрибутов имеют склонность к отказу от неповторимого («oops! Мы думали, что можем использовать номер телефона в качестве идентификатора дома, dang !, телефонная компания начала повторное использование номеров ... »)
Первичный ключ идентифицирует строку в таблице.
RRN (я полагаю, вы имеете в виду относительный номер записи) также идентифицирует строку по положению в подмножестве (т. Е. Результат запроса).
Я нашел это полезным, если вам нужно экстраполировать последовательный порядок для набора записей, не связанных с первичным ключом.
- 1. Составной первичный ключ против автоинкрементируемого Первичный ключ
- 2. Первичный ключ против уникальной ограничения?
- 3. РЕГИСТРИРУЙТЕСЬ Производительность: Составной ключ против BigInt Первичный ключ
- 4. varchar() первичный ключ или int первичный ключ?
- 5. Какое хранилище меньше: первичный ключ идентификации или первичный ключ последовательности?
- 6. Sqoop импорт: Составной первичный ключ и текстуальное первичный ключ
- 7. первичный ключ и внешний ключ
- 8. Комбинированный первичный ключ против одиночного целого первичного ключа большой таблицы
- 9. следует ли использовать один первичный ключ или составной первичный ключ?
- 10. Джанго модель не возвращает первичный ключ, почему первичный ключ ни
- 11. составной первичный ключ и столбец автоинкремент, но НЕ первичный ключ
- 12. Композитный первичный ключ или первичный суррогатный ключ со следующим сценарием?
- 13. Первичный или автоматический сгенерированный первичный ключ?
- 14. первичный ключ внешнего ключа к внешней/первичный
- 15. JPA - первичный ключ префикс
- 16. Первичный ключ на колонке
- 17. Установка DataTable первичный ключ
- 18. Общий первичный ключ
- 19. Doctrine2 Первичный ключ
- 20. Первичный ключ ассоциативного Entity
- 21. Получить первичный ключ таблицы?
- 22. Первичный ключ и атрибуты
- 23. Update нарушает первичный ключ
- 24. Нужен ли первичный ключ?
- 25. Первичный ключ DynamoDB
- 26. Координаты как первичный ключ
- 27. Автоматически сгенерированный первичный ключ
- 28. Дозвуковые первичный ключ ошибка
- 29. Первичный ключ XML-схемы
- 30. Первичный ключ нарушение ограничения
Это не так, конечно. Однако этот вопрос может использовать больше контекста. –
@Phenom, на это был дан ответ в вашем последнем вопросе: http: // stackoverflow.com/questions/2497729/records-in-a-file – paxdiablo
Ответ там не так ясен, как этот. – neuromancer