Разъяснения по использованию первичных ключей на столе посещаемости - PullRequest
0 голосов
/ 22 марта 2020

Мне просто нужны некоторые пояснения или предложения по поводу определенной таблицы базы данных. Имеет следующие поля; -ID (PK) -employeeID (FK) -date -timeIn -timeOut

В этой таблице хранится информация о ежедневном времени и времени отсутствия сотрудников. Теперь я прочитал, что все таблицы должны иметь первичный ключ, который однозначно идентифицирует запись ... но

не может быть на самом деле без "ID", поскольку я не вижу смысла в этом, если мне нужно определенное посещение определенного человека на определенную дату, я могу просто использовать поле «employeeID», а также его дату.

Есть ли какие-либо предложения для таблицы, или я просто обдумываю это и все в порядке, как есть

1 Ответ

1 голос
/ 22 марта 2020

Ваше рассуждение обоснованно.

Две мысли:

  • Хотя первичные ключи могут быть составными (то есть иметь более одного столбца), многим людям нравится иметь первичные ключи одного столбца (которые в большинстве случаев являются «суррогатными ключами», основанными на искусственном счетчике, лишенном какого-либо «делового значения»). Это облегчает задачу, если код, использующий базу данных, может предполагать, что простая строка или число всегда идентифицируют запись. См. Эту ветку для обсуждения .

  • Может быть, вы хотите поддержать людей, которые включаются и выходят чаще, чем раз в день.

...