Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Войти
 
Страницы: 1
RSS
БД для оценок студентов
 
Сказали сделать сайт, где будут видны оценки всех студентов.
Я подмал фигня, взялся делать и тут же затормозил-как мне организовать бд.
Дело вот в чём- есть ФИО студента, номер группы и курса, оцеки и даты.
Я ни как не догоню как сделать базу так, что бы в поиске можно было написать предмет и получить результат всех студентов или одного студента, или ввести студента и получить его оцеки. Пробовал создавать таблицы, где имя таблицы являлось ФИО студента, тогда не получается организовать поиск по  предметам.
Вот теперерь не знаю как и быть всё делаю на php+mysql
 
Вот примитивная модель:
Код
// Оценки
create table tblScores
(
   score_id                       bigint                         not null,
   student_id                     bigint                         not null,
   course_id                      bigint                         not null,
   score_date                     timestamp                      not null,
   score_value                    int                            not null,
   primary key (score_id)
)ENGINE = InnoDB DEFAULT CHARSET=utf8;

// Студенты
create table tblStudents
(
   student_id                     bigint                         not null,
   student_fullname               varchar(1023)                  not null,
   student_group                  varchar(10)                    not null,
   student_course                 int                            not null,
   primary key (student_id)
)ENGINE = InnoDB DEFAULT CHARSET=utf8;

// Предметы
create table tblCourses
(
   course_id                     bigint                         not null,
   course_name                   varchar(1023),
   primary key (course_id)
)ENGINE = InnoDB DEFAULT CHARSET=utf8;

alter table tblScores add constraint FK_Relationship_45 foreign key (student_id)
      references tblStudents (student_id) on delete restrict on update restrict;

alter table tblScores add constraint FK_Relationship_46 foreign key (course_id)
      references tblCourses (course_id) on delete restrict on update restrict;


Для примера выборка всех оценок по истории:
Код
select student_fullname, score_value, score_date from tblScores s join tblCourses c on s.course_id=c.course_id join tblStudents st on st.student_id=s.student_id where course_name="История";
Страницы: 1
Читают тему