質問

どのような人が作る再利用可能なデータベースに使用できる多くの製品ですか?

例えば、もしデータベース設計のための学生---でも簡単に参照できるように修正された。

何を作成する方法をデータベースとして使用できる製品を溶液に多くのお客さまへの符号化では一回しか出来ないのですか?

感謝

役に立ちましたか?

解決

このようなアプリケーションでは、要件を考慮するために、かなり複雑なデータモデルを必要とします。学校の種類が異なる要件を持っているでしょう。大学はあなたがコースを追加または削除させて頂く場合がございますが、小学校は通常ありません。小学校は、利用可能なスペースと教師に基づいて教室へのグレードと分割段階に学生を置く必要があるのに対し、大学は、部屋の中にコースのスケジュールを設定する必要があります。

あなたの設計を考慮に解決し、それらを実装するために期待されている要件のすべてを取る必要があります。より一般的なあなたは、プログラムが難しく、それはあなたの顧客を満足させることである作ります。質問は「一度コードを書く」と言います。あなたはすべての学校のニーズを解決し、単一のプログラムを書きたいならば、それは機能の数百人が必要になります。いくつかのケースでは、いくつかの学校では、他の学校からの反対の機能が必要になります。他の学校が複数の教師を必要とするかもしれませんしながら、例えば、いくつかの学校ではサブジェクトや教室ごとに1人の教師を施行する必要があります。より多くの要件は、あなたが会うことを期待し、より複雑なアプリケーションとなります。

業界では大きなアプリケーションは、拡張することができるように書かれる傾向にあります。機能のコアセットが提供されるが、アプリケーションは、特定の顧客のために変更およびカスタマイズすることを意味します。あなたはあらゆるニーズを予測する必要がないので、これはそれが簡単に開発することができます。実際にあなたがそれらのニーズを持つ顧客を持ってまで、多くのニーズを先取りする必要はありません。しかし、「カスタマイズ」であなたは一度だけコードを書いていません。

最も重要なステップは、後に拡張するのに十分な柔軟性があり、データモデルを思い付くことですが、のために開発することは不可能であるほど柔軟ではありません。最も難しい部分は、通常、正しい関係のカーディナリティを得ています。たとえば、クラスが1人の教師を持っていると言うかもしれません。それはクラスが2人の教師を必要と判明したときにその後、あなたは多くのコードを書き換え、大量のデータを修正する必要があります。変更のこれらの種類は、迷惑と時間がかかります。しかし、最後にあなたが常に十分なプログラマの時間与えられたミスを修正することができます。

他のヒント

人々はこれを行う際に、

通常、彼らは同じ業界で複数のクライアントを持っています。あなたがeコマースのWeb開発者であれば、あなたは何度も何度も同じ製品、順序、テーブルのシナリオの注文の詳細タイプ間で実行しようとしています。これが起こるとき、それは初期データベースを構築するための微風です。

このための簡単な銀の弾丸はありません。あなただけの十分なデータベース設計は、一般的な維持する必要があるが、それは通常、メンテナンスや他の厄介な落とし穴に悪夢につながるとして、過剰一般化を回避しようとします。

経験を使用すると、一般化と専門化の完璧なバランスを感謝し始めます。それは理解し、再利用可能なコード/データベースの設計への鍵です。

答えは<のhref = "HTTPのスイートスポットを見つけることです:/ /en.wikipedia.org/wiki/Abstraction_(computer_science)」REL = "nofollowをnoreferrer">抽象の

ステップ1は、彼らが現在使用して、どのような彼らの現在の製品(複数可)を行うことがしたいされているものを、潜在的な顧客の非常に多種多様に話をし、彼らのニーズを見つけます。あなたが今する必要があると思うと、この時に限り、10回をお過ごしください。紙の上の潜在的なGUIを引き出し、あなたが図面を見て、提案を行いインタビューの人々を持っています。もし可能ならば、このステップを支援するビジネスアナリストとして、業界では一部の人を雇います。法的要件について確認して下さい。いくつかの産業は法的な関連規格準拠の問題の多くを持って、他にはありません。何が医療の世界にどのような方法で関連して、例えば、研究と完全にHIPPA要件を理解する必要があります。

データベース構造を設計し、GUIは、その後、いくつかの実際のユーザーはそれで遊ぶことを得ます。彼らの言うことに基づくリファクタリングは(ユーザーが実際のGUIに直面するまでは考えていないことを要件収集に出したままどのように多くの事、それは驚くべきことだ)。

すべての潜在的な顧客を介して共通に必要なものについて考え、どこにカスタマイズが必要な場合があります - あなたのインタビューはここにご案内しなければなりません。カスタマイズの処理方法を決定します。それとも、それを許可する場合でも。これは、業界とどのように標準の慣行がある上で大いに依存してもよいです。

これは、ボックスのソフトウェアであることが多いのデザインは、ユーザがフォームやレポートに追加することができるカスタマイズ可能なフィールドを持つテーブルが含まれている場合。

