我剛剛開始使用PostgreSQL,並且我是數據庫設計的新手。在PostgreSQL中創建「表格表」或實現類似的功能?
我在寫軟件,其中有更新數據庫的各種插件。每個插件都定期更新自己在數據庫中的指定表。所以名爲'KeyboardPlugin'的插件將更新'KeyboardTable','MousePlugin'將更新'MouseTable'。我希望我的數據庫能夠存儲這些'插件表'關係,同時強制引用完整性。所以,理想情況下,我想用下面列的配置表:
- 插件名稱(類型「文本」)
- 表名(β型)
我的軟件會讀取從此配置表中幫助插件確定要更新哪個表。最初,我的想法是讓第二列(表名)爲'text'類型。但是,如果有人錯誤地輸入了表名,或者現有的關係由於某人刪除表而變得無效,我們就會遇到問題。我希望'表名'列作爲另一個表的引用,同時強制引用完整性。
在PostgreSQL中這樣做的最好方法是什麼?隨意建議一種全新的方式來設置我的數據庫,這與我目前正在探索的不同。另外,如果它可以幫助你回答我的問題,我正在使用pgAdmin工具來設置我的數據庫。
我感謝您的幫助。
請不要爲每個單獨的插件使用表格。標準化功能,儘可能少地使用表格。 [EAV](http://en.wikipedia.org/wiki/Entity%E2%80%93attribute%E2%80%93value_model)是靈活性的常見解決方案 –
有趣!這可能很方便。在我深入研究之前,我想知道在這個模型下是否會有一種方法來獲得TYPES屬性。從我對該文章的簡要介紹中,我瞭解我的問題是我將創建一個Attribute表,第一列提及此屬性適用的插件(鏈接到插件表),第二列是'value '的屬性。這意味着每個屬性都將具有相同的數據類型,我會將其設置爲「文本」,然後進行投射。那麼沒有類型呢? – Dalal
其實我困惑自己。第一列將是屬性名稱,第二列將是它所屬的插件。我會更多地瞭解它,看看我能否解決這個問題。 – Dalal