2013-07-24 4 views
0

Я проектирую базу данных, где у меня есть Курс стол и Профессор стол. Бизнес-правила:Взаимосвязь между таблицей профессора и таблицей курсов

1) Профессор может преподавать много курсов. (Это очевидно).

Однако, я застрял во втором правиле.

2) В данном семестре курс может быть предложен в разных графиках, каждый из этих предложений может преподаваться другим профессором. Например, типичный курс первокурсника по исчислению составляет около 100 студентов в каждом семестре. Курс разделен на 4 секции, каждый из которых имеет 25 студентов и другого профессора.

я решил смоделировать его следующим образом:

Course 
{ 
    course_code 
    prof_id 
    course_name 
    Primary key(course_code, prof_id) 
} 

Professor 
{ 
    prof_id 
    prof_name 

} 

Как вы думаете, этот дизайн хорош? Если нет, предоставьте несколько предложений.

ответ

3

Это правило многие-ко-многим соединение, где вместо того, чтобы присоединиться курс непосредственно к профессору вы бы таблицу, возможно под названием графика:

Эта таблица должна иметь следующую информацию:

Course 
{ 
    course_code 
    course_name 
    Primary key(course_code) 
} 

Professor 
{ 
    prof_id 
    prof_name 
    Primary key(prof_id)  
} 

Schedule 
{ 
course_code 
prof_id 
Primary key(course_code, prof_id) 
} 

Вы также можете добавить несколько временных интервалов в таблицу scehdule, чтобы вы могли видеть, какое время недели проводится курс.

+0

+1. Слово, которое я слышал для этого объекта, это «Предложение». –

+0

@joshido, спасибо большое. Можете ли вы также помочь мне определить отношения между тремя таблицами. Я вижу, что между курсом и графиком есть один-много, но для меня все еще неясно. Спасибо –

+0

@NathanHughes благодарит много. Можете ли вы также помочь мне определить отношения между тремя таблицами. Я вижу, что между курсом и графиком есть один-много, но для меня все еще неясно. Спасибо –

Смежные вопросы