2022幎10月19日·1分で読めたす

デヌタベヌス蚭蚈図フルガむドずツヌル

デヌタベヌスモデルを蚭蚈する䞊で最も効率的なツヌルはダむアグラムです。この蚘事では、デヌタベヌスの蚭蚈図、重芁性、およびプロセスに぀いおご案内したす。

デヌタベヌス蚭蚈図フルガむドずツヌル

デヌタベヌスは、䌁業のデヌタを敎理・保存するために非垞に重芁であり、デヌタベヌスは適切に維持管理され、軜埮なメンテナンスで枈むように効果的に蚭蚈されなければならない。デヌタベヌス・モデルの蚭蚈プロセスは、アヌキテクチャ、プログラミング、むンストヌル、および維持管理の各段階から構成されたす。

デヌタベヌスダむアグラムを䜜成したいですかダむアグラムは、デヌタベヌス・モデルを蚭蚈するための最も効率的なツヌルです。2フェヌズたたはノヌスクリプトのアプロヌチで耇雑なデヌタ構造を䜜成する堎合、倚くのデヌタベヌスダむアグラムツヌルを採甚するこずで、よりシンプルにするこずができたす。

今回は、デヌタベヌス蚭蚈図、デヌタモデリングの重芁性、デヌタベヌス蚭蚈のプロセスずその目的に぀いお説明し、効果的なデヌタベヌスの䜜成方法に぀いお解説したす。

の蚭蚈に぀いお説明したす。

デヌタベヌス蚭蚈図ずは

䞻キヌず倖郚キヌを䜿っお、デヌタ構造間の接続を䜜成したす。デヌタベヌス図は、デヌタベヌスのスキヌマずデヌタベヌスオブゞェクト間の関係をグラフィカルに描いたものです。デヌタベヌス図は、デヌタ゜ヌスずチャヌトに察しお䜜成するこずができたす。䜜成されたデヌタベヌス図は、UML圢匏ずPNG圢匏で保存するこずができたす。内郚的にはUML圢匏はPhpStorm専甚に蚭蚈されおおり、他の項目は受け付けたせん。䜜成したデヌタベヌス図を配垃する堎合は、PNGの利甚を考えおください。

デヌタベヌスモデルに栌玍されたデヌタを取埗するために、アクションプランず呌ばれる䞀連の手続きを採甚したした。アクションプランの䜜成も可胜です。PhpStormがサポヌトするデヌタベヌス蚭蚈には、2぀の明確なタむプがありたす。

Explain Plan (説明プラン)。結果は、別の Plan タブに、グラフず衚を組み合わせたレむアりトで衚瀺されたす。 Show Visualization オプションを遞択するず、ク゚リプロセスを瀺すデヌタベヌス図が䜜成されたす。

プランの説明 (Raw)。結果を衚瀺するテヌブルが衚瀺されたす。

デヌタベヌス・モデルに含める資料ず意図する目的のリストは、効果的なデヌタベヌス・ダむアグラムの基瀎ずなるべきものです。"このプロセスでどの列や行を芋るべきか "ではなく、"䜕を知るために必芁なこずは䜕か "を考える。これらすべおは、 SQLを 䜿甚せずに母囜語で実行するこずができたす。埌で䜕か芋萜ずしおいるこずに気づいたら、通垞、再スタヌトしなければならないので、このこずを真剣に考えたしょう。デヌタベヌスモデルに䜕かを远加するには、通垞、倚くの䜜業が必芁です。

なぜデヌタモデリングが重芁なのか

掗緎された゜フトりェア開発プロセスは、必ずデヌタモデリングから始めなければなりたせん。デヌタモデルは、プログラマヌが ドメむンを 理解し、䜜業を正しく蚈画するのに圹立ちたす。

より高い品質

䞍適切なコヌディングは、 ゜フトりェア開発 プロゞェクトが倱敗する䞻な原因であり、平均しお玄70%が倱敗しおいたす。建築家が建物を建おる前に行うように、アプリケヌションを蚭蚈する前にデヌタに぀いお考える必芁がありたす。デヌタベヌス蚭蚈はトラブルシュヌティングに圹立ち、遞択肢を怜蚎し、最適な戊略を遞択するこずができたす。

コスト削枛

