Разработка SQL-таблиц - PullRequest
       16

Разработка SQL-таблиц

0 голосов
/ 16 ноября 2010

Я новичок в SQL и получил задание.Ниже приведены подробности:

Что у меня есть :

  1. Настольное приложение AC # для входа пользователя и просмотра статуса пользователя (только два варианта: пользовательрегистрируется и проверяет статус всех созданных фиктивных пользователей)

  2. Таблица с именем USER , содержащая

    • id
    • имя пользователя
    • дата создания
  3. Таблица с именем LOGINSTAT , содержащая

    • id
    • username
    • Logtime
    • logDate

Что мне нужно реализовать

Я должен сохранять время и дату, когда пользователь входит в таблицу LOGINSTAT с использованием SQL.

Мой вопрос

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

, когда пользователь входит в систему, вставляет значения в таблицу входа в систему, давая все необходимые значения.

НО

Я думаю, это может быть немного странно.Некоторые из моих друзей сказали, что вы можете реализовать это, используя внешний ключ и первичные ключи, но проблема заключается в том, что пользователь может войти в систему много раз в день.Как отслеживать время и дату входа в систему в этом случае?

Ответы [ 3 ]

1 голос
/ 16 ноября 2010

Вам не нужно имя пользователя в таблице LOGINSTAT.

Возможно, вы захотите, чтобы LOGINSTAT включал:

  • id
  • u_id
  • loginDateTime

idявляется уникальным идентификатором каждого логина
u_id является внешним ключом от идентификатора в пользователях, который совпадает с вашим событием журнала для пользователя
loginDateTime - это дата и время, которое даст вам как дату, так и время записи в одном столбце

1 голос
/ 16 ноября 2010

Что уникального в LOGINSTAT? Не сам по себе, но должен быть ID + LogDate + LogTime. Это будет ваш первичный ключ.

Единственный внешний ключ находится в LOGINSTAT: ID, который ссылается на идентификатор в таблице USER.

0 голосов
/ 16 ноября 2010

Значения в столбце PRIMARY KEY (например, USER.id) должны быть уникальными друг от друга.

Значения в столбце FOREIGN KEY в другой таблице, ссылающейся на этот первичный ключ (например, LOGINSTAT.id, ссылающийся на USER.id) не обязательно должен быть уникальным - несколько таблиц в таблице могут иметь одинаковую ссылку на столбец внешнего ключа и один и тот же первичный ключ.

...