Разработка представлений. Вывод об определенных сведениях работника определенного подразделения. Результаты представления

Страницы работы

Содержание работы

МИНИСТЕРСТВО ТРАНСПОРТА РОССИЙСКОЙ ФЕДЕРАЦИИ

ГОСУДАРСТВЕННАЯ СЛУЖБА РЕЧНОГО ФЛОТА

НОВОСИБИРСКАЯ ГОСУДАРСТВЕННАЯ АКАДЕМИЯ

ВОДНОГО ТРАНСПОРТА

Электромеханический факультет

Дисциплина «основы SQL»

Лабораторная работа №3

Тема:Разработка представлений.

Группа ИТ-31 ″а″

Студент:

«__»___________2010 г.

_____________________

подпись

Студент: М.Г.

«__»___________2010 г.

_____________________

подпись

Студент:

«__»___________2010 г.

_____________________

подпись

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

«__»___________2010 г.

___________________

подпись

Новосибирск, 2010г.


Представления:

1) Вывод об определенных сведениях работника определенного подразделения.

create view one as select sotrudniki.id_sotrudnika,sotrudniki.familia, sotrudniki.imya, obrazovanie.nazvanie_uceb_zav, obrazovanie.specialnost,perevodi_po_otdelam.data_perevoda

from sotrudniki, obrazovanie,spisok_otdelov,perevodi_po_otdelam

where obrazovanie.id_sotrudnika=sotrudniki.id_sotrudnika

and perevodi_po_otdelam.id_sotrudnika=sotrudniki.id_sotrudnika

and spisok_otdelov.nazvanie='administraciya'

Рис.1-Таблица Сотрудники

Рис.2-Таблица Образование

Рис.3-ТаблицаПереводы по отделам

Рис.4-Таблица Список отделов

Рис.5-Сущность-Связь

Рис. 6- Результат представления №1

2) Сведения о работниках стаж работы, которых на фирме не менее  … лет.

create view two as SELECT sotrudniki.familia, sotrudniki.imya, sotrudniki.otchestvo, spisok_dolgnostei.nazvanie,min(naznachenie_na_dolgnost.data_naznachenia)

FROM spisok_dolgnostei,naznachenie_na_dolgnost

JOIN sotrudniki ON sotrudniki.id_sotrudnika=naznachenie_na_dolgnost.id_sotrudnika

WHERE (year(now())-year(naznachenie_na_dolgnost.data_naznachenia))<=20 group by sotrudniki.familia,sotrudniki.imya

Рис.7-Таблица Сотрудники

Рис.8-Таблица Список должностей

Рис.9-Таблица Назначение на должность

Рис.10–Результат представления №2

Рис.11- Сущность—Связь

3) Вывод сведений о сотрудниках находящихся в отпуске в определенный период

create view tree as select sotrudniki.id_sotrudnika,sotrudniki.familia, sotrudniki.imya from sotrudniki

join otpuska on sotrudniki.id_sotrudnika=otpuska.id_sotrudnika

where day(otpuska.data_uhoda)<=day(201011030)>=day(otpuska.data_vozvrata)

Рис.12-Таблица Сотрудники

Рис.13-Тааблица Отпуска

Рис14-Результат представления №3

Рис.15-Сущность-связь

4) Сведения о работниках, у которых в текущем году наступает пенсионный возраст

create view four as SELECT familia, imya from sotrudniki where

(year(now())-year(sotrudniki.data_rogdenia))=30

Рис.16-Таблица Сотрудники

Рис.17-Результат представления №4

Рис.18-Сущность-связь

5) Вывод сведений о сотрудниках, у которых стаж работы на данной должности не менее … лет.

create view five as SELECT sotrudniki.familia, sotrudniki.imya, sotrudniki.otchestvo, spisok_dolgnostei.nazvanie,max(naznachenie_na_dolgnost.data_naznachenia)

FROM spisok_dolgnostei,naznachenie_na_dolgnost

JOIN sotrudniki ON sotrudniki.id_sotrudnika=naznachenie_na_dolgnost.id_sotrudnika

WHERE (year(now())-year(naznachenie_na_dolgnost.data_naznachenia))<=20 group by sotrudniki.familia,sotrudniki.imya

Рис.19-Таблица Сотрудники

Рис.20-Таблица Список должностей

Рис.21-Таблица Назначение на должность

Рис.22-Результат представления № 5

Рис.23- Сущность—Связь

6) Сведения о долгах фирмы по заработной плате перед определенным сотрудником

create view six as select ((select sum(summa) from zarplata)-(select sum(summa) from viplati))

Рис.24-Таблица Зарплата

Рис.25-Таблицаа Выплаты

Рис.-26-Результат представления №6

Рис.27-Сущность-Связь

7) Сведения о детях сотрудниках достигших 18 лет.

create view seven as select sotrudniki.id_sotrudnika,sotrudniki.familia as s_familia, sotrudniki.imya as s_imya, deti.familia as d_familia, deti.imya as d_imya from sotrudniki

join deti on sotrudniki.id_sotrudnika=deti.id_sotrudnika

where (year(now())-year(deti.data_rogdenia))<18

Рис.28-Таблица Сотрудники

Рис.29- Таблица Дети

Рис.32 –Результат представления №7

Рис31-Сущность-Связь

8) Вывод сведений о перемещениях по должностям и отделам определенного сотрудника.

create view eight as SELECT sotrudniki.familia, sotrudniki.imya, sotrudniki.otchestvo, spisok_dolgnostei.nazvanie as nazvanie_dolgnosti,naznachenie_na_dolgnost.data_naznachenia,spisok_otdelov.nazvanie as nazvanie_otdela, perevodi_po_otdelam.data_perevoda

FROM naznachenie_na_dolgnost,sotrudniki,spisok_dolgnostei,spisok_otdelov,perevodi_po_otdelam

where sotrudniki.familia='Borozdin'

and sotrudniki.id_sotrudnika=naznachenie_na_dolgnost.id_sotrudnika

and sotrudniki.id_sotrudnika=perevodi_po_otdelam.id_sotrudnika

and spisok_otdelov.Id_otdela=perevodi_po_otdelam.id_otdela

and naznachenie_na_dolgnost.id_dolgnosti=spisok_dolgnostei.id_dolgnosti

Рис.32-Таблица Список отделов

Рис.33-Таблица Сотрудники

Рис.34-Таблица Список должностей

Рис.35-Таблица Назначение на должность

Рис.36-Таблица Переводи по отделам

Рис.37-Результат представления №8

9) Вывод сведений о сумме отчислений в пенсионный фонд за 6 месяцев

create view nine as SELECT sum(zarplata.summa)*0.14

from zarplata

where zarplata.period>=20101108

and zarplata.period<=20101111

Рис.38-Таблица Зарплата

Рис.39- Результат представления №9

Рис.40-Сущность-Связь

Похожие материалы

Информация о работе

Предмет:
Основы SQL
Тип:
Отчеты по лабораторным работам
Размер файла:
3 Mb
Скачали:
0