RDB, SEノウハウ, システム設計

RDB 正規化

  正規化を行う意義 更新時に1行で済む もし正規化されていなければWHEREを利用した該当レコードについて全行更新が必要になる。 データの整合性 正規化されていると更新時に親子テーブルでデータの整合性がとれるので、データ構造が壊れない設計になる データの可読性 ER図で可視化できる、わかりやすくなる   注意 正規化は可逆的なもの 正規化されたテーブルは、非正規化されたテーブ …

RDB

IDリクワイアド

  すべてのテーブルに主キーとして「id」列を作ってしまうアンチパターン。   「id」列だとJOINの時にわかりにくい user_idやproduct_idのほうがわかりやすい ※フレームワークで「id」がデフォルトで指定されて変更できないよ!って場合は、主キーを上書きで指定できるのが普通     交差テーブルにid列がある 何がなんでもidをつけなくては …

Windows

PostgreSQL Windows環境 バックアップ自動化

  パスワード認証自動化ファイル作成 C:\Users\root\AppData\Roaming\postgresql\pgpass.conf localhost:5432:DB名:DBユーザ名:DBパスワード 例) localhost:5432:postgres:postgres:hogepassword   postgresql_backup.bat @echo off r …

メール, AWS

AWS EIPの逆引きとメール送信解除申請について

  解除申請   ログインした状態で下記で行う https://portal.aws.amazon.com/gp/aws/html-forms-controller/contactus/ec2-email-limit-rdns-request   Use Case Description* メール送信制限解除及び、逆引きDNSの申請をお願いします。 Please re …

MySQL, SEノウハウ

MySQL 外部キー制約のデッドロック

外部キー制約に伴うロックの小話 from ichirin2501   外部キー(FOREIGN KEY)制約を利用している場合、 子テーブルに追加、更新や削除を行う時は、必ず親テーブルの対象のidに対して排他ロックを行ってから、更新や削除、追加を行う。 親テーブルの該当idに対して排他ロックを取る 子テーブルの該当行に対して追加、更新、削除等を行う これならロックは起こらない。 &nbs …

メール, Linux

Sendmail ラピッドサーバ SORBSとSpamhausの無効化

  ラピッドサイトサーバはデフォルトでRBL(Realtime Blackhole List)のSORBS, Spamhausが有効になっている。その為に、取引先のメールーサーバがSpamhausのブラックリストに載っていて受信が出来ないといった不具合が発生する場合がある。 今回はラピッドサーバのSendmailのRBL設定を解除する記事です。   作業前バックアップ # rs …