Цель работы: ознакомиться с разработкой представлений в MySQL.
Задание к работе:
1) Ознакомится с принципами работой СУБД mysql.
2) Изучить режим работы конструктора и sql редактора.
3)Создать таблицы в режиме конструктора и путем ввода sql кода.
4Определить индексы и первичные ключи.
5)Создать связи между таблицами (внешние ключи).
6)Создать ограничения для таблиц, если это необходимо.
7)Создать представления в MySQL
Ход работы:
Представления в MySQL:
1 Список Дисциплин
SQL код:
create view one as SELECT nazvanie
FROM disciplina d;
![]()

Рис 1 - Таблица «Дисциплина»

Рис 2 – Результат запроса 1
|
Disciplina |
|
Kod_disciplini Nazvanie |
Рис 3 – таблица «дисциплина»
2 Информация о всех студентах
SQL код:
create view two as SELECT familija, imja, Otchestvo, data_rojdenija, Pol




FROM student;
![]()
![]()
![]()
![]()
![]()

Рис 4 – таблица «студент»

Рис 5 – результат запроса 2
|
Student |
|
Kod_studenta Familija Imja Otchestvo Data_roijdenija Pol Dom_adress |
Рис 6 – «таблица студент»
3 Список групп определенной специальности
![]()
![]()
![]()
![]()
SQL код:
create view three as SELECT s.Kurs, s.gruppa, s.Podgruppa
FROM spisok_grupp s, spisok_cpecialnostej c
WHERE c.nazvanie = IT


AND c.kod_specialnosti = s.kod_specialnosti;
![]()

![]()
Рис 7 – «таблица список групп»

Рис 8 – результат запроса 3
|
Spisok_grupp |
|
Id_gruppi
Kurs Gruppa podgruppa |
|
spisok_cpecialnoste |
|
Kod_specialnosti nazvanie |
Рис 9 – Таблицы «список групп» и «список специальностей»
4 Список преподавателей со званием профессор
SQL код:
create view four as SELECT * FROM prepodavatelj
Where zvanie = 'professor'
![]()
![]()
![]()


Рис 10 – таблица «преподаватели»

Рис 11 – результат запроса 4
|
Prepodavatelj |
|
Kod_prepodavatelja Familija Imja Otchestvo Zvanie Data_rojd Pol |
Рис 12 – Таблица «Преподаватели»
5 список специальностей
SQL код:
create view five as
SELECT
s.nazvanie
FROM spisok_specialnostej s;

Рис 13 – «Список специальностей»

Рис 14 – результат запроса 5
|
spisok_specialnostej |
|
Kod_specialnosti nazvanie |
Рис 14 – список специальностей
6 Дисциплины читаемые всеми преподавателями
SQL код:
create view six as SELECT p.familija, p.imja, p.otchestvo, d.nazvanie
FROM prepodavatelj p, disciplina d, predmet t
WHERE p.kod_prepodavatelja = t.kod_prepodavatelja
AND t.kod_disciplini = d.kod_disciplini



Рис 15 – таблица «список преподавателей»


Рис 16 – «таблица Дисциплина»

Рис 17 – Результат запроса 6
|
prepodavatelj |
|
Familija Imja Otchestvo Zvanie Data_rojd pol |
|
Predmet |
|
Kod_prepodavatelja
|
|
Disciplina |
|
Kod_disciplini nazvanie |
Рис 18 – Таблицы «дисциплина» «предмет» «преподаватель»
7 Успеваемость определенного студента
SQL код:
create view seven as SELECT s.familija, s.imja, s.otchestvo, d.nazvanie, u.ocenka, u.data
From student s, uspevaemostj u, disciplina d
WHERE s.kod_studenta = 1
and s.kod_studenta = u.kod_studenta
and u.kod_disciplini = d.kod_disciplini

Рис 19 – таблица «Студент»
![]()
![]()
![]()

Рис 20 – таблица «Успеваемость»
![]()
![]()

Рис 21 – таблица «Дисциплина»

Рис 22 – Результат запроса
8 Средний балл определенного студента
SQL код:
create view eight as SELECT s.familija, s.imja, s.otchestvo, avg(u.ocenka) as srednee
From student s, uspevaemostj u
WHERE s.kod_studenta = 1
and s.kod_studenta = u.kod_studenta
Group By s.kod_studenta
![]()

Рис 23 – таблица «студент»


![]()
![]()

Рис 24 – таблица «успеваемость»

Рис 25 – результат запроса 8
9 Студенты имеющие надбавку к стипендии
SQL код:
create view nine as SELECT s.familija, s.imja, s.otchestvo, t.nadbavka
From student s, stip_nadb t
WHERE t.nadbavka > 0
and s.kod_studenta = t.kod_studenta
Group By s.kod_studenta
![]()

Рис 26 – таблица «Студент»
![]()
![]()
![]()
![]()

Рис 27 – «надбавка к стипендии»

Рис 28 – результат запроса 9
10 Инфо о студенте (фио ,курс , группа, Дата поступления, комментарий, размер стипендии,надбавка)
SQL код:
create view ten as ELECT s.familija, s.imja, s.otchestvo, sp.kurs, sp.gruppa, p.data_postuplenija, p.komment, z.razmer_stip, sn.nadbavka
FROM student s, spisok_grupp sp, postuplenie p, stipendija z, stip_nadb sn, gruppi gg
WHERE s.kod_studenta = gg.kod_studenta
AND gg.id_gruppi = sp.id_gruppi
AND s.kod_studenta = p.kod_studenta
AND s.kod_studenta = sn.kod_studenta
AND sn.kod_stipendii = z.kod_stipendii;
![]() |

Рис 29 – таблица «Студент»

Рис 30 – таблица «список групп»

Рис 31 – таблица «поступление»

Рис 32 – таблица «стипендия»


Рис 33 – надбавка к стипендии

Рис 34 – таблица «Группы»

Рис 35 – результат запроса 10
|
Spisok_grupp |
|
Kod_specialnosti
Podgruppa |
|
Gruppi |
|
Kod_studenta(fk) id_gruppi(fk) |
|
Student |
|
Imja Otchestvo Data_rojdenija Pol Dom_adress |
|
Postuplenie |
|
Kod_studenta(fk) Data_postuplenija kommentarij |
|
Stipendija |
|
Naimenovanie Razmer_stipendii |
|
Stip_nadb |
|
Kod_studenta(fk) Kod_stipendii(fk) nadbavka |
Рис 36 – связи между используемыми таблицами
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.