sql >> データベース >  >> RDS >> Database

データベースデザイナは何をしますか?

    データベース設計者の仕事は、クライアントのビジネス要件を、ビジネスデータを正しく保存するだけでなく、データを使用するプロセスをサポートするデータモデルに変換することです。

    データベースアーキテクトまたはデータオフィサーと呼ばれることもあるデータベース設計者は、組織内のデータベースの設計を担当します。彼/彼女はビジネス要件を注意深く評価し、データモデルを作成します。次に、データとビジネスプロセスの理解を検証するために、ビジネスとの最初の話し合いが行われます。データベース設計者の仕事には、物理​​データベースを構築する際のサポートドキュメントの準備も含まれます。

    データモデリングとは

    データモデリングは、データベース設計者が自分のアプリケーションをサポートするデータモデルを作成するプロセスです。その目的は、データベースオブジェクトがどのように相互作用し、ビジネス上の問題をどのように解決するかを表すことです。

    データモデルは、データベーステーブル内のデータの構造とそれらの間の関係を記述します。これは、主要なエンティティ、それらの属性、およびエンティティ間の関係を含む一連のER図で表されます。最初から適切なデータモデルを構築することが非常に重要です。

    データモデリングでは、柔軟性も考慮する必要があります。データベースが展開された後でも、データモデルが確立されることはありません。新しいデータと新しい要件を反映するには、データモデルを時間の経過とともに調整する必要があります。これが、設計時に柔軟性を考慮することが重要である理由です。

    データモデリングは、物理データベースをより簡単に構築するためのビジネス要件を技術要件に変換するのに役立ちます。また、データベースを作成する前に、クエリに関する潜在的なパフォーマンスの問題を見つけるのにも役立ちます。これらすべての理由から、データモデリングは非常に重要です。

    データモデルの種類

    新しいデータベースを構築する場合、データベース設計者としての作業は、少なくとも3つの主要なフェーズを通過します。データモデルは、概念的なデータモデルから始まる進化的なプロセスを経ます。次に、論理データモデルに拡張されます。これはさらに物理データモデルに拡張され、後でSQLスクリプトで実装されます。

    各タイプのデータモデルは、さまざまなタイプの利害関係者と対話するために設計されています。これらのデータモデルの使用について、以下で簡単に説明します。より詳細な説明が必要な場合は、この記事をご覧ください。

    概念データモデル

    概念データモデルは、私たちが構築する最初のデータモデルです。概念データモデルでは、通常はERダイアグラムを使用して、主要なエンティティが定義されます。これは、ビジネス側の主要な利害関係者が参加する場合でもあります。

    概念データモデルは、ビジネス問題の初期範囲、問題の解決に関与するエンティティ、およびそれらがどのように相互作用するかを識別および定義するのに役立ちます。これらのエンティティは、注文、店舗、従業員などの概念の一般的な表現です。

    これらのエンティティ間の関係は、通常、実世界で相互作用するエンティティをリンクする線で表されます。したがって、例として、注文、店舗、および従業員のエンティティは、それらの間をリンクする関係を持つ必要があります。

    論理データモデル

    論理データモデルは、概念データモデルに基づいています。 3NF(第3正規形)などの正規化手法が適用されます。エンティティ間のすべての関係がデータモデルで表されるようにします。このステップは、概念データモデルと論理データモデルの主な違いです。

    物理データモデル

    物理データモデルは、データモデルの最終的で最も詳細なバージョンです。このステップでは、アプリケーションですべてのテーブルを定義します。また、テーブル間の関係を定義し、それらのカーディナリティを設定し、エンティティ属性を列に変換し、各列のデータ型を選択または定義します。列値のデフォルト値または制約、テーブル間の制約、および設定された照合を必ず設定してください。

    物理データモデルが設計されると、通常、データベースを作成するためにこの構造を定義する一連のSQLスクリプトを作成します。すべてを手作業で書くのではなく、VertabeloDatabaseModelerのようなデータベースモデリングツールを使用する方がはるかに優れています。

    データベース設計者の仕事

    データベース設計者の職務は、技術開発や図の設計に限定されません。通常、ビジネス要件のバックログを確認し、何かが変更されたかどうかを確認します。

    データベース設計者の1日

    変更がある場合、データベース設計者は要件を分析し、ビジネスと会って、データモデルとデータベースに対する変更の影響を明確にします。これらの説明の後、データベース設計者は変更を加えてモデルを更新します。これは、単一のデータ型を変更するだけから、エンティティの関係を再設計し、変更がより大きな影響を与える場合は正規化を適用することまで多岐にわたります。

    満たす必要のあるパフォーマンスメトリックがある場合、データベース設計者は作成するインデックスを見つけて指定する必要があります。マップするETLプロセスがある場合、データ変換を実行するストアドプロシージャを指定できます。

    データベース設計者は、バックアップ、復元、ログ配布など、データベースのメンテナンスタスクに対する変更の影響を考慮する必要があります。変更が大きい場合、データベース設計者はデータベース管理チームまたはデータベースを監視する開発チームと話し合う必要があります。設計者のもう1つの責任は、データベースのデータディクショナリを定義および維持することです。

    データベース設計者が直面するリスクと問題

    他の仕事と同様に、いくつかの問題は予測可能であるため、計画をスケッチすることができます。しかし、予測できない問題があり、データベース設計者の仕事も例外ではありません。

    データベース設計者が実行できる最も危険なことの1つは、仮定を立てることです。これにより、プロジェクトの後半で予期しない問題が発生する可能性があります。疑わしい場合は、先に進むのではなく、ビジネスを明確にすることが最善です。私自身と同僚の両方に、それが何度も起こるのを見てきました。

    特定のテーブルのデータ型またはデータ量について、小さな仮定をする場合があります。ただし、間違っていると、物理データモデルに影響を与え、目標のパフォーマンス指標を満たすために多くの手直しが発生する可能性があります。

    もう1つの問題は、すべてをカバーし、エラーが発生しないと想定することです。問題は通常、すべてがすでに展開されているプロジェクトの最後に発生します。

    一部のシナリオでは、データベースが既にデプロイされた後でも、調整が必要です。これは、保存されたデータの増加、ビジネス要件の変更、または新しいレポートの必要性が原因である可能性があります。これらのイベントは、テーブルだけでなく、データベースオブジェクト、インデックス、場合によってはデータ型、関係、およびその他の多くのものにも影響を与えます。

    データベース設計者になることの長所と短所

    他の仕事と同じように、物事の見方、楽しみ方、生き方によっては長所と短所があります。

    長所は、データモデルにマッピングしてデータベースに構築するための興味深いビジネスコンテキストを常に見つけることです。集中でき、難しい問題を解決したい人にとっては素晴らしい仕事です。技術的な問題を伝えて解決したい場合や、ビジネスとテクノロジーの両方のコンテキストを理解することができ、興味を持っている場合は、すばらしい仕事です。

    他の難しいスキルと同様に、賃金はかなり良いです。大企業のクライアントと一緒にプロジェクトに取り組んでいる場合、旅行を楽しんだり、新しい環境で新しい人と出会ったりすると、出張はボーナスになる可能性があります。

    私の見解では、短所はそれほど多くありません。しかし、一部の人々にとって、長所で言及されていることのいくつかは実際には短所です。仕事に集中してコミュニケーションを最小限に抑えたい場合、または家族の制約のために旅行できない、または旅行したくない場合は、データベース設計者の仕事が適していない可能性があります。

    データベース設計者になりましょう!

    この分野での技術的な専門知識、プログラミングのバックグラウンド、コミュニケーションへの開放性があれば、すべてのチェックボックスをオンにしなくても、誰でもデータベース設計者としてのキャリアを積むことができると思います。データベース設計者になるための理想的なスキル要件を以下に簡単に示します。

    • データモデリングと正規化の手法。
    • データベースクエリとパフォーマンスチューニングの知識。
    • 顧客が必要とするデータベースエンジンに固有のデータベース内部。
    • ETLプロセスの知識。
    • ビジネスインテリジェンスとレポートに関する知識。
    • 一般的なソフトウェアアーキテクチャと設計に関する知識。
    • プロジェクト管理スキル。
    • 優れたコミュニケーションスキル。

    データベース設計者になることを考えていますか?上記のリストのいくつかの項目をチェックしていることに気付いた場合は、遠慮なくお問い合わせください。データベース設計者としての最初の仕事に応募する場合でも、その役割の最も重要なトピックに精通したい場合でも、データベースモデリングに関連する面接の質問のリストを用意しました。

    データベースモデリングを始めたばかりですか?データモデルの設計、共有、バージョン管理を支援するVertabeloDatabaseModelerのようなツールを用意することが重要です。

    記事を楽しんでいただけたでしょうか。驚くべきデータベースの世界についての詳細は、お気軽にご覧ください。


    1. Access2016でリンクテーブルマネージャーを使用する方法

    2. MySQLのあるテーブルから別のテーブルにデータを挿入する

    3. 特定の条件下でINSERTを防止するMySQLトリガー

    4. Neo4j-Cypherを使用してインデックスを削除する