私は主にER図作成に利用しています。 ダウンロード MySQL Workbenchのダウンロード MySQL Workbenchの起動 [File] > [New Model]で新しいモデルを開きます。『Ad Diagram』をダブルクリックします。 上の『レイヤー』, 『テーブル』を主に利用していきます。 レイヤーは …
カテゴリー: RDB
SQLの書き方 SQL書き方ドリルを通して
表紙だけ見るとかなりぬるそうなのだけれど本格的! 秀逸な本?ソフトウェア。 同梱されているソフトウェアで演習できるのですが、クオリティが高く問題数も多くて、教材としてすごく良くできてるのですよね。 本屋でぱらぱら見ると『SQLを紙に書く本?』に見えてしまって魅力がわからないと思うのですが、メインはCDに収録されているソフトです。 段階的に暗記せずにSQLが組めるように考 …
SQL Server On Linuxのお勉強
WEB系というとMySQL時々PostgreSQLというイメージですが、MSSQL Server on Linuxを触ることになりました、それもすぐ。 お勉強しながらまとめます(。- .•) SQL Server On Linux Dockerで動かしたいのです。 探す。 $ pwd $HOME/Documents/develop/MSSQL $ mkdi …
MySQL SHOWによる解析とチューニング
MySQLのチューニング調査依頼で時短で終わるように バージョン CentOS7 MySQL5.6 DB, テーブルのDBエンジンの確認 データベースの確認 mysql> show databases; +——————–+ | Database | +——————–+ | information_s …
コンシューマでJOIN禁止, 固定長DBまとめ
コンシューマ世界でのJOIN禁止、固定長ルールのまとめ 私 JOIN禁止の世界は知らない(1テーブルに1億以上のレコードを扱ったことがない) 原則として正規化できるものは正規化してJOINを行い、正規化する必要のないものは正規化しないスタンス 1テーブルはどんなに大きくても20カラム限界がセオリー →正規化できるのではないか、テーブルをわける 1テーブルが大きく正規化されずに開発されたサービスの保 …
データベース設計 正規化とNULL
まとめ すべてのテーブルを正規化する必要もない 正規化出来るテーブルを正規化する 正規化でNULLは許容できない NULLがないようにDB設計を行う 正規化できるテーブル「事実の集合」 集合の要素に重複がない 要素同士に順序がない NULLがない 正規化できないテーブル 履歴やグラフは正規化出来ない よくあるケース &nbs …
PostgreSQL クエリログ 変更履歴を残す
DDL+, DROP, ALTER, INSERT, UPDATE, DELETEといった変更履歴を残す設定 # vi /var/lib/pgsql/data/postgresql.conf logging_collector=on log_statement = ‘mod’ log_line_prefix='[%t]%u %d %p[%l]’ Amazo …
RDB 正規化
正規化を行う意義 更新時に1行で済む もし正規化されていなければWHEREを利用した該当レコードについて全行更新が必要になる。 データの整合性 正規化されていると更新時に親子テーブルでデータの整合性がとれるので、データ構造が壊れない設計になる データの可読性 ER図で可視化できる、わかりやすくなる 注意 正規化は可逆的なもの 正規化されたテーブルは、非正規化されたテーブ …
IDリクワイアド
すべてのテーブルに主キーとして「id」列を作ってしまうアンチパターン。 「id」列だとJOINの時にわかりにくい user_idやproduct_idのほうがわかりやすい ※フレームワークで「id」がデフォルトで指定されて変更できないよ!って場合は、主キーを上書きで指定できるのが普通 交差テーブルにid列がある 何がなんでもidをつけなく …