スポンサーリンク
スポンサーリンク

udemyのデータベースの講座を終えてまとめ

永遠にmacのメモに置いていたものをブログにうつそうと思って書きました。

自分用メモみたいな感じです。

スポンサーリンク

知識

正規化関連

まとまりのあるテーブルは切り出す。

例えば、二つの主キーを用意するなら、一つだけのキーに依存する列は別のテーブルに切り出す。

複数のエンティティーを一つのテーブルに入れていたら更新時に変更するレコード数が多くなる(論理設計を行う際に5W1Hを考えて別のテーブルに切り出すとフィールドが増える事態になりにくい)

Aが決まったらbが決まり、bが決まったらcが決まるという流れを一つのテーブルに入れない

1対1のリレーショナルを持つテーブルは基本存在しない→1対1になるテーブルは結合しても大丈夫

(上記、中間テーブルの場合、片方は1対1やけど他のテーブルとの結合は1対多になることはある)

主キーは1テーブル1個だけ。not nullである必要がある

1対多の場合で、0以上を可能な多の場合は、1の方のkeyが必ず多の方に全て現れる必要がある

ビジネス上でのルールは変更の可能性があるのでkeyに適さない

その他

Varchar(8)は’aaa’と打ったらそのまま入れられる

char(8)は’aaa’と打ったら’aaa     ‘と8文字に変換される

ER図ではリレーションに関係のないカラムは省略されることがある

Char, varcharは最大255文字まで。それ以上の文字をokにするならtextを使う。

Select * from table_nameのtable_nameは、select文で表示されているものと同じだから、select *  from (select * from table_name)みたいに書ける。