国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

區(qū)切り文字で區(qū)切られたリストをデータベース列に保存することは本當に悪いことでしょうか?
P粉020556231
P粉020556231 2023-08-27 19:52:49
0
2
604
<p>一連のチェックボックス (一部またはすべてを選択可能) がある Web フォームを想像してください。データベーステーブルの列に格納される値のカンマ區(qū)切りリストにそれらを保存することにしました。 </p> <p>これで、正しい解決策は 2 番目のテーブルを作成し、データベースを正しく正規(guī)化することであることがわかりました。シンプルなソリューションを?qū)g裝する方が早いため、あまり時間をかけずにアプリケーションの概念実証を迅速に取得したいと考えています。 </p> <p>私の場合、時間の節(jié)約とコードの簡素化にはそれだけの価値があると思いますが、これは合理的な設(shè)計選択でしょうか、それとも最初からこれを標準化すべきでしょうか? </p> <p>詳しく説明すると、これは基本的に共有フォルダーに保存されている Excel ファイルを置き換える小さな內(nèi)部アプリケーションです。また、プログラムを整理してメンテナンスを容易にしたいと考えているので、この質(zhì)問をしています。あまり満足していない點がいくつかあり、そのうちの 1 つがこの質(zhì)問の主題です。 </p>
P粉020556231
P粉020556231

全員に返信(2)
P粉948258958

「その理由の一つは怠惰です?!?

これは警鐘です。このようなことをすべき唯一の理由は、それを「正しい方法」で行う方法を知っている場合ですが、それを行わない明確な理由があると結(jié)論付けている場合です。

そうは言っても、この方法で保存することを選択したデータが、クエリを?qū)g行する必要がないデータである場合は、選択した方法で保存することもできるかもしれません。

(一部のユーザーは、前段落の私の発言に異議を唱え、「將來どのような要件が追加されるか分からない」と主張します。これらのユーザーは、誤った情報を與えられているか、宗教的信念を表明しているかのどちらかです。時には、ハードワークが前に有利になることがあります。必須です。)

いいねを押す +0
P粉545956597

第一正規(guī)形に違反することに加えて、重複するグループ値列や単一の値に格納されるカンマ區(qū)切りリストには、他にも多くの実用的な問題があります:

    各値が正しいデータ型であることを確認できません:
  • 1,2,3,banana,5 を防ぐことができません
  • 外部キー制約を使用して値をルックアップ テーブルにリンクすることはできません。參照整合性を強制することもできません。
  • 一意性を強制できません: ブロックできません
  • 1,2,3,3,3,5
  • リスト全體を取得しない限り、リストから値を削除することはできません。
  • 保存されたリストの長さは、文字列列の長さを超えることはできません。
  • 指定された値を持つリスト內(nèi)のすべてのエンティティを検索することは困難であり、非効率的なテーブル スキャンを使用する必要があります。 MySQL などでは、正規(guī)表現(xiàn)を使用する必要がある場合があります:

  • idlist REGEXP '[[::]]'<:> または MySQL 8.0 の場合: idlist REGEXP '\\b2\\b' 李>リスト內(nèi)の要素を數(shù)えたり、他の集計クエリを?qū)g行したりするのは困難です。
  • 値を參照するルックアップ テーブルに接続するのは困難です。
  • リストをソート順に取得するのは困難です。
  • 値に含まれないことが保証される?yún)^(qū)切り文字を選択するのは困難です
これらの問題を解決するには、大量のアプリケーション コードを作成し、RDBMS がすでに提供しているより効率的な機能を再発明する必要があります。

カンマ區(qū)切りリストは間違っているので、これを私の本の最初の章にしました:

SQL アンチパターン、第 1 巻: データベース プログラミングの落とし穴の回避。

非正規(guī)化が必要な場合もありますが、

@OMG Ponies が言及したように、これらは例外です。リレーショナル以外の「最適化」は、データの他の用途を犠牲にして、あるタイプのクエリに利益をもたらすため、非正規(guī)化に値するように特別な処理が必要なクエリを必ず把握してください。

いいねを押す +0
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート