AungularJSの覚書

SQLiteについて
  • SQLiteはリレーショナルデータベース。
  • ビュー、トリガー、トランザクションなどの機能を備える。
  • .Net,Java,PHP,Rubyなど幅広く対応
  • 手軽であることが最大の利点
  • データベースサーバーは不要。
  • 大規模データには向かない。
  • ユーザーごとのアクセス権限の概念がない。
  • データ型のチェックを行わない。
  • バージョン2とバージョン3に互換性はない。
  • 小規模データベース向き。
  • SQL文の最後に必ずセミコロンをつけること。
  • スペルを間違ってもエラーにならない。
  • バージョン2のデータ型は数値型と文字列型の2種類しかない。
  • 1つのデータベースに1つのファイル。
  • データ管理はコマンドプロンプトで行われる。
  • サードパーティによるGUIツールもある。
  • オートナンバー、外部結合、UNIONもサポート。交差結合も。

SQLiteについて2
  • INTEGERフィールドに文字列を格納することが可能。
  • 幾種類かの関数も容易されている。
  • 演算子もある。
  • UTF8とUTF16のエンコードに対応
  • レコードを大量に削除しても、ファイルサイズが小さくはならない。
  • ファイルサイズを小さくするにはVACUUMコマンドを実行する必要がある。
  • VACUUMを自動化することができる。
  • コメント。/* test */ -- Test
  • LIMITが使用可能
  • サブクエリーが使用可能。
  • サブクエリーを使ったInsert,Updateが可能。
  • インデックスはレコードの多く、参照が中心であるテーブルに指定すると良い。
  • レコードが少なかったり、追加、削除の多いテーブルでインデックスを指定すると逆に遅くなる。
  • トリガーも利用できる。変更履歴テーブルを作る時に便利。
  • 複数のデータベース用に、ATTACHコマンドがある。DETACHで切り離し。
  • 主キー CREATE TBALE hoge (a INTEGER PRIMARY KEY,b varchar(20));
  • 外部キーの機能がある。デフォルトでは使用しない。
  • ユニーク制約をかけられる。
  • NOT NULL制約をかけられる。
  • DEFAULT制約をかけられる。
  • CHECH制約をかけられる。入力チェック。
  • テンポラリテーブルを作成可能。(一時的なテーブル)
  • テーブル名の変更が可能。
  • フィールドの追加が可能。
  • インデックスを作成できる。巨大データの参照速度を上げる。
  • ロック機能がある。
  • セーブポイント。ロールバックでどこまで、取り消すか調整できる。開放も可能。
  • csvファイルをインポートするコマンドがある。
  • 制約違反が発生した時の挙動を指定できる。

SQLiteでできないこと
  • ALTER TABLEコマンドは使えないが、フィールド追加コマンドは使用可能。
  • 右外部結合と完全外部結合はできない。(交差結合は可能)
  • ビューへの書き込みもできない。
  • GRANTおよびREVOKEコマンド
  • 複数のユーザーがデータベースにアクセスして更新することはできない。(参照は可能)

命令
◇DISTINCT
重複を取り除いてデータを取得
◇HAVING
グルーピング集計の絞りこみにはWHEREではなくHAVINGを使う。
◇Replace Into
データの置き換え
◇EXPLAIN
SELECT文と合わせて使う。出力データの使用されているインデックスを確認できる。
◇COPY
CSVや、他のデータベースをインポートできる。
◇ON CONFLICT
制約違反が発生した時の挙動を指定できる。
◇VACUUM
不要領域を開放。DBファイルサイズも小さくなる。

SQLiteの独自コマンド
出力画面のフィールド幅を調整できる。
ヘッダーを表示する
NULL表記の変更
◇.show
現在設定値を表示。
◇.mode
テーブルの表示方法を設定
◇.echo ON|OFF
実行したコマンドが、結果に表示されます。
◇.tables
テーブル一覧を表示。
◇.indices
インデックス一覧を表示
◇schema
スキーマを表示
◇.database
データベースとファイル名を表示
◇PRAGMAコマンド
様々な情報を取得できる。

SQLiteのダウンロードとインストール
  1. http://www.sqlite.org/からダウンロード
  2. zipファイルをダウンロードする。
  3. zipファイルを解凍してexeファイルに。
  4. exeファイルをコマンドプロンプトで実行。
  5. 以上で終わり。

コマンドプロンプトでの基本操作
◇SQLite起動、テーブル作成、データ入力、dbファイル確認。
	//dbファイル名を指定して、sqlite3.exeを実行する。
	C:\Documents and Settings\Administrator>C:\Project\sqlite\sqlite3.exe C:\Project\sqlite\test.db
	「;」コマンドを入力。
	sqlite> create table neko(a,b);
	sqlite> insert into neko(a,b) values(1,'timo');
	sqlite> select * from neko;
	//閉じる。
	sqlite> exit;
「C:\Project\sqlite」フォルダに「test.db」が作成されていることを確認する。

ODBCドライバ
  • WEBサイトからダウンロード。
  • exeファイルを実行してインストール
  • あとは管理ツールからのODBCに設定可能。
  • 文字化けするのが弱点。

Firefoxのアドイン | SQLite Manager
  1. Firefoxを起動
  2. WEBサイトよりアドオンを追加。「+ Firefoxへ追加」ボタンを押すのみ。
  3. 右上のメニューを選択→カスタマイズを選択→SQLite Managerをメニューに登録する。
  4. もう一度メニューを開くと、SQLite Managerのアイコンがあるのでクリックして起動するだけ。


旧Firefoxのバージョンの場合。
使い方はアドインをインストール後、「ツール」⇒「SQLite Manager」を選択するだけ。

Android SDKでdbファイルを取得する手順
◇手順
  1. Androidエミュレータを起動
  2. Eclipeの右上にあるDDMSパースペクティブをクリック。
  3. 通常は左側にある「Devices」ビューで、対象デバイスを選択。
  4. 通常は右側にある「ファイルエクスプローラー」ビューにファイル一覧が表示されることを確認。
  5. 対象のプロジェクトファイルを開く。
  6. databasesフォルダの中にあるファイルがdbファイル。
  7. dbファイルを選択して、Eclipse右上にあるフロッピーディスクアイコンをクリックするとdbファイルをダウンロードできる。
※エミュレータのみ対象。

xxx