![]() |
Модераторы: LSD |
![]() ![]() ![]() |
|
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: нет Всего: 260 |
ну, мне кажется, что твоя структура немного нерациональна, иначе ты бы и сам смог бы написать сво запрос.
Вот смотри: Например, "Журнал успеваемости". Зачем для каждого студента в отдельности хранить дату начала и окончания сессии? Они что - по человеку в день экзамены сдают? Почему там столбики для зачёта и для экзамена? Разве можно по одному и тому же предмету получить и зачёт, и оценку? Если пересдач будет больше 1 - будешь ещё одну строку добавлять? И подобного там хватает. Давай с самого начала. Что у нас может быть общим, а что - уникально. Как попаду домой, набросаю структуру, которую я придумал. Если будет необходимость. А пока - давай посмотрим, что у нас есть. 1.Что уникально для каждого студента? ФИО и группа, к которой он относится. Это и следует вынести в отдельную таблицу информации о студенте. 2.Естественно, группы следует вынести в отдельную таблицу-справочник, где будут содержаться только пары ИД_группы + шифр_группы. 3.Предмет, как таковой, в отрыве от учебного плана, имеет только название. 4.Преподаватель характеризуется фамилией, именем и отчеством. 5.Список типов работ будет хранить список названий типов работ, выполняемый в течение семестра(лабораторные, практические и прочие) 6.Список типов сдач будет хранить типы зачётных работ(курсовой, дипломный, экзамен, зачёт) и максимальный бал по этой сдаче(1 - для зачёта, 5 - для экзамена). 7.Дисциплина(назовём это так) - это конкретный предмет, который читается у конкретной группы. Она(дисциплина) имеет уникальный учебный план(набор разного рода лабораторных/практических и иных работ разного количества), уникальный(возможно) набор преподавательского состава, разные данные о родах сдачи(курсовая, зачёт, экзамен и прочее) и, возможно, ещё некоторые отличительные характеристики. Вобщем, надо таблица дисциплин с парой полей: код_группы + код_предмета. 8.Преподавать одну "дисциплину"(читать предмет одной группе) могут несколько(не обязательно - один) преподавателей(лекторов может быть несколько; я уже не говорю про руководителей дабораторных работ и пр.). Потому создадим таблицу преподающих: ид_дисциплины + ид_препода. 9. План по "дисциплине" будет содержать связку полей ид_дисциплины + ид_тип_работы(лабораторная/практическая и т.д.) + количество_часов_в_семестре. 10. "Даты сдач дисциплин" будет содержать связку ид_дисциплины + дата_сдачи + ид_тип_сдачи(курсовой/экзмен/зачёт) - так мы организуем не только список дат экзаменов, но и список дат пересдач - для отдельной группы можно будет в порядке возрастания выделить дату сдачи экзамена/зачёта и всю цепочку из 2-3 пересдач. 11. Собственно, сдача студентом определённой "дисциплины": ид_студента + ид_дисциплины + дата_сдачи + оценка. Вот такой набросок. 11 таблиц - больше 4. Но, как на меня, запросы будут проще. Добавлено @ 12:44 забыл про семетры. но для определения последней оценки по предмету с такой структурой они не нужны. |
|||
|
||||
KaKTyCc |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 247 Регистрация: 2.8.2005 Репутация: 1 Всего: 1 |
для такого глобального изменения времени конечно нет уже
насчет дат сессии согласен, не нужны в журнале 1. это так и есть 2. так и есть, +в группе текущий ее семестр 4. так и есть+должность и степень и id кафедры есть учебный план для каждой специальности, в котором список зачетов, экзаменов, курсовых к каждой дисциплине закреплется группа и преподаватель какой косяк есть, так это то - что нельзя несколько преподавателей в одной группе к одному и тому же предмету закрепить и нельзя узнать лабораторная/практическая и т.д. - только зачет/экзамен/курсовая --------------------
Мой блог |
|||
|
||||
KaKTyCc |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 247 Регистрация: 2.8.2005 Репутация: 1 Всего: 1 |
можно для каждой строки плана создавать под план тоесть есть в плане - Математический анализ экзамен, 200 часов, 1 семестр для него создавать свой план - id_препода, 160 часов лекции id_препода, 40 часов практика что то типа этого --------------------
Мой блог |
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: нет Всего: 260 |
что означает поле session_type?
в чём отличие между полями id_plan и id_work_plan? |
|||
|
||||
KaKTyCc |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 247 Регистрация: 2.8.2005 Репутация: 1 Всего: 1 |
session_type - это Экзамен/зачет/Курсовая
id_plan - уто учебный план, все предметы скльок часов и т.д. у каждой специальности свой учебный план id_work_plan здесь закрепляется id_plan за преподавателем (id_teacher) и за группой ( id_group) тоесть какой препод какой предмет читает в какой группе --------------------
Мой блог |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Oracle" | |
|
Данный раздел предназначен для обсуждения проблем с Oracle Database, другие продукты Oracle здесь не обсуждаются. Просьба при создании темы, придерживаться следующих правил:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, LSD. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Oracle | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |