我正在嘗試開發一個小型基於插件的培訓計算器,作爲一個家庭項目(設計時考慮到了體重訓練)使用Java。什麼樣的數據庫適合存儲我的對象?
應用程序核心提供某些插件可能與之連接的服務。其中之一就是所謂的「數據服務」,它讓插件存儲數據並檢索它們。現在,我覺得我的對象構建的方式與關係數據庫甚至對象關係數據庫無法很好地匹配。但是我希望能夠進行一些搜索和查詢,如果我的對象被存儲爲二進制文件,這可能是不可行或容易做到的。
問題是我想存儲單個條目(LogEntry對象),它是由一個或多個對象組件組成的對象,該對象又由一個或多個對象組件組成。
我的對象是這樣的(僞):
// This is the plugin itself
class Log
{
member PersonalStats;
member LogBook; // ideally, this would be a table with the log entries
... // methods
}
/* ================= */
// part of Log class
class PersonalStats
{
member Date birthdate;
... // etc., all the personal stuff
... // methods
}
// part of Log class
class LogBook
{
member List<LogEntry> entries;
... // methods
}
/* ================= */
// an object of this class should represent one dataset in LogBook
class LogEntry
{
member List<ExerciseDetail> exercises;
member String comments;
member Date date;
... // methods
}
/* ================= */
class ExerciseDetail
{
member Exercise exercise;
member List<SetSchema> warmUps;
member SetSchema workSet;
... // methods
}
class Exercise
{
member String name;
... // methods
}
class SetSchema
{
member int sets;
member int reps;
member double weight;
... // methods
}
我的問題是:爲了使核心應用程序能夠提供數據庫支持,什麼樣的數據庫管理系統將適用於這種數據模式?我希望它是非語言特定的。
但我不確定,如果數據庫是要走的路,但。所以,如果您有任何建議,請隨時分享。
謝謝你的回答,它幫助了我。我在某些細節上有點過於拘謹,所以我沒有注意到這一點。 –