開発ブログ一覧に戻る
しくみ解説2026年1月11日

データを「移す」のは簡単、「統合する」のは難しい

前回の記事で、別のパソコンで登録した生徒はIDが異なるという問題を紹介しました。 この記事では、その問題がなぜ厄介なのかを詳しく解説します。

協調採点のシナリオ

一括採点では、採点作業を複数のパソコンで分担することがあります。 これを協調採点と呼んでいます。

協調採点の流れ

  1. A先生のパソコンでプロジェクトを作成し、.scoreファイルで書き出す
  2. B先生のパソコンに読み込んで、一部の生徒を採点
  3. B先生のパソコンで.scoreファイルを書き出す
  4. A先生のパソコンに読み込んで、両方の採点結果を合わせる

この流れを実現するため、 プロジェクトの書き出し・読み込み機能を実装しました。 一括採点のデータベースには多数のテーブルがあり、これらを1つの.scoreファイルにまとめます。

データを「移す」のは簡単

もし「すべてを新規追加」するだけなら、実装は単純です。 ファイルの中身をそのままコピーして、IDだけ新しく振り直せばよいからです。

新規追加だけなら
  • ファイルの中身をまるごとコピー
  • IDだけ新しく振り直す
  • 関連するデータのIDも一緒に変換

機械的な処理なので、難しくありません。

データを「統合する」のは難しい

しかし、協調採点のシナリオを考えると問題が起きます。

問題発生

A先生のパソコンにいる「山田太郎」

↓ .scoreファイルで書き出し

B先生のパソコンに読み込み → 「山田太郎」が登録される

↓ 採点してまた書き出し

A先生のパソコンに読み込み → 「山田太郎」がもう1人登録される!

すべてを新規追加すると、同じ「山田太郎」が何人も生まれてしまいます。 A先生のパソコンにはもともと「山田太郎」がいるのに、 読み込みで別の「山田太郎」が追加されてしまう。

これでは困ります。既存データと同一なら、新規追加ではなく統合しなければなりません。

IDでは同一人物を判定できない

前回の記事で解説したとおり、IDは自動生成されます。 同じIDなら同一人物として統合すればいい...と思いたいところですが、 別のパソコンで同じ生徒を登録すると、IDが異なります。

A先生のパソコンで登録した山田太郎: ID = "a1b2c3d4-e5f6-..."
B先生のパソコンで登録した山田太郎: ID = "x9y8z7w6-v5u4-..."

同じ人なのに、IDが違う!

IDは自動生成なので、同じパソコンで別の人を登録しても重複しません。 しかし、別のパソコンで同じ人を登録してもIDは揃いません。 IDだけでは、統合すべきかどうかを判断できないのです。

データを「移す」だけなら、すべてを新規追加すればよいので簡単です。 しかし、協調採点のように既存データと「統合」する必要がある場合、 同じ人を正しく認識しなければなりません。

IDは別のパソコンでは異なる値になるため、ID照合だけでは解決できません。 次の記事では、この問題にどう対処したかを解説します。

一括採点を使ってみませんか?

最新版をダウンロードして、採点作業を効率化しましょう。

最新版をダウンロード

一括採点

中学校の先生が、全国の先生のために作った、採点ツール。

© 2023-2026 KeppyNaushika. AGPLv3 オープンソースソフトウェアとして開発しています。