• ベストアンサー

SQLite3で参照整合の設定

いつもお世話になっております。 いままでMSAccessをよく使っていました。 個人的なデータを扱うのに重宝してきました。 特にセキュリティーにこだわることのないようなデータです。 このようなデータをPHPを用いてウェブで公開しようと思い、それに伴ってデータベースもオープンソースのものに切り替えようと調べました。SQLiteがMSAccessと同じような仕組みのデータベースだいう記載を見つけSQLiteを研究しようと思いました。 ここで質問ですが、MSAccessの場合リレーションシップの設定によりテーブルごとの参照整合を設定するのですが、SQLiteの場合リレーションシップの設定に相当する方法がわかりません。SQLiteの場合どのようになっているのでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

>SQLiteがMSAccessと同じような仕組みのデータベースだいう記載を見つけ 共通するのは、1個のファイル上に定義情報とユーザデータが管理されることくらいではないでしょうか? MS-ACCESSはGUIツールがRDBMSと一体になっていますが、SQLiteはそうではありませんし、どの部分を指して「同じような仕組み」と言っているのか意味がわかりません。 >そうですか、SQLiteは参照整合性を実装していないのですか。 SQLiteのマニュアル類を、見る気がないということでしょうか? マニュアルでは、制約や動作を指定できるけど、解析だけされ機能としては働かないことが明記されています。 http://www.sqlite.org/faq.html#q22 しかし、トリガにより、同じような機能を実装できるといった例が紹介されています。 http://www.sqlite.org/cvstrac/wiki?p=ForeignKeyTriggers >SQLiteは、RDBというのには機能が低すぎるということですか。 RDBMSには、他のRDBMSと比べて実装が進んでいる部分と遅れている部分があります。SQLiteは、かなり機能を絞り込んで実装されています。

rqg2010
質問者

お礼

chukenkenkouさん、とても丁寧でわかりやすいご回答ありがとうございます。 >SQLiteのマニュアル類を、見る気がないということでしょうか? 膨大なマニュアルのため見たことはあるのですが、lookであってwatchiでないのは事実です。 反省します。 MSAccessをやり込んだ自信があったもので、そして、セキュリティーとかはそんなに気にしなくて良いことを扱っていたものですので、SQLiteはうってつけかと思い挑戦し始めたところです。もし、できましたら今後ともよろしくお願いいたします。

その他の回答 (1)

  • nora1962
  • ベストアンサー率60% (431/717)
回答No.1

SQLiteは参照整合性を実装してなかったと思います。

rqg2010
質問者

お礼

nora1962さん、レスありがとうございます。 そうですか、SQLiteは参照整合性を実装していないのですか。 RDBをRDBたらしめることの一つが参照整合性だというような本を読んだことがあるのですが、SQLiteは、RDBというのには機能が低すぎるということですか。

関連するQ&A