勉強日記

チラ裏

RDB

理論から学ぶデータベース実践入門 ch2 述語論理とリレーショナルモデル 1/3

gihyo.jp まとめ 述語論理とリレーショナルモデル 命題 命題論理 トートロジーと定理 同一律 P⊃P 排中律 P∨¬P 二重否定律 ¬¬P≡P 矛盾律 ¬(P∧¬P) Principle of explosion (P∧¬P)⊃Q 対偶律 (P⊃Q)⊃(¬Q⊃¬P) 推移律 ((P⊃Q)∧(Q⊃R))⊃(P⊃R) 分配律1 P∧(Q∨R) ≡ (P∧Q)∨…

理論から学ぶデータベース実践入門 ch1 SQLとリレーショナルモデル

gihyo.jp まとめ そもそもSQLって? リレーショナルモデルを知らなくてもSQLは書ける? RDBはリレーショナルモデルを正しく実践してこそ真価を発揮する! リレーショナルモデル リレーションの定義 集合とリレーショナルモデル リレーションの演算 コラム: …

【解決済】MySQL WorkbenchでSSHポートフォワードできなくて困った話

RDB

環境 Windows 10 ssh on GitBash MySQL Workbench 8.0.16 Workbench上でSSHポートフォワードすると接続できない 接続可否 o o x SSHポートフォワード ssh on GitBash Workbench Workbench 認証方式 公開鍵 パスワード 公開鍵 Could not connect the SSH Tunn…

達人に学ぶDB設計 徹底指南書 ch8 論理設計のグレーノウハウ

www.shoeisha.co.jp 違法すれすれの「ライン上」に位置する設計 代理キー~主キーが役に立たないとき 主キーが決められない、または主キーとして不十分なケース 代理キーによる解決 自然キーによる解決 タイムスタンプ インターバル オートナンバリングの是…

達人に学ぶDB設計 徹底指南書 ch7 論理設計のバッドノウハウ

www.shoeisha.co.jp 論理設計の「やってはいけない」 非スカラ値(第1正規形未満) 配列型による非スカラ値 スカラ値の基準は何か? ダブルミーニング この列の意味はなんでしょう? テーブルの列は「変数」ではない 単一参照テーブル 多すぎるテーブルをまと…

達人に学ぶDB設計 徹底指南書 ch6 データベースとパフォーマンス

www.shoeisha.co.jp データベースのパフォーマンスを決める要因 インデックス 統計情報 インデックス設計 まずはB-treeインデックスから B-treeインデックスの長所 B-treeインデックスの構造 B-treeインデックスの設計方針 B-treeインデックスはどの列に作れ…

達人に学ぶDB設計 徹底指南書 ch9 一歩進んだ論理設計〜SQLで木構造を扱う

www.shoeisha.co.jp リレーショナルデータベースのアキレス腱 木構造とは? 伝統的な解法〜隣接リストモデル 新しい解法〜入れ子集合モデル 入れ子集合モデルを使った検索 入れ子集合モデルを使った更新 もしも無限の資源があったなら〜入れ子区間モデル 使…

達人に学ぶDB設計 徹底指南書 ch5 論理設計とパフォーマンス〜正規化の欠点と非正規化

www.shoeisha.co.jp 正規化の功罪 正規化とSQL(検索) 非正規化による解決 正規化とSQL(更新) 正規化と非正規化、どちらが正解なのか? 非正規化とパフォーマンス サマリデータの冗長性とパフォーマンス 結合しないSQLを作るためのテーブル設計 選択条件の冗…

DB ch4 WIP

www.shoeisha.co.jp テーブルが多すぎる! テーブル同士の関連を見抜く 1対1、1対多、多対多 ER図の書き方 IE表記法でER図を描く IDEF1XでER図を描く エンティティ カーディナリティ リレーションシップ 「多対多」と関連実体 テーブルが多すぎる! 実務: 何…

達人に学ぶDB設計 徹底指南書 ch3 論理設計と正規化〜なぜテーブルは分割する必要があるのか? 3/3

www.shoeisha.co.jp ボイス-コッド正規形 3次と4次の狭間 ボイス-コッド正規形でないときに起きる問題 ボイス-コッド正規化を行う 失敗例 正しいBCNF 第4正規形 多値従属性~キーと集合の対応 第4正規化を行う 第4正規形の意義 第5正規形 第5正規化を行う 正…

SQL Antipatterns ch2 Jaywalking (信号無視)

pragprog.com Jaywalking Objective: Store Multivalue Attributes Antipattern: Format Comma-Separated Lists How to Recognize the Antipattern Legitimate Uses of the Antipattern Solution: Create an Intersection Table Other Advantages of the Int…

ch3~ch5 演習

ch3演習問題 支社支店商品 支社コード(PK) 支社名 支店コード(PK) 支店名 商品コード(PK) 商品名 商品分類コード 分類名 001 東京 01 渋谷 001 石鹸 C1 水洗用品 001 東京 01 渋谷 002 タオル C1 水洗用品 001 東京 01 渋谷 003 ハブラシ C1 水洗用品 001 東…

SQL Antipattens ch1 Introduction

pragprog.com Introduction Who This Book Is For What's in This Book Parts of This Book Anatomy of an Antipattern What's Not in This Book 英語 Introduction 著者Bill Karwinは人生最初のSQLの仕事を拒否した SQLのサブセットを作る話 「SELECT文だけ…

