0

次の属性を持つテーブルがあります。

tblCourseInstructor CourseId int NULL、InstructorId int NULL

[b]tblCourses[/b] CourseId int IDENTITY(1,1) NOT NULL、CourseName nvarchar(100) NULL、CourseDescription nvarchar(2000) NULL

tblInstructors
InstructorId int NULL、InstructorName nvarchar(50) NULL

tblLocations LocationId int IDENTITY(1,1) NOT NULL, Location nvarchar(50) NOT NULL, Seating_Capacity int NULL, offers_inclass_training ビット NULL, offers_online_training ビット NULL, Available_Seating int NULL

tblトレーニングの種類

TrainingTypeId int IDENTITY(1,1) NOT NULL、TrainingType nvarchar(50) NOT NULL

tblトレーニング日

DateId] int IDENTITY(1,1) NOT NULL,
trainingDates datetime NOT NULL

歴史:

従業員がオンラインでコースを受講できる職場でのトレーニング パッケージを作成しようとしています。

そのため、上記の表を作成しました。

登録ユーザーとそのコース選択の詳細が格納されるメイン テーブルがあります。

課題:

私たちがやりたいことは、コース情報画面を提示することです。

この画面では、従業員にドロップダウンからトレーニングの場所を選択するよう求めます。

トレーニング場所を選択すると、その場所のトレーニングの詳細が表形式で表示されます。

たとえば、コースの名前、講師、コースの説明、コースの日時などです。

従業員がこのコースに興味がある場合は、ボタンをクリックして登録し、このコースを受講します。

私たちの大きな課題は、上記のテーブルを結び付けて、テーブルをクエリしたときに、コース名、インストラクター、場所、日時などを上記のようにリストできるようにすることです。

上記の表に基づいて、すべてを結び付ける鍵はありません。

つまり、クエリを実行するときに結合できるように、それらは互いに関連していません。

誰かが私が見逃している可能性があるものを手伝ってもらえますか?

よろしくお願いします。

4

1 に答える 1

0

あなたが言ったように、ユーザーは最初に場所を選択すると、その場所で利用可能なコースが表示されます。

ステップ1: Course テーブルに場所を指すキーを用意します。この場合、同じコースを複数の場所で利用できる場合は、同じコースに対してこのテーブルにその数のレコードが必要になることに注意してください。

tblCourses 
            CourseId int IDENTITY(1,1) NOT NULL, 
            CourseName nvarchar(100) NULL, 
            CourseDescription nvarchar(2000) NULL
            LocationId int NOT NULL, (This is FK that connects to the location table)

ステップ 2: CourseId を使用してテーブル tblCourseInstructor を tblCourses に接続します。InstructorId を使用して tblCourseInstructor を tblInstructors に接続します。これらのキーは既にテーブルに存在しています。

ステップ 3: tblCourses に TrainingTypeID を追加して、tblTrainingType に接続します。

tblCourses の最終構造:

tblCourses 
                CourseId int IDENTITY(1,1) NOT NULL, 
                CourseName nvarchar(100) NULL, 
                CourseDescription nvarchar(2000) NULL
                LocationId int NOT NULL, (This is FK that connects to the location table)
                TrainingTypeID  int NOT NULL  (This is FK that connects to the tblTrainingType table)

したがって、上記の関係に基づいて、必要なクエリを記述し、前のドロップダウンでの選択に基づいて UI の各ドロップダウンをカスケードできます。

于 2013-05-30T04:29:23.210 に答える