質問

い求めて全バージョン、エンティティに簡単に物価連動方、英語上級者の方にお尋ねしたい入力のうシステムを利用します。

なしバージョン管理システムは、単にリレーショナルデータベースと連続で、例えば、人です。場合は、その人の状態の変更を行がんの人気予測を算出するのに使用。とバージョンに更新することが望ましくないので必要であればいつでも、戻って、前のバージョン。場合に使うことがで時間データベースこのことは無いを聞くことができる'の現状はどうなっているすべての人々の昨日午後2時に住むダブリンおよび30歳'.残念ながらあるという事であると成熟したオープンソースのソフトウェアできない一時的にすぎない。

かろう悪かろうでは新しい行を挿入した状態で変化します。これを複製、人としてできる多くの分野におけできない場合はメールもしくは変わります。でもそのかなりの遅れを選択し、正しいバージョン一定のタイムスタンプ.

理論的にはできるので使リレーショナルデータベースやバージョンコントロールシステム生時間データベースがそう残酷.

いのかと思っていくう前にいたのですか?

更新 このようにアーロンからクエリを使用しております(mysql).レコード店ディスクユニオンの遅当社のテーブル>200kさい。(id=テーブルキー person_id=idお一人様、重複している場合には人の多くの改定)

名前を選択し一人様からp p.id=(選択max(id)から人がperson_id=p.person_idやタイムスタンプ <=:タイムスタンプ)

更新 というのは、時間dbがることがないオープンソースなものが次善の方法は、店舗に新しい列ります。唯一の問題は、重複の変列およびロを返します。

役に立ちましたか?

解決

二つの型があります。両方だくことを前提とし、常に新しい挿入されています。全ての場合において、できない場合があります。タイムスタンプ(created るかが行った"修正".

最初のアプローチを採用数をカウントをど多くのインスタンスだき,誠にありがとうござい.プライマリキーのキーオブジェクトのバージョン番号を示します。このアプローチと考えることが必要で select max(version) を修正。実際には、この問題以降、すべての更新からのアプリには、まず最初に負荷を現在のバージョンを変更す(追加モードの場合は、ファイバージョン)として新しいです。したがって、本当の問題は、このデザインが困難であるという走りの更新のデータベース(例えば、譲渡物件を多くすものではありません。

次のアプローチを用リンクのデータベースです。の代わりに複合します。を行なってはならないというオブジェクトの新しいキーワードびいただけます。 replacedBy 分野を含むキーのバージョン。このアプローチで簡単に現在のバージョン(... where replacedBy is NULL).アップデートに問題が、できない場合があります。新しい行と更新します。

これを解決するには追加できますバックポインタpreviousVersion).このように、挿入することができます。に新しい行としての利用のポインタを更新以前のバージョン。

他のヒント

こちらは(やや付の調査、文献間のデータベース: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.91.6988&rep=rep1&type=pdf

でおすすめの支出が座り、保護されなければなや Google Scholar を見出すためのいくつかの良い技術に合わせたデータモデルです。幸運を祈っています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top