gpt4 book ai didi

mysql - Assets 管理数据库设计

转载 作者:可可西里 更新时间:2023-11-01 07:33:42 26 4
gpt4 key购买 nike

我目前正忙于实现一个基本的 Assets 管理系统。它不会很复杂。只是用它的名称、序列号、零件号和类型等来跟踪任何 Assets 的东西。然而,我遇到的问题是,我也想合并书籍。不幸的是,书籍的结构与普通 Assets (例如标题、作者、isbn 代码等)非常不同。

我希望社区能提供一些他们认为最好的设计的见解。将书籍合并到 Assets 管理中(如果是这样,数据库设计应该如何设计),或者我应该简单地编写一个完全独立的、独立的图书馆模块(可能具有将书籍导出到 Assets 管理系统的某些功能 [具有更少/其他字段) ]).

谢谢!

编辑: 其他可能的做法是使捕获屏幕动态化,以便用户可以指定字段和值。然后可以将其作为 XML 存储在数据库中。但他不会是我首选的方式。

编辑 2: 我忘了说,我非常受我可能使用的技术的约束。它们是 MySQL、GWT、Hibernate 和 Spring(没有 Spring 事务)。

最佳答案

一种方法是使用文档样式的非 SQL 数据库(例如 Mongo)来存储 Assets 。这样,每种不同类型的 Assets 都可以轻松拥有自己的一组字段,而无需额外的表格等。

基本上我所描绘的是类似于以下的伪代码:

class Asset
{
int AssetNumber;
int AssetType;
string Description;
// etc.
}
class BookAsset : Asset
{
// book-specific fields
}
class ElectronicsAsset : Asset
{
// electronics-specific fields
}
// etc.

所以额外的 Assets 类型可以只是额外的派生类。然后,每个 Assets 将作为其自己独特的文档写入文档数据库,并通过其 Assets 编号(或根据其包含的字段等进行搜索)或名称或存储方式进行检索。

这将为您提供一个快速简便的系统,并在您跟踪其他 Assets 或有关现有 Assets 的其他信息时提供您可能需要的灵 active 。

根据您的编辑进行编辑:用户定义的字段应该可以正常工作。您可以将其设置为对象上的某种键/值字典,或者如果使用更动态的语言,甚至可以将字段添加到对象本身。 “基本 Assets ”将由绝对必需的字段组成,其余的可以更松散地定义、有条件地需要、用户指定等。

关于mysql - Assets 管理数据库设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4417511/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com