デヌタモデルにより、アプリケヌションを䜎䟡栌で䜜成するこずができたす。デヌタベヌスモデルは、コストプランの510%未満を占め、䞀般的にコヌディングに割かれる䟡栌制限の6575%を削枛するこずができたす。デヌタモデリングは、間違いや挏れを少し早めに発芋し、簡単に修正するこずができるので、アプリが文曞化された埌に間違いを修正するよりも望たしいです。

ドキュメントの改善

デヌタベヌスモデルは、重芁な考え方や専門甚語を文曞化するこずで、長期的な維持のための基盀を提䟛したす。人事異動があっおも、この資料が圹に立ちたす。

透明性の向䞊

デヌタモデルは、スコヌプの決定に焊点を圓おるポむントを䞎えたす。デヌタベヌスモデルは、資金揎助者ずプログラマヌが、プログラムに含たれる具䜓的な機胜ず陀倖される機胜に぀いお合意に達するこずができるよう、具䜓的なものを提䟛したす。 䌁業 ナヌザヌは、プログラマヌが䜜成したものにアクセスし、圌らが知っおいるものず䞀臎させるこずができたす。デヌタベヌスモデルは、消費者ずプログラマヌの合意を促進する。

デヌタモデルは、専門甚語や蚀語的なコンセンサスも促進する。パラダむムは、遞択した語句を匷調し、アプリケヌション・コンポヌネントぞの取り蟌みを容易にする。その結果、プログラムの維持ず拡匵がよりシンプルになりたす。

優れた効率性

よくできたデヌタベヌスモデルは、しばしば予想以䞊の速さで動䜜したす。デヌタモデルの原則は、明確で䞀貫性がなければ、その胜力を発揮するこずはできたせん。その埌、デヌタベヌスモデルを、正しい原則を甚いたデヌタベヌス蚭蚈に倉換する必芁がありたす。

デヌタベヌスアプリケヌションSQL Serverの䞍具合よりも、デヌタベヌスモデルの誀甚であるこずが倚いのです。その問題が解決されるず、実行が玠晎らしくなりたす。デヌタベヌスはモデリングによっお理解するこずができ、玠早く効率的に最適化するこずができたす。

アプリケヌション゚ラヌの枛少

デヌタベヌスモデルは、人々がアむデアを明確にし、曖昧さをなくすのに圹立ちたす。そのため、アプリ開発が始たる前に、匷い方向性が確立されるのです。そのようなこずは少なくなったずはいえ、プログラマヌはプログラムコヌドを構築する際に埮现なミスを犯すこずがありたす。

蚭蚈の流れ

次のような手順で、蚭蚈を進めおいきたす。

  • デヌタベヌスモデルの目暙を特定する

    達成しようずする目暙を決定するこずは、その埌のアクションの準備をするのに圹立぀からです。

  • 必芁なデヌタの怜玢ず線集

    デヌタベヌス・モデルに栌玍できるすべおのデヌタを集めたす。このデヌタは、泚文IDや商品名などです。

  • デヌタを衚圢匏にする デヌタを泚文や商品など、倧たかなカテゎリヌに分類する。次に、各トピックにテヌブルをリンクさせたす。

  • 列の圢で情報を入れる 各テヌブルに入れたいデヌタを遞択する。各倀はフィヌルドに倉換され、テヌブルの列ずしお衚瀺されたす。たずえば、「劎働者」テヌブルには、入瀟日ず姓のフィヌルドを蚭定するこずができた す。

  • 䞻キヌに名前を付ける 各テヌブルの䞻キヌを遞択したす。各行を定矩するために䜿甚される列は、䞻キヌずしお知られおいたす。泚文番号Dたたは補品番号は、2぀の䞻キヌであり、倀は垞に䞻キヌに関連付けられおいる必芁がありたす。

    カラムの倀は、䜕らかの機䌚に未入力たたは芋知らぬ倀になる可胜性がある堎合、䞻キヌの芁玠ずしお掻甚するこずはできたせん。垞に、倀がシフトしない䞻キヌを遞択する。䞻キヌが倉曎された堎合、そのキヌが䜿甚されおいる堎所であればどこでも倉曎を反映させなければなりたせん。

  • テヌブルの぀ながりを確定する 各テヌブルを怜蚎し、各テヌブルの情報間の関係を決定する。぀ながりを理解するためにさらに情報が必芁な堎合は、同じテヌブルに列を远加したり、新しいテヌブルを䜜ったりしたす。

  • コンセプトを緎る レむアりトに間違いがないかをチェックする。デヌタベヌスのテヌブルを䜜成し、そこにいく぀かのデヌタレコヌドの䟋を远加したす。必芁な結果が埗られるかどうか、統蚈デヌタをチェックする。必芁であれば、蚭蚈を修正する。

  • 正芏化ガむドラむンを䜿う デヌタ正芏化ルヌルを䜿っおデヌタベヌステヌブルの蚭蚈が適切かどうかチェックする。必芁に応じお、テヌブルを修正する必芁がありたす。そのフォヌムの1぀は、テヌブルから掟生したデヌタを保存するこずを犁止しおいる。

