###前提・実現したいこと
現在WPFで、ある2つの成分の組み合わせによって決まる数値のデータベースを作成し、そこからデータを読み込み計算を行うアプリを作成しようとしています。
データとしては例えば、
AとBの組み合わせ:数値1は0.5、数値2は0.3
AとCの組み合わせ:数値1は0.4、数値2は0.5
といった形になっています。
(数値の数は不変です)
悩んでいるのは以下の2点です。
①WPFで例えばAとBを選択した際に、数値1は0.5、数値2は0.3という数値をデータベースから取得したいのですが、データベースを何にするかで現在悩んでいます。
データベースの選定に当たっては、
1.データ書き込み、読み込みの速度
2.商用フリーであること
3.プログラミングの知識が無いユーザー側でもある程度自由に書き換えできること(データはプロテクトしないので、理想としてはメモ帳等でちょちょっと編集できるのが望ましい)
を重視したいと考えています。
現在候補としては、CSV、XML、JSON、SQLiteを考えているのですが、現状は個人的に馴染みのあるXMLで考えていますが、実際にアプリ開発等を実務としていらっしゃる方々から、データベースのお勧めについてコメントいただけますと幸いです。
なお、データ自体は現状は数百点程度しかありませんが、ゆくゆくもし数千成分まで拡張すると、組み合わせが数十万に達する可能性もあるので、データサイズとしては数十万の組み合わせについて、それぞれ数値データを10個程度持たせるイメージとなります。
②XMLで組む場合に、現在はXMLで組もうとしておりますが、データベースを作成する際に、効率の良い作り方はあるでしょうか?現状は、以下のような形で作成し、例えばC、Gの組み合わせのデータを得たい場合は、①Comp1==Cとなるnodeを探す⇒②Comp2==Gとなるnodeを探して、数値a~lを取得するという形でデータを取得しようとしていますが、もう少し効率的な探索の仕方がありそうに思います。
なお、データベースを作成する際に成分数が決まっており、A-B、A-C、A-Dといった形でComp1、Comp2を決まった順番で入力しておけば、Comp1とComp2の場所は、一意に決まるのですが、成分数が動く可能性があるのと、ユーザー側がどのようにデータベースに手を加えるか分からないため、各成分の組み合わせがどこの位置に入っているかは読めないという前提になります。
上記のような前提で考えた場合、データベースとしてはsqlite等でクエリを使ってデータ検索した方が早いのでしょうか?
プログラミングは専門出ないため、質問が的外れかもしれませんが、ご意見いただければ幸いです。
XML
1 <pair> 2 <Comp1>A</Comp1> 3 <Comp2>B</Comp2> 4 <a>0.1</a> 5 <b>0.2</b> 6 <c>0.3</c> 7 <d>0.4</d> 8 <e>0.0</e> 9 <f>0.0</f> 10 <g>0.0</g> 11 <h>0.0</h 12 <i>0.0</i> 13 <j>0.0</j> 14 <k>0.0</k> 15 <l>0.0</l> 16 </pair> 17 <pair> 18 <Comp1>A</Comp1> 19 <Comp2>C</Comp2> 20・・・・・ 21</pair>
###補足情報(言語/FW/ツール等のバージョンなど)
Visual studio 2017で作成しています。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/11/26 05:41