|
|
|
Модель БД "Ведение базы данных формирования груп обучения"
|
|||
|---|---|---|---|
|
#18+
Подскажите - достаточно ли таблиц, или есть лишние, что необходимо исправить, верно ли составлена схема (файл-картинка прилагается) для следующей БД: В начале каждого семестра студенты имеют возможность посмотреть каталог курсов, который содержит список предметов, которые изучаются в этом семестре. Информация о курсах должна включать фамилию преподавателя, название факультета и короткое описание, которое помогает студенту сделать выбор. Система что проецируется позволит студенту избрать четыре курса в следующем семестре. Кроме того, каждому студенту необходимо дополнительно указать еще два варианта, на случай если курс будет переполнен или отменён. На курс не должно быть записано больше двадцати или менее пяти студентов. Курс, на который запишется менее чем пять студентов, будет отменено. По завершению регистрации система направляет информацию в систему оплаты для установления счетов студентам. Преподаватели должны иметь возможность доступа к системы для избрания курса, которые они будут излагать. В каждом семестре выделяется определенное время, на протяжении которого студенты могут менять свое расписание и получать доступ к системы для добавления или отличия избранных курсов. Система должна иметь возможности выдать: список курсов, групп, сформированных для курса, список занятых преподавателей список отмененных курсов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2015, 23:00 |
|
||
|
Модель БД "Ведение базы данных формирования груп обучения"
|
|||
|---|---|---|---|
|
#18+
У студента код группы прописан. Привязки к семестру нет. Модератор: Тема перенесена из форума "Microsoft SQL Server". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2015, 23:31 |
|
||
|
Модель БД "Ведение базы данных формирования груп обучения"
|
|||
|---|---|---|---|
|
#18+
Я бы еще студента соединил с предподавателем и разместил бы квадратики в виде окружности. Чтобы красиво смотрелось )) laferro ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2015, 11:12 |
|
||
|
Модель БД "Ведение базы данных формирования груп обучения"
|
|||
|---|---|---|---|
|
#18+
Много всего неправильного по схеме + создается впечатление, что схема взята от другой задачи про учебные планы :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2015, 11:35 |
|
||
|
Модель БД "Ведение базы данных формирования груп обучения"
|
|||
|---|---|---|---|
|
#18+
По-моему, лучше разделять дисциплины отдельно, преподавателей отдельно и сделать связующую таблицу Дисциплина_преподаватели. Чтоб одну дисциплину могли читать несколько преподавателей. И студенты могли выбрать не только название дисциплины, но и преподавателя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2015, 13:56 |
|
||
|
Модель БД "Ведение базы данных формирования груп обучения"
|
|||
|---|---|---|---|
|
#18+
Хотя проще не извращаться с новой табличкой. Достаточно перенести преподавателя из таблицы "Дисциплина" в таблицу "Учебный план" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2015, 13:57 |
|
||
|
Модель БД "Ведение базы данных формирования груп обучения"
|
|||
|---|---|---|---|
|
#18+
Mr.FontaineХотя проще не извращаться с новой табличкой. Достаточно перенести преподавателя из таблицы "Дисциплина" в таблицу "Учебный план" Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2015, 22:22 |
|
||
|
Модель БД "Ведение базы данных формирования груп обучения"
|
|||
|---|---|---|---|
|
#18+
Кот МатроскинМного всего неправильного по схеме + создается впечатление, что схема взята от другой задачи про учебные планы :) Что не правильно? Много информации перечитано, но схема писана из моего представления, как необходимо начать построение таблиц базы данных.. Хотелось бы сразу правильно создать таблицы и связи между ними, чтоб потом не добавлять и не менять.. Хотя, возможно, это будет необходимо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2015, 22:26 |
|
||
|
Модель БД "Ведение базы данных формирования груп обучения"
|
|||
|---|---|---|---|
|
#18+
laferro, Ну например - что делает в Группе код студента? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2015, 11:17 |
|
||
|
Модель БД "Ведение базы данных формирования груп обучения"
|
|||
|---|---|---|---|
|
#18+
laferro, как минимум, таблица "ГРуппа" неправильна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2015, 12:06 |
|
||
|
Модель БД "Ведение базы данных формирования груп обучения"
|
|||
|---|---|---|---|
|
#18+
MasterZivкак минимум, таблица "ГРуппа" неправильна. шутите? ))) 1) Это не схема базы данных - а просто некие прямоугольнички с попыткой набросать поля 2) Учебный план ахинея полная. Ну никак не может быть в Учебном плане ссылка на Дисциплину. Наоборот еще куда не шло, но нужно понимать постановку задачи. 3) Дисциплину может вести больше чем один преподаватель Рекомендую студенту взяться за ум и открыть учебник. В базе данных просто полей не достаточно. Нужны типы полей, первичные ключи, внешние ключи, индексы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2015, 13:31 |
|
||
|
Модель БД "Ведение базы данных формирования груп обучения"
|
|||
|---|---|---|---|
|
#18+
laferro, Преподаватель может преподавать в разных группах, одни и те же дисциплины могут быть в разных группах, одну дисциплину в одной группе могут преподавать разные преподаватели. Я создал таблицу-посредник между преподавателями, группами и дисциплинами. Как-то вот так: Код: sql 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2015, 14:35 |
|
||
|
Модель БД "Ведение базы данных формирования груп обучения"
|
|||
|---|---|---|---|
|
#18+
laferro, Навскидку: как вам правильно заметили, надо из файла групп убрать студентов, и, лично у меня в файле дисциплин нет преподавателей по той же самой причине. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2015, 14:40 |
|
||
|
Модель БД "Ведение базы данных формирования груп обучения"
|
|||
|---|---|---|---|
|
#18+
Pulsar_p, в задании слово "группа" отсутствует полностью. Потому думаю, что правильнее грохнуть всю таблицу "Группа". Она в данной БД вообще не должна существовать, ибо из описания задачи следует, что групп как таковых нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2015, 10:48 |
|
||
|
Модель БД "Ведение базы данных формирования груп обучения"
|
|||
|---|---|---|---|
|
#18+
laferroКот МатроскинМного всего неправильного по схеме + создается впечатление, что схема взята от другой задачи про учебные планы :) Что не правильно? Много информации перечитано, но схема писана из моего представления, как необходимо начать построение таблиц базы данных.. Хотелось бы сразу правильно создать таблицы и связи между ними, чтоб потом не добавлять и не менять.. Хотя, возможно, это будет необходимо. ну например, я за время обеда составил вот такую схемку Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Рисовать естественно нет желания, потому в текстовом виде, надеюсь разберётесь. По-моему так правильнее, по- крайней мере появляется понятие семестра, который описан в задании, а в ВАшей схеме никак не отражён. Ну а уж принадлежность к факультету, привязку оплаты, всякие дополнительные фишки(например, у меня крутится в голове "авторский курс", но так как в задании про него ничего нет, не стал в таблички пихать) можете самостоятельно доделать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2015, 10:55 |
|
||
|
Модель БД "Ведение базы данных формирования груп обучения"
|
|||
|---|---|---|---|
|
#18+
Mr.FontainePulsar_p, в задании слово "группа" отсутствует полностью. В задании и слово "оплата" отсутствует полностью ;) поэтому я и сказал - похоже что схема от другого задания про студентов, а ТС хочет натянуть сову на глобус. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2015, 11:55 |
|
||
|
Модель БД "Ведение базы данных формирования груп обучения"
|
|||
|---|---|---|---|
|
#18+
Mr.FontainePulsar_p, в задании слово "группа" отсутствует полностью. ... ТопикСтартерСистема должна иметь возможности выдать: ... групп, сформированных для курса, ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2015, 21:32 |
|
||
|
Модель БД "Ведение базы данных формирования груп обучения"
|
|||
|---|---|---|---|
|
#18+
Mr.Fontaine... ну например, я за время обеда составил вот такую схемку курс (id, name, id_дисциплина, количество часов) семестр(id, name) курсы_семетра(id, id_семестр, id_курс) ... Поле курс должно находится в файле групп. Каждый год это значение увеличивается на единицу, а затем после завершения обучения весь курс в полном составе удаляется или идет в архив (в зависимости от условий). ИМХО: Поле семестр не нужно вообще. Хотя это спорное утверждение, от проектирования базы зависит. Пусть ТС сам решает. Mr.Fontaineкурсы_семетра(id, id_семестр, id_курс) преподаватели_курсов(id, id_курсы_семестра, id_преподаватель) студенты_курсы(id_студент, id_преподаватели_курсов, is_main) Не понял, зачем это нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2015, 21:46 |
|
||
|
Модель БД "Ведение базы данных формирования груп обучения"
|
|||
|---|---|---|---|
|
#18+
Pulsar_p, читая Вас, создалось впечатление, что Вы говорите о курсе как о количественном измерении времени обучения в институте (абитуриент поступает на первый курс, затем переходит на второй курс и т.д.). Вы отойдите от этой позиции, взглянув, что курс может быть курсом лекций (то есть некоей последовательностью лекций по одному предмету связанных одной общей темой). Честно говоря, читая постановку задачи у меня лично создалось ощущение именно о "курсе лекций", а не о "курсе", как о порядковом номере года обучения. Да и понятие "группа" - это, как мне кажется, по заданию некое количество людей, решившее в данный момент послушать курс лекций. Я не увидел по заданию группу, как сообщество студентов, пять лет посещающих вместе одни и те же лекции. Студент утром может быть в группе, слушающей психологию, после обеда окажется в группе робототехники, а ближе к вечеру присоединится к математической группе, и именно в этом контексте в задании требуется построить отчёт о группах, сформированных для курса лекций. Исходя из этого и в связи с тем, что моя схема вызвала много непонимания опишу её. Начнём с того, что существуют дисциплины, которые понятно надо хранить в таблице "ДИСЦИПЛИНА" id namе1 математика2 физика есть студенты id ФИО1 Иванов С.П2 Петров В.А есть преподаватели id ФИО1 Иванов П.С2 Петров А.В Есть промежуток времени, в течение которого, преподаватели читают лекции, а студенты слушают их. В постановке задачи упоминается слово "семестр", которое как мне кажется подходит для этой цели id name1 осенний семестр 2015 года2 весенний семестр 2016 года Может конечно и не очень пока что понятно зачем она нужна, но думаю в дальнейшем мысль необходимости такой таблицы придёт, так как по каждой дисциплине существуют некие курсы, для которых есть табличка "Курсы" id name id_дисциплина количество часов1 дискретная математика 1 202 динамическое изменение состояния сферического коня в вакууме при отсутвтии влияния внешних факторов 2 55 которые могут читаться в только в определённый период, а могут и не читаться (ну например, зачем зимой читать курс лекций "Подготовка саней к эксплуатации в зимний период"?), поэтому студенты должны знать смогут ли они в заданный промежуток времени, называемый семестром посетить курс лекций по определению зависимости величины пестика от цвета и консистенции тычинок. Из-за этого необходимо указать наличие курсов в указанный промежуток времени (вот тут и понимаешь, что семестр в общем-то нужен нам в БД). К тому же в этой таблице следует предусмотреть поле со статусом назначенного для проведения курса (а то как построить отчёт об отменённых курсах?) id id_семестр id_курс статус1 1 2 'назначен'2 2 1 'отменён' Но информации о наличии курсов длля студентов мало, им требуется знать, от кого они будут получать знания, но так как специалистов по сферическим коням в учебном заведении может быть несколько, и они все хотят поделиться своими знаниями с окружающими, то информацию о преподавателях, читающих тот или иной курс лекций, необходимо выделить в отдельную табличку (некий список заявок преподавателей на проведение определённого курса лекций) id id_курсы_семестра id_преподаватель1 1 1 2 2 2 ну вот, вроде бы вся справочная информация готова. Теперь осталась одна табличка: заявки студентов на посещение курсов лекций (опять же так как студенты записываются на курс к определённому преподавателю, то и привязываем заявку студента к таблице заявок преподавателей на проведение курсов,а не просто к курсам как таковым id_студент id_преподаватели_курсов state_id Зачем требуется поле state_id? Например, для того, чтобы студенты по условиям задачи указывали какие четыре курса они хотят посетить обязательно (в этом случае, в этом поле можно записывать знаечние 1) и какие два курса лекций они могут посетить, только для того, чтобы набрать определённое количество прослушанных курсов (по условиям задачи каждый студент за один семестр должен прослушать четыре курса, ни больше ни меньше), тогда в этом поле можно записвать знаечние 0 Понятно, что первоначально в этой таблице будут просо пожелания студентов, из-за ограничения по количеству посещающих курсы все эти пожелания могут измениться, то есть требуется отдельная табличка в которой будут записаны все утверждённые заявки студентов. Но зачем создавать новую таблицу, если в поле state_id можно записать значение 2, которое говорит о том, что заявка студента утверждена и ему разрешено посещать указанным им курс лекций. P.S. Понятно, что в таблицах указаны не все поля, думается мне, что в ряде таблиц требуется добавить некую дополнительную информацию, но это уже на усмотрение автора, как ему лучше видится конкретная ситуация в учебном заведении ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2015, 07:22 |
|
||
|
Модель БД "Ведение базы данных формирования груп обучения"
|
|||
|---|---|---|---|
|
#18+
Mr.Fontaine... Есть промежуток времени, в течение которого, преподаватели читают лекции, а студенты слушают их. В постановке задачи упоминается слово "семестр", которое как мне кажется подходит для этой цели id name1 осенний семестр 2015 года2 весенний семестр 2016 года ... И все-таки, я считаю, что поле семестр не нужно вообще. Точно так же, как нет поля summa в таблице [Order Details] майкрософтовской учебной базы Northwind , потому как значение это вычисляемое. Ну хорошо, допустим у вас есть поле семестр. Кстати, а куда вы его воткнете? Физика начинается 1 октября. Дата начала курса ведь все равно будет. Неужели по ней нельзя вычислить, какой это семестр? Ладно, вы поставили, что это первый семестр. А если она заканчивается в апреле? Тогда к какому семестру эту дисциплину отнести? Или создать поле семестрконец? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2015, 10:07 |
|
||
|
Модель БД "Ведение базы данных формирования груп обучения"
|
|||
|---|---|---|---|
|
#18+
Pulsar_pФизика начинается 1 октября. Дата начала курса ведь все равно будет. Неужели по ней нельзя вычислить, какой это семестр? И как вычислить? Формулу для расчёта напишите? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2015, 12:13 |
|
||
|
Модель БД "Ведение базы данных формирования груп обучения"
|
|||
|---|---|---|---|
|
#18+
Pulsar_p, если уж Вы так прицепились к понятию "семестр", то хотелось бы понять что Вы пож этим словом подразумеваете. Вот смотрите, что в постановке задачи про семестры написано: "В начале каждого семестра студенты имеют возможность посмотреть каталог курсов, который содержит список предметов, которые изучаются в этом семестре". Заметьте, что у семестра должно быть начало, а вот про начало курсов пока что речи нет. И непонятно почему физика должна начаться 1 октября. Откуда такая информация? В начале семестра есть только желание администрации учебного заведения провести курс лекций по физике. Они и создают в БД запись об этом. Без дат, заметьте. Потому как ещё непонятно сколько преподавателей вызовется читать лекции по физике. Может никто не захочет читать лекции? Так что мы назначаем на первое октября и далее разбрасывая учебные часы по семестру? А может быть несколько преподавателей откликнутся на проведение курса. Какого преподавателя приглашать первого октября? Следующий этап организации курсов - выражение желания прослушать курсы у студентов. Может быть о никто не заинтересовался физикой, до все несколько преподавателей будут заняты под завязку, а некоторых студентов придётся не пускать на курсы. И вот уже когда определились что курсы по физике будут и сколько преподавателей смогло найти необходимое число желающих на свои курсы, то уже тогда зная количество курсов по физике (а лучше вообще всех курсов по всем предметам в семестре) и стоит озадачиться расписанием и определением какого октября какой преподаватель начнёт читать курс лекций по физике. Так вот к этому времени термин "Семестр" уже много где должен использоваться (при определении списка курсов, при расчёте какие курсы студенты будут посещать). Как вы сможете определить список четырех посещаемых каждым студентом курсов, если на момент этого расчёта нет дат начала курсов, потому по Вашему алгоритму не получится вычислить к какому семестру принадлежит курс лекций? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2015, 12:32 |
|
||
|
Модель БД "Ведение базы данных формирования груп обучения"
|
|||
|---|---|---|---|
|
#18+
Причём смею обратить Ваше, Pulsar_p, внимание, что по моему пониманию, в данной задаче семестр это просто произвольно заданный интервал времени, у которого кстати изначально при создании записи о семестре может быть только дата начала (чтоб можно было определять периоды разрешения подачи заявок на проведение курсов и подачи заявок на прослушивание курсов). Даты окончания семестра изначально может и не существовать. Она может появиться только после определения количества проводимых в семестре курсов (чтобы все курсы смогли физически закончиться, если физика закончится в апреле, значит и семестр закончится в апреле). А может и вообще дата окончания семестра не появиться. Где в условиях задачи Вы увидели, что октябрь и апрель должны быть обязательно разными семестрами? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2015, 12:39 |
|
||
|
Модель БД "Ведение базы данных формирования груп обучения"
|
|||
|---|---|---|---|
|
#18+
Mr.FontainePulsar_pФизика начинается 1 октября. Дата начала курса ведь все равно будет. Неужели по ней нельзя вычислить, какой это семестр? И как вычислить? Формулу для расчёта напишите? Код: sql 1. По поводу всего остального не вижу особого смысла дискутировать. По-своему вы правы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2015, 13:38 |
|
||
|
|

start [/forum/moderation_log.php?user_name=Pavel+Zagrebelin]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
39ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
64ms |
get tp. blocked users: |
2ms |
| others: | 889ms |
| total: | 1062ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...