Library > 工学 > プログラミング・アルゴリズム > データベース・データ構造・SQL

「Library/工学/プログラミング・アルゴリズム/データベース・データ構造・SQL」の編集履歴(バックアップ)一覧に戻る

Library/工学/プログラミング・アルゴリズム/データベース・データ構造・SQL - (2016/03/11 (金) 19:20:51) のソース

#navi(Library/工学)

 データベースに関するMemo
 
 機械学習と融合することで、すごいシステムができそうな予感。

#contents

*外部リンク:WEB情報
**DB-ONLINE
-http://www.dbonline.jp/

**ミックさんの「リレーショナルデータベースの世界」
-http://www.geocities.jp/mickindex/index.html

*一般向け
**Eric and Jim, "7つのデータベース 7つの世界"
>
面白そうだったけど、内容は、ある程度使った事のある上級者向けな感じ。
意義がわかりにくいから、読むのを止めた。読む時期が大切。
<

*データ構造
**茨木 俊秀,"Cによるアルゴリズムとデータ構造"
>
大学時代のテキスト。よくよく考えると、SQLなどのパッケージ的なものがなかった頃の本のようだ。
B+Treeアルゴリズムとかもう少し、詳しく書いて欲しかった。C言語での実装が書かれているが、今となっては、SQL文で、十分なので、実装の理解とか深めるにはいいかも。
<

*データベース理論・実装
**李 華植,"データベースパフォーマンスアップの教科書 基本原理編"
>
玄人向けなオーラが出てる本。
<

**奥野,"理論からまなぶデータベース実践入門"
>
状況に応じて、どの処理を選べばよいかなどの示唆を与えてくれる。必ずしもindexを利用した検索が早いわけではないことを教えてくれる。道具は使いようが大切らしい。
<

**ミック,"SQL実践入門", 技術評論社
>
<

**WEB+DB PRESS データベース徹底攻略, 技術評論社
>
雑誌Sideの宣伝、引用はちょっとやめてほしいかな。ある程度わかってきて、さらにつっこんだ内容のとっかかりを知るにはいいかも。
<

**朝井淳,"データベースの気持ちがわかるSQLはじめの一歩", 技術評論社
>
基本的な構文の使い方がまとめられている。再確認にはよい。
<

**ジョー・セルコ,"プログラマのためのSQL, すべてを知り尽くしたいあなたに",(ミック監訳),翔泳社
>
バイブル的な本らしい。
<


**五十嵐貴之,"SQLポケットリッファレンス"
>
複数のDB事情、違いがわかるのでよいかも。SQLの事典。
<

*SQLite

**西沢直木,"SQLite入門2版"
>
SQLiteの入門本、基本的な使い方+各言語からどう使うかが入門的にまとめられている。
<

**朝井淳,"SQLiteポケットリッファレンス"
>
SQLiteの事典
<

**SQLite-Memo

-DBの作成
 sqlite3.exe ファイル名

-テーブル作成
 sqlite> create table テーブル名(変数名 型, ...繰り返し... );

--各種制約
 not null
 unique
 default
 primary key
 check


-テーブルスキーマ確認
 sqlite> .schema

-テンポラリテーブル作成
 sqlite> create temp table テーブル名(変数名 型, ...繰り返し... );

-フィールドを追加
 sqlite> alter table テーブル名 add column 変数名 型;

-テーブル名変更
 sqlite> alter table 変更前テーブル名 rename to 変更後テーブル名

-テーブル削除
 sqlite> drop table テーブル名;

-Vacuum
 sqlite> VACUUM;

-ビュー
 sqlite> create view view1 as select 要素 from テーブル名;
 sqlite> select * from view1;

-データの追加
 sqlite> insert into テーブル名 values(, , , ...);

-データのインポート(カンマ区切りのtxt)
 sqlite> .separator ,
 sqlite> .import 'ファイル名' テーブル名

-データのエクスポート
 sqlite> .mode csv
 sqlite> .output ファイル.csv
 sqlite> select * from テーブル名;
 
 文字化するんは何か対策いるんかな?

-DBのリンク
 sqlite> attach database データベース名 as 見なし名

-DBのリンク解除
 sqlite> detach database 見なし名

-データ削除
 sqlite> delete from テーブル名 where 条件



----
*理論的な話題Memo
**探索木の理論〜情報理論
 情報理論との関連深い内容らしい。深遠なものを感じる。
 情報理論関係の参考文献
 [1]Han Te Sun, ... 情報と符号化の数理
 [2]有本卓,...確率・情報・エントロピー
 
 DataBase関係の参考文献
 [3]奥野,"理論からまなぶデータベース実践入門"
 B+については、ほとんどのSQL製品に実装されているそうな。
  
 [4]茨木 俊秀,"Cによるアルゴリズムとデータ構造"
 平衡探索木として触れている。