PR

SQLite データベースについて

超々基本的なこと。
OSから見て1ファイルにデータベースというファイルを作成する(作成される)。
拡張子についての決め事は無いよう。.db,.sqlite、sqliteのバージョン3の場合は、.db3,.sqlite3 等が一般的とか。
因みに、Microsoft Learn の例では、.db3 が使われているので、取りあえず今回のプロジェクトでは、.db3 を採用することとする。
cf.) .NET MAUI ローカル データベース – .NET MAUI | Microsoft Learn

データベース内には、テーブル,インデックス,ビューの定義、データ等々が含まれている。

AUTO_INCREMENT を使用したテーブルを作成すると、自動的に sqlite_sequence というテーブルが作成されている。AUTO_INCREMENT を使用するテーブルが複数でも、sqlite_sequence は1つで、name,seqの2つのカラムから構成されるテーブルで、nameにテーブル名,seqにその時点での最大値が入っている。

データベースを複数作成して、あるデータベースから他のデータベースを接続し、1つのデータベースへのアクセスでその他のデータベースも同時にアクセスすることが出来る。
データベースの接続には、ATTACH DATABASE を使う。
ただし、ATTACH DATABASE の情報はデータベースに保持されないよう(多分)で、データベース操作のユーティリティに DB Browser を使用すると、プロジェクトというファイル(拡張子.sqbpro)が保存出来、このプロジェクトにはアタッチの情報が保持される。
あくまでも ユーティリティとして DB Browser を使う場合のことでもあり、tksqlite を使ったり、Microsoft の Access から接続したりすることもあること、またアタッチしたテーブルとのVIEWを作成する煩わしさもあり、1回のアクセスでのデータ操作が必要なテーブルは、1データベース内で完結するようにテーブル配置を行うこととする。