Модераторы: LSD

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> select выборочно 
:(
    Опции темы
skyboy
Дата 13.6.2006, 12:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 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 
забыл про семетры.
но для определения последней оценки по предмету с такой структурой они не нужны.  
PM MAIL   Вверх
KaKTyCc
Дата 13.6.2006, 13:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 247
Регистрация: 2.8.2005

Репутация: 1
Всего: 1



для такого глобального изменения времени конечно нет уже

насчет дат сессии согласен, не нужны в журнале

1.  это так и есть
2.  так и есть, +в группе текущий ее семестр

4. так и есть+должность и степень и id кафедры

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


какой косяк есть, так это то - что нельзя несколько преподавателей в одной группе к одному и тому же предмету закрепить
и нельзя узнать лабораторная/практическая и т.д.  - только зачет/экзамен/курсовая 
--------------------
Мой блог
PM MAIL WWW   Вверх
KaKTyCc
Дата 13.6.2006, 14:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 247
Регистрация: 2.8.2005

Репутация: 1
Всего: 1



Цитата

какой косяк есть, так это то - что нельзя несколько преподавателей в одной группе к одному и тому же предмету закрепить
и нельзя узнать лабораторная/практическая и т.д.  - только зачет/экзамен/курсовая  


можно для каждой строки плана создавать под план

тоесть есть в  плане  - Математический анализ экзамен, 200 часов, 1 семестр

для него создавать свой план - id_препода, 160 часов лекции
id_препода, 40 часов практика

что то типа этого 
--------------------
Мой блог
PM MAIL WWW   Вверх
skyboy
Дата 13.6.2006, 15:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: нет
Всего: 260



что означает поле session_type?
в чём отличие между полями id_plan и id_work_plan?  
PM MAIL   Вверх
KaKTyCc
Дата 13.6.2006, 16:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 247
Регистрация: 2.8.2005

Репутация: 1
Всего: 1



session_type - это Экзамен/зачет/Курсовая

id_plan - уто учебный план, все предметы
скльок часов и т.д. 

у каждой специальности свой учебный план

id_work_plan здесь закрепляется id_plan за преподавателем (id_teacher) и за группой ( id_group)
тоесть какой препод какой предмет читает в какой группе 
--------------------
Мой блог
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Oracle"
Zloxa
LSD

Данный раздел предназначен для обсуждения проблем с Oracle Database, другие продукты Oracle здесь не обсуждаются. Просьба при создании темы, придерживаться следующих правил:

  • при создании темы давайте ей осмысленное название, описывающее суть проблемы
  • указывайте используемую версию базы, способ соединения и язык программирования
  • при ошибках обязательно приводите код ошибки и сообщение сервера
  • приводите код в котором возникла ошибка, по возможности дайте тестовый пример демонстрирующий ошибку
  • при вставке кода используйте соответсвующие теги: [code=sql] [/code] для подсветки SQL и PL/SQL кода, [code=java] [/code] - для Java, и т.д.

  • документация по Oracle: 9i, 10g, 11g
  • книги по Oracle можно поискать здесь
  • действия модераторов можно обсудить здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, LSD.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Oracle | Следующая тема »


 




[ Время генерации скрипта: 0.0900 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.