カテゴリー: RDB

RDB, SEノウハウ

MySQL WorkbenchでER図作成

  私は主にER図作成に利用しています。 ダウンロード MySQL Workbenchのダウンロード   MySQL Workbenchの起動   [File] > [New Model]で新しいモデルを開きます。『Ad Diagram』をダブルクリックします。       上の『レイヤー』, 『テーブル』を主に利用していきます。 レイヤーは …

RDB, SQL

SQLの書き方 SQL書き方ドリルを通して

  表紙だけ見るとかなりぬるそうなのだけれど本格的! 秀逸な本?ソフトウェア。   同梱されているソフトウェアで演習できるのですが、クオリティが高く問題数も多くて、教材としてすごく良くできてるのですよね。 本屋でぱらぱら見ると『SQLを紙に書く本?』に見えてしまって魅力がわからないと思うのですが、メインはCDに収録されているソフトです。 段階的に暗記せずにSQLが組めるように考 …

RDB

SQL Server On Linuxのお勉強

  WEB系というとMySQL時々PostgreSQLというイメージですが、MSSQL Server on Linuxを触ることになりました、それもすぐ。 お勉強しながらまとめます(。- .•)   SQL Server On Linux Dockerで動かしたいのです。 探す。 $ pwd $HOME/Documents/develop/MSSQL   $ mkdi …

RDB, 読書

楽々ERDレッスン 読み終わり。

とても実践的な内容で私は好き。 業務変更に強いDB設計にはテーブルの「主キーに自動採番のID(サロゲートキー, 代理キー)を設定する」こと、IDによってJOINさせること。コード(ナチュラルキー)ではないことが徹底されて書かれている。 @see 商品コードを主キーにするべきではない理由 システムの寿命はコードで決まる! (3/3) テーブル設計の理想と現実   なぜIDを主キーにするのか …

MySQL, RDB, チューニング, Linux

MySQL SHOWによる解析とチューニング

MySQLのチューニング調査依頼で時短で終わるように   バージョン CentOS7 MySQL5.6   DB, テーブルのDBエンジンの確認   データベースの確認 mysql> show databases; +——————–+ | Database | +——————–+ | information_s …

MySQL, RDB, チューニング

コンシューマでJOIN禁止, 固定長DBまとめ

コンシューマ世界でのJOIN禁止、固定長ルールのまとめ 私 JOIN禁止の世界は知らない(1テーブルに1億以上のレコードを扱ったことがない) 原則として正規化できるものは正規化してJOINを行い、正規化する必要のないものは正規化しないスタンス 1テーブルはどんなに大きくても20カラム限界がセオリー →正規化できるのではないか、テーブルをわける 1テーブルが大きく正規化されずに開発されたサービスの保 …

RDB, システム設計

データベース設計 正規化とNULL

まとめ すべてのテーブルを正規化する必要もない 正規化出来るテーブルを正規化する   正規化でNULLは許容できない NULLがないようにDB設計を行う   正規化できるテーブル「事実の集合」 集合の要素に重複がない 要素同士に順序がない NULLがない     正規化できないテーブル 履歴やグラフは正規化出来ない     よくあるケース &nbs …

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

RDB 正規化

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

RDB

IDリクワイアド

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