JP2018136939A - 更新データ別の最適クエリ文を生成するスプレッドシートに基づいたデータベースの更新方法 - Google Patents
更新データ別の最適クエリ文を生成するスプレッドシートに基づいたデータベースの更新方法 Download PDFInfo
- Publication number
- JP2018136939A JP2018136939A JP2018025700A JP2018025700A JP2018136939A JP 2018136939 A JP2018136939 A JP 2018136939A JP 2018025700 A JP2018025700 A JP 2018025700A JP 2018025700 A JP2018025700 A JP 2018025700A JP 2018136939 A JP2018136939 A JP 2018136939A
- Authority
- JP
- Japan
- Prior art keywords
- data set
- record
- database
- updated
- update
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】スプレッドシートに基づくデータベースの更新方法を提供する。【解決手段】データベースから対象テーブルのデータセットを要請して取り出し、取り出した初期データセットを保存する段階と、スプレッドシートインタフェースを提供し、ワークシートを生成してデータセットの構造及びレコードデータをワークシートの上に表示する段階と、スプレッドシートインタフェースを用いたユーザの入力に応じてワークシート上のレコードセットのレコードデータを更新する段階と、初期データセットと更新済みデータセットを比較し、更新されたレコードを抽出し、更新されたレコードのデータセット構造及びレコードデータを定義する段階と、定義されたレコードのデータセット構造を用いて更新されたデータに対してクエリ文を生成し、生成したクエリ文を用いてデータベースを更新する段階と、を含む。【選択図】図3
Description
本発明は、ベータベースのデータセットをエクセル、ロータス等のシプレッドシートのワークシートに取り込んで修正すると、初期データセットと対比して、更新されたレコード及びそのフィールドを抽出し、それぞれの更新されたレコード別にクエリ文をそれぞれ作成してデータベースを更新する、スプレッドシートに基づくデータベースの更新方法に関する。
一般に、ウェブ上でデータベースを更新(アップデート)するためには、データベースを処理するウェブプログラムと、これを指示するためのクエリ文が必要である。すなわち、データベース管理システムにおいて構造化問い合わせ言語(SQL:Structured Query Language)のレベルにより更新演算が行われる(例えば、下記の特許文献1参照)。
具体的に、データベースに特定のテーブルに書き込まれたデータを入力したり、修正又は削除したりするためには、ジャバサーバーページ(JSP:Java Server Pages)、アクティブサーバーページ(ASP:Active Server Pages)、ハイパーテキストプレプロセッサ(PHP:Hypertext Preprocessor)等のサーバ側のウェブプログラムを用いて更新を行う。具体的に、前記サーバ側のウェブプログラムはデータベースと接続し、対象テーブルのデータを処理するための構造化問い合わせ言語(SQL)文等のクエリ文を作成せねばならない。作成されたクエリ文をデータベースに転送し、当該クエリを処理するように要請すると、データベースは受信した当該クエリを処理することにより、データベース内のテーブルが更新される。
このため、上述したウェブプログラムがデータベースのクエリ文を処理するために、それぞれのテーブル又は当該項目別のウェブ画面を構成せねばならない。また、対象テーブルの個数だけ入力画面を別途に開発せねばならないという問題がある。この理由から、それぞれのクエリ文も開発者が自ら作成せねばならないため、多大な時間及び工数がかかるという問題がある。なお、作成された画面でも単件データ又は少量のデータしか取り扱うことができず、大量のデータの処理には不便さがあり、しかも、処理に長い時間がかかる。
このために、データベースをより効率よく修正するために、ネットワークに基づいて遠隔データベースをローカルで修正する様々な技術が提案されている。例えば、ユーザ装置上で多次元データベースのうちの一部をキャッシングして修正し、これを多次元データベースに反映して、データベースを修正する技術が提案されている(例えば、下記の特許文献2参照)。また、周期的にサンドファイル等の特定のファイルフォーマットを用いて更新する技術が提案されている(例えば、下記の特許文献3参照)。更に、部分データベースにおいてサブセットデータベースの更新を処理する技術が提案されている(例えば、下記の特許文献4参照)。
しかしながら、上記した先行技術等は、いずれもデータベースの一部である他のデータベースを修正して、これを母データベースに反映する技術である。このため、ローカルでもデータベースを構成して処理せねばならないという問題がある。すなわち、ローカルユーザは、データベースを取り扱う知識を有さなければならないという問題がある。
また、大量のデータをデータベースにおいて統合させるための技術も提案されている(例えば、下記の特許文献5参照)。すなわち、データの集まりを変換データに変換する多数の連続した作業を含む処理チェーンを行って、変換データを基準としてデータベースを変更する技術である。しかしながら、上記した先行技術等は、新たに追加されるデータを特定のフォーマットで設定した後に、これらのデータを元のデータベースに変換して保存する技術である。このため、一般のユーザが大量のデータを特定のフォーマットで構成せねばならず、これを直観的に処理することができないという問題がある。
本発明は、上記事情に鑑みてなされたものであり、ベータベースのデータセットをエクセル、ロータス等のシプレッドシートのワークシートに取り込んで修正すると、初期データセットと対比して、更新されたレコード及びそのフィールドを抽出し、それぞれの更新された各レコード別にクエリ文をそれぞれ作成してデータベースを更新する、スプレッドシートに基づくデータベースの更新方法を提供することを目的とする。
また、本発明は、初期データセットと更新済みデータセットを対比するが、先ず、各レコードセットをソートした後、各レコードを順次に対比し、各レコード別に各フィールドを対比して修正されたフィールドを抽出してクエリ文を作成する、スプレッドシートに基づくデータベースの更新方法を提供することを他の目的とする。
上記目的を達成するための本発明は、データベースとネットワークで連結されるスプレッドシートに基づくデータベースの更新方法に関し、(a)前記データベースから対象テーブルのデータセットを要請して取り出し、取り出した初期データセットを保存する段階と、(b)スプレッドシートインタフェースを提供し、ワークシートを生成して前記データセットの構造及びレコードデータを前記ワークシートの上に表示する段階と、(c)前記スプレッドシートインタフェースを用いたユーザの入力に応じて前記ワークシート上のレコードセットのレコードデータを更新する段階と、(d)前記初期データセットと前記更新済みデータセットを比較し、更新されたレコードを抽出し、更新されたレコードのデータセット構造及びレコードデータを定義する段階と、(e)定義されたレコードのデータセット構造を用いて更新されたデータに対してクエリ文を生成し、生成したクエリ文を用いてデータベースを更新する段階と、を含むことを特徴とする。
また、本発明は、スプレッドシートに基づくデータベースの更新方法において、前記(d)段階において、前記初期データセット及び前記更新済みデータセットをそれぞれキーフィールドを用いてソートし、前記初期データセットと前記更新済みデータセットのそれぞれのレコードを順次に対比することを特徴とする。
また、本発明は、スプレッドシートに基づくデータベースの更新方法において、前記(d)段階は、(d11)前記初期データセット及び更新済みデータセットのレコードをキーフィールドによりそれぞれソートする段階と、(d12)前記初期データセット及び更新済みデータセットの初期レコードを現在レコードに設定する段階と、(d13)前記初期データセット及び更新済みデータセットの現在レコードのキー値を互いに比較する段階と、(d21)同一であれば、現在レコードのフィールド値をそれぞれ対比し、修正の有無を判断して更新内容を定義する段階と、(d31)初期データセットの現在レコードのキー値が、更新済みレコードセットの現在レコードのキー値よりも先行する場合は、初期データセットの現在レコードが削除されたものと判断して更新内容を定義する段階と、(d33)初期データセットの現在レコードを次レコードに設定し、前記(d13)段階から改めて始める段階と、(d41)更新済みデータセットの現在レコードのキー値が、初期レコードセットの現在レコードのキー値よりも先行する場合は、更新済みデータセットの現在レコードが挿入されたものと判断して更新内容を定義する段階と、(d43)更新済みデータセットの現在レコードを次レコードに設定し、前記(d13)段階から改めて始める段階と、を含むことを特徴とする。
また、本発明は、スプレッドシートに基づくデータベースの更新方法において、前記(d)段階は、(d22)前記(d21)段階以降、前記初期データセット及び更新済みデータセットの現在レコードのいずれか一つが最後のレコードであるかを判断する段階と、(d24)いずれか一つのレコードが最後のレコードであれば、残りレコードがあるかを確認し、残った更新済みレコードセットのレコードが挿入されたものと、残った初期データセットのレコードは削除されたものと判断して定義する段階と、(d32)前記(d31)段階以降、初期データセットの現在レコードが最後のレコードであるかを判断する段階と、(d34)前記初期データセットの現在レコードが最後のレコードであれば、更新済みデータセットの現在レコード及び残りレコードは挿入されたものと判断して定義する段階と、(d42)前記(d41)段階以降、更新済みデータセットの現在レコードが最後のレコードであるかを判断する段階と、(d44)更新済みデータセットの現在レコードが最後のレコードであれば、初期データセットの現在レコード及び残りレコードは削除されたものと判断して定義する段階と、をさらに含むことを特徴とする。
また、本発明は、スプレッドシートに基づくデータベースの更新方法において、前記(d21)段階において、前記初期データセット及び更新済みデータセットの現在レコード間の各フィールドを比較し、相違したフィールドを修正されたフィールドであると判断し、修正された更新内容として定義するが、更新内容には、更新種類として、修正、キーフィールドのキー値、修正されたフィールドのフィールド値で定義し、前記(e)段階において、クエリ文を生成するとき、修正クエリ文は、修正されたフィールドのみでクエリ文を作成することを特徴とする。
また、本発明は、スプレッドシートに基づくデータベースの更新方法において、前記(e)段階において、削除クエリ文をキーフィールドのみで生成し、入力クエリ文は、レコードセット構造の全フィールドを用いて生成することを特徴とする。
また、本発明は、スプレッドシートに基づくデータベースの更新方法において、前記(d)段階において、データセット構造をXML(Extensible Markup Language)文書として定義し、更新されたデータをフラットファイルとして定義するが、前記フラットファイルに予め定義されたカラム及び行の区切り子により各レコードのフィールド値を区分して定義することを特徴とする。
上述したように、本発明に係るスプレッドシートに基づいたデータベースの更新方法によれば、事務用に多用されるエクセル等のスプレッドシートを用いてデータベースを更新することにより、ユーザは、クエリ文等のデータベースの処理方法に関する知識なしにも直観的にデータを更新してデータベースをアップデートすることができるという効果が得られる。
また、本発明に係るスプレッドシートに基づいたデータベースの更新方法によれば、初期データセットと更新済みデータセットの各レコードの各フィールド間においても対比し、各修正されたフィールドを抽出することにより、修正されたフィールドのみで修正クエリ文を作成し、各レコード別に最適のクエリ文を作成することができ、これにより、短時間内でクエリ文を生成し、処理することができるという効果が得られる。
また、本発明に係るスプレッドシートに基づいたデータベースの更新方法によれば、ユーザは手軽に且つ速やかに大量のデータを処理することができるので、自分が希望するデータ分析報告書を作成し且つ分析して、経営計画、シミュレーション、パイロットの開発に際してのテスト加工等、様々な分野において活用することができるという効果が得られる。
以下、本発明の実施のための具体的な内容について添付図面に基づいて説明する。
また、本発明を説明するに当たって、同じ部分には同じ符号を付し、その重複する説明を省略する。
先ず、図1を参照して、本発明に係るスプレッドシートに基づくデータベースの更新方法を行うための全体システムについて説明する。
図1に示すように、本発明を実施するための全体システムは、ユーザ端末10に設けられるクライアント20と、クライアント20とネットワークを介して連結される更新サーバ30と、データを保存して管理するデータベース40と、を備える。図2は、図1の全体システムを示す構成図である。図2に記載された「ユーザ」が、ユーザ端末10内の構成であり、クライアント20により駆動される構成を表示している。
クライアント20は、ユーザ端末10に設けられるクライアント用プログラムシステムであり、ウェブブラウザを介してユーザインタフェースを有する。すなわち、ユーザは、ウェブブラウザ又はウェブブラウザ等の画面のインタフェースを介して、オンライン上でデータ更新等の処理作業を行う。このとき、ユーザ端末10は、ユーザの命令等を入力されて当該命令を行い、処理結果を画面上に又はウェブブラウザ上に表示する。
一方、ユーザ端末10は、パソコン(PC)、ノート型パソコン、タブレットPC、ファブレット、PDA、スマートフォン等のコンピューティング機能を有するコンピュータ端末である。ユーザ端末10及び更新サーバ30はネットワークを介して連結され、ユーザ端末10上のクライアント20は、オンライン上でデータ処理作業を行う。
また、クライアント20は、データ要請、データ更新等のオンライン上で処理する作業を更新サーバ30に要請し、その結果を、サーバ30から取り出してウェブブラウザの上に表示する。或いは、処理されたデータを更新サーバ30に転送する。特に、クライアント20は、データベース40から取り出されたデータをエクセル(マイクロソフト社製のスプレッドシートソフトウェア商標である。)、ロータス(Lotus1‐2‐3、ロータスソフトウェア社製のプログラム商標である。)、ハンセル(ハングルとコンピュータ社製のプログラム商標である)等のスプレッドシートプログラムのインタフェースを介して表示し、又は命令/データを入力される。なお、クライアント20は、スプレッドシートインタフェースを介して処理されたデータの更新結果を更新サーバ30に転送する。
次いで、更新サーバ30は、データベース40からデータセットを取り出してクライアント20に転送し、又はクライアント20から更新済みデータセットを回答してデータベース40を更新する。特に、更新サーバ30は、クライアント20から新たに追加されたり、削除されたり、修正されたりしたデータを検出し、変更されたデータを処理するためのデータベースクエリ文を自動的に作成する。更新サーバ30は、作成されたクエリ文をデータベース40に要請して、その結果がデータベース40に反映されるように要請する。
一方、上述したクライアント20及び更新サーバ30の機能は一例に過ぎず、サーバ及びクライアントの実現技術に応じて多様に具体化される。すなわち、クライアント20及び更新サーバ30は、一つの更新システムであり、これらの機能が性能に応じて互いに分配される。
他の例によれば、クライアント20は、単にウェブブラウザ機能のみを有しており、全ての機能は更新サーバ30において構築される。すなわち、更新サーバ30は、データベース40のインタフェース機能及び修正されたデータに対するクエリ文の作成機能だけではなく、スプレッドシートに基づくインタフェースを用いてデータを修正する機能をいずれも有する。
更に他の例によれば、更新サーバ30は、単にデータベース40とのインタフェース機能のみを有しており、クライアント20は、スプレッドシートに基づくインタフェースを介してデータの修正機能だけではなく、修正されたデータに対するクエリ文の自動生成機能まで有する。
更に他の例によれば、更新サーバ30なしに、クライアント20が直ちにデータベース40に接続して、上述したデータベース接続機能、スプレッドシートインタフェースを用いたデータの修正機能、及びクエリ文の自動生成機能等をいずれも行う。
次いで、データベース60は、データを保存するための通常のデータベース(DB)であり、データを管理するためのデータベース管理システム(DBMS:Database Management System)を備え、データの保存、削除、検索等の作業をクエリを用いて行う。特に、データベース40は、商用化されたデータベースであり、データセットを処理するための通常のクエリ機能を用いてデータクエリサービスを行う。
特に、データベース40は、ビッグデータを保存するデータベースである。また、好ましくは、データベース40は、関係型データベース(RDB:Relational Database)である。
以下の説明において、データセットの修正、削除、挿入等の全体データセットを変更する作業を、「更新」する作業として表現する。すなわち、更新作業は、修正、削除、挿入を全て含む概念として用いる。すなわち、修正は、レコードのうちの一部のフィールド値を変更することを言い、更新は、レコードを修正、削除、挿入等の変更する作業のことをいう。意味の差が大きくないときは、「修正」の用語を「更新」の用語と混用してもいい。
次いで、図3を参照して、本発明の一実施例によるスプレッドシートに基づくデータベースの更新方法についてさらに具体的に説明する。上述したように、データベースの更新方法は、ユーザ端末10のクライアント20と、ネットワークに接続されたサーバ30により行われる方法である。
図3に示すように、本発明の実施例によるスプレッドシートに基づくデータベースの更新方法は、(a)データベースのデータセットを要請して受信する段階(S100)と、要請したデータセットをスプレッドシートインタフェースに表示する段階(S200)と、ワークシート上でデータセットのうちの一部のデータを更新する段階(S300)と、初期データセットと更新済みデータセットを比較し、更新内容を抽出して定義する段階(S400)と、更新されたデータを更新するためのクエリ文を生成してデータベースを更新する段階(S500)と、で構成される。
先ず、更新サーバ30は、データベース40に要請してデータベース40からデータセットを取り出す(S100)。ここで、データセットとは、同一のフィールドで構成される多数のレコードで構成されるデータの集まりのことをいう。すなわち、一つのレコードは、多数のフィールド値により構成されるが、全てのレコードのフィールド(カラム)は、同一のフィールド(又は、カラム)を有する。
好ましくは、データセットは、一つのデータベース(DB)テーブルから取り出されたデータである。
具体的に、更新サーバ30は、データベース40に要請して、目的データベースのテーブル一覧を問い合わせ、問い合わせられたテーブル一覧を画面に表示する。ユーザは、画面に表示されたテーブル一覧のうち、所望のテーブルを選択する。図4は、テーブル一覧のうち、取り出すべきテーブルを選択する画面の一例を示す。
ユーザ画面に表示されたテーブルのうちから一つが選択されると、当該テーブルに関するスキーマ情報を取り出す。目的データベース又は対象テーブルのスキーマは、テーブルのデータがどのように構成されているかに関する細部情報である。すなわち、スキーマは、各データフィールドの名前、表示名、データのタイプ(種類)、条件等のテーブルデータの構造を示す。このように取り出されたデータは、一つのデータセットを形成する。
他の例によれば、更新サーバ30は、目的データベースのテーブルデータをクエリ文を用いて取り出す。好ましくは、このときのクエリ文は、一つのテーブルに対するクエリ文であり、必ずクエリ結果内に当該テーブルのキーフィールドが存在しなければならない。このとき、多数のフィールドがキーを形成する場合、当該多数のフィールドがいずれも含まれなければならない。クエリ文を用いて取り出されたデータは、一つのデータセットを形成する。
すなわち、更新サーバ30は、目的データベースからデータセットを取り出す。前記テーブルを選択する場合には、取り出すべきデータセットは当該テーブルの全てのデータであり、対象テーブルからクエリ文を取り出した場合は、クエリ文によるフィルタリングされたテーブルの一部である。このとき、好ましくは、ジャバデータベース(DB)接続ドライバ(JDBC:Java Database Connectivity)等を介して目的データベースのデータを取り出す。前記データスキーマもジャバデータベース(DB)接続ドライバを用いて取り出す。
一方、他の実施例によれば、更新サーバ30は、目的データベースの対象テーブルをデータセットとして取り出し、取り出されたデータセット(又は、対象テーブル)に対してクエリを行うクエリ編集器を用いて、クエリ結果を抽出する。また、抽出されたクエリ結果を一つのデータセットとして用いる。すなわち、後述する更新サーバ30から抽出されたクエリ結果のデータセットのみをワークシートの上にデータとして表示する。これにより、対象テーブルの全体をワークシートの上に表示せずに、ユーザが希望するフィールドのみにより構成されたテーブルをワークシートの上に表示する。なお、不要なデータフィールドを表示しないことから、ユーザのデータ編集の使い勝手を高めることができる。
上述したように、目的データベースから取り出されたテーブルのデータセット、又はクエリ文により取り出されたデータセット、又はテーブルをクエリ文によりフィルタリングしたデータセット等は、いずれも更新すべきデータセットである。以下、これを初期データセット(第1のデータセット又はオリジナルデータセットという。)と称する。
また、更新サーバ30は、初期データセットを保存する。
次いで、更新サーバ30は、スプレッドシートインタフェースを提供し、エクセル、ロータス等のスプレッドシートの上にワークシート(以下、ワークシートという。)を生成し、生成されたワークシートの上にデータセットを表示する(S200)。特に、目的データベースから取り出されたデータセットをスプレッドシートのワークシートの上に表示する。スプレッドシートは、エクセル(マイクロソフト社製のプログラム商標である。)、ロータス(Lotus1‐2‐3、ロータスソフトウェア社製のプログラム商標である。)、ハンセル(ハングルとコンピュータ社製のプログラム商標である)等、行及び列により区分された表の形式で表示されるワークシートにより構成され、各セルのデータを処理するスプレッドシートソフトウェアプログラムである。
先ず、更新サーバ30は、対象データセットのスキーマ情報(又は、データセットの構造)を分析し、各フィールドに関する詳細情報に合わせてワークシートを作成する。このため、ワークシートを新たに生成する。
その一例として、図5に示すように、ワークシートの列に応じて、各データフィールドの名前、表示名、データのタイプ(種類)、条件、キーフィールド等のテーブルデータの細部構造を表示する。また、各列に相当するデータのタイプを解析し、各列の表示属性(特に、数字に対する表示形式)をデータのタイプ(形式)に合わせて補正する。例えば、列(フィールド)の名前が「誕生日」であるが、当該フィールドの形式が日付け形式であれば、当該列を全て日付け形式に設定する。なお、通話表示であれば、これによるデータ形式で表示する。
また、更新サーバ30は、スプレッドシートのワークシートを生成するとき、スプレッドシートから提供するワークシートに連動される実行モジュールを一緒に生成する。実行モジュールは、VBA(Visual Basic for application)等のスクリプト方式のプログラム言語により作成されたモジュール(又は、コード)である。実行モジュールは、ワークシート内において特定のイベントが発生すると、各イベントに対応する関数が実行されるようにするモジュールである。このため、更新サーバ30によりワークシート上でユーザが削除、修正、挿入等の特定の作業を行うと、当該作業又は作業イベントに応じて前記実行モジュール内の関数が実行され、関連作業を行う。
例えば、実行モジュールは、ワークシートの列やデータセットのスキーマが表示された行等を削除し、又はフィールド名やフィールド属性等の当該セルの値を変更する場合は、このような作業をキャンセルすることを警告し又は復元させる。
更に、更新サーバ30は、更新すべきデータセット(又は、初期データセット)をスプレッドシートのワークシートに表示する。図6に示すように、前記データの各フィールドのフィールド名等の細部構造が前記ワークシートの上に列をなして並んで記載されており、当該フィールド名に対応する列内の下の行に連続して当該フィールド値(又は、テーブルデータ)を表示する。すなわち、図6に示すように、スプレッドシート(又は、ワークシート)上のデータは、行及び列により各セルにデータが表示され、このとき、上段行内における各列にはフィールド名(フィールドの名前)、表示名、データタイプ等が記載され、その下にレコードを各フィールドに合わせて配列する。
すなわち、初期データセットは、多数のレコードにより構成され、各レコードは、ワークシート上で一つの行に表示される。レコードの各列に該当するセルには、当該レコードフィールドのフィールド値が表示される。特に、前記各フィールドの列に対するデータ形式を分析し、当該形式で全ての列を設定したので、当該レコードの当該列はいずれもそのデータ形式に合わせてスプレッドシートのワークシートの上に表示される。
図6の例において、EMPLOYEESテーブルの場合、EMPLOYEE_IDが主キーであるため、このカラム(又は、列)は重複を許容しない。
また、更新サーバ30は、一つのワークシートの上に表示可能なレコードの最大数を予め設定する。また、当該最大数を超えると、新たなワークシートを生成し、残りレコードを生成されたワークシートに表示する。例えば、スプレッドシート画面においてデータを処理するので、同一のシート内において100万件、複数のシートを介して数百万件のデータを定義し、データベースに入力することができる。
一方、更新サーバ30は、エクセル、ロータス等の商用化されたスプレッドシートプログラムの主な機能のみを埋め込んで用いる。すなわち、スプレッドシート処理作業は、スプレッドシートのコア機能により行われ、全体のインタフェースは、更新サーバ30により処理される。後述する更新サーバ30も同様である。
更に、更新サーバ30は、命令を行うための命令ボタンをワークシートの上に表示する。好ましくは、命令ボタンは、テーブル又はクエリ結果を問い合わせるための問い合わせボタンや、更新されたデータをサーバに転送してデータベースを更新するための確認ボタン等を備える。
次いで、更新サーバ30は、ワークシート上に表示されたデータに対して更新作業を行う(S300)。特に、更新サーバ30は、前記フレーム30が提供するスプレッドシートインタフェース画面を介して、ユーザの命令に応じてデータ更新作業を行う。
すなわち、更新サーバ30は、初期データセットをスプレッドシートのワークシートの上に表示し、ユーザにより処理されるスプレッドシートのワークシート上の作業を処理する。例えば、ユーザがスプレッドシート上で特定のセルのデータを修正したり、特定の行を挿入したり、削除したりする。このとき、通常のスプレッドシートインタフェースと同じタイプでインタフェースを処理する。
また、更新サーバ30のインタフェースの各機能は、ワークシートと連動される実行モジュール(VBA等のスクリプト言語で作成されたプログラムモジュール)により実現される。すなわち、ワークシート上でユーザが修正、挿入、削除等の特定作業を行うと、当該作業を一つのイベントと判断して、当該作業イベントに対応する実行モジュールの関数が実行される。このような機能は、スプレッドシートのコア機能から提供される。以下、説明の便宜のために、修正、削除、挿入(新規追加)等によりデータの内容が異なってきたものをいずれも「更新」されたものとする。
好ましくは、更新サーバ30は、ワークシートの列、データセットのスキーマが表示された行等が削除されたり、フィールド名やフィールド属性等の当該セルの値が変更されると、当該作業をキャンセルすることを警告し又は復元させる。
図7は、図6のレコードデータのうちの一部が更新された状態を示す。すなわち、キー104のレコードが削除され、キー105、106、108のレコードがそれぞれ変更され、変更されたデータは給料及び電話番号(phone_number)である。また、キー112のレコードが新たに追加された。
次いで、更新サーバ30は、初期データセットと更新済みデータセットを比較し、更新内容を抽出し、これを定義する(S400)。更新サーバ30は、保存された初期データセットを取り出し、現在のワークシート上に表示されたデータセットと対比する。このとき、現在のワークシート上に表示されたデータセットを更新済みデータセットと称する。
好ましくは、更新サーバ30は、初期データセット及び更新済みデータセットをそれぞれキーフィールドを用いてソートし、初期データセット及び更新済みデータセットのそれぞれのレコードを順次に対比する。
一方、図8は、更新サーバ30が初期データセットと更新済みデータセットを比較し、更新された内容を検出する方法を示す。
図8に示すように、先ず、更新サーバ30は、データセットの全体のスキーマ構造を定義する(S410)。データセットの構造を定義する具体的な方法は、最後に説明する。
次いで、更新サーバ30は、初期データセット及び更新済みデータセットをキーフィールドを介してソートする(S411)。また、それぞれのデータセットの1番目のレコードセットをそれぞれ現在レコードに設定する(S412)。
また、現在レコード間のキー値を対比する(S413)。
若し、各キー値が同一であれば、初期データセット及び更新済みデータセットの現在レコードのそれぞれのフィールド値を対比して修正の有無を判断する(S421)。また、修正されたと判断されれば、修正された更新内容を定義する。
次いで、いずれか一つの現在レコードが最後のレコードであるかを対比する(S422)。最後のデータでなければ、各現在レコードを次レコードに設定し、前記レコードのキー値を対比する段階(S413)を再び繰り返す(S423)。
いずれか一つの現在レコードが最後のレコードであれば、残りレコードがあるかを確認する。初期データセット及び更新済みデータセットが全て最後のレコードであれば、それ以上進行せずに終了する。初期データセットの現在レコードが最後のレコードであり、更新済みレコードが残っていれば、当該更新済みレコードは、挿入されたものと判断し、挿入の更新内容として定義する。これに対して、更新済みデータセットの現在レコードが最後のレコードであり、初期データセットのレコードが残っていれば、当該初期レコードは、削除されたものと判断し、削除の更新内容として定義する(S424)。
次いで、現在レコードのキー値を比較し、初期データセットの現在レコードが先行すれば、初期データセットの現在レコードが削除されたものと判断し、削除内容として定義する(S431)。また、初期データセットの現在レコードが最後のレコードであるかを判断する(S432)。
最後でなければ、初期データセットの現在レコードを初期データセットの次レコードに設定し、前記レコードのキー値を対比する段階(S413)を再び繰り返す(S433)。また、最後であれば、更新済みレコードセットの現在レコード及び残りレコードが挿入されたものと判断する(S434)。それから、終了する。
次いで、現在レコードのキー値を比較し、更新済みデータセットの現在レコードが先行すれば、更新済みデータセットの現在レコードが挿入されたものと判断し、挿入の更新内容として定義する(S441)。また、更新済みデータセットの現在レコードが最後のレコードであるかを判断する(S442)。
最後でなければ、更新済みデータセットの現在レコードを更新済みデータセットの次レコードに設定し、前記レコードのキー値を対比する段階(S413)を再び繰り返す(S443)。また、最後であれば、初期データセットの現在レコード及び残りレコードが削除されたものと判断し、削除内容として定義する(S444)。それから、終了する。
一例として、図6及び図7の例をみると、図6は、初期データセットであり、図7は、更新済みデータセットである。図6及び図7は、いずれも既にソートされたデータセットである。
このとき、キー103までのレコードが対比されてから、現在レコードが次レコードに設定される。このとき、初期データセットは、キー104のレコードが現在レコードであり、更新済みデータセットは、キー105のレコードが現在レコードである。この場合、初期データセットの現在レコードのキー104が、更新済みレコードセットの現在レコードのキー105よりも先行する。したがって、図8Bの過程に該当する。このため、キー104の初期データセットの現在レコードが削除されたものと判断される。
また、キー110までのレコードが対比されてから、現在レコードが次レコードに設定される。このとき、初期データセットは、キー114のレコードが現在レコードであり、更新済みデータセットは、キー112のレコードが現在レコードである。この場合、更新済みデータセットの現在レコードのキー112が、初期レコードセットの現在レコードのキー114よりも先行する。したがって、図8Cの過程に該当する。このため、キー112の更新済みデータセットの現在レコードが挿入されたものと判断される。
また、図7の例において、データセル値またはフィールド値が変更されたものは、キー105、106、108のレコードである。これらのレコードは、初期データセットのレコードと、給料(salary)又は電話番号(phone_number)のフィールド内のフィールド値が異なるので、修正されたものと判断される。これは、図8AのS421段階に該当する。すなわち、これらのレコードは、修正されたレコードである。
次いで、前記各段階において、更新内容を定義することについてさらに具体的に説明する。
更新サーバ30は、ワークシート又はワークシート上で更新されたデータ(又は、レコード)に対して更新内容を定義する。好ましくは、XML文書の形態として定義し、データは、フラットファイルで構成する。
すなわち、更新サーバ30は、前記更新サーバ30により検出された更新レコードに対してそれぞれ更新内容を定められた定義規則により定義する。このとき、定義すべき内容は、更新すべきデータ又はデータセットの構造又はスキーマを表示するテーブル情報及び更新すべきデータである。更新サーバ30は、更新済みデータ又は更新済みレコードに対してのみ更新データを書き込む(又は、定義する)。すなわち、全く更新されていないデータは書き込まない。
前記S410段階において、更新サーバ30は、データセット(又は、更新データ構造)を予め定められたフォーマット(又は、定義規則)により定義する。好ましくは、データセットの構造(又は、更新データ構造)をXML文書で表示する。図9は、データセットの構造をXML文書で表示した一例を示す。
図9に示すテーブル情報又はデータセットの情報は、下記のような個体及びその属性に関するデータを含む。好ましくは、テーブル情報又はデータセットの構造に関する情報は、テーブル名(ユーザ画面からテーブルを選択するときに自動的に指定される)、データベース(DB)接続コード(DB Connection code、ユーザ画面においてデータベース(DB)に接続されるときに自動的に指定される)、キーフィールドの存否、データタイプ、ヌル(NULL)値の許容有無等の内容を含む。
(1)ExecuteInfo:実行すべきデータベース情報
‐ConnectionCode:サーバに定義されたデータベースコード
(2)DataTable:更新すべきテーブル情報、多数のテーブルを同一のトランザクションで処理可能
‐Name:テーブル名
‐Caption:表示名
‐TargetTable:更新すべきテーブル名
(3)Column:テーブル(又は、データセット)のカラム情報
‐Name:カラム名
‐Caption:カラム表示名
‐Constraint:key情報 P:Primary key V:not null N:nullable
‐DataType:データタイプ C:String N:数字型、D:Data型
‐UpdateFlag:更新クエリの生成時にカラムを含むか否か
(4)Rows:処理すべきデータを定義する
‐RowIndexCol:データ行の通し番号が位置すべき列
‐RowStateCol:データの件別の処理に際して当該項を処理する区切りコードが位置すべき列
‐TextType:処理すべきデータの位置 FILE:添付ファイルとして転送する XML:xmlを内部に含む
‐ConnectionCode:サーバに定義されたデータベースコード
(2)DataTable:更新すべきテーブル情報、多数のテーブルを同一のトランザクションで処理可能
‐Name:テーブル名
‐Caption:表示名
‐TargetTable:更新すべきテーブル名
(3)Column:テーブル(又は、データセット)のカラム情報
‐Name:カラム名
‐Caption:カラム表示名
‐Constraint:key情報 P:Primary key V:not null N:nullable
‐DataType:データタイプ C:String N:数字型、D:Data型
‐UpdateFlag:更新クエリの生成時にカラムを含むか否か
(4)Rows:処理すべきデータを定義する
‐RowIndexCol:データ行の通し番号が位置すべき列
‐RowStateCol:データの件別の処理に際して当該項を処理する区切りコードが位置すべき列
‐TextType:処理すべきデータの位置 FILE:添付ファイルとして転送する XML:xmlを内部に含む
データセットのカラム情報又はフィールド情報は、対象テーブルの全体のフィールド情報を示してもよく、その一部を示してもよい。すなわち、前記対象テーブルをクエリを用いて一部のみ取り出す場合には、テーブルのフィールドのうちの一部に対してのみフィールド構造を生成する。
また、更新サーバ30は、前記各段階において、アップデート(修正)、削除、挿入等の更新内容を予め定められたフォーマットで書き込む。特に、更新サーバ30は、更新内容を予め定められたフォーマットで書き込んでファイルまたは更新文書として生成する。好ましくは、更新サーバ30は、ワークシート上で更新された内容をフラットファイルとして生成する。フラットファイルとは、データを一連の文字列(string)により構成する通常のファイルのことをいう。
図10は、フラットファイルの一例を示す。好ましくは、スプレッドシート画面に定義されたデータは、サーバと予め定義されたカラム、行区切り子により、図10に示す形態のテキストファイルとして作成されてサーバに転送される。ここで、例えば、カラム区切り子を「|」で示し、行区切り子を「エンター(又は、改行)」記号で示す。
特に、図10において、各行の先頭に当該レコード(当該行)がどのように処理されるかに対する更新の種類を表示する。各更新状態の記号は、下記の通りである。
C:新規入力 U:データの修正 D:データの削除
C:新規入力 U:データの修正 D:データの削除
このとき、入力、修正、削除の更新種類に応じて、生成する更新内容が異なる。
先ず、更新内容が、一部のフィールド値のみが修正される修正の場合について説明する。
修正された更新内容は、「アップデート(修正)」を示す記号、修正されたフィールド、及びそのフィールド値で構成される。また、当該レコードを識別するためのキーフィールドも含む。
キー105のレコードの例を挙げると、更新内容は下記の通りである。
「アップデート」、「EMPLOYEE_ID=105」、「SALARY=5500」
「アップデート」、「EMPLOYEE_ID=105」、「SALARY=5500」
このような更新内容は、下記のように予め定義された規則により表示され得る。
「U|1|105|8|5500」
「U|1|105|8|5500」
すなわち、最初の「U」は、データ修正(アップデート)を示し、次の数字とフィールド値で構成されるが、数字は、当該フィールドのインデックスを示す。すなわち、「EMPLOYEE_ID」は、1番目のフィールドであり、「SALARY」フィールドは、8番目のフィールドである。それぞれ「105」と「5500」は、それぞれ当該フィールド(EMPLOYEE_ID、SALARY)のフィールド値である。
次いで、更新内容が、当該レコードを削除する場合について説明する。
この場合、削除されるべきレコードのキー値を定義する。すなわち、更新内容は、更新種類である「削除」とキー値のみで構成され、一例として、下記の通りである。
「D|104」
「D|104」
すなわち、Dは、更新種類である削除を示し、「104」は、キー値を示す。
また、更新内容が、新たなレコードを挿入する場合は、全体のデータセットの構造内容を全て記載する。すなわち、更新種類である「挿入」と、全てのフィールドのフィールド値とで構成される。一例として、下記の通りである。
「C|112|Karen|Colmenares|KCOLMENA|515.127.4566|2007‐08‐10|PU_CLERK|2500|30」
「C|112|Karen|Colmenares|KCOLMENA|515.127.4566|2007‐08‐10|PU_CLERK|2500|30」
すなわち、「C」は、更新種類である「挿入」を示し、「112」、「Karen」、「Colmenares」、…、「30」は、全フィールド、すなわち、それぞれ「EMPLOYEE_ID」、「FIRST_NAME」、「LAST_NAME」、…、「DEPARTMENT_ID」フィールドのフィールド値を示す。
次いで、更新サーバ30は、テーブル情報及び更新すべきデータが定義された更新内容(または更新文書の内容)に基づき、更新済みデータに対してクエリ文を生成し、これを用いてデータベースに更新する。このとき、更新サーバ30は、データセットの構造を用いてクエリー文を生成する。
すなわち、更新サーバ30は、テーブル情報を定義した更新文書の内容を解析して、更新すべきデータベース、テーブル、カラム情報を抽出する。また、抽出された情報を用いて、入力クエリ、アップデートクエリ(修正クエリ)、削除クエリ等を生成する。
更新サーバ30は、入力、アップデート(修正)、削除等の当該クエリ文のフォーマットを作成し、クエリ命令フォーマットでテーブル名及びフィールド名(カラム名)等を記載し、且つ、変数値又はカラム値に相当する更新内容のフィールド値を挿入し、クエリ文を生成する。
また、更新サーバ30は、データをそれぞれレコード別に読み込んで、各レコードに対して実際のクエリを生成する。このとき、各レコードの更新の種類に応じて当該種類のクエリ文(例えば、追加クエリ文、更新クエリ文、削除クエリ文等)を生成する。特に、更新サーバ30は、更新すべきデータ(または更新文書)をストリームとして受信し、ストリームとして受信される順番に、各更新すべきレコードの内容に従いクエリ文をリアルタイムにて生成する。
図11は、図10の更新データ(又は、レコード)に対して作成された実際のクエリを示す。
先ず、図11の(a)に示すように、削除クエリは、「DELETE FROM」から始まるクエリ文のフォーマット通りに記載し、「FROM」の後ろには、データセットの目的テーブルの名前を記載し、WHERE節には、キーフィールド名と当該キー値を挿入する。このとき、キーフィールドが数個である場合、ANDにより数個のキーフィールド及びその当該キー値を全て挿入する。
次いで、修正(アップデート)クエリは、修正すべきフィールド名とフィールド値のみを挿入する。このとき、更新サーバ30は、更新文書又は更新データのフィールドインデックスを取り出し、データセット構造(又は、スキーマ構造)からインデックスに該当するフィールド名を取り出す。
図11の(b)に示すように、キー105と106のレコードは、SALARYフィールドのみが修正され、修正クエリは、SALARYフィールドのみで記載される。また、キー108のレコードは、電話番号フィールドのみが修正され、当該フィールドのみが記載される。
また、図11の(c)に示すように、入力クエリは、全てのフィールド名が全て記載され、当該フィールド値が全て記載される。
また、更新サーバ30は、生成(作成)されたクエリ文をデータベース40に要請し、対象テーブルのデータを更新するように要請する。
更新サーバ30は、前記生成された実際のクエリ文を各レコード別にデータベース40に転送して更新を要請する。しかしながら、個別的に各レコード別にクエリ文をデータベース40に要請すると、全体の更新時間が長引き、しかも、コストが嵩む。これは、データベースは一回のトランザクションにより一つの要請を処理するが、トランザクションを行うための作業が多いためである。
このため、好ましくは、更新サーバ30は、多数のレコード別の実際のクエリをバッチにまとめて一括処理する。すなわち、クエリ文は一回のみ生成し、転送データの処理は、当該クエリの変数に当該カラム値のみをマッピングしてバッチに追加した後、最後にもう一回データベースに実行(Execution)を要請するので、速やかに大量のデータを処理することができる。
次いで、本発明の効果についてさらに具体的に説明する。
先ず、本発明は、実行件数に制約がない。
ユーザが登録/修正/削除したデータをアップロードストリームを介してサーバに転送するので、単件データから数百万件の大量データに至るまで自由に取り扱うことができる。データ情報は、定められた行、列の区切り子により区分されたフラットファイとして作成されてサーバにアップロードされ、サーバは、アップロードストリームからデータを読み込んで定められた行、列の区切り子を用いてパーシングした後、一緒に転送されたxml情報から予め生成されたクエリにバインドして実行する。
また、大量のデータを速やかに処理することができる。
更新サーバにおいてデータを処理する基本方式は、jdbcドライバを介してデータベースに接続した後、クライアントから送られてきたxml情報をパーシングして入力、修正、削除に相当するクエリ文を生成し、一緒にクライアントから送られてきたアップロードストリームからデータを読み込みながら予め生成されたクエリに変数をバインドした後に実行することである。
このとき、接続オブジェクトのうちPreparedStatementを用いて大きさ(フェッチサイズ)を指定し、バインドされたデータをPreparedStatementのバッチ手段(addBatchmethod)を用いて追加し、全てのデータが追加されたときに一括して実行してデータを処理する。毎件ごとに実行する方式ではなく、一括して実行する方式であるので、データベースの負荷も減り、しかも、速度も非常に速い。
また、データベース(DB)機能を使用機能として提供する。
ユーザが画面において処理したデータだけではなく、データベース機能、ユーザ生成関数等を処理するようにオプションを提供して、サーバにおいてクエリを生成するときに対象カラム処理をデータバインディングの代わりに関数処理する機能を提供する。
また、オラクルシーケンス、sysdate等の時間関数、rownum等のDB関数等をクエリに含めて用いる。
以上、本発明者により行われた発明について実施例により具体的に説明したが、本発明はこれらの実施例に何ら限定されるものではなく、その要旨を逸脱しない範囲内において様々に変更可能であるということはいうまでもない。
10 ユーザ端末
20 クライアント
30 更新サーバ
40 データベース
20 クライアント
30 更新サーバ
40 データベース
Claims (7)
- データベースとネットワークで連結されるスプレッドシートに基づくデータベースの更新方法において、
(a)前記データベースから対象テーブルのデータセットを要請して取り出し、取り出した初期データセットを保存する段階と、
(b)スプレッドシートインタフェースを提供し、ワークシートを生成して前記データセットの構造及びレコードデータを前記ワークシートの上に表示する段階と、
(c)前記スプレッドシートインタフェースを用いたユーザの入力に応じて前記ワークシート上のレコードセットのレコードデータを更新する段階と、
(d)前記初期データセットと前記更新済みデータセットを比較し、更新されたレコードを抽出し、更新されたレコードのデータセット構造及びレコードデータを定義する段階と、
(e)定義されたレコードのデータセット構造を用いて更新されたデータに対してクエリ文を生成し、生成したクエリ文を用いてデータベースを更新する段階と、を含むことを特徴とするスプレッドシートに基づくデータベースの更新方法。 - 前記(d)段階において、前記初期データセット及び前記更新済みデータセットをそれぞれキーフィールドを用いてソートし、前記初期データセットと前記更新済みデータセットのそれぞれのレコードを順次に対比することを特徴とする請求項1に記載のスプレッドシートに基づくデータベースの更新方法。
- 前記(d)段階は、
(d11)前記初期データセット及び更新済みデータセットのレコードをキーフィールドによりそれぞれソートする段階と、
(d12)前記初期データセット及び更新済みデータセットの初期レコードを現在レコードに設定する段階と、
(d13)前記初期データセット及び更新済みデータセットの現在レコードのキー値を互いに比較する段階と、
(d21)同一であれば、現在レコードのフィールド値をそれぞれ対比し、修正の有無を判断して更新内容を定義する段階と、
(d31)初期データセットの現在レコードのキー値が、更新済みレコードセットの現在レコードのキー値よりも先行する場合は、初期データセットの現在レコードが削除されたものと判断して更新内容を定義する段階と、
(d33)初期データセットの現在レコードを次レコードに設定し、前記(d13)段階から改めて始める段階と、
(d41)更新済みデータセットの現在レコードのキー値が、初期レコードセットの現在レコードのキー値よりも先行する場合は、更新済みデータセットの現在レコードが挿入されたものと判断して更新内容を定義する段階と、
(d43)更新済みデータセットの現在レコードを次レコードに設定し、前記(d13)段階から改めて始める段階と、を含むことを特徴とする請求項2に記載のスプレッドシートに基づくデータベースの更新方法。 - 前記(d)段階は、
(d22)前記(d21)段階以降、前記初期データセット及び更新済みデータセットの現在レコードのいずれか一つが最後のレコードであるかを判断する段階と、
(d24)いずれか一つのレコードが最後のレコードであれば、残りレコードがあるかを確認し、残った更新済みレコードセットのレコードが挿入されたものと、残った初期データセットのレコードは削除されたものと判断して定義する段階と、
(d32)前記(d31)段階以降、初期データセットの現在レコードが最後のレコードであるかを判断する段階と、
(d34)前記初期データセットの現在レコードが最後のレコードであれば、更新済みデータセットの現在レコード及び残りレコードは挿入されたものと判断して定義する段階と、
(d42)前記(d41)段階以降、更新済みデータセットの現在レコードが最後のレコードであるかを判断する段階と、
(d44)更新済みデータセットの現在レコードが最後のレコードであれば、初期データセットの現在レコード及び残りレコードは削除されたものと判断して定義する段階と、をさらに含むことを特徴とする請求項3に記載のスプレッドシートに基づくデータベースの更新方法。 - 前記(d21)段階において、前記初期データセット及び更新済みデータセットの現在レコード間の各フィールドを比較し、相違したフィールドを修正されたフィールドであると判断し、修正された更新内容として定義するが、更新内容には、更新種類として、修正、キーフィールドのキー値、修正されたフィールドのフィールド値で定義し、
前記(e)段階において、クエリ文を生成するとき、修正クエリ文は、修正されたフィールドのみでクエリ文を作成することを特徴とする請求項3に記載のスプレッドシートに基づくデータベースの更新方法。 - 前記(e)段階において、削除クエリ文をキーフィールドのみで生成し、入力クエリ文は、レコードセット構造の全フィールドを用いて生成することを特徴とする請求項5に記載のスプレッドシートに基づくデータベースの更新方法。
- 前記(d)段階において、データセット構造をXML(Extensible Markup Language)文書として定義し、更新されたデータをフラットファイルとして定義するが、前記フラットファイルに予め定義されたカラム及び行の区切り子により各レコードのフィールド値を区分して定義することを特徴とする請求項1に記載のスプレッドシートに基づくデータベースの更新方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170022390A KR101899055B1 (ko) | 2017-02-20 | 2017-02-20 | 갱신 데이터별 최적 쿼리문을 생성하는 스프레드시트 기반 데이터베이스 갱신 방법 |
KR10-2017-0022390 | 2017-02-20 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2018136939A true JP2018136939A (ja) | 2018-08-30 |
Family
ID=63365651
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018025700A Withdrawn JP2018136939A (ja) | 2017-02-20 | 2018-02-16 | 更新データ別の最適クエリ文を生成するスプレッドシートに基づいたデータベースの更新方法 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2018136939A (ja) |
KR (1) | KR101899055B1 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110888907A (zh) * | 2019-11-26 | 2020-03-17 | 辽宁鼎汉奇辉电子系统工程有限公司 | 一种基于lkj运行数据的项点识别方法 |
CN111782650A (zh) * | 2020-06-28 | 2020-10-16 | 京东数字科技控股有限公司 | 动态数据入库方法、装置、电子设备及存储介质 |
CN113704257A (zh) * | 2021-08-06 | 2021-11-26 | 网易(杭州)网络有限公司 | 数据表的更新方法和装置 |
US11599718B1 (en) | 2022-03-23 | 2023-03-07 | Acuitive Solutions, Inc. | Database system for storing electronic spreadsheets |
JP7510269B2 (ja) | 2020-04-09 | 2024-07-03 | 株式会社オービックビジネスコンサルタント | 表情報処理装置、表情報処理方法、およびプログラム |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102233944B1 (ko) * | 2019-04-05 | 2021-03-30 | 주식회사 티맥스티베로 | 데이터베이스 관리를 위한 컴퓨터 프로그램 |
KR102466705B1 (ko) * | 2020-06-22 | 2022-11-15 | 주식회사 한글과컴퓨터 | 데이터 속성을 기초로 스프레드시트에서 지정된 영역에 대응되는 테이블을 자동으로 생성할 수 있는 문서 편집 장치 및 그 동작 방법 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012123607A (ja) * | 2010-12-08 | 2012-06-28 | Mitsubishi Electric Corp | データ入出力装置 |
JP2014099004A (ja) * | 2012-11-14 | 2014-05-29 | Mitsubishi Electric Corp | マスタファイル差分自動出力装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101013810B1 (ko) | 2010-01-15 | 2011-02-14 | (주)비아이매트릭스 | 엑셀기반 db테이블 갱신 시스템 및 방법 |
-
2017
- 2017-02-20 KR KR1020170022390A patent/KR101899055B1/ko active IP Right Grant
-
2018
- 2018-02-16 JP JP2018025700A patent/JP2018136939A/ja not_active Withdrawn
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012123607A (ja) * | 2010-12-08 | 2012-06-28 | Mitsubishi Electric Corp | データ入出力装置 |
JP2014099004A (ja) * | 2012-11-14 | 2014-05-29 | Mitsubishi Electric Corp | マスタファイル差分自動出力装置 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110888907A (zh) * | 2019-11-26 | 2020-03-17 | 辽宁鼎汉奇辉电子系统工程有限公司 | 一种基于lkj运行数据的项点识别方法 |
JP7510269B2 (ja) | 2020-04-09 | 2024-07-03 | 株式会社オービックビジネスコンサルタント | 表情報処理装置、表情報処理方法、およびプログラム |
CN111782650A (zh) * | 2020-06-28 | 2020-10-16 | 京东数字科技控股有限公司 | 动态数据入库方法、装置、电子设备及存储介质 |
CN111782650B (zh) * | 2020-06-28 | 2024-04-05 | 京东科技控股股份有限公司 | 动态数据入库方法、装置、电子设备及存储介质 |
CN113704257A (zh) * | 2021-08-06 | 2021-11-26 | 网易(杭州)网络有限公司 | 数据表的更新方法和装置 |
CN113704257B (zh) * | 2021-08-06 | 2023-09-26 | 网易(杭州)网络有限公司 | 数据表的更新方法和装置 |
US11599718B1 (en) | 2022-03-23 | 2023-03-07 | Acuitive Solutions, Inc. | Database system for storing electronic spreadsheets |
Also Published As
Publication number | Publication date |
---|---|
KR20180096854A (ko) | 2018-08-30 |
KR101899055B1 (ko) | 2018-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6199439B2 (ja) | スプレッドシートインタフェースを用いたデータベースの更新システム | |
JP2018136939A (ja) | 更新データ別の最適クエリ文を生成するスプレッドシートに基づいたデータベースの更新方法 | |
EP3128445B1 (en) | Data archive vault in big data platform | |
US8959122B2 (en) | Data processing device | |
JP6284614B2 (ja) | クエリテンプレートを用いた、スプレッドシートインタフェースに基づくデータベースの一括更新システム | |
CA2858680C (en) | Systems and methods for improving database performance | |
JP4256416B2 (ja) | データ構造変換システム及びプログラム | |
US9626368B2 (en) | Document merge based on knowledge of document schema | |
US9471617B2 (en) | Schema evolution via transition information | |
US10042889B2 (en) | Pseudo columns for data retrieval | |
WO2018069811A1 (en) | System and method for retrieving data from server computers | |
KR102034679B1 (ko) | 그리드 인터페이스 기반 데이터 입출력 시스템 | |
US11416458B2 (en) | Efficient indexing for querying arrays in databases | |
US20140149450A1 (en) | Flexible tables | |
KR101908556B1 (ko) | 갱신 레코드를 자동 추출하는 스프레드시트 기반 데이터베이스 자동 갱신 시스템 | |
US20140081907A1 (en) | Client-Side Handling Of Transient Duplicates For Row-Level Replication | |
US20070043783A1 (en) | Handling uniqueness constraints in a database system with versioned data | |
US20040249792A1 (en) | Automated query file conversions upon switching database-access applications | |
US10311049B2 (en) | Pattern-based query result enhancement | |
Brahmia et al. | Schema evolution in conventional and emerging databases | |
Hendawi et al. | EMD: entity mapping diagram for automated extraction, transformation, and loading processes in data warehousing | |
JP6459335B2 (ja) | マニュアル表示制御プログラム、マニュアル表示制御方法及び装置 | |
US20170091230A1 (en) | Dynamic master record selection | |
US20140013198A1 (en) | Reference management in extensible markup language documents |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190130 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190212 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20190514 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20190515 |