Отслеживание участников Вход в базу данных Дизайн - PullRequest
0 голосов
/ 02 января 2011
CREATE TABLE Member
(
    memberID  - PK 
    memberName
        .
        .
    dateCreated
);

CREATE TABLE TrackLogin
(
    memberID - PK and FK
    lastLogin
);

TrackLogin поможет мне узнать, когда этот участник последний раз входил в систему. Любая новая запись, вставленная в таблицу участников, новая запись также будет автоматически вставлена ​​в TrackLogin.

lastLogin будет иметь значение по умолчанию (время и дата по умолчанию). Любые входы происходят, я обновлю строку до последней регистрации, которая переопределит значение по умолчанию.

Member и TrackLogin - это отношения один-к-одному.

Я не хотел помещать lastLogin в таблицу Member, поскольку триггер привязан к таблице member, а lastLogin не имеет к этому никакого отношения.

Этот дизайн в порядке?

Ответы [ 2 ]

1 голос
/ 02 января 2011

lastLogin является атрибутом Member, поэтому он принадлежит ему.Разрыв - это просто дополнительная сложность объединения (IMO).

Чтобы предотвратить срабатывание существующего триггера, используйте UPDATE (столбец) в триггере, чтобы игнорировать изменения в этом столбце.

0 голосов
/ 17 января 2011

Я бы использовал таблицу TrackLogin для вставки новой записи (MemberID и LoginDate) каждый раз при входе в систему. Тогда у вас будет хороший отчет об активности входа в систему, а не только последний вход в систему. У меня было требование, когда пользователям просто нужна дата последнего входа. Но затем они хотели получить отчет об активности входа в систему.

...