好的,直到今天我的印象是,在我的數據結構中有一個獨立的表是可以的,並且我有一張表來跟蹤來自IP的失敗登錄(所以我會跟蹤嘗試登錄的IP地址和然後阻止他們,如果他們有超過n
attemps)SQL是數據庫結構中允許的獨立表嗎?
但今天我被我的教授告訴記者,這是不可能/右有此表作爲一個獨立的表,它必須有與其他表的關係,否則其錯誤。
現在我不能幫助,但這是表是獨立的,因爲它的目的不是與其他條目/表有關係。
我是對還是錯?並請解釋。
更多信息
當用戶嘗試登錄,但失敗的登錄嘗試的表被填滿。並且其主要依賴於用戶的IP,所以如果用戶未能獲得正確的密碼n
次將會有n
表中的條目並且訪問將被阻止x
分鐘。這就是桌子的目的,但不知何故,我的ERD被批評爲我的教授讓桌子獨自站立(我被告知「我從未在這個領域工作過多年,我從未見過桌面桌子」),而我仍然無法確定他是否正確。下面是表的結構:
CREATE TABLE IF NOT EXISTS `login_attempts` (
`ip` varchar(20) DEFAULT NULL,
`attempts` int(11) DEFAULT '0',
`lastlogin` datetime DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
,不知何故eventhough他不可能真正解釋他是如何,要我這個連接到用戶表。現在是這個錯誤?
如果您存儲登錄名(userids,用戶名 - 不管您是否稱呼它),則可能與您的用戶表有關係,除非您還爲未知用戶登錄失敗的登錄名(例如,用戶名中存在拼寫錯誤) –
我已更新問題 –
我認爲這樣做的唯一方法是完全多餘的,就是在登錄嘗試表中添加一個PK,然後在登錄嘗試和用戶之間添加一個鏈接表。鏈接表只會保存成功登錄嘗試的記錄。但是,如果您沒有跟蹤此數據的要求,則這是不必要的。另一方面,它可能會滿足你的教授。 – jmacinnes