Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kursovoi_Project / КР_практическая часть.docx
Скачиваний:
16
Добавлен:
31.03.2015
Размер:
347.59 Кб
Скачать
  1. Модель данных в sql Server 2005

Рис.2 Модель данных в SQL Server 2005

  1. Структура таблиц и данные в таблицах

Рис.3 Таблицы базы данных

Таблица «Студенты» (STUDENTS)

Таблица «Группа» (GROUPS)

Таблица «Поток»(GRUPS_STUD)

Таблица «Дисциплина» (DISC)

Таблица «Курс дисциплины» (DISC_KURS)

Таблица «Прохождение курса» (CHECK_KURS)

Таблица «Форма контроля ИДЗ» (IDZ)

Таблица «Форма контроля экзамен» (EKZAM)

Таблица «Форма контроля зачет» (ZACHET)

Таблица «Форма контроля курсовая работа» (KURSACH)

  1. Запросы

Запрос, который выдает фамилии студентов, чье суммарное количество пропусков по всем дисциплинам превышает 20 часов

ПРОГРАММНЫЙ КОД

use lab_prac1

go

select dbo.students.firstname, sum(dbo.check_kurs.count_progul) as Было_пропущено

from

dbo.students inner join dbo.check_kurs on

dbo.students.id_un_card=dbo.check_kurs.id_un_card

group by dbo.students.firstname

having sum(dbo.check_kurs.count_progul)>20

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

Запрос, выдающий фамилии преподавателей и количество обучающихся у него студентов.

ПРОГРАММНЫЙ КОД

select distinct dbo.disc_kurs.teacher,count(distinct dbo.check_kurs.id_un_card) as Количество_студентов

from

dbo.disc_kurs inner join dbo.check_kurs on

dbo.disc_kurs.id_predm=dbo.check_kurs.id_predm

group by dbo.disc_kurs.teacher

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

Запрос, позволяющий выбрать список групп с фамилиями старост

ПРОГРАММНЫЙ КОД

select dbo.groups.id_groupe,dbo.students.firstname

from dbo.groups inner join dbo.groups_stud on

dbo.groups.id_groupe=dbo.groups_stud.id_groupe

inner join dbo.students on

dbo.students.id_un_card=dbo.groups_stud.id_un_card

where dbo.groups.star=dbo.students.id_un_card

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

  1. Представления (Views)

Представление, которое содержит информацию о пропусках студента

ПРОГРАММНЫЙ КОД

use lab_prac1

go

SELECT dbo.students.firstname, dbo.disc.name, dbo.check_kurs.count_progul

FROM dbo.students

INNER JOIN dbo.groups_stud ON dbo.students.id_un_card = dbo.groups_stud.id_un_card

INNER JOIN dbo.check_kurs ON dbo.groups_stud.id_un_card = dbo.check_kurs.id_un_card

INNER JOIN dbo.disc ON dbo.disc.id_predm= dbo.check_kurs.id_predm

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

  1. Хранимые процедуры (Stored Procedure)

Процедура, которая выдает список студентов с оценкой курсовой работы по заданной группе.

ПРОГРАММНЫЙ КОД

use lab_prac1

go

CREATE PROCEDURE ocenki_kursovoi @t int

as

select dbo.students.firstname,dbo.kursach.itog

from dbo.students inner join dbo.kursach on

dbo.students.id_un_card=dbo.kursach.id_un_card

where dbo.kursach.id_groupe=@t

GO

Вызов процедуры

exec ocenki_kursovoi @t = '7092'

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

Процедура, позволяющая фиксировать текущую успеваемость студента.

ПРОГРАММНЫЙ КОД

CREATE PROCEDURE yspevaemost @t int ,@p int

AS

Select dbo.students.firstname,dbo.check_kurs.id_predm,dbo.check_kurs.count_progul,

Count(dbo.idz.sdano)as Колличество_сданных_ИДЗ

from

dbo.students

inner join dbo.check_kurs on dbo.students.id_un_card=dbo.check_kurs.id_un_card

inner join dbo.idz on dbo.check_kurs.id_un_card=dbo.idz.id_un_card

and dbo.check_kurs.id_predm=dbo.idz.id_predm

where

dbo.students.id_un_card=@t

and dbo.check_kurs.id_predm=@p

group by dbo.students.firstname,dbo.check_kurs.count_progul,dbo.check_kurs.id_predm

GO

Вызов процедуры

exec yspevaemost @t = '70515',@p = '24'

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

Соседние файлы в папке Kursovoi_Project