問題タブ [3nf]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1502 参照

rdbms - 3NF または 4NF にあるが DKNF にはない DB テーブル

3NF または 4NF であり、ドメイン キーの正規形ではないリレーショナル テーブルの例はありますか?

0 投票する
3 に答える
3876 参照

c# - LINQ options.loadwith問題

タグベースの ASP.net システムを作成しています。次の db スキームを使用します。

Topic <many-many> TagTopicMap <many-many> Tag

基本的には、次から見つけた 3NF アプローチ (toxi) です。http://www.pui.ch/phred/archives/2005/04/tags-database-schemas.html

これが私が持っているコードスニペットです:

これを実行すると、結果は問題ありませんが、上位 10 のトピックのリストを取得するための 11 の単一 SQL クエリが表示されます。

そして、タグの詳細を個別に取得するための他の10個。

2 つの loadwith ステートメントのオンとオフを切り替えようとしたところ、次のことがわかりました。

つまり、2 番目の loadwith オプションのみが期待どおりに機能します。最初のものは効果がありません!

また、結果セットの ToList() を作成しようとしました。しかし、さらに問題が発生します。タグの詳細部分については、これらの UNIQUE アイテムのみを取得し、すべての繰り返しタグ (もちろん、同じタグが多くのトピックに表示される可能性があります!) はクエリによって削除されます。

最後に、データを取得するために aspx で使用したコードを次に示します。結果を tolist() にする場合は、(IQueryable) を (IList) に変更します。

0 投票する
0 に答える
2036 参照

grails - Grails:hasMany/belongsToなしの多対多-代わりにネイティブ3NFを使用-全文を検索

hasManyまたはbelongsToプロパティを使用せずに、3NFを使用して多対多のマッピングをgrailsに実装しています。

この記事から抜粋して、その利点について多くのことを示し、説明しています。

記事: http: //burtbeckwith.com/blog/?p = 169

プレゼンテーションノート: http: //burtbeckwith.com/blog/files/169/gorm%20grails%20meetup%20presentation.pdf

私はこのような質問にタグシステムを作ろうとしています(stackoverflow :))

質問とタグを保存してから、それらとの関連付けを保存できますが、タグを使用して完全な質問を検索して提供できるようにしたいと思います。

質問、タグ、質問タグの3つのドメインクラスがあります

タグクラス

QuestionTagクラス

これらは、3つの正規化された形式で3つのテーブルを生成します

作品、質問、タグの数を保存します。

Q.1「質問」とその「タグ」のセットをロードするにはどうすればよいですか?質問に関連付けられたタグが5つある場合。

ここで「searchable」プラグインをインストールし、「static searchable=true」を3つのクラスすべてに適用しました。しかし、そのプロパティをQuestionTagクラスに追加すると、コンパイルエラーが発生します。これは、「hasMany」の欠如に関係していると考えられます。

Q.2「hasMany」を追加すると、内部で別のテーブルが生成されますが、独自のテーブルを定義しました。それとも、私が作成したQuestionTagテーブルを参照しますか?

Q.3 3NFを使用すると、タグと質問の全文を検索して、タグまたはテキストに一致する検索キーワードに関連付けられた質問を返すことができます。

0 投票する
1 に答える
711 参照

sql - 3NF mysql テーブルの複数の行の内容を組み合わせる

すべてのデータを忠実に正規化したので、出力用に 3NF 行を 1 行に結合する際に問題が発生しました。これまではサーバー側のコーディングでこれを行ってきましたが、さまざまな理由から、別の行に関連するすべての行を選択し、それらをすべて MySQL で 1 つの行に結合する必要があります...

試して説明するには:

私は3つのテーブルを持っています。

  • カテゴリー
  • 記事
  • カテゴリArticles_3NF

カテゴリには、 CategoryID + タイトル、説明などが含まれます。ArticleID + コンテンツを格納するテキスト フィールドで構成される、Articles テーブル内の任意の数の記事を含めることができます。CategoryArticlesテーブルは 2 つをリンクするために使用されるため、 CategoryID と ArticleID の両方が含まれます

ここで、Category レコードを選択し、リンクしている CategoryArticles_3NF テーブルを介して Articles テーブルに結合すると、結果はそのカテゴリに含まれる記事ごとに個別の行になります。問題は、カテゴリごとに 1 つの行を出力し、その中のすべての記事のコンテンツを含むことです。

