Я делаю дизайн базы данных своего веб-сайта в Microsoft Access 2013, потому что у него приятный пользовательский интерфейс, и я считаю, что это поможет мне лучше понять все с помощью пользовательского интерфейса.

Мне нужно создать связь между двумя полями в одной таблице и одним полем в другой - правильно ли я это сделал (см. снимок экрана ниже)? Если нет, что бы я сделал, чтобы исправить свои ошибки?

enter image description here

Заранее спасибо.

0
MDCCL 18 Июл 2019 в 01:35
Отношения должны ссылаться на первичный ключ таблицы «ips», а «IP ID» — это то, что должно храниться в столбцах ссылок.
 – 
Michael - sqlbot
3 Янв 2016 в 07:23
1
Зачем нужен IP ID? Почему бы просто не использовать IP в качестве ПК?
 – 
Rick James
3 Янв 2016 в 09:16
@RickJames: я хочу сохранить чей-то IP-адрес более одного раза на случай, если он изменится (что, вероятно, произойдет). IP ID будет auto_increment, когда я создам базу данных MYSQL, IP будет содержать правильный IP-адрес.
 – 
Josh Murray
4 Янв 2016 в 03:15

1 ответ

Я с Майклом, вы должны ссылаться на IP-адрес, а не на IP-адрес. Если вы не ссылаетесь на первичный ключ, всякий раз, когда вы ссылаетесь на [IP-адрес, используемый при создании] или [IP-адрес последнего входа], вы получите первую найденную запись. например у вас есть несколько записей с одним и тем же IP-адресом в вашей таблице ips, вы всегда будете получать результат первой. Вот почему так важны первичные ключи: они гарантируют, что вы каждый раз будете получать одну и ту же запись. Если вы можете предположить, что конкретный IP-адрес всегда будет иметь одно и то же имя хоста, местоположение, регион и т. д., вы можете подать в суд на IP-адрес в качестве ссылки.

С другой стороны, если вам нужно запустить какой-либо SQL или VBA для вашей базы данных, будет намного проще, если вы избегаете пробелов в своих именах, используете регистр Camel или что-то еще. например «IP-адрес, используемый при создании» должен быть IPusedWhenCreating. Это делает любой тип программирования намного проще. Я очень старомоден, и мне нравится, когда это возможно, чтобы переменные не превышали 8 символов. FirstIP и SecondIP просто означают, что нужно НАМНОГО меньше печатать.

0
MGaddict 25 Апр 2017 в 22:30