芁求分析デヌタベヌスの目的を特定する

芁件分析の䞻な目的は、䌁業のデヌタニヌズを満たすデヌタベヌスモデルを䜜成するために必芁なあらゆる情報を収集するこずである。芁求分析には、次のような目的がある。

  • デヌタベヌスの情報ニヌズを原始オブゞェクトの芳点から確認する。
  • これらの実䜓に関する事実を分類し、定矩するこず
  • ゚ンティティ間の関係を特定し、分類するこず
  • デヌタベヌスモデル䞊で実行される決枈の皮類を瀺すこず
  • 信頌性を芏制するガむドラむンを認識する

これらの目的は、䞀連の関連する掻動を完了するこずによっお達成するこずができる。

  • 珟圚のデヌタベヌスを芋る
  • 消費者むンタビュヌが必芁
  • デヌタフロヌチャヌト䜜成必芁な堎合
  • ナヌザヌの意芋を把握する
  • すべおの芳察は 文曞化 されるべきです。

゜フトりェア蚭蚈者は、䌁業の゚ンドナヌザヌず協力し、デヌタベヌスの情報ニヌズを独自に特定したす。芁求分析に必芁なデヌタを集めるには、様々な方法がありたす。

既存のドキュメントを調査する

定矩された圹割ず所芋、文曞化された芏則、職務芁件、履歎などがその䟋である。玙の文曞は、モデルずなっおいる䌁業や行為を知るための優れた方法である。

゚ンドナヌザヌぞのむンタビュヌ

これには、個人セッションずグルヌプセッションの䞡方が含たれる堎合がありたす。グルヌプミヌティングは、最倧でも5人たでに制限するようにしたしょう。同じ圹割を担っおいる人たちを䞀床に集めるようにする。ホワむトボヌドやプロゞェクタヌを䜿甚しお、むンタビュヌからメモを取る。

既存の自動化システムのレビュヌ

自動化プロセスがある堎合は、ドキュメントやフレヌムワヌクの蚭蚈指針を確認する。通垞、芁求分析ずデヌタモデリングは同時に行われたす。デヌタオブゞェクトは、デヌタを収集する際に、゚ンティティ、プロパティ、たたは関係ずしお認識され、分類されたす。次に、それらに名前を付け、゚ンドナヌザヌが理解しやすい蚀葉で説明したす。

そしお、゚ンティティ関係図を䜿っお、オブゞェクトを衚珟し、分析する。蚭蚈者ず゚ンドナヌザヌは、実䜓関係デヌタベヌス図が正確で完党であるこずを確認するために、評䟡するこずができたす。デヌタベヌスモデルが正しくない堎合は、修正され、時には䜙分なデヌタの収集が必芁ずなる。この分析・線集プロセスは、デヌタベヌスモデルが正確であるず宣蚀されるたで繰り返されたす。

デヌタベヌススキヌマずデヌタベヌスむンスタンスずは

デヌタベヌス管理システムは、デヌタベヌススキヌマずむンスタンスが盞互に䜜甚するこずを可胜にしたす。すべおのデヌタベヌスむンスタンスは、デヌタベヌス管理システムによっお、デヌタベヌスモデル蚭蚈者がデヌタベヌススキヌマに蚭定した制玄に埓うこずが保蚌されおいたす。デヌタベヌスむンスタンスは、特定の瞬間に撮圱されたデヌタベヌスモデルのコピヌである。同時に、デヌタベヌススキヌマは䞀般に静的である。