達人に学ぶDB設計 徹底指南書 ch3 論理設計と正規化〜なぜテーブルは分割する必要があるのか? 2/3

www.shoeisha.co.jp 正規化とはなにか? 正規形の定義 第1正規形 第1正規形の定義~スカラ値の原則 第1正規化を作ろう なぜ1つのセルに複数の値を入れては駄目なのか?~関数従属性 第2正規形 第2正規化を行う 第2正規形でないと何が悪いのか? 無損失分解と情…

達人に学ぶDB設計 徹底指南書 ch3 論理設計と正規化〜なぜテーブルは分割する必要があるのか? 1/3

www.shoeisha.co.jp テーブルとは何か? 二次元表≠テーブル テーブルの構成要素 行と列 キー 主キー (primary key) 外部キー (foreign key) どのような値をキーにするか 制約 NOT NULL制約 一意制約 CHECK制約 テーブルと列の名前 コラム: 関係(リレーショナ…

達人に学ぶDB設計 徹底指南書 ch2 論理設計と物理設計

www.shoeisha.co.jp 概念スキーマと論理設計 論理設計のステップ エンティティの抽出 エンティティの定義 正規化(normalization) ER図の作成 内部スキーマと物理設計 物理設計のステップ テーブル定義 インデックス定義 ハードウェアのサイジング キャパシテ…

達人に学ぶDB設計 徹底指南書 ch1 データベースを制する者はシステムを制す

www.shoeisha.co.jp システムとデータベース データ処理としてのシステム データと情報 データベースあれこれ データベースの代表的なモデル RDB: Relational Database OODB: Object Oriented Database XMLDB: XML Database KVS: Key-Value Store Hierarchic…

OSSDB標準教科書9章 バックアップとリストア

OSSDB標準教科書 oss-db.jp バックアップとリストア ファイルのコピー pg_dump, pg_dumpallコマンドによるバックアップ psqlコマンドによるリストア バックアップとリストア ファイルのコピー dataディレクトリをtarでアーカイブ PostgreSQLを完全に停止して…

OSSDB標準教科書8章 パフォーマンスチューニング

OSSDB標準教科書 oss-db.jp インデックス 主キーのインデックス インデックスの作成 インデックスを削除する インデックスは万能ではない SQL実行プランの分析 インデックスが存在しない場合のSQL実行プラン インデックスが存在する場合のSQL実行プラン イン…

OSSDB標準教科書7章 マルチユーザでの利用

OSSDB標準教科書 oss-db.jp マルチユーザでの利用 ユーザの作成 ユーザとロール スーパーユーザ 接続と認証 接続認証の設定を確認 接続方法(TYPE) データベース(DATABASE) ユーザ(USER) 認証方式(METHOD) 接続ユーザの指定 パスワード認証の設定 ユーザ・パ…

OSSDB標準教科書6章 データベース定義の応用

OSSDB標準教科書 oss-db.jp 6章 データベース定義の応用 主キー 主キーを指定する 主キーの動作を確認する 複数列からなる主キー 外部キー 参照整合性制約 外部キーを指定する 外部キーの動作を確認する CREATE TABLE文で主キー、外部キーを設定する 主キー…

閃乱カグラのデータで学ぶOSSDB標準教科書5章 SQLによるデータベースの操作 応用編

なんか飽きてきたから閃乱カグラのデータでやる 第5章 SQLによるデータベースの操作 応用編 AND/OR演算子 LIKE演算子 BETWEEN演算子 集約関数 count関数 sum関数 avg関数 max,min関数 GROUP BY句と集約関数の組み合わせ HAVING句 WHERE句、GROUP BY句、HAVIN…

OSSDB標準教科書4章 基礎編 演習

OSSDB標準教科書 oss-db.jp 4章 基礎編 演習 演習1 表の確認 すべての商品の価格を10%アップ 価格が100以上の商品の価格を元に戻す 表のデータをすべてファイルにコピー 表をすべて削除 表を再度作成 データをファイルからコピー 郵便番号データベース 郵便…

OSSDB標準教科書3章 データベース定義 基礎編

OSSDB標準教科書 oss-db.jp 3章 データベース定義 基礎編 表の作成(CREATE TABLE) 表を作成する staff表にデータを格納する 表定義の修正(ALTER TABLE) 表定義の修正は原則として行わない 表の削除(DROP TABLE) DELETE文、DROP TABLE文、 TRUNCATE文の使い分…

OSSDB標準教科書2章 データ型

OSSDB標準教科書 oss-db.jp 2章 データ型 数値データ型 文字列データ型 character varying型 (varchar) character型 text型 日付・時刻データ型 date型 time型 timestamp型 2章 データ型 数値データ型 いろいろある データ型 サイズ(byte) 範囲 smallint 2 2…

OSSDB標準教科書1章 SQLによるデータベースの操作 基礎編

OSSDB標準教科書 oss-db.jp 1章 DB利用の基本パターン psqlツールの利用 環境構築はこれだけでよかった psqlでデータベースに接続する DB一覧表示 DBつくる DBに接続する ヘルプ メタコマンド psqlを終了する 表の確認 表とテーブル、リレーション SQLの実行…

OSSDB標準教科書11章 環境構築

OSSDB標準教科書 oss-db.jp 環境 11章 導入 インストール データ永続化用ボリューム作る postgresコンテナ起動・入る 初期設定(1度だけやるやつ) サーバ起動 11.5 動作の確認 11.7 データベースの作成 11.7.5 データがちゃんとホスト側に永続化されているこ…