Я пытаюсь найти лучшее решение проблемы, с которой я только что столкнулся. Я ненавижу делать что-то без понимания, поэтому я надеюсь, что кто-то может помочь.Autonumber vs. Text String для первичного ключа?
У меня есть база данных Access со столом, в котором хранится информация об отеле, а затем другая таблица, в которой хранятся маршруты. Таблица маршрутов выберет из списка отелей в отеле Hotels.
Я хочу установить правильные отношения, но использование первичного ключа Autonumber в таблице отелей, который соединяется с полем «Отели» в таблице маршрутов, не будет работать. (., Потому что Autonumber ID не совпадают с названиями гостиниц)
Что лучше:
A. Используйте название отеля в качестве первичного ключа на столе гостиницы, даже если длина строки может быть довольно длинный?
B. Измените элемент управления дисплеем в поле «Отели» в таблице «Маршруты» на поле со списком, в котором перечислены первичный ключ «Номер», а также скрывается. Вместо этого он показывает колонку с названиями гостиниц. Я нашел это решение здесь: http://www.trigonblue.com/accesslookup.htm
Ни одно из решений не кажется идеальным, так как я думаю, что решение A может замедлить индексирование длинными текстовыми строками, а решение B становится беспорядочным, если в таблицу вставляются новые поля.
Мне очень хотелось бы найти неправильный ответ здесь и иметь проблемы в будущем.
Может ли кто-нибудь помочь мне здесь? Пожалуйста, дайте мне знать, если мне нужно уточнить любую часть моего вопроса.
Спасибо!
Вы можете добавить связь между отелями и маршрутами, используя отель ID - просто добавьте индексированный длинный fiedl «HotelID» на маршруты с «Разрешить Дубликаты» - гораздо лучше, чем ссылки на имена отелей – dbmitch
Спасибо за ваш ответ , Извините, что я новичок и, возможно, не понимаю - не будет ли идентификатор отеля номером на поле Маршруты? Я не знаю, какие AutoNumbers соответствуют номерам отелей – arbitel
, чтобы ответить на ваш вопрос, ваш вариант B - это путь! его самый безопасный и рекомендуемый способ :) Причина: вы используете ключ, ничего, кроме ключа! :) :) –