開発者がデータベースについて最初に知っておくべきことはこれです:データベースは何ですか?それらがどのように機能するのか、どのように構築するのか、データベースのデータを取得または更新するコードをどのように作成するのかではありません。しかし、それらは何のためのものですか?
残念ながら、これに対する答えは動く目標です。 1970年代から1990年代初頭にかけてのデータベースの全盛期では、データベースはデータを共有するためのものでした。 データベースを使用していて、データを共有していない場合は、学術プロジェクトに参加しているか、自分自身を含むリソースを浪費していました。データベースのセットアップとDBMSの管理は非常に記念碑的な作業であり、データを複数回利用するという点で、投資に見合うだけの投資が必要でした。
過去15年間で、データベースは、1つのアプリケーションに関連付けられた永続データを格納するために使用されるようになりました。MySQL、Access、またはSQL Serverの データベースを構築することは非常に日常的なこととなっており、データベースは通常のアプリケーションのほぼ日常的な部分になっています。データの実際の値が明らかになると、最初の限定されたミッションがミッションクリープによって押し上げられることがあります。残念ながら、単一の目的を念頭に置いて設計されたデータベースは、企業全体のミッションクリティカルな役割に移行し始めると、劇的に機能しなくなることがよくあります。
開発者がデータベースについて学ぶ必要がある2番目のことは、世界全体のデータ中心のビューです。データ中心の世界観は、プロセス中心の世界観とは、ほとんどの開発者がこれまでに学んだことのどれよりも異なります。このギャップと比較して、構造化プログラミングとオブジェクト指向プログラミングの間のギャップは比較的小さいです。
開発者が少なくとも概要で学ぶ必要がある3番目の事項は、概念データモデリング、論理データモデリング、物理データモデリングなどのデータモデリングです。
概念的なデータモデリングは、データ中心の観点からの要件分析です。
論理データモデリングは、通常、概念的なデータモデリングで発見された要件に特定のデータモデルを適用したものです。リレーショナルモデルは他の特定のモデルよりもはるかに多く使用されており、開発者はリレーショナルモデルを確実に学習する必要があります。重要な要件に対して強力で関連性のあるリレーショナルモデルを設計することは、重要な作業ではありません。リレーショナルモデルを誤解していると、適切なSQLテーブルを作成できません。
物理データモデリングは一般にDBMS固有であり、開発者がデータベースビルダーまたはDBAでもない限り、詳細に学習する必要はありません。開発者が理解する必要があるのは、物理データベースの設計を論理データベースの設計から分離できる範囲と、物理データベースの設計を調整するだけで高速データベースを作成できる範囲です。
開発者が次に学ばなければならないことは、速度(パフォーマンス)は重要ですが、データベースの範囲を修正して拡張する機能やプログラミングの単純さなど、設計の良さの他の測定基準がさらに重要であることです。
最後に、データベースをいじる人は誰でも、データの価値がそれを取り込んだシステムよりも長持ちすることを理解する必要があります。
ふew!