У меня есть база данных Access, где я хочу хранить контакты в компании:
В этой базе данных у меня есть таблица с именем «пользователи», где я храню пользователей
который будет иметь доступ к базе данных. В основной таблице, названной «контакты»,
два из моих полей "insert_user" и "contact_user" относятся к пользователю
кто ввел контактную информацию и пользователь, который фактически сделал контакт.
Как я думаю, мне придется установить оба поля как внешние ключи
в той же таблице / поле, а именно «пользователи» / «имя пользователя».
Итак:
Я установил два ограничения внешнего ключа в двух разных полях ("insert_user", "contact_user"), , которые ссылаются на одну и ту же таблицу / поле ("users" / "username") в
Доступ к базе данных с использованием VB.Net OleDB (см. Оператор SQL ниже)
ALTER TABLE contacts ADD CONSTRAINT insert_user_foreignkey FOREIGN KEY (insert_user) REFERENCES users (username)
ALTER TABLE contacts ADD CONSTRAINT contact_user_foreignkey FOREIGN KEY (contact_user) REFERENCES users (username)
Я открываю базу данных с помощью MS-Access.
Я вижу, что все таблицы в порядке (как и должно быть).
Однако, когда я нажимаю на отношения в Access, я получаю все свои таблицы плюс таблицу с именем users_1, связанную с «contacts» / «contact_user» (таблица users только связана с «contacts» / «insert_user»)
Очень странно, что в табличном представлении Access я не вижу эту таблицу, а только в представлении отношений.
Вопросы
- Правильно ли мое мышление (чтобы установить 2 внешних ключа, которые относятся к одной и той же таблице / полю)?
- Что это за таблица "users_1" ?
- Будет ли моя база данных работать или я что-то не так делаю?