デヌタベヌスの構造

瀟内ツヌルのプロトタむプを䜜成
1぀のワヌクスペヌスでデヌタベヌスモデルの䞊に玠早く瀟内ツヌルを立ち䞊げたす。
プロトタむプを䜜る

デヌタベヌスモデルは以䞋のような構造特性を持぀。

  • デヌタベヌス構造には、いく぀かのテヌブルが存圚する
  • すべおのテヌブルには、1぀のトピックに関する情報が含たれおいる
  • テヌブルの案件を詳现に説明するデヌタはフィヌルドに含たれる
  • ゚ントリヌはテヌブルの䞻題の具䜓䟋である
  • 明瀺的な䞻キヌ領域が、デヌタベヌス構造のテヌブルの各゚ントリヌを識別する。

䟋

次のサンプルテヌブルは、デヌタベヌスのテヌブルがどのように構成されおいるかを説明するものである。

顧客IDファヌストネヌム姓(Last Name)****賌入日26710アンドリュヌゞョベル14-10-202226711アン゜ニヌミッチェル15-10-202226712ゞミニヌスハム15-10-202226713コリヌアンダヌ゜ン16-10-2022

顧客テヌブルの構成は以䞋の通りである。

  1. 顧客ID
  2. 名前ファヌストネヌム
  3. 姓ラストネヌム
  4. 賌入日

このテヌブルには、次のような偎面がありたす。

  • 芋出しは、テヌブルの特定のトピックを明らかにする。顧客
  • 姓」、「名」、「賌入日」は、顧客を衚すフィヌルドです。
  • Customer ID は、特定のアカりントを識別するテヌブルの䞻キヌです。

リレヌションシップの䜜成

これで、デヌタベヌスから䜜成したテヌブル間のリレヌションシップを調査する準備が敎いたした。リンクした 2 ぀のテヌブルの間でやりずりされる項目の数が、そのカヌディナリティです。カヌディナリティを求めるこずで、デヌタが正しくテヌブルに分割されおいるかどうかを確認するこずができたす。

゚ンティティ間のリレヌションは理論的には可胜ですが、倚くの堎合、3぀のカテゎリのうちの1぀に分類されたす。

  • 䞀察䞀の関係
  • 䞀察倚の関係
  • 倚察倚の関係

1察1の関係は金融の䞖界では珍しいが、1人ず倚人数の関係は䞀般的である。倚察倚の関係はデヌタベヌスダむアグラムでは有効にならず、1察倚の関係にする必芁がある。デヌタベヌス図のデザむンは、ほが完党に1察倚の関係を持぀テヌブルで構成されおいる。

䞀察䞀

デヌタベヌスを芖芚的にモデリング
PostgreSQLのスキヌマを芖芚的に蚭蚈し、動䜜するバック゚ンドを自動生成したす。
AppMasterを詊す

゚ンティティAの0個たたは1個のモデルが゚ンティティBの0個たたは1個のモデルず連結でき、゚ンティティBの0個たたは1個のモデルが゚ンティティAの0個たたは1個のモデルず連結できるずき、デヌタベヌス図の蚭蚈では1察111の関係が存圚するこずになりたす。䟋えば、アメリカの䌝統的な結婚匏では、男性は䞀人の女性ずしか結婚できないが、女性も䞀人の男性ずしか結婚できない。

䞀察倚

1察倚1:Nの関係は、デヌタベヌス図の蚭蚈においお、実䜓Bの各䟋に察しお実䜓Aの䟋がれロ、1、たたは耇数存圚する堎合に発生したす。䟋えば、子䟛には父芪が䞀人いるが、父芪には耇数の実子がいるこずがある。

倚察倚

図からAPIを生成
テヌブルずリレヌションをSQLを曞かずに実際のAPIやビゞネスロゞックに倉換したす。
構築を始める

リレヌショナルデヌタベヌスのダむアグラム蚭蚈では、゚ンティティBの1぀のポむントに察しお゚ンティティAのケヌスが0、1、たたは耇数あり、゚ンティティBの1぀のケヌスに察しお゚ンティティAのケヌスが0、1、たたは耇数ある堎合、倚察倚MNの関係が存圚したす。䟋えば、孊生は耇数のクラスに登録するこずができ、クラスには耇数の孊生が登録されおいるこずがありたす。

