第2章 テーブル
2.1 テーブルの構造
SQLiteでは各テーブルは1つのファイルの中に所属している。 例えばhanbai.dbファイルの中にshouhinテーブルを作成する。
shouhinテーブル
sid | sname | tanka | |
---|---|---|---|
1 | りんご | 200 | |
2 | みかん | 150 | |
3 | いちご | 200 |
shouhinテーブルは3つの列からなり、それぞれにデータ型がある。
- sid INTEGER型
- sname TEXT型
- tanka INTEGER型
さらに各列には制約を設定することができる。
- PRIMARY KEY : 主キーとする
- NOT NULL : NULL(データ無し)を許可しない
- DEFAULT [デフォルト値] : 初期値設定
- UNIQUE : 他と重複しない
2.2 主キー
通常はテーブルのどれかの列を主キー(PRIMARY KEY)にする。主キーは行をはっきりと区別するためのものである。自動的にUNIQUE(重複しない)であり、NOT NULL である。
shouhinテーブルではsidが主キーとなっている。
また、SQLiteの場合、整数型の主キーは行挿入時に自動的に連番が設定される(値を指定しない場合)。
2.3 外部キー
uriageテーブルの主キーはuidである。 また、sidの列にはshouhinテーブルの主キーであるsidが入る。
このように他テーブルの主キーを格納し、他のテーブルとリレーション出来るようにするための列を外部キーという。
uid | sid | kosu | hi |
---|---|---|---|
1 | 1 | 5 | 2023-10-31 |
2 | 2 | 3 | 2023-10-31 |
3 | 3 | 1 | 2023-10-31 |
4 | 1 | 2 | 2023-11-01 |
5 | 2 | 1 | 2023-11-01 |