Torihaji's Growth Diary

Little by little, no hurry.

PHP学習80日目

本日の収穫

習得した知識、深まった知識、気づいたこと

DB設計はやはり難しい。

最近行っているPHP最終成果物のDB設計。
ユーザ1人が1つの画像付き投稿をするだけで、
これほどまでにテーブルが必要とは思いませんでした。

まず一つが、ユーザのテーブル。
こちらは、ユーザの基本情報です。
二つ目が、記事テーブル。
こちらがユーザidと紐づいています。
三つ目が、投稿画像テーブル。
こちらは記事idと紐づいています。

記事テーブルに画像を含めてしまうと、
汎用性がかなり落ちる、そうです。
もしやるとするならば
記事id 1 のレコードに 画像1,画像2というようなカラムを追加する手法。
しかし、そうすると、画像数が増えるほど面倒、だそうです。
これを解消するためには,記事idに紐づいた投稿画像テーブルを作成すればいい、そうです。

DBにおけるデータの物理削除と論理削除

物理削除は、DBからDELETEで、データそのものを削除すること。(正式な用語かは不明です)
会員管理等で、退会、をしたときに使用されることがあります。
しかし、仮にForeignKeyを設定してるなら、CASCADEを指定していない限り、
エラーが出て消せません。末端から消していく必要があります。
ただ個人情報管理などセキュリティ面では〇です。

一方、論理削除とは、見かけ上DBから削除するものです。(正式な用語かは不明です)
これは ユーザの基本情報などをすべて 空白で UPDATEをかけて、
ないように見せる削除方法です。
こうすることによって、例えばユーザの統計を取るときに
退会されてもデータとしては残るので統計に影響は出ません。
対して、物理削除はDBから削除されるので、統計結果に影響が出ます。

AWS ハンズオン わかったようでわからん。

ステファン先生のUdemyを視聴しています。
分かったつもりなのですが、ALBとは、ですぐに書き記せないとなると
理解できていないのですよね。

ちなみにALBはアプリケーションロードバランサの頭文字をとったもので
レイヤ7で負荷分散をしてくれるもの、であると認識しています。
日本語になっていますかね。多分×です。
7月中頃に試験なので頑張ります

明日への課題

AWSのELBについてと最終成果物の管理者が一般ユーザに対してバンする機能の 実装まで行ければいいと思います。