それがばかげた要求のように聞こえる場合、それはそうであるからです。問題を説明する良い方法として記事を使用しているだけです。私のデータは実際には多少異なります。

とにかく-これを達成するために私が見ることができる唯一の方法は、「GROUP_CONCAT」ステートメントを使用してコンテンツフィールドをグループ化することです-これの問題は、これが返すことができるデータの量に制限があることです.はるかに多くを処理できます。

誰でもこれを行う方法を教えてもらえますか?

ありがとう。

0 投票する
8 に答える
1442 参照

relational-database - これはどのような正規化規則に違反していますか?

データベースに T 10と T 11という 2 つのテーブルがあり、それぞれ 10 列と 11 列があり、そのうちの 10 列は両方でまったく同じであるとします。

違反している正規化ルール (ある場合) は?

0 投票する
3 に答える
1282 参照

normalization - 1対1または他の関係をどのように正規化しますか?

野球の統計にデータを保存していますが、players、battingStats、pitchingStatsの3つのテーブルを使用して保存したいと思います。質問の目的のために、各プレーヤーはバッティング統計またはピッチング統計を持っていますが、両方は持っていません。

3NFでこのような関係を正規化するにはどうすればよいですか?

0 投票する
1 に答える
2297 参照

database - 関数の依存関係を第 3 正規形に変換する

リレーション スキーマを 3NF にある一連のスキーマに分解する際に、この問題が発生します。

私はこの関係スキーマを持っています: R= (A, B, C, D, E, F)
次のセット F の機能依存関係:

A → ABCDEF
B → C
D → E

誰でも私を助けることができますか?

0 投票する
1 に答える
652 参照

sql - 単純なデータベース正規化の質問

私が設計しているデータベースについて簡単な質問があり、それが正規化されていることを確認しています...

customerIdの主キーを持つcustomerテーブルがあります。顧客のアカウントステータスを反映するコードを持つStatusCode列があります。1 =開いている、2 =閉じている、3=一時停止しているなど。

ここで、顧客テーブルに、アカウントの一時停止が許可されているかどうかを示す別のフィールドが必要です...特定の顧客は、取引条件に違反した場合に自動的に一時停止されます...他の顧客はそうではありません...テーブルフィールドは次のようになります。

顧客(CustomerId(PK):StatusCode:IsSuspensionAllowed)

IsSuspensionAllowedフィールドがYESに設定されている場合を除いて、特定の顧客を知らない限り、ステータスや特定の顧客の一時停止が許可されているかどうかを判断できないため、両方のフィールドは主キーに依存しています。 StatusCode 3(一時停止)。

上記のテーブルデザインから、チェック制約がテーブルに追加されない限り、これが発生する可能性があるようです。IsSuspensionAllowedがYESに設定され、StatusCodeが3に設定されている場合にのみ、2つが相互に依存しているため、これを強制するためにリレーショナル設計に別のテーブルを追加する方法がわかりません。

ですから、私の長い説明の後、私の質問はこれです:これは正規化の問題であり、これを強制するリレーショナル設計は見られません...または実際には、チェック制約と実際、テーブルはまだ正規化されています。

乾杯、

スティーブ

0 投票する
3 に答える
284 参照

database - まだ正規化されたデータベーススキーマですか? データベース

次の db-schema があります。

FILEGROUP、およびBLOCKは、XML ファイルのオブジェクト構造を表します。 FILEはルートです。 GROUPにはFILEへの FK があります。 BLOCKにはGROUPへの 1 つの FK とUNITへの別の 1 つの FK があります。

UNITは、 FILEのコンテキストで異なるGROUPからの「類似の」BLOCKをグループ化します。

データベースは現在 3NF にあります。それでも、どの UNIT がFILE .id =1に属しているか知りたいです。これを行うには、4 つのテーブルすべてを結合するクエリを作成する必要があります。このスキーマを最適化するために、新しいリレーションUNIT n--FK-->1 FILEを作成できます。それでも、私のクエリは、最適化された db-schema で 2 つのテーブルのみを結合します。そしてここに質問があります: この DB (この新しい FK を含む) はまだ 3 NF にありますか? 理論は何と言っていますか?

また

0 投票する
3 に答える
935 参照

sql - SQL 3NF 正規化

これは3NFですか?