質問
MFCを使用してCADアプリケーションで遊んでいます。ドキュメント(モデル)をSQLiteデータベースとして保存するといいと思いました。
利点:
- ファイル形式の変更を避けます(SQLiteがそれを処理します)
- 無料のクエリエンジン
- 元に戻すスタックが簡素化されました(テーブル名、列名、新しい値 など...)
意見?
解決
これは素晴らしいアイデアです。 Sqliteは非常に使いやすいです。
ただし、リレーショナルデータベースにデータを保存することは、ガレージに車を入れて分解し、車を駐車するようなものです。各ピースをラベル付きキャビネットに入れます。
名前で相互に参照するポイントとラインおよびセグメントで構成されるジオメトリデータは、データベーステーブルに格納するのに適した候補です。ただし、サブコンポーネントの階層を使用して複合オブジェクトを作成し始めると、1回の呼び出しでシリアル化を使用してモデルを保存/ロードするために必要なコードが大幅に少なくなります。
だから、それも素晴らしいアイデアでしょう。
しかし、MFCでのシリアル化は、たとえばC#ほどシリアライズではないので、バランスを考えて、SQLを使用します。
他のヒント
これは素晴らしいアイデアですが、始める前にいくつかの推奨事項があります:
-
各データベースは、データベース内のファイルを説明するテーブルを持つなど、ファイル名以外の何らかの方法で一意に識別できるように注意してください。
-
独自に作成する前に、すでに利用可能なMFCベースの例とラッパーの一部をご覧ください。私が見たものは、より良い結果を生み出すためにそれぞれに借りていました。 Google:MFC SQLite Wrapper。
-
SQLiteデータベースの使用は、状態の維持にも役立ちます。 SQLiteに含まれている機能と欠落している機能を念頭に置いて管理する方法について考えてみてください。
-
また、データベーステーブル構造を他のSQLデータベースシステムに簡単にエクスポートできることと、バックアップシステムに簡単に拡張できることを確認することで、アプリケーションをWebに拡張する方法について考えることもできます。