SQLずUML

デヌタ駆動アプリをデプロむ
生成したアプリをクラりドにデプロむしたり、必芁に応じお゜ヌスコヌドを゚クスポヌトできたす。
アプリをデプロむ

SQL は、構造化問い合わせ蚀語ずしお知られる暙準的なプログラミング蚀語で、デヌタベヌスの操䜜ず倉曎に䜿甚されたす。SQLを䜿甚するこずで、デヌタベヌスを操䜜したり、制埡したりするこずができたす。1986幎、米囜芏栌協䌚ず囜際暙準化機構は、SQLを暙準ずしお認めたした。

SQLは、デヌタベヌスに察しおク゚リヌを実行するこずができたす。SQLを䜿えば、開発者はデヌタベヌスから情報を取埗するこずができたす。どのようなデヌタベヌスモデルでも、SQLを䜿っおデヌタを远加するこずができる。

デヌタベヌスモデルに情報を远加したり、削陀したりするこずができる。たた、新しいテヌブルを䜜成し、そのテヌブルに察しお暩限を蚭定するこずもできる。

オブゞェクト指向のパラダむムで曞かれた倧芏暡なシステムを定矩するためのもう䞀぀の芖芚的なスタむルが、UMLUnified Modeling Languageです。珟圚では、UMLは以前ほど広く掻甚されおいたせん。最近では、孊校の授業や、゜フトりェア開発者ずその顧客ずのやり取りで頻繁に利甚されおいたす。

デヌタベヌス図はどのように䜜成するのですか

  • オブゞェクト・゚クスプロヌラヌを移動し、デヌタベヌス・ダむアグラム・ディレクトリを右クリックしたす。
  • ショヌトカット・メニュヌから、新しいデヌタベヌス図を䜜成するこずができたす。
  • テヌブルリストから、必芁なテヌブルを遞択し、远加をクリックしたす。

デヌタベヌス図の蚭蚈ツヌルトップ5

スキヌマを繰り返し改善
芁件の倉化に合わせおデヌタベヌスモデルを䜜成・線集・再生成できたす。
Data Designerを開く

デヌタベヌススキヌマ

デヌタベヌススキヌマは、SQL、MongoDB、NoSQL、クラりドシステムのプログラマヌ向けの管理ツヌルです。動的な蚭蚈機胜により、ダむアグラムを䜿甚しおデヌタベヌスモデルを䜜成するこずができたす。

テヌブルや倖郚キヌなどのオブゞェクトをドラッグドロップで衚瀺するこずができたす。他のテヌブルの䞻キヌを参照するこずを倖郚キヌず呌びたす。倖郚キヌの列には、接続先の䞻キヌ列に存圚する芁玠のみが蚱されたす。倖郚キヌはFKず衚珟される。

ドラッグアンドドロップツヌルを䜿えば、コヌドを䜿わずにデヌタベヌスモデルを䜜成するこずができたす。さらに、デヌタベヌススキヌマの様々な構成芁玠に察しお、耇数の蚭蚈を行うこずができたす。デヌタベヌスのレむアりトが完成したら、HTML5たたはPDF圢匏でダりンロヌドするこずができたす。

特城

  • デヌタベヌスモデルの䜜成ずメンテナンスが可胜です。
  • MongoDB、NoSQL、SQLを採甚
  • 集合的な機胜

長所

  • 地域やりェブベヌスのデヌタで機胜する
  • 組み蟌みのチヌムワヌクツヌルを提䟛
  • スキヌマのデバッグを可胜にする

短所

  • 詊甚期間が長い

スマヌトドロヌ

クラりドベヌスのダむアグラムアプリケヌションであるSmartDrawを䜿甚するず、デヌタベヌス図を動的に構築するこずができたす。デヌタベヌス図の䜜成は、CSVファむルのようなバむナリデヌタを取り蟌むだけです。デヌタベヌスモデルは構築埌、ドラッグドロップで線集するこずができたす。

特城

  • Webベヌスのシステム
  • ドラッグアンドドロップ機胜
  • CSVファむルの生成

長所

  • デヌタベヌス甚の䜿いやすい図匏化アプリケヌション
  • どのブラりザからも利甚可胜
  • 高玚感のあるデヌタ図が簡単に䜜成できる

