Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчет_Бахтина_Оракль.doc
Скачиваний:
0
Добавлен:
21.07.2019
Размер:
209.41 Кб
Скачать

Санкт-Петербургский научный исследовательский университет информационных технологий, механики и оптики

Кафедра Систем управления и информатики

Отчет по лабораторной работе №1

по курсу «Информационное обеспечение систем управления»

Выполнил:

Студент гр.5145

Бахтина Н.Ю.

Преподаватель:

Болтунов Г.И.

Санкт-Петербург

2011 г.

1. Схема данных

2. Запросы

2.1. Вычислить оценки по всем тестам из условия, что если num >=11, то оценка 5, если num >=9, то оценка 4, если num >=7, то оценка 3, иначе 2.

Текст запроса:

select g.g_number, s.f, s.i, t.tname,

case when r.num>=11 then 5

when r.num>=9 then 4

when r.num>=7 then 3

else 2 end AS Rate

from result r, students s, tests t, groups g

where s.sid = r.sid

and g.gid = s.gid

and r.tid = t.tid

order by 1,2,4;

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

G_NUMBER

F

I

TNAME

RATE

5145

Бахтина

Нина

тест_1

5

5145

Бахтина

Нина

тест_2

5

5145

Бахтина

Нина

тест_3

5

5145

Вихров

Алексей

тест_1

4

5145

Вихров

Алексей

тест_2

3

5145

Вихров

Алексей

тест_3

2

5145

Гейсамн

Александр

тест_1

2

5145

Гейсамн

Александр

тест_2

5

5145

Гейсамн

Александр

тест_3

5

5145

Дробышев

Иван

тест_1

4

5145

Дробышев

Иван

тест_2

4

5145

Дробышев

Иван

тест_3

2

5145

Кузьмичев

Антон

тест_1

3

5145

Кузьмичев

Антон

тест_2

4

5145

Кузьмичев

Антон

тест_3

3

5147

Васильченко

Екатерина

тест_1

2

5147

Васильченко

Екатерина

тест_2

2

5147

Васильченко

Екатерина

тест_3

3

5147

Гайдамакина

Оксана

тест_1

3

5147

Гайдамакина

Оксана

тест_2

4

5147

Гайдамакина

Оксана

тест_3

3

5147

Грушихин

Алексей

тест_1

3

5147

Грушихин

Алексей

тест_2

2

5147

Грушихин

Алексей

тест_3

2

5147

Даниленок

Ксения

тест_1

2

5147

Даниленок

Ксения

тест_2

2

5147

Даниленок

Ксения

тест_3

2

5147

Кириллов

Даниил

тест_1

3

5147

Кириллов

Даниил

тест_2

2

5147

Кириллов

Даниил

тест_3

3

5148

Асекретов

Константин

тест_1

2

5148

Асекретов

Константин

тест_2

2

5148

Асекретов

Константин

тест_3

3

5148

Виноградова

Анастасия

тест_1

5

5148

Виноградова

Анастасия

тест_2

5

5148

Виноградова

Анастасия

тест_3

5

5148

Власов

Сергей

тест_1

2

5148

Власов

Сергей

тест_2

2

5148

Власов

Сергей

тест_3

2

5148

Волков

Дмитрий

тест_1

3

5148

Волков

Дмитрий

тест_2

3

5148

Волков

Дмитрий

тест_3

2

5148

Гераськин

Сергей

тест_1

2

5148

Гераськин

Сергей

тест_2

2

5148

Гераськин

Сергей

тест_3

5

5149

Симкин

Евгений

тест_1

4

5149

Симкин

Евгений

тест_2

5

5149

Симкин

Евгений

тест_3

5

5149

Смирнов

Михаил

тест_1

2

5149

Смирнов

Михаил

тест_2

2

5149

Смирнов

Михаил

тест_3

4

2.2. Список студентов с указанием общего количества пропущенных тестов для каждого студента.

Текст запроса:

select groups.g_number,

students.f,

students.i,

count(result.tid) as Kol

from students,

result,

groups

group by students.f, students.i, groups.g_number, result.num,

students.sid, result.sid,

groups.gid, students.gid

having result.num = 0

and students.sid = result.sid

and groups.gid = students.gid;

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

G_NUMBER

F

I

KOL

5147

Кириллов

Даниил

1

5147

Даниленок

Ксения

1

5148

Волков

Дмитрий

1

5148

Власов

Сергей

2

2.3. Список студентов с указанием общего количества несданных тестов (пропущенных или сданных на оценку 2 – менее 7 баллов).

Текст запроса:

select groups.g_number,

students.f,

students.i,

count(result.tid) as Kol

from students,

result,

groups

where students.sid = result.sid

and groups.gid = students.gid

and (result.num is null or result.num<7)

group by students.f, students.i, groups.g_number

order by 4 desc,1;

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

G_NUMBER

F

I

KOL

5147

Васильченко

Екатерина

3

5147

Даниленок

Ксения

3

5148

Власов

Сергей

3

5147

Кириллов

Даниил

2

5147

Грушихин

Алексей

2

5148

Асекретов

Константин

2

5148

Гераськин

Сергей

2

5149

Смирнов

Михаил

2

5145

Гейсамн

Александр

1

5145

Вихров

Алексей

1

5145

Дробышев

Иван

1

5148

Волков

Дмитрий

1

2.4. Найти средний балл каждого студента по всем тестам.

Текст запроса:

select groups.g_number,

students.f,

students.i,

round(avg(result.num),2) as Sr_Ball

from groups,

students,

result

where students.gid = groups.gid

and result.sid = students.sid

group by groups.g_number,

students.f,

students.i

order by 4 desc, 1, 2;

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

G_NUMBER

F

I

SR_BALL

5145

Бахтина

Нина

11,67

5148

Виноградова

Анастасия

11,67

5149

Симкин

Евгений

10,67

5145

Гейсамн

Александр

9,33

5145

Вихров

Алексей

8,5

5145

Дробышев

Иван

8

5145

Кузьмичев

Антон

8

5147

Гайдамакина

Оксана

8

5148

Асекретов

Константин

6,33

5147

Васильченко

Екатерина

6

5148

Гераськин

Сергей

6

5149

Смирнов

Михаил

5,67

5148

Волков

Дмитрий

5

5147

Грушихин

Алексей

4,67

5147

Кириллов

Даниил

4

5147

Даниленок

Ксения

2,67

5148

Власов

Сергей

0,67

2.5. Найти средний балл каждого теста по всем студентам.

Текст запроса:

select tests.tname,

round(avg(result.num),2) as Sr_Ball

from students,

result,

tests

where result.sid = students.sid

and result.tid = tests.tid

group by tests.tname

order by sr_ball desc;

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

TNAME

SR_BALL

тест_2

7,29

тест_3

6,67

тест_1

6,59

2.6. Найти средний балл каждой группы по всем тестам.

Текст запроса:

select groups.g_number,

round(avg(result.num),2) as Sr_Ball

from students,

result,

groups

where result.sid = students.sid

and groups.gid = students.gid

group by groups.g_number

order by sr_ball desc;

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

G_NUMBER

SR_BALL

5145

9,14

5149

8,17

5148

5,93

5147

5