はじめに
これを読んでいるということは、あなたがデータベースアーキテクトとして駆り出されている可能性が高いでしょう。これには、さまざまな理由が考えられます。既存のデータモデルの最初の(または 40 回目の)改善またはパッチジョブを任された開発者またはアナリストである場合もあれば、新米闘牛士のように空のデータベースという空白のキャンバスを見つめている場合もあるかもしれません。2 つのことが確実です。1 つ目は、情報をできるだけ効率的かつ便利に保存および取得する必要があること。2 つ目は、それを機能させる必要があるのがあなたであることです。このガイドは、情報のモデリングと、耐久性と保守性の高いデータベーススキーマ設計の作成を理解するのに役立ちます。ここでは、主にリレーショナルデータベースに焦点を当てるため、SQL を使用したデータの保存と取得の基本的な知識を持っている必要があります。理想的には、実験に使用できる独自のデータベースがあるとよいでしょう。例は、無料のオープンソースデータベース管理システムである PostgreSQL で示されます。
さて、データモデリングです。コンピューティングにおける他のすべてと同様に、突き詰めれば数学です。ただし、その日常的な実践は、さまざまなシステムを流れる情報を構造化および管理するレベルにほぼ完全に抽象化されています。後で集合と述語の数学的な基礎のいくつかに触れますが、データベース設計者は、生の数学的効率だけでなく、読みやすさと保守性の問題も解決する必要があります。ハインツ・クラインとカッレ・リュティネンが 30 年前に述べたように、
これは最終的には、(リレーショナルデータベースだけでなく、他のデータベースも無視しない)データモデル設計の完全な集中講座になることを意図しています。今のところ、記述された部分を公開しており、組織とシステム設計のコンテキストにおけるデータベースとデータモデリングの問題の特定、およびデータベース機能のあまり目立たない領域のいくつかを取り上げることに重点を置いています。