|
|
|
Прошу совета бывалых проектантов низовой структуры БД.
|
|||
|---|---|---|---|
|
#18+
БД универа в которой учитываются данные по сдаче экзаменов. Спроектировал чудушку на глиняных ногах… )))) (((( Вообщем многое видно из схемы Некоторые положения: Один препод может вести несколько дисциплин (предметов) поэтому таблицы преподов и предметов связаны через промежуточную таблицу, что соответствует отношению многие ко многим. Далее каждый препод может вести предметы в нескольких группах , сделано тоже самое , таблица преподов вяжется через промежуточную таблицу с таблицей групп, тоже отношение многие ко многим. Студент , с ним вроде просто , он привязывается к своей группе, а группа вяжется к курсу , который в свою очередь привязывается к факультету. Экзамен назначается группе , дата экзамена и привязывается к преподу и предмету (таблица «Экзамен » связана с таблицей «Преподы предметы») (ВОТ ТУТ ДУМАЛ СО СТРАШНОЙ СИЛОЙ ,ТАК ЛИ ПОСТУПИТЬ) И последняя таблица результатов экзамена Там Айдишник Экзамена , Айдишник Студента и собственно оценка студента . Просьба покритиковать проект , наставить на путь истинный если где по Вашему мнению тупанул. Дело все в том, что я не могу в одном запросе вывести результаты экзаменов чтобы там было ЭТО АйдиСтудента ФИО Студента Предмет по которому сдавал экзамен (Название предмета) Препод который принимал экзамен (ФИО) Оценка по экзамену Название Группы студента Как бы я не извращался , у меня не получилось в одном запросе получить эти данные , начал думать что косяк именно при проектировании БД, прикладываю в архиве файл БД акес 2000 формат, (зарарил , всего 25 КБ ), отвечу оперативно на любые вопросы. Надо сделать парни, надо . Плохо спроектированная база это тоже самое что машина без колес, какой бы движок у нее не был , без колес она не поедет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2007, 20:09 |
|
||
|
Прошу совета бывалых проектантов низовой структуры БД.
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2007, 20:10 |
|
||
|
Прошу совета бывалых проектантов низовой структуры БД.
|
|||
|---|---|---|---|
|
#18+
Экзамены join ПреподыПредметы join Преподаватели join РезультатыЭкзаменов join Студенты join Группы Нехорошо то, что экзамен связан с преподавателем и предмет через другую связь - ПреподыПредметы. ПреподыПредметы это связь, которая со временем может прекратить своё существование, и ты потеряешь информацию о предмете и преподавателе, который когда то принимал экзамен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2007, 20:31 |
|
||
|
Прошу совета бывалых проектантов низовой структуры БД.
|
|||
|---|---|---|---|
|
#18+
я бы добавил табличку "Семестры", и в ПреподыПредметы и Экзамен, соответственно, добавил ID семестра (преподаватель ведет данный предмет в данном семестре, экзамен принимает в данном семестре)- тогда проблема с удалением связи исчезнет. Связь "преподаватель-группа" - насколько я понимаю, лишняя, она воспроизводится из Экзамена. (Если не может быть ситуации, когда читал курс один преподаватель, а экзамен принимает другой. Если может - в структуре надо вообще многое менять, добавлять в ПреподПредмет поле "Роль", etc.) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2007, 20:49 |
|
||
|
Прошу совета бывалых проектантов низовой структуры БД.
|
|||
|---|---|---|---|
|
#18+
Кот МатроскинСвязь "преподаватель-группа" - насколько я понимаю, лишняя, она воспроизводится из Экзамена. Тоже об этом подумал, но, пока ни один из студентов не сдал экзамен, в БД не будет информации о том в какой группе этот экзамен запланирован, какая группа должна сдать экзамен. Фактически его могут сдавать студенты из любых групп. Если такое случится, прямая связь экзамена с группой позволит однозначно определить группу студентов которая должна сдать этот экзамен и выявить посторонних студентов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2007, 21:20 |
|
||
|
Прошу совета бывалых проектантов низовой структуры БД.
|
|||
|---|---|---|---|
|
#18+
Студент может одновременно учиться на разных факультетах? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2007, 21:35 |
|
||
|
Прошу совета бывалых проектантов низовой структуры БД.
|
|||
|---|---|---|---|
|
#18+
mcureenab Тоже об этом подумал, но, пока ни один из студентов не сдал экзамен, в БД не будет информации о том в какой группе этот экзамен запланирован, какая группа должна сдать экзамен. Если запись об экамене не существует - этой информации и так не будет, связь "преподаватели-группы" тут никак не поможет. Если существует (скажем, с датой = NULL) - не понимаю проблемы. mcureenab Если такое случится, прямая связь экзамена с группой позволит однозначно определить группу студентов которая должна сдать этот экзамен и выявить посторонних студентов. Я не предлагаю убрать ссылку на группу из таблицы "экзамен", я предлагаю убрать таблицу "преподаватели-группы". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2007, 22:03 |
|
||
|
Прошу совета бывалых проектантов низовой структуры БД.
|
|||
|---|---|---|---|
|
#18+
Ой ёёё ой , включаю думатрон , щаз переварю что написали и отвечу. нет студент может учиться только на 1 фак-те. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2007, 23:13 |
|
||
|
Прошу совета бывалых проектантов низовой структуры БД.
|
|||
|---|---|---|---|
|
#18+
2 mcureenab //Нехорошо то, что экзамен связан с преподавателем и предмет через другую связь - ПреподыПредметы. Ну а как связать более корректно? Ведь группа сдает экзамен преподу, а в таблице ПреподыПредметы однозначно определенно что ведет (предмет) препод. Если есть идеи как по другому повязать – я весь во внимании ! 2 Кот_Матроскин Если препод читал курс то он и принимает,тут так. В остальном изменил структуру по твоему совету. Спасибо за подзатыльники и тычинки , респект. Можно подробней про то , что мол при удалении некоторых данных потеряются результаты экзаменов. Например если шлепнуть препода, то по цепочке пойдет волна и смоет и его экзамены и результаты , но как верно ты заметил если ввести статус его (работает / уволился, курит) то проблема снимается. Убил таблицы ПреподателиГруппы , верно ты сказал , это можно оперделить из экзаменов. Добавил табличку семестр и ссылки на нее в ПреподыПрдеметы и Экзамен. Все также не могу получить в запросе ЭТО (((((((((( Добавляю пару таблицы, Джоин вся фигня и получаю в поле ID_PrepPredmet одни и те же значения , все одинаковые , не могу вьехать что не так. АйдиСтудента ФИО Студента Предмет по которому сдавал экзамен (Название предмета) Препод который принимал экзамен (ФИО) Оценка по экзамену Название Группы студента Ну плюс в этом же запросе семестр сдачи экзамена. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2007, 01:18 |
|
||
|
Прошу совета бывалых проектантов низовой структуры БД.
|
|||
|---|---|---|---|
|
#18+
Всё , пошла резина , запросец сделал!!! Дарт всем говорит спасибо , особое спасибо Мотроскину, завтра загляну может последнюю модель БД сожгут напалмом )))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2007, 02:13 |
|
||
|
Прошу совета бывалых проектантов низовой структуры БД.
|
|||
|---|---|---|---|
|
#18+
# Darth Vader #Такое впечатление, что ты стебаешься. Это не схема, это ужас в ночи. Навскидку в хаотическом порядке: 1. Зачем нужна сущность "Курс" ? 2. Почему сущность "Студенты" зависит от сущности "Группы" ? 3. Зачем нужно поле "ID" в сущности "Результаты экзаменов" ? 4. Почему от сущности "Семестры" есть связи к сущности "Экзамены" и "ПреподыПредметы" одновременно ? 5. Аналогично, почему от сущности "Группы" есть связи к сущности "Экзамены" и "Студенты" одновременно ? 6. Уже что-то подобное говорили. Если преподаватель умрет, как он будет принимать экзамен ? 7. ...more&more В общем, все не так. Попробуй выделить, что и от чего действительно зависит, а что является независимым. Где есть история и где нет. И "не следует приумножать сущностей сверх необходимого". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2007, 02:33 |
|
||
|
Прошу совета бывалых проектантов низовой структуры БД.
|
|||
|---|---|---|---|
|
#18+
ChAТакое впечатление, что ты стебаешься. Это не схема, это ужас в ночи. Навскидку в хаотическом порядке: Вот нравятся мне прямые люди. Может я много где ошибся, но ты ошибся в одном- я не стебаюсь , бл буду . ChA 1. Зачем нужна сущность "Курс" ? Ну дык известно для чего, чтобы пнуть студента на курс, зафиксировать его там. Предлагаешь исключить вообще эту сущность? Ведь надо знать на каком курсе штундент учиться. ChA 2. Почему сущность "Студенты" зависит от сущности "Группы" ? А что тут такого? В группе может быть куча студентов. Студент может быть лишь в одной группе, по моему тут все в ажуре. ChA 3. Зачем нужно поле "ID" в сущности "Результаты экзаменов" ? Можно конечно было его убить, но привык что в каждой таблице есть поле первичного ключа. ChA 4. Почему от сущности "Семестры" есть связи к сущности "Экзамены" и "ПреподыПредметы" одновременно ? Потому что экзамен будет сдаваться в оперерделенном семестре, а препод ведет предмет тоже по семестрам, можно поглядеть будет когда и что велось. ChA 5. Аналогично, почему от сущности "Группы" есть связи к сущности "Экзамены" и "Студенты" одновременно ? Экзамен сдает группа, это как факт который свершится, в таблице Экзамены те экзамены которые впереди , а в таблице РезультатыЭкзаменов лишь результаты, предлагаешь это все вместе слить? ChA 6. Уже что-то подобное говорили. Если преподаватель умрет, как он будет принимать экзамен ? В таблице экзаменов либо убивается запись либо правится на другого препода. ChA В общем, все не так. Попробуй выделить, что и от чего действительно зависит, а что является независимым. Где есть история и где нет. И "не следует приумножать сущностей сверх необходимого". Вот поэтому я пихнул сюда свои старания, чтобы такие монстры как ТЫ (поверь это не сарказм) помогли мне так сказать в боевой обстановке. Покажи мастер класс, наваяй свою версию или поправь мой вариант, если ты не считаешь конечно , что впустую потратишь время, для меня это будет хорошей школой и бл буду , что реально буду очень благодарен ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2007, 03:05 |
|
||
|
Прошу совета бывалых проектантов низовой структуры БД.
|
|||
|---|---|---|---|
|
#18+
# Darth Vader # ChA1. Зачем нужна сущность "Курс" ?Ну дык известно для чего, чтобы пнуть студента на курс, зафиксировать его там. Предлагаешь исключить вообще эту сущность? Ведь надо знать на каком курсе штундент учиться.Это, например, легко узнать через сданные им экзамены, которые, в свою очередь, сдаются в определенном семестре определенного курса. Хотя это надумано, просто как иллюстрация. Да, и кстати, почему курс зависит от факультета ? # Darth Vader # ChA2. Почему сущность "Студенты" зависит от сущности "Группы" ?А что тут такого? В группе может быть куча студентов. Студент может быть лишь в одной группе, по моему тут все в ажуре.Это, конечно, да. Но у тебя группа студента зависит от курса. Будешь менять его группу каждый курс ? Но тогда зачем в твоем случае выделять сущность "Курс" вообще ? Это всего лишь число - номер, нет ? * Кстати, у нас наименование группы зависело от семестра и кафедры, хотя фактически наименование группы соответствовало код_факультета+номер_кафедре+номер_ семестра, но это совершенно не значит, что в таком виде оно и должно хранится в БД, так как оно легко вычисляется. # Darth Vader # ChA3. Зачем нужно поле "ID" в сущности "Результаты экзаменов" ?Можно конечно было его убить, но привык что в каждой таблице есть поле первичного ключа.Первичный ключ - это святое, но в твоей схеме такую роль может играть пара (ID_Ex, ID_Stud). Надобность в другом ключе отсутствует. # Darth Vader # ChA4. Почему от сущности "Семестры" есть связи к сущности "Экзамены" и "ПреподыПредметы" одновременно ? Потому что экзамен будет сдаваться в оперерделенном семестре, а препод ведет предмет тоже по семестрам, можно поглядеть будет когда и что велось.По твоей схеме есть возможность появления артефактов. Т.е., экзамен сдается, например, в 5 семестре, а преподаватель давал этот предмет, ну например, в 8 семестре. Надо стремиться к тому, чтобы один факт был в одном месте. # Darth Vader # ChA5. Аналогично, почему от сущности "Группы" есть связи к сущности "Экзамены" и "Студенты" одновременно ?Экзамен сдает группа, это как факт который свершится, в таблице Экзамены те экзамены которые впереди , а в таблице РезультатыЭкзаменов лишь результаты, предлагаешь это все вместе слить?Та же вероятность артефакта, что и в предыдущем случае. # Darth Vader # ChA6. Уже что-то подобное говорили. Если преподаватель умрет, как он будет принимать экзамен ?В таблице экзаменов либо убивается запись либо правится на другого препода.Но вел-то курс другой преподаватель. * У нас, кстати, практиковалось, что принимают экзамен не те преподаватели, что давали предмет. # Darth Vader #Покажи мастер класс, наваяй свою версию или поправь мой вариант, если ты не считаешь конечно , что впустую потратишь время, для меня это будет хорошей школой и бл буду , что реально буду очень благодарен !Ни в коем случае, гораздо важнее тебе самому понять, почему именно так, а не иначе. Так что извини. Но, если что будет не так, тебе здесь скажут, не сумлевайся :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2007, 04:09 |
|
||
|
Прошу совета бывалых проектантов низовой структуры БД.
|
|||
|---|---|---|---|
|
#18+
ChA Да, и кстати, почему курс зависит от факультета ? Военное училище потому что. Группа = взвод. Курс = рота. Факультет = батальон. ChA Первичный ключ - это святое, но в твоей схеме такую роль может играть пара (ID_Ex, ID_Stud). Надобность в другом ключе отсутствует. В принципе, верно, что придерживаешься привычной схемы. Хотя конечно, толку от этого Id мало. Лучше экзамен напрямую к преподу прицепи. Может быть, что и не один препод будет: а экзаменационная комиссия переменного состава. И Экзамен , мо-моему, напрямую к предмету завязать нужно. Тут уж точно вариаций быть не может. Бывает, что экзамен один за два семестра, и даже больше. В общем, тут надо вычислять на месте. Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2007, 04:42 |
|
||
|
Прошу совета бывалых проектантов низовой структуры БД.
|
|||
|---|---|---|---|
|
#18+
ChA 4. Почему от сущности "Семестры" есть связи к сущности "Экзамены" и "ПреподыПредметы" одновременно ? Это я слегка маху дал, дав такой совет :) Не заметил, что в сущности "ПреподыПредметы" ключ суррогатный, как-то автоматом решил, что ключ там составной (ID_predm, ID_prepod). Тогда при добавлении семестра его нужно добавить в ключ, а следовательно, во все таблицы, ссылающиеся на "ПреподыПредметы". Если ключ не составной, а IDшник, то ID семестра в "Экзаменах" и правда, конечно, не нужен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2007, 11:25 |
|
||
|
Прошу совета бывалых проектантов низовой структуры БД.
|
|||
|---|---|---|---|
|
#18+
2 ChA Спасибо за советы, щаз будем ломать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2007, 11:54 |
|
||
|
Прошу совета бывалых проектантов низовой структуры БД.
|
|||
|---|---|---|---|
|
#18+
Имя группы будет вычисляться по ее айдишнику+номеру_семестра_коду кафедры Теперь чтобы перевести группу на другой курс достаточно для нее указать другой айдишник семестра. Всего таких айдишников 10 - первые семестры 5 курсов и соответственно вторые семестры 5 курсов Группа зависит от семестра и кафедры , семест может поменяться , кафедра одна и та же Экзамен проводится у препода по указному предмету (ту думал, так как препод может вести несколько предметов, то можно указать код предмета ) Воопщем морщил репу со страшной силой, ясен фиг есть нестыковки. Но может все таки ближе к «Не тихому ужасу» ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2007, 14:37 |
|
||
|
Прошу совета бывалых проектантов низовой структуры БД.
|
|||
|---|---|---|---|
|
#18+
Ну я бы кафедры и факультеты вообще бы деревом сделал.Кто знает,что придумает ректор через год.Может быть новые орг структуры с другим делением. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2007, 14:57 |
|
||
|
Прошу совета бывалых проектантов низовой структуры БД.
|
|||
|---|---|---|---|
|
#18+
# Darth Vader #2 mcureenab //Нехорошо то, что экзамен связан с преподавателем и предмет через другую связь - ПреподыПредметы. Ну а как связать более корректно? Ведь группа сдает экзамен преподу, а в таблице ПреподыПредметы однозначно определенно что ведет (предмет) препод. Если есть идеи как по другому повязать – я весь во внимании ! Ты уже сделал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2007, 15:17 |
|
||
|
Прошу совета бывалых проектантов низовой структуры БД.
|
|||
|---|---|---|---|
|
#18+
Вопрос. Что такое Группа, что такое Студент и почему ID группы является атрибутом Студента? ИМХО, группа это только её учётный номер. Группу и Студента можно слить в одну таблицу Группы, которая устанавливает связь Факультет, Семестр, Оценки, и ссылается на Человека по ФИО, а также сожержит номер группы. Запрос по Факультет, Семестр, Номер группы вернёт нам студентов группы. Таблица экзамен тоже вызывает сомнение, поскольку оценка выставляется определённым преподавателем, определённому студенту в группе, по определённому предмету. Экзамен может служить для планирования мероприятия. Но если требуется учёт состоявшихся экзаменов, то она не нужна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2007, 15:28 |
|
||
|
Прошу совета бывалых проектантов низовой структуры БД.
|
|||
|---|---|---|---|
|
#18+
# Darth Vader #Но может все таки ближе к «Не тихому ужасу» ?Лучшее :) Хотя вопросы еще остаются. Опять же навскидку: 1. По схеме получается, что студенты разных лет, но из одной группы будут считаться находящимися в одной группе. 2. Меняя семестр группе ты меняешь его и тем, кто учился в такой же группе, но, например, год назад. 3. Предметы перестали быть связанными с семестром. Наводка: если правильно помню, то существует такое понятие, как учебный план. На пиво сам наскребешь ;) P.S. На самом деле в Инете можно найти уже готовые схемы такого рода, но лучше самому. Shtockкафедры и факультеты вообще бы деревом сделал.Кто знает,что придумает ректор через год.Может быть новые орг структуры с другим делением.Такая структура высших заведений, если не ошибаюсь, существует не один век. Но если вдруг такое с будуна какому-то ректору и втемяшится, то это не приведет к кардинальной переделке окончательной схемы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2007, 15:37 |
|
||
|
Прошу совета бывалых проектантов низовой структуры БД.
|
|||
|---|---|---|---|
|
#18+
Человек по-моему нечестно поступает. В одной из контор при приёме на работу данная задача явлется тестом, причём заочным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2007, 17:34 |
|
||
|
Прошу совета бывалых проектантов низовой структуры БД.
|
|||
|---|---|---|---|
|
#18+
Old NickЧеловек по-моему нечестно поступает. В одной из контор при приёме на работу данная задача явлется тестом, причём заочным.Даже если это так, ему здесь явного ответа пока не дают, сам борется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2007, 17:39 |
|
||
|
Прошу совета бывалых проектантов низовой структуры БД.
|
|||
|---|---|---|---|
|
#18+
Old NickЧеловек по-моему нечестно поступает. В одной из контор при приёме на работу данная задача явлется тестом, причём заочным. Нет уважаемый , это надо не для теста. не надо быть снобом , меня направляли , а не делали за меня. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2007, 21:38 |
|
||
|
Прошу совета бывалых проектантов низовой структуры БД.
|
|||
|---|---|---|---|
|
#18+
Задача вроде очень ограниченная - "учитываются данные по сдаче экзаменов". Не проще отталкиваться от экзаменационной ведомости? Шапка ведомости: t1 (Название предмета, ФИО препода, Название группы) Строки ведомости: t2 (ФИО студента, оценка) Если кроме того требуется первичный учёт преподавателей, предметов и студентов, то придётся завести соответсвующие таблицы. Но по задаче это вроде не требуется. Только не ясно с id студента. Это № студенческого билета? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2007, 21:49 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=34276947&tid=1544761]: |
0ms |
get settings: |
12ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
185ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
88ms |
get tp. blocked users: |
2ms |
| others: | 242ms |
| total: | 574ms |

| 0 / 0 |
