Хелпикс

Главная

Контакты

Случайная статья





Задача в контрольной работе. Постановка задачи



Задача в контрольной работе

Пример оформления практической части в контрольной работе по дисциплине «Проектирование информационных систем»

 

Постановка задачи

Учет успеваемости студентов

Необходимо разработать систему для оперативного учета успеваемости студентов в сессию. О каждом студенте хранятся следующие данные: код студента, ФИО, дата рождения, курс, факультет. Учесть, что в институте имеется несколько факультетов, каждый из которых имеет код и название. Студент сдает определенный набор дисциплин в сессию, каждая дисциплина имеет код и название. При сдаче экзамена учитывается оценка, полученная студентом по дисциплине.

Выполнить следующие запросы

– посчитать количество студентов по факультетам с указание названия факультета

- вывести список студентов, которые сдали дисциплину на 4 и 5 с указание названия дисциплины и фамилии студента.

 

ER-диаграмма базы данных

 

 

SQL-инструкции создания таблиц базы данных в СУБД MySQL

 

CREATE TABLE discipline(

  id_discipline smallint NOT NULL,

  title varchar(20) NULL,

  id_teacher smallint NOT NULL );

CREATE UNIQUE INDEX PRIMARY ON discipline(

  id_discipline );

ALTER TABLE discipline ADD PRIMARY KEY (id_discipline);

CREATE INDEX id_teacher ON discipline ( id_teacher);

 

CREATE TABLE exam(

  id_stud smallint NOT NULL,

  id_discipline smallint NOT NULL,

  _score smallint NULL );

CREATE UNIQUE INDEX PRIMARY ON exam(

  id_stud,

  id_discipline);

ALTER TABLE exam ADD PRIMARY KEY (id_stud,id_discipline);

CREATE INDEX id_subj ON exam ( id_discipline);

 

CREATE TABLE faculty(

  id_fac smallint NOT NULL,

  title varchar(15) NULL );

CREATE UNIQUE INDEX PRIMARY ON faculty( id_fac);

ALTER TABLE faculty ADD PRIMARY KEY (id_fac);

 

CREATE TABLE student(

  id_stud smallint NOT NULL,

  fio VARCHAR(40) NOT NULL,

  birthday date NULL,

  course smallint NULL,

  id_fac smallint NOT NULL,

  resume text(65535) NULL );

 

CREATE UNIQUE INDEX PRIMARY ON student(

  id_stud );

ALTER TABLE student

  ADD PRIMARY KEY (id_stud);

CREATE INDEX id_fac ON student (id_fac);

 

CREATE TABLE teacher(

  id_teacher smallint NOT NULL,

  fio VARCHAR(40) NULL,

  id_fac smallint NOT NULL );

 

 

 

И т.д.

 

Данные в таблицах:

Таблица student

И т.д.

 

Оформление результат запроса

Запрос: посчитать количество студентов по факультетам с указание названия факультета

 

select student.id_fac, title, count(id_stud) as cnt from student, faculty where student.id_fac=faculty.id_fac group by student.id_fac;

Результат выполнения запроса:

И т.д.

 



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.