mysql – 资产管理数据库设计
作者:互联网
我目前正忙于实施基本的资产管理系统.这不会很复杂.简单地跟踪任何资产的名称,序列号,零件编号和类型等等.然而,我遇到的问题是我想要整合书籍.不幸的是,书籍的结构与普通资产的结构截然不同(例如标题,作者,伊斯本代码等).
我希望社区能够从他们认为最好的设计中获得一些见解.将书籍纳入资产管理(如果是这样,数据库设计应该如何看待),或者我应该简单地编写一个完全独立的,独立的库模块(可能具有将书籍导出到资产管理系统的一些功能[使用更少/其他字段] ]).
谢谢!
编辑:其他可能的做法是使捕获屏幕动态化,因此用户可以指定字段和值.然后,可以将其作为XML存储在数据库中.但他不会成为我的首选方式.
编辑2:我忘了提及,我受到我可能使用的技术的约束.这些是MySQL,GWT,Hibernate和Spring(没有Spring事务).
解决方法:
一种方法可以是使用文档样式的no-sql数据库(例如Mongo)来存储资产.这样,每种不同类型的资产都可以轻松拥有自己的一组字段,而无需额外的表格等.
基本上我所描绘的是伪代码,类似于:
class Asset
{
int AssetNumber;
int AssetType;
string Description;
// etc.
}
class BookAsset : Asset
{
// book-specific fields
}
class ElectronicsAsset : Asset
{
// electronics-specific fields
}
// etc.
因此,其他资产类型可以是其他派生类.然后,每个资产将作为其自己的不同文档写入文档数据库,并通过其资产编号(或根据其包含的字段等搜索)或名称或其存储来检索.
这将为您提供一个快速简便的系统,您可以在跟踪其他资产或现有资产的其他信息时获得灵活性.
根据您的编辑进行编辑:用户定义的字段应该可以正常使用.您可以将其设置为对象上的某种键/值字典,或者如果使用更动态的语言,甚至只需将字段添加到对象本身. “基础资产”将由绝对需要的字段组成,其余字段可以更松散地定义,有条件地要求,用户指定等.
标签:mysql,database-design,gwt,asset-management 来源: https://codeday.me/bug/20190626/1297952.html