我刚刚开始使用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