我是Raven DB的新手,也是No SQL DB概念的新手。我試圖擺脫RDB帶來的一些概念。一旦概念是,如果一個記錄被用作外鍵的某個地方,RDB不會讓我刪除主記錄。RavenDB中的關係數據庫刪除概念
假設我不想刪除某個類別,並且該類別的ID正在某些產品中使用,那麼RDB不會讓我刪除該記錄。這非常有幫助,因爲我不必擔心意外刪除記錄。我怎樣才能將相同的概念應用於Raven DB?我想使用像RDB這樣的規範化結構,因爲我打算將Raven DB與某些RDB結合使用。我希望保持安全,以防萬一因爲嘗試新概念而陷入混亂的局面。
希望我是有道理的,
任何幫助將非常感激!
感謝您的回覆Matt, 是不是有什麼辦法,也許是一種套用來應用這種類型的行爲?我是否要求在基於文檔的數據庫中不適用的內容?我想了解的是,在RDBM世界中,我的擔心是否有效,在No SQL世界中是否仍然有效?如果不是在無SQL數據庫中存儲常見實體(如類別和產品)的解決方案是什麼? –
您可以完全按照您所描述的方式存儲它們。您只是沒有代表您的數據庫來強制執行關係約束。是的,可以編寫一個包來添加此行爲,但它今天不存在。許多人會喜歡它,但很多人會認爲它是一個柺杖,它可能會對性能產生影響。這將不得不謹慎應用。我有寫Raven捆綁的經驗。我會給它更深的思考。 –
隨着烏鴉,你不需要有一個規範化的結構,所以你可以使用RDB。通過這樣做你會從RavenDB中大部分的好處中放棄。嘗試閱讀SQL複製以及這可能對你有幫助。 –