はじめに タイトルのとおり、RDBのデータモデリング・テーブル設計を行う際に参考にしている考え方と関連資料をまとめました。 P.S. なんと本記事内でいくつか参考として挙げさせてもらっている増田さん・かとじゅんさん・奥野さん・そーだいさんからコメントいただくことができました。 本当にありがとうございます。 前提 RDBを採用するのは事実を無駄なく正しく記録するため 正規化、トランザクション、制約とデータ整合性 基本的には始めに理想として集合論・リレーショナルモデルに基づいて正規化を考え(論理設計)、パフォーマンスなどの現実問題に対して折り合いをつけていく(物理設計) 制約を最大限利用する cf: ↑P91〜 ↑P.29,41 ↑P56〜 ↑5章 ↑P347~ 情報とデータ データ:単なる事実の値→これを永続化して蓄えるものがRDB 情報:データから生み出される意味や目的のあるもの→RDBか
N+1, solvedEdgeDB solves the problems that ORMs exist to workaround. A comparison that speaks for itself: SELECT movie.title, ( SELECT avg(rating) FROM reviews WHERE movie_id = movie.id ) AS avg_rating, (SELECT array_agg(q.v) FROM (SELECT person.name AS v FROM actors INNER JOIN persons AS person ON (actors.person_id = person.id) WHERE actors.movie_id = movie.id ) AS q WHERE q.v IS NOT NULL ) AS ac
データベースを選択し、使用し、管理するには、その内部構造を理解することが不可欠です。しかし、今日ではたくさんの分散型データベースやツールが存在するため、それぞれが何を提供しているのか、どのように異なるのかを理解することは困難です。 本書はデータベースとストレージエンジンの内部で利用されている概念を解説します。ストレージエンジンでは、ストレージの分類、Bツリーベースのストレージエンジンとイミュータブルなログ構造化ストレージエンジンの違いと事例を紹介します。ストレージの構成要素については、ページキャッシュ、バッファプール、ログ先行書き込みなどの補助的なデータ構造を使って、効率的なストレージを構築するためのデータベースファイルの構成を説明します。分散型システムでは、ノードとプロセスがどのように接続され、複雑な通信パターンを構築するのかを段階的に学びます。 データベースそれぞれで大きな違いがあるス
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く