SQL:主キーと一意キーと外部キー
各キーの違い
重複 | NULL値 | 表に設定できる数 | |
---|---|---|---|
主キー | × | × | 1つのみ |
一意キー | × | ○ | 複数可 |
外部キー | ○ | ○ | 複数可 |
主キー
主キー(プライマリキー/PRIMARY KEY)とは、表の中で、行を一意に識別するための列(または組み合わせ)のことです。1つの表に1つのみ設定することができ、NULL値を含めることはできません。基本的に、一度主キー列に格納した値を後から変更することはありません。
USER表
ID | USER_NAME | USER_NAME_KANA | ADDRESS_CODE |
---|---|---|---|
10001 | 佐藤 | サトウ | 013 |
10002 | 鈴木 | スズキ | 001 |
10003 | 高橋 | タカハシ | 047 |
10004 | 鈴木 | スズキ | 013 |
USER表のID列が主キーとなっている場合、ID列には重複した値やNULL値を格納することはできません。
一意キー
一意キー(ユニークキー/UNIQUE KEY)とは、表の中で、行を一意に識別するための列(または組み合わせ)のことです。
1つの表に複数設定することができ、NULL値を含めることができます。
USER表
ID | USER_NAME | USER_NAME_KANA | ADDRESS_CODE |
---|---|---|---|
10001 | 佐藤 | サトウ | 013 |
10002 | 鈴木 | スズキ | 001 |
10003 | 高橋 | タカハシ | 047 |
10004 | 鈴木 | スズキ | 013 |
(null) | 田中 | タナカ | 027 |
USER表のID列が一意キーとなっている場合、ID列には重複した値を格納することはできませんが、NULL値を格納することはできます。
外部キー
外部キーとは、表の中の主キー、または別の表の主キーを参照する列のことです。
NULL値を含めることができ、値を入れる場合には、参照する列にある値のみ格納することができます。
USER表
ID | USER_NAME | USER_NAME_KANA | ADDRESS_CODE |
---|---|---|---|
10001 | 佐藤 | サトウ | 013 |
10002 | 鈴木 | スズキ | 001 |
10003 | 高橋 | タカハシ | 047 |
10004 | 鈴木 | スズキ | 013 |
ADDRESS表
CODE | NAME |
---|---|
001 | 北海道 |
013 | 東京都 |
027 | 大阪府 |
047 | 沖縄県 |
USER表のADDRESS_CODE列は、ADDRESS表のCODE列を参照する外部キーに設定されています。そのため、ADDRESS表にないものを格納することはできません。
また、ADDRESS表のCODE列は、ADDRESS表の主キーに設定されています。
サクラエディタの背景色や文字色を変更する
お知らせ
2020.4.20 この記事は下記に移行しました。
3秒後に移動します。
■■■■■■■■■■■■■■■■■■■■
デモ
手順
①「設定」メニューから「タイプ別設定」を選択する
②「カラー」タブをクリックする
ここで、背景色や文字色などを好みの色に変更出来ます。
2進数とは
お知らせ
2020.4.20 この記事は下記に移行しました。
前提知識
2進数とは
考え方は10進数と同じで、10の部分が2に置き換わっただけです。ということは、2進数は、2倍になると桁が進む(ずれる)数ということになります。
0の次は1、その次は桁が進むので10(10進数では2)となります。続いて11、100、101、110、111、1000という風に数えていくので、0と1だけで表現されることになります。
1 = 1(2の0乗)
10 = 2(2の1乗) = 1の2倍
100 = 4(2の2乗) = 2の2倍
1000 = 8(2の3乗) = 4の2倍
・
・
・
赤字になっている部分は10進数での表記で、2進数の各桁の重みになります。
2進数を10進数に変換する(基数変換)
各桁に対し各桁の重みをかけた結果を足せば10進数に変換出来ます。
例えば、「11010」を10進数に変換する場合は、以下のようになります。
11010
= 1 × 2の4乗 + 1 × 2の3乗 + 0 × 2の2乗 + 1 × 2の1乗 + 0 × 2の0乗
= 1 × 16 + 1 × 8 + 0 × 4 + 1 × 2 + 0 × 1
= 16 + 8 + 0 + 2 + 0
= 26
小数の場合も同じです。例えば「1.01」を10進数に変換する場合は、以下のようになります。
1.01
= 1 × 2の0乗 + 0 × 2の-1乗 + 1 × 2の-2乗
= 1 × 1 + 0 × 1/2 + 1 × 1/4
= 1 + 0 + 0.25
= 1.25