Есть ли вероятность того, что user_id
посетителя когда-нибудь может измениться?
Если ответ положительный, то вам лучше использовать безопасный подход и иметь два внешних ключа в журнале, ссылаясь назаинтересованный посетитель и пользователь, который совершил действие.
В MySQL:
CREATE TABLE visitors_log (
idVisitorLog INT AUTO_INCREMENT,
idVisitor INT NOT NULL,
idUser INT NOT NULL,
action VARCHAR(100) NOT NULL,
date_action DATETIME NOT NULL,
PRIMARY KEY (idVisitorLog),
FOREIGN KEY (visitor_log_idVisitor) REFERENCES visitors(idVisitor),
FOREIGN KEY (visitor_log_idUser) REFERENCES users(idUser)
);
PS: вы, вероятно, тоже хотите столбец даты в таблице журнала, добавил яone.
С другой стороны, если пользователь, которому назначен посетитель, никогда не может измениться со временем, тогда ваш дизайн может быть упрощен.В таблице журнала вы можете просто сохранить внешний ключ для таблицы посетителей.Поскольку посетитель хранит (фиксированный) идентификатор пользователя, вам не нужно дублировать эту информацию в журнале.