1

私の場合は「複数のテーブルとカンマ区切りの値」と同じであるため、少し検索しましたが、私の場合は異なります。私は両方の方法を実行しましたが、新しい要件については、コンマで区切られた列を含む列が約3〜4であるため、少し混乱しています...

Example (Existing Scenario):

Student Table
---------------------
id name subjectsEnrolled gamesEnrolled       BooksIssued             absentOn

1  Naya yoga, maths      cricket, football    aka#date, baka#date,caka#date   20121010,20130103
2  sait science, botany  football,chess,abc   prea#date, sunbaka#date      20121010,20130103

私が考えた可能な修正

学生テーブル(学生マスターデータとして)

id name moredetailsofstudent like address & blah blah

1  Naya              
2  Naya      

次に、別のテーブルabsentTableがあります

StudentId absentOn
1  20121010
1  20121011
2  20121010
2  20121011
1  20121012

次に、別のテーブルに、本と本の一意のIDを持つ「booksTable」をマスターさせるIssueTable

booksIssueTable

bookid issuedby dated
4       1       a date
2       1       a date 

ゲーム(2テーブル)と主題(2テーブル)についてもほぼ同じで、上記の本の場合と同じように保存します。

gameid enrolledby 
4       1      
2       12
4       10      
3       12      

等々...

私は正しいですか...これは私がデータベースとコーダーの専門家から知りたいことです。

注:実際のデータを投稿できなかったため、学校の管理を作成していません...これは単なる例です。実際のシナリオでは、メインの学生テーブルに10〜20 lacのようなビッグデータがあります...したがって、absentTable、booksIssueTable、gamesEnollTable、subjectenrollTableには、簡単に10lacレコードを含めることができます*1〜10 ... =それぞれ約30〜90 lacこのソリューションを使用してください。提案してください。

アップデート

今のところ、私は正しい方向に進んでいることを学びました。誰もが日付を欠席することを提案するでしょう。日付のマスターテーブルも作成し、そのdateidを使用してabsentTableをバインドする必要がありますか?

4

2 に答える 2

0

大量のデータがある場合でも、問題の解決策を得るのに期待されることを正確に実行しているので、同じフィールドに値をコンマで区切るよりも、適切なmnテーブルを使用する方がはるかに改善されます。

あなた自身のためにその解決策を見つけるのにとても良い仕事。これ以上の提案はできません。

于 2013-03-22T14:30:25.807 に答える