短所

  • デヌタベヌスに特化した機胜はない

DBデザむナヌ

DB Design erは、Webベヌスのデヌタベヌス図ツヌルです。順方向および逆方向の゚ンゞニアリング機胜を備えおいたす。デヌタベヌスの切り替えやディスパッチが可胜です。MySQL、PostgreSQL、MS SQL、SQLiteにデヌタを送信したり、MySQL、PostgreSQL、Oracleからデヌタを受信するこずができたす。SQLダンプファむルは、MS SQLでも保存されたす。デヌタベヌスは、PDFずPNGファむルタむプに゚クスポヌトするこずができたす。

特城

  • MySQL、SQL Server、Oracle、PostgreSQLに察応したデヌタベヌスダむアグラムツヌルです。
  • デヌタベヌスのむンポヌトず゚クスポヌト

長所

  • 幅広いSQLデヌタベヌスフォヌムをサポヌト
  • 画像やドキュメントの゚クスポヌトが可胜
  • デヌタぞのアクセスや監芖を支揎

短所

  • むンフォグラフィックスが基本的で、比范的小芏暡なデヌタベヌスに最適です。

SQL DBM

SQL DBMず呌ばれるSQLダむアグラム、デヌタベヌスモデリングツヌルを䜿っおデヌタベヌスを構築、統合するこずができたす。Snowflake、MySQL、PostgreSQL、SQLはすべおSQL DBMで機胜したす。カラム、モゞュヌル、コネクションなどのデヌタベヌス゚ンティティは、䜿いやすいGUIで䜜成するこずができたす。

特城

  • 無料版を提䟛しおいたす。
  • SQL Server、PostgreSQL、MySQL、Snowflakeで動䜜したす。

長所

  • 倧芏暡なデヌタベヌスずビゞネスを開発
  • MySQL、Redshift、PostgreSQLなど様々なデヌタベヌスをサポヌトしおいる
  • 敎理敎頓のために色を利甚した掗緎されたUIを提䟛したす。

デヌタベヌスデザむナヌツヌルAppMaster

あなたが望むデヌタベヌスシステムを利甚するためのツヌルを誰かが䜜っおくれないかず思ったこずはないだろうか。AppMasterデヌタベヌス・デザむナヌは、それを実珟させたす。これは、PostgreSQLデヌタベヌスを蚭蚈するための最高の ノヌコヌドツヌル です。それは、以䞋のような様々な䜜業を支揎したす。

  • どんな耇雑なスキヌマ図でも䜜成するこずができたす。
  • SQLスクリプトを曞かずにデヌタベヌスモデルを䜜成するこずができたす。
  • デヌタベヌス蚭蚈の迅速な䜜成ず修正
  • 䞻キヌモデルのリレヌションシップの評䟡ず远加

AppMaster デヌタベヌス・デザむナヌを 䜿甚すれば、デヌタベヌスを自動的に䜜成し、デヌタベヌスの修正手順を自動化するこずができ、すべおの人の生掻の質ず安党性を向䞊させるこずができたす。もしあなたの手動方法が昔から有効であったずしおも、結果ずしお誰かが䞍安に陥ったり、デバッグに倚くの時間を費やしたりしおいる可胜性がありたす。自動化でそれをなくしたしょう。

最埌の蚀葉

これからデヌタベヌス・モデルを䜜成する際には、デヌタベヌス蚭蚈ツヌルAppMasterを䜿甚しおみおください。䌁業は様々なデヌタ゜ヌスに保存されおいるビゞネスデヌタを怜蚌し、デヌタをデヌタりェアハりスに投入しお、デヌタを培底的に理解する必芁がありたす。AppMasterは、デヌタを適切なデヌタりェアハりスに転送するための、ノヌコヌドのデヌタパむプラむン・゜リュヌションです。䞀行のコヌドも䜜成するこずなく、デヌタを倉換しお所定の堎所に転送するプロセスを簡玠化したす。今すぐ無料トラむアルを開始したしょう

始めやすい
䜕かを䜜成する 玠晎らしい

無料プランで AppMaster を詊しおみおください。
準備が敎ったら、適切なサブスクリプションを遞択できたす。

始める
デヌタベヌス蚭蚈図フルガむドずツヌル | AppMaster