|
|||
Задача в контрольной работе. Постановка задачи ⇐ ПредыдущаяСтр 2 из 2 Задача в контрольной работе Пример оформления практической части в контрольной работе по дисциплине «Проектирование информационных систем»
Постановка задачи Учет успеваемости студентов Необходимо разработать систему для оперативного учета успеваемости студентов в сессию. О каждом студенте хранятся следующие данные: код студента, ФИО, дата рождения, курс, факультет. Учесть, что в институте имеется несколько факультетов, каждый из которых имеет код и название. Студент сдает определенный набор дисциплин в сессию, каждая дисциплина имеет код и название. При сдаче экзамена учитывается оценка, полученная студентом по дисциплине. Выполнить следующие запросы – посчитать количество студентов по факультетам с указание названия факультета - вывести список студентов, которые сдали дисциплину на 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; Результат выполнения запроса: И т.д.
|
|||
|