ПроблемаКак присоединиться к секции таблицы с ERDigram
Что является правильным, когда присоединиться к секции таблицы с классом таблицы OR с курса стола или с инструктором таблицы.
Подробности
раздел группа студента, классифицированных в (AA, BB, CC) может принимать один курс или несколько курсов.
раздел может преподавать в одном или нескольких классах (класс лаборатории или класс).
инструктор может научить большему количеству секций и секции могут иметь более инструктор raltion многие ко многим и сделал в третьей таблице Inst_Course
Моя диаграмма ER следующим образом: Схема
базы данных, как следующие:
CREATE TABLE [dbo].[Instructor](
[InstructorID] [int] NOT NULL,
[InstructorName] [nvarchar](50) NULL,
CONSTRAINT [PK_Instructor] PRIMARY KEY CLUSTERED
(
[InstructorID] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
CREATE TABLE [dbo].[Course](
[CourseID] [int] NOT NULL,
[CourseName] [nvarchar](50) NULL,
CONSTRAINT [PK_Course] PRIMARY KEY CLUSTERED
(
[CourseID] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
CREATE TABLE [dbo].[Class](
[ClassID] [int] NOT NULL,
[ClassName] [nvarchar](50) NULL,
CONSTRAINT [PK_Class] PRIMARY KEY CLUSTERED
(
[ClassID] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
CREATE TABLE [dbo].[Section](
[SectionID] [int] NOT NULL,
[SectionName] [nvarchar](50) NULL,
CONSTRAINT [PK_Section] PRIMARY KEY CLUSTERED
(
[SectionID] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
CREATE TABLE [dbo].[Inst_Course](
[InstID] [int] NOT NULL,
[CourseID] [int] NOT NULL,
CONSTRAINT [PK_Inst_Course] PRIMARY KEY CLUSTERED
(
[InstID] ASC,
[CourseID] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
CREATE TABLE [dbo].[Course_Class](
[ClassID] [int] NOT NULL,
[CourseID] [int] NOT NULL,
[Fromtime] [int] NULL,
[Totime] [int] NULL,
[day] [nvarchar](50) NULL,
CONSTRAINT [PK_Course_Class] PRIMARY KEY CLUSTERED
(
[ClassID] ASC,
[CourseID] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
R между таблицами следующим образом:
Таблица стола и таблиц классов имеет много-много отношений в таблицеCourse_Class.
Таблица инструкторов и курсов содержит отношение многих ко многим в таблице Inst_Course.
Секции есть многие ко многим с инструктором таблицей и таблицей курсов и классом таблицей , который является правильным для присоединиться к секции с инструктором или курсом или классом
Примечание: эта диаграмма не студент курсы таблицы, так как Целью диаграммы является график разработки для инструктора.
выборочные данные
Sample data to table Course_Class for instructor schedule
объединение таблиц следующим образом:
SELECT dbo.Class.ClassName, dbo.Course_Class.CourseID, dbo.Course_Class.Fromtime, dbo.Course_Class.Totime, dbo.Course_Class.day, dbo.Course.CourseName,
dbo.Inst_Course.InstID, dbo.Inst_Course.CourseID AS Expr3, dbo.Instructor.InstructorID, dbo.Instructor.InstructorName
FROM dbo.Class INNER JOIN
dbo.Course_Class ON dbo.Class.ClassID = dbo.Course_Class.ClassID INNER JOIN
dbo.Course ON dbo.Course_Class.CourseID = dbo.Course.CourseID INNER JOIN
dbo.Inst_Course ON dbo.Course.CourseID = dbo.Inst_Course.CourseID INNER JOIN
dbo.Instructor ON dbo.Inst_Course.InstID = dbo.Instructor.InstructorID
WHERE (dbo.Inst_Course.InstID = 1)
Вопрос: На самом деле то, что мне нужно, какая таблица должна присоединиться к секции таблицы класса или таблицы курсов или инструкторов
Update
класс в моем случае представляют собой класс или лабораторный класс смысл место преподавать курсы по его Раздел: (группа студента) представляют, кто учит.
Я могу взять курс C# в классе 1, что означает лаборатория 1 или лаборатория 2 или лаборатория 3 , а в lab1 я могу получить курс C# OR C++ или java в моем случае.
Здесь я рассматриваю раздел для представления группы студентов.
раздел может преподавать больше курсов C# и C++ и java.
C# курс может иметь больше секций aa, bb, cc.
Update2
студент участвовать только в одном разделе и не более раздела означает отношение один ко многим.
соотношение между секцией и класса многие ко многим, потому что раздел аа может взять курс на C# в класс А и класс бб
и класс бб может иметь курс C# и C++
если вы подразумеваете под сессией, конечно, вы правы.
Курсы преподаются в большем количестве уроков в разное время от 9-11,11-1,1-3,3-4.30 в разных классах.
курсов включают в себя несколько разделов, и каждый раздел может иметь больше курса
В чем вопрос? Пожалуйста, прочитайте [** How-to-Ask **] (http://stackoverflow.com/help/how-to-ask) \t \t И вот отличное место для [** START **] (http : //spaghettidba.com/2015/04/24/how-to-post-at-sql-question-on-a-public-forum/), чтобы узнать, как улучшить качество вопроса и получить лучшие ответы. –
Вы не предоставили достаточную информацию и не задали четкий вопрос. 1) как эти таблицы должны быть связаны друг с другом? Например, где ваша таблица 'InstructorCourses', в которой говорится, какие преподаватели учат тому, какие курсы? Где находится ваша таблица «StudentCourses», в которой записаны, в каких курсах учащиеся? В этот момент вы, вероятно, будете выполнять «кросс-соединение» между всеми тремя таблицами (так, декартовым продуктом) с «внешними соединениями» с этими тремя таблицами, чтобы заполнить пробелы. –
В соответствии с отношением между таблицами, указанным на диаграмме выше –