タグ付けされた質問 「design-pattern」

1
マルチテナントSQL Serverデータベースの複合主キー
ASP Web API、Entity Framework、およびSQL Server / Azureデータベースを使用して、マルチテナントアプリ(単一データベース、単一スキーマ)を構築しています。このアプリは、1000〜5000人の顧客が使用します。すべてのテーブルにはTenantId(Guid / UNIQUEIDENTIFIER)フィールドがあります。現在、私はId(Guid)という単一フィールドの主キーを使用しています。しかし、Idフィールドのみを使用することで、ユーザーから提供されたデータが正しいテナントからのものであるかどうかを確認する必要があります。たとえばSalesOrder、CustomerIdフィールドを持つテーブルがあります。ユーザーが販売注文を投稿/更新するたびにCustomerId、同じテナントからのものかどうかを確認する必要があります。各テナントに複数のコンセントがあるため、状況はさらに悪化します。次に、確認する必要がTenantIdありOutletIdます。これは本当にメンテナンスの悪夢であり、パフォーマンスに悪影響を及ぼします。 TenantIdとともに主キーに追加することを考えていIdます。また、おそらく追加OutletIdします。だから、主キーSalesOrder:テーブルになりますId、TenantIdとOutletId。このアプローチの欠点は何ですか?複合キーを使用すると、パフォーマンスが大幅に低下しますか?複合キーの順序は重要ですか?私の問題に対するより良い解決策はありますか?

3
3つのテーブル間の循環依存(循環参照)を回避するにはどうすればよいですか?
3つのテーブルがあります。 人 役職 いいね ERモデルを設計すると、循環依存関係が発生します。 1:N 人-------- <投稿 1:N 投稿---------- <いいね 1:N 人-------- <いいね ロジックは次のとおりです。 1人が多くの投稿を持つことができます。 1件の投稿に多くの高評価があります。 1人が多くの投稿を高く評価できます(作成された人は自分の投稿を高く評価できません)。 この種類の循環設計を削除するにはどうすればよいですか?それとも私のdb設計は間違っていますか?

2
アジャイルソフトウェア開発アプローチはSQLに適用されますか?
ロックされています。質問はトピックから外れていますが、歴史的に重要であるため、この質問とその回答はロックされています。現在、新しい回答や相互作用を受け入れていません。 アジャイルソフトウェア開発方法/原則/パターンがSQLプログラミングにも有効かどうかを知りたいです。もしそうなら、それについて学び始めるのに良い場所はどこですか?SQLコンテキストでのアジャイル開発を対象とした記事や本はありますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.