- •Содержание
- •Введение
- •1. Теоретическая часть
- •1.1 Краткая характеристика предприятия
- •1.2 Цели, задачи и виды деятельности
- •1.3 Описание предметной области
- •1.4 Инструментальные средства
- •2.1.2 Заполнение таблиц
- •2.2 Реализация запросов
- •2.3 Реализация хранимых процедур
- •2.4 Реализация триггеров
- •2.5 Реализация формы
- •2.6 Таблицы базы данных
- •2.7 Отчеты
- •Заключение
2.2 Реализация запросов
SQL запросы обычно выполняют следующие задачи:
создание, модификация и удаление таблиц базы данных;
вставка информации (записей) в таблицы базы данных;
редактирование информации (записей) в таблицах базы данных;
выборка (извлечение) информации из таблиц базы данных;
удаление информации (записей) из базы данных.
В данном проекте использовались следующие запросы:
1. Запрос выдает информацию по группам, к обработке которых имеет доступ тот или иной сотрудник и очередникам их этих групп (Рис.7)
SELECT [ID должности],Должности.Название,Очередники.ФИО,Группа.Название
FROM [dbo].[Должности],dbo.Группа,dbo.Очередники
where Должности.[ID должности]=Группа.[ID группы] and Группа.[ID группы]=Очередники.[ID группы]
GO
(Программный код запроса Select1)
Рисунок 8. Результат выполнения запроса Select1
2. Запрос выдает полную информацию по сотрудникам и группам, к которым они имеют доступ
SELECT Сотрудники.[ID сотрудника] as ID, Фамилия,Имя,Отчество, Должности.Название, Должности.График, Адрес,Телефон, Группа.Название
FROM Сотрудники
LEFT JOIN Должности ON
Сотрудники.[ID должности]=Должности.[ID должности]
LEFT JOIN Группа ON
Должности.[ID группы]=Группа.[ID группы]
GROUP BY Сотрудники.[ID сотрудника], Фамилия,Имя,Отчество, Должности.Название, Должности.График, Адрес,Телефон, Группа.Название
(Программный код запроса Select2)
Рисунок 9. Результат выполнения запроса Select2
3. Запрос выдает полную информацию очередникам и группам, к которым они относятся
SELECT Очередники.[ID очередника] as ID,ФИО,Очередники.ПаспортСерия,Очередники.ПаспортНомер,Очередники.Примечание,/*Родственники.[Тип родственных отношений] as ТипОтношений, Родственники.[ФИО родственника] as ФИОРод*/Группа.Название
FROM Очередники
/*LEFT JOIN Родственники ON
Очередники.[ID члена семьи]=Очередники.[ID члена семьи]*/
LEFT JOIN Группа ON
Очередники.[ID группы]=Группа.[ID группы]
GROUP BY Очередники.[ID очередника],ФИО,Очередники.ПаспортСерия,Очередники.ПаспортНомер,Очередники.Примечание,/*Родственники.[Тип родственных отношений], Родственники.[ФИО родственника]*/Группа.Название
(Программный код запроса Select3)
Рисунок 10. Результат выполнения запроса Select3
4. Запрос выдает полную информацию очередникам, их родственникам, группам, к которым принадлежат родственники
SELECT Запись.[Номер записи] as Номер,Очередники.ФИО,Очередники.ПаспортНомер,Очередники.ПаспортСерия,Родственники.[ФИО родственника] as РодФИО,Родственники.ПаспортНомер,Родственники.ПаспортСерия,Группа.Название,Сотрудники.Фамилия,Очередники.Примечание
FROM [Запись]
LEFT JOIN Сотрудники ON
Запись.[ID сотрудника]=Сотрудники.[ID сотрудника]
LEFT JOIN Очередники ON
Запись.[ID очередника]=Очередники.[ID очередника]
LEFT JOIN Родственники ON
Запись.[ID члена семьи]=Родственники.[ID члена семьи]
LEFT JOIN Группа ON
Запись.[ID группы]=Группа.[ID группы]
GROUP BY Запись.[Номер записи],Очередники.ФИО,Очередники.ПаспортНомер,Очередники.ПаспортСерия,Родственники.[ФИО родственника],Родственники.ПаспортНомер,Родственники.ПаспортСерия,Группа.Название,Сотрудники.Фамилия,Очередники.Примечание
(Программный код запроса Select4)
Рисунок 11. Результат выполнения запроса Select4
5. Запрос выдает информацию по тому, каким работником была произведена запись
SELECT [Номер записи],
Сотрудники.Фамилия,Сотрудники.Имя,Сотрудники.Отчество
,[ID очередника]
,[ID члена семьи]
,[ID группы]
,[Дата]
,[Примечание]
FROM [dbo].[Запись],dbo.Сотрудники
where
Запись.[ID сотрудника]=Сотрудники.[ID сотрудника]
(Программный код запроса Select5)
Рисунок 12. Результат выполнения запроса Select5
6. Запрос выдает полную информацию по тому, каким работником была сделана запись и должности этого работника
SELECT [Номер записи],
Сотрудники.Фамилия,Сотрудники.Имя,Сотрудники.Отчество
,[ID очередника]
,[ID члена семьи]
,[ID группы]
,[Дата]
,[Примечание]
FROM [dbo].[Запись],dbo.Сотрудники
where
Запись.[ID сотрудника]=Сотрудники.[ID сотрудника]
(Программный
код запроса Select6)
Рисунок 13. Результат выполнения запроса Select6
7. Запрос записывает информацию из таблицы в переменные, по принятому извне числу, принимаемому за ID записи.
SELECT @Sotrud_Name=(Фамилия)
FROM Сотрудники
WHERE [ID сотрудника]=@IDSotrud
SELECT @Ochered_Name=(ФИО)
FROM Очередники
WHERE [ID очередника]=@IDOchered
SELECT @Chelen_name=([ФИО родственника])
FROM Родственники
WHERE [ID члена семьи]=@IDOchelen
SELECT @Group_name=(Название)
FROM Группа
WHERE [ID группы]=@IDGroup
(Программный код запроса Select7)
8. Запрос записывает информацию из таблицы в переменную, по принятому извне числу, принимаемому за ID должности.
SELECT @Dolg_Name=(Название)
FROM Должности
WHERE[ID должности]=@IDDolg
(Программный код запроса Select8)
9. Запрос записывает информацию из таблицы в переменные, по принятому извне числу, принимаемому за ID члена семьи и ID группы.
SELECT @Chelen_name=([ФИО родственника])
FROM Родственники
WHERE [ID члена семьи]=@IDChelen
SELECT @Group_name=(Название)
FROM Группа
WHERE [ID группы]=@IDGroup
(Программный код запроса Select9)
10. Запрос записывает информацию из таблицы в переменные, по принятому извне числу, принимаемому за ID члена семьи и ID группы.
SELECT @Group_Name=(Название)
FROM Должности
WHERE [ID группы]=@IDGroup
(Программный код запроса Select10)
