-1

我有一個應用程序,其中存儲PostId和屬於帖子的關鍵字(Keyword)在名爲KeywordsForPost的表中。該表的主鍵是PostIdKeyword的組合。 PostId不是唯一的,也不是Keyword在關係數據庫中是否可以存在與其他表沒有關係的表?

我需要這個實現,因爲我可能需要搜索關於它們包含的關鍵字的帖子。

我有另一個表名爲NewKeywords。該表中唯一的一列是Keyword。創建帖子時,該帖子中的關鍵字將被插入到KeywordsForPostNewKeywords表中。根據用戶的命令對錶NewKeywords中的關鍵字應用操作,以便它們不再成爲「新關鍵字」。所以我在應用該操作後刪除了這些關鍵字。目前我的NewKeywords表與其他表沒有任何關係。這種做法是否合理?還是有更好的做法?

我搜索並找到了答案。 can we have a table without any relation with the other tables
但是沒有找到滿意的結果。 我也發現它不同於先前提出的問題,因爲它提出了一個普遍的問題,而我的具體問題。我需要知道是否可以將關係添加到表格中。到目前爲止,我一無所獲。

+2

你對這個答案有什麼不滿意的地方? – TZHX

+0

由於所有的答案都表明你提供的問題 - 是的,這是完美的。僅僅因爲你在關係數據庫中工作並不意味着* all * tables *必須與至少另一個相關。 – Siyual

+0

關於「關係數據庫」中的「關係」實際上並不涉及表(外鍵)之間的關係,它指的是表中的單行相關數據。例如,客戶表可能具有姓名,姓氏,出生日期和地址。這些單獨的項目是相關的,因爲它們指的是同一個客戶。 – GarethD

回答

0

是的,你可以。唯一可能發生的是那些表與其他表沒有關係。我不會說這是最好的方式,因爲一切都取決於你的情況。而且,就像回答說的那樣:稍後它仍然可以被給予關係。

+0

這就是我感興趣的。如果它能在以後得到關係,它們是什麼?我做了一些頭部劃傷,沒有任何東西。 – Lilylakshi

+0

嗨@LilyLakshi,第一件事是嘗試瞭解數據庫關係審查本網站,讓我知道如果你有更多的問題,我會在這裏等待=)http://code.tutsplus.com/articles/sql-for-beginners - 部分3 - 數據庫關係 - net-8561 –

+0

@LilyLakshi看看這個正確的答案,使用'ALTER TABLE' http://stackoverflow.com/questions/1308339/create-a-one-to -many-relationship-using-sql-server –

0

要麼我誤讀了你的問題,要麼是NewKeyWords和KeyWordsForPost之間存在實際關係。這是兩個表共有的值(關鍵字),可用於關係連接。這可能是一個愚蠢的連接,沒有人願意這樣做,它可能真的很慢,缺乏相關索引,關鍵字不是任何地方的聲明關鍵字,但它仍然是一種關係。

無論您是否聲明,關係都是數據中固有的。

+0

是的。我瞭解可以進行加入。我有興趣看看是否可以建立一種強制某種參照完整性的關係。例如'NewKeywords'不應該有'KeywordForPost'中不存在的值。感謝您的答覆! – Lilylakshi

+0

任何兩個表都可以連接。他們之間不需要FK。 JOIN的含義是它的論點的意義。 FK意義上的「關係」僅僅是* fact *,即每個引用子行都顯示爲引用子行。 @LilyLakshi如果這不是真的,那麼就沒有FK。但是「NewKeywords不應該具有KeywordForPost中不存在的值」(如果您先更新後者)。因此「無論您是否聲明,關係都是數據中固有的。」 – philipxy

+0

夠公平的。任何兩個表都可以用笛卡爾連接進行連接。我的意思是一個equijoin,但我沒有仔細說它。關於存在關係的觀點是關於主題的推定ER模型,而不是參考數據庫設計的關係數據模型。在我習慣的措辭中,未申報的FK仍然是FK。 –

0

我打算帶@rlartiga的方法傢伙。我將創建一個Keywords表和Keyword列,並將其作爲主鍵。然後,我將在Keywords中同時使用KeywordsForPostNewKeywords表格Keyword。感謝您的支持人員!評論你是否認爲這不合適。