Webベースのソリューションでは、カスタマイズを望む多くの場合、各ユーザーは自分のカスタム情報が格納されている独自のデータベース(およびnoncustomizableもののため、中央standradデータベース)を有していてもよいし、プログラマがクライアントからの要求に基づいて、変更を行います。あなたはこのルートを取る場合は、二回目は、あなたは、この誰にでも利用可能なソフトウェアの新機能にするためにリファクタリングする必要がある場合を検討し、2番目のクライアントのためにsimliarカスタマイズを行います。少ないお金のためのクライアント缶が標準レポートを持っているとき、1つのまたは2つのフィールドでのみ異なります17件のカスタム出席レポートを作成する必要はありません。

ウェブモデルでは、あなたはまた、モジュールの束を作成し、クライアントが選ぶ持っており、彼らのカスタムソリューションに追加するかを選択することができます。彼らは、彼らが選択したモジュールの数と複雑さに基づいて支払うことになります。だから、唯一の3つの標準レポートのは、提案がimmdeiately他の人には適用されていないようならば、すべての27の新しいカスタマイズが提案されている場合、クライアントは開発のために支払うを望んでいるクライアント未満を支払うことになる望んでいるクライアントが、モジュール他の人が同様にそれを買うことができるように行われます。他の人がそれを購入した場合、開発費が支払われるまで、変更を求めたorginalクライアントはお金の一部を取得する可能性があります。彼らはまた何かがカスタムモジュールとして残ることを要求し、この作品のためにはるかに高い価格を支払うことができます。私たちも、他の顧客と同じ場所に同じサーバー上の自分のデータを望んでいないいくつかのクライアントを持っています。言うまでもなく、我々はそのようなことを行うための巨大な保険料を請求ます。

カスタマイズは高価であり、必要に応じてさらに多くのプログラマにつながることができます。カスタマイズ・ルートを行く前に非常に強く考えてみましょう。それは本当にあなたのソフトウェアソリューションを販売しているものになることができますが、それはうまくスケールしません。あなたは10のcutomersのを持っていますが、百のカップルを持っている場合、それは非常に迅速にコントロールから抜け出すことができたときにそれは悪いことではありません。標準スイートから、後でカスタマイズを追加するよりも、あなたがそれを提供したら、カスタマイズのバックオフする多くの困難です。多くの場合、カスタマイズの必要性は、企業の報告の組織でよりです。あなたは、人々が選び、選択し、彼らが何をしたい情報や、独自のカスタムレポートを保存することができますレポートインターフェイスを作成することができた場合は、必要に応じて本格的なカスタマイズせずに、あなたの業界のカスタマイズニーズの大部分を処理することがあります。

私が与えることができる最高のアドバイスは、最小公分母に構築することです....

そう....教育施設に向けたプロジェクトとしてコードを: - )

それが拡張させるために、抽象、保存したいデータの種類について考える時間を過ごし、それに応じてデータベースを構築します。あなたがコードから完璧に再利用あなたがかもしれない方法を得ることができるかどうかは知りませんが、あなたが先に計画している場合、再利用可能である(それでも個々のコンポーネントを変更する必要が)データベース構造を構築することができます。

によって異なりますので、おです。例えば、多くの多くのデータベース用製品はベースのビジネス利用フォーマットに含まれるもの:

  • お客様のテーブル
  • は、受注テーブル
  • 品表等

お状況が

  • クラステーブル
  • 生テーブル
  • a成績表等

この総合テーブル形式でも再利用するなど多くのアプリケーションに

すべてのデザイン。多くの場合は最大の場合、データベースが必要になりレベルのカスタマイズために、個々の金融機関;が一般化したデータベースを提供できる、基本的には可能です。できるようなものをデザインは一般的な問:あなたの母親の多くの基本的ニーズしかし、問題はその一般のデザインになる傾向がある高い複雑になります。例えば、デザインすることが可能ですデータベースへのデータ駆動用できな潜在ユーザーニーズが通常でよりカスタマイズのスキーマのニーズに合わせたメニューをご用の機関です。

が重要なトレードオフに関わる設計のための再利用状況通常よう、時間と複雑;すなわちうるようなものをデザインはシステムを利用通常、追加の時間invovledの総合デザインではプライベートビーチがあります。

あなたはその周りにビルドしたアプリケーションは、彼らはすべてのそれに買うよ、あなたのターゲットに市場に十分な問題を解決するように

データベース設計の一般性と特異性の適切なバランスを見つけます。

それぞれの顧客の使用すべての機能やすいるという、全力をつくす。私はいつもこの追加時間の計画を変更すると、データベースに合わせて特定のアプリケーションに支払うのです。ですの簡潔なデータベースの構造についた口座は毎可能です。

している場合は、既存のデータベースの類似のテンプレートし、通常の使用データベースモデリングツールのような この 変更したりすると、その利用のSQLを生成し機能(ロード/保存"を実際のデータベースです。

別のトリックピックアップしていただき、最近では保存された多くの時間を保存するSQLを生成するために使用されるデータベースとして記述します。したい場合は新しいデータベースのいず編集のソースコード、およびその負荷のページです。例えば、もしたかったのを新しく生成しますお客様のテーブルを積み込ん http://localhost/load.php?generate=customer.

希望です!

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top