Описание предметной области
Выбранной предметной областью базы данных является управление данными об очередниках на получение жилья, их родственниках. В базу данных заносятся атрибуты очередников(посетителей), родственников (с отдельными описаниями), сотрудники и список обслуживаемых ими групп граждан, должности, которые могут занимать работники, группы граждан, для возможного разбития сотрудников на несколько отделов. На основе этих данных заполняется журнал записи.
Целью курсовой работы является разработка базы данных, содержащей информацию, необходимой работнику для контроля потока очередников, работы сотрудников и общего функционирования организации.
База предоставляет пользователю (управляющему) информацию о очередниках, родственниках (с отдельными описаниями), сотрудниках и списке обслуживаемых ими групп, должностях, которые могут занимать работники, группах очередников, датах заполнения записей. Наиболее важными компонентами данной системы являются: очередник, родственник, группа, сотрудник и дата записи. Основными процессами являются: просмотр информации о очереднике и его родственниках.
Задачей данной базы является автоматизация и упрощение работы управляющего при контроле и внесении записей по очередникам сотрудниками администрации.
1.4 ИНСТРУМЕНТАЛЬНЫЕ СРЕДСТВА
СУБД - совокупность программных и лингвистических средств общего или специального назначения, обеспечивающих управление созданием и использованием баз данных. Встраиваемая СУБД - СУБД, которая может поставляться как составная часть некоторого программного продукта, не требуя процедуры самостоятельной установки. Встраиваемая СУБД предназначена для локального хранения данных своего приложения и не рассчитана на коллективное использование в сети. Физически встраиваемая СУБД чаще всего реализована в виде подключаемой библиотеки. Доступ к данным со стороны приложения может происходить через SQL либо через специальные программные интерфейсы.
Примеры: OpenEdge, SQLite, BerkeleyDB, Firebird Embedded, Microsoft SQL Server Compact, ЛИНТЕР.
Для реализации данной Б.Д. были использованы программы MS SQL Server 2014 (для создания Б.Д.) т.к. она позволяет эффективно управлять базами данных различных масштабов – от персональной базы данных до инфраструктуры баз любого предприятия, и MS Visual Studio 2015 (для создания оболочки, позволяющей легко и удобно работать с Б.Д.)
ЛОГИЧЕСКАЯ МОДЕЛЬ БАЗЫ ДАННЫХ
Рисунок 1. Логическая модель базы данных
ПРАКТИЧЕСКАЯ ЧАСТЬ
РЕАЛИЗАЦИЯ БАЗЫ ДАННЫХ
СОЗДАНИЕ ТАБЛИЦ
Создание таблиц в MS SQL Server осуществляется двумя способами:
1. В списке объектов базы данных выбрать пункт «Таблицы» и нажать ПКМ, в появившимся меню выбрать «Создать», «Таблица».
2. С помощью использования средств DDL для создания объектов базы данных. Кликнуть по «Создать запрос» и в появившимся окне прописать код. Синтаксис: CREATE TABLE <название таблицы> (<название поля> <Тип данных> PRINORY KEY (первичный ключ))
В проекте были созданы таблицы: пакеты, поставщики, заказчики, служащие, допуск, сопровождение.
1. Создание таблицы «Группа»
Название атрибутов | Тип полей | NULL |
ID группы | int | Нет |
Название | nchar | Да |
Описание группы | nchar | Да |
(Таблица 1. Атрибуты таблицы «Группа»)
USE [Administraciya] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[Группа]( [ID группы] [int] NOT NULL, [Название] [nchar](20) NULL, [Описание группы] [nchar](200) NULL, CONSTRAINT [PK_Группа] PRIMARY KEY CLUSTERED ( [ID группы] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO |
(Программный код создания таблицы «Группа»)
2. Состав таблицы «Запись»
Название атрибутов | Тип полей | NULL |
Номер записи | Int | Нет |
ID сотрудника | Int | Нет |
ID очередника | Int | Нет |
ID члена семьи | Int | Нет |
ID группы | Int | Нет |
Дата | Date | Да |
Примечание | Nchar(100) | Да |
(Таблица 2. Атрибуты таблицы «Запись»)
USE [Administraciya]
GO
/****** Object: Table [dbo].[Запись] Script Date: 04.07.2016 1:32:41 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Запись](
[Номер записи] [int] NOT NULL,
[ID сотрудника] [int] NOT NULL,
[ID очередника] [int] NOT NULL,
[ID члена семьи] [int] NOT NULL,
[ID группы] [int] NOT NULL,
[Дата] [date] NULL,
[Примечание] [nchar](100) NULL,
CONSTRAINT [PK_Запись] PRIMARY KEY CLUSTERED
(
[Номер записи] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[Запись] WITH CHECK ADD CONSTRAINT [FK_Запись_Группа] FOREIGN KEY([ID группы])
REFERENCES [dbo].[Группа] ([ID группы])
GO
ALTER TABLE [dbo].[Запись] CHECK CONSTRAINT [FK_Запись_Группа]
GO
ALTER TABLE [dbo].[Запись] WITH CHECK ADD CONSTRAINT [FK_Запись_Очередники] FOREIGN KEY([ID сотрудника])
REFERENCES [dbo].[Очередники] ([ID очередника])
GO
ALTER TABLE [dbo].[Запись] CHECK CONSTRAINT [FK_Запись_Очередники]
GO
ALTER TABLE [dbo].[Запись] WITH CHECK ADD CONSTRAINT [FK_Запись_Очередники1] FOREIGN KEY([ID очередника])
REFERENCES [dbo].[Очередники] ([ID очередника])
GO
ALTER TABLE [dbo].[Запись] CHECK CONSTRAINT [FK_Запись_Очередники1]
GO
ALTER TABLE [dbo].[Запись] WITH CHECK ADD CONSTRAINT [FK_Запись_Родственники] FOREIGN KEY([ID члена семьи])
REFERENCES [dbo].[Родственники] ([ID члена семьи])
GO
ALTER TABLE [dbo].[Запись] CHECK CONSTRAINT [FK_Запись_Родственники]
GO
ALTER TABLE [dbo].[Запись] WITH CHECK ADD CONSTRAINT [FK_Запись_Сотрудники] FOREIGN KEY([ID сотрудника])
REFERENCES [dbo].[Сотрудники] ([ID сотрудника])
GO
ALTER TABLE [dbo].[Запись] CHECK CONSTRAINT [FK_Запись_Сотрудники]
GO
(Программный код создания таблицы «Запись»)
3. Состав таблицы «Очередники»
Название атрибутов | Тип полей | NULL |
ID очередника | int | Нет |
ФИО | nChar | Да |
ПаспортСерия | nChar | Да |
ПаспортНомер | nChar | Да |
Кем выдан паспорт | nChar | Да |
Дата рождения | Date | Да |
Примечание | nChar | Да |
Адрес | nChar | Да |
Пол | nChar | Да |
ID группы | Int | Да |
ID члена семьи | Int | Да |
(Таблица 3. Атрибуты таблицы «Очередники»)
USE [Administraciya]
GO
/****** Object: Table [dbo].[Очередники] Script Date: 04.07.2016 1:51:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Очередники](
[ID очередника] [int] NOT NULL,
[ФИО] [nchar](100) NULL,
[ПаспортСерия] [nchar](10) NULL,
[ПаспортНомер] [nchar](15) NULL,
[Кем выдан паспорт] [nchar](300) NULL,
[Дата рождения] [date] NULL,
[Примечание] [nchar](200) NULL,
[Адрес] [nchar](50) NULL,
[Пол] [nchar](10) NULL,
[ID группы] [int] NULL,
[ID члена семьи] [int] NULL,
CONSTRAINT [PK_Очередники] PRIMARY KEY CLUSTERED
(
[ID очередника] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[Очередники] WITH CHECK ADD CONSTRAINT [FK_Очередники_Группа] FOREIGN KEY([ID группы])
REFERENCES [dbo].[Группа] ([ID группы])
GO
ALTER TABLE [dbo].[Очередники] CHECK CONSTRAINT [FK_Очередники_Группа]
GO
ALTER TABLE [dbo].[Очередники] WITH CHECK ADD CONSTRAINT [FK_Очередники_Родственники] FOREIGN KEY([ID члена семьи])
REFERENCES [dbo].[Родственники] ([ID члена семьи])
GO
ALTER TABLE [dbo].[Очередники] CHECK CONSTRAINT [FK_Очередники_Родственники]
GO
(Программный код создания таблицы «Очередники»)
4. Состав таблицы «Родственники»
Название атрибутов | Тип полей | NULL |
ID члена семьи | Int | Нет |
Пол | nChar | Да |
Тип родственных отношений | nChar | Да |
ПаспортСерия | nChar | Да |
ПаспортНомер | nChar | Да |
Кем выдан паспорт | nChar | Да |
Категория льгот | nChar | Да |
ФИО родственника | nChar | Да |
(Таблица 4. Атрибуты таблицы «Родственники»)
USE [Administraciya]
GO
/****** Object: Table [dbo].[Родственники] Script Date: 04.07.2016 1:59:56 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Родственники](
[ID члена семьи] [int] NOT NULL,
[Пол] [nchar](10) NULL,
[Тип родственных отношений] [nchar](100) NULL,
[ПаспортСерия] [nchar](10) NULL,
[ПаспортНомер] [nchar](10) NULL,
[Кем выдан паспорт] [nchar](300) NULL,
[Категория льгот] [nchar](100) NULL,
[ФИО родственника] [nchar](100) NULL,
CONSTRAINT [PK_Родственники] PRIMARY KEY CLUSTERED
(
[ID члена семьи] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
(Программный код создания таблицы «Родственники»)
5. Состав таблицы «Сотрудники»
Название атрибутов | Тип полей | NULL |
ID сотрудника | int | Нет |
Фамилия | nChar | Да |
Имя | nChar | Да |
Отчество | nChar (10) | Да |
ID должности | Int | Нет |
Адрес | nChar | Да |
Телефон | nChar | Да |
(Таблица 5. Атрибуты таблицы «Сотрудники»)
USE [Administraciya]
GO
/****** Object: Table [dbo].[Сотрудники] Script Date: 04.07.2016 2:00:53 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Сотрудники](
[ID сотрудника] [int] NOT NULL,
[Фамилия] [nchar](100) NULL,
[Имя] [nchar](100) NULL,
[Отчество] [nchar](100) NULL,
[ID должности] [int] NOT NULL,
[Адрес] [nchar](100) NULL,
[Телефон] [nchar](20) NULL,
CONSTRAINT [PK_Сотрудники] PRIMARY KEY CLUSTERED
(
[ID сотрудника] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[Сотрудники] WITH CHECK ADD CONSTRAINT [FK_Сотрудники_Должности] FOREIGN KEY([ID должности])
REFERENCES [dbo].[Должности] ([ID должности])
GO
ALTER TABLE [dbo].[Сотрудники] CHECK CONSTRAINT [FK_Сотрудники_Должности]
GO
(Программный код создания таблицы «Сотрудники»)
6. Состав таблицы «Должность»
Название атрибутов | Тип полей | NULL |
ID должности | Int | Нет |
Название | nChar | Да |
ID группы | Int | Да |
График | nChar | Нет |
(Таблица 6. Атрибуты таблицы «Должность»)
USE [Administraciya]
GO
/****** Object: Table [dbo].[Должности] Script Date: 04.07.2016 2:07:26 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Должности](
[ID должности] [int] NOT NULL,
[Название] [nchar](100) NULL,
[ID группы] [int] NOT NULL,
[График] [nchar](100) NULL,
CONSTRAINT [PK_Должности] PRIMARY KEY CLUSTERED
(
[ID должности] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[Должности] WITH CHECK ADD CONSTRAINT [FK_Должности_Группа] FOREIGN KEY([ID группы])
REFERENCES [dbo].[Группа] ([ID группы])
GO
ALTER TABLE [dbo].[Должности] CHECK CONSTRAINT [FK_Должности_Группа]
GO
(Программный код создания таблицы « Должность »)
ЗАПОЛНЕНИЕ ТАБЛИЦ
Заполнение таблиц осуществляется так же двумя способами:
1. В списке объектов базы данных выбрать пункт «Таблицы», где появится список созданных таблиц.
2. С помощью использования средств DDL.
В этом проекте Заполнение таблиц осуществлялось с помощью средств DDL.
1. Заполнение таблицы «Группа».
Рисунок 2. Заполнение таблицы «Группа»
insert into Группа (ID группы, Название, Описание группы)
values (1,Общее положение, Очередники, находящиеся на общем положении)
insert into Группа (ID группы, Название, Описание группы)
values (2,Первоочерёдные, Очередники, имеющие преимущество в очереди)
insert into Группа (ID группы, Название, Описание группы)
values (3, Срочные, Очередники, данные которых необходимо ввести немедленно)
(Программный код заполнения таблицы «Группа»)
2. Заполнение таблицы «Должность».
Рисунок 3. Заполнение таблицы «Должность»
insert into Должности (ID должности, Название, ID группы, График)
values (1,Бухгалтер, 1, День через два)
insert into Должности (ID должности, Название, ID группы, График)
values (2,Инженер-программист, 2, Будние дни)
insert into Должности (ID должности, Название, ID группы, График)
values (3,Старший программист, 3, Удалённая работа)
(Программный код заполнения таблицы «Должность»)
3. Заполнение таблицы «Запись».
Рисунок 4. Заполнение таблицы «Запись»
insert into Запись (Номер записи, ID сотрудника, ID очередника, ID члена семьи, ID группы, Дата, Примечание)
values (1,1,1,1,1,2015-07-27, Проверить)
insert into Запись (Номер записи, ID сотрудника, ID очередника, ID члена семьи, ID группы, Дата, Примечание)
values (2,3,2,2,3,2016-06-27, Проверено)
insert into Запись (Номер записи, ID сотрудника, ID очередника, ID члена семьи, ID группы, Дата, Примечание)
values (3,3,2,2,3)
(Программный код заполнения таблицы «Запись»)
4. Заполнение таблицы «Очередники».
Рисунок 5. Заполнение таблицы «Очередники»
insert into Запись (ID очередника, ФИО, ПаспортСерия,ПаспортНомер,Кем выдан паспорт, Дата рождения, Примечание, Адрес, Пол,ID группы, ID члена семьи)
values (1, Иванов Иван Иванови, 8111,123456, ОВД по Октябрьскому району города Улан-Удэ, 1950-01-01, Судим, Улан-Удэ, Ленина 15, мужской,1,1)
insert into Запись (ID очередника, ФИО, ПаспортСерия,ПаспортНомер,Кем выдан паспорт, Дата рождения, Примечание, Адрес, Пол,ID группы, ID члена семьи)
values (2, Макркова Ильза Хушабеева, 8234,789191, ОВД по Советскому району города Улан-Удэ, 1985-06-03, Нет, Кижинга, Женский,2,2)
insert into Запись (ID очередника, ФИО, ПаспортСерия,ПаспортНомер,Кем выдан паспорт, Дата рождения, Примечание, Адрес, Пол,ID группы, ID члена семьи)
values (3, Онотоле Онотоле Онотоле, 8148,512342, ОВД по Железнодорожному району города Улан-Удэ, 1973-09-02, Взял ипотеку, Улан-Удэ, ул. Мохрова 3, мужской,3,3)
(Программный код заполнения таблицы «Очередники»)
5. Заполнение таблицы «Родственники».
Рисунок 6. Заполнение таблицы «Родственники»
insert into Родственники (ID члена семьи,Пол, Тип родственной связи, ПаспортСерия, ПаспортНомер, Кем выдан паспорт, Категория льгот, ФИО родственника)
values (1,мужской,сын,8112,123123,ОВД по Октябрьскому району, Инвалид 1 категории, Ильнуш Арсен Олегович)
insert into Родственники (ID члена семьи,Пол, Тип родственной связи, ПаспортСерия, ПаспортНомер, Кем выдан паспорт, Категория льгот, ФИО родственника)
values (2,женский,дочь,8423,423134, ОВД по советскому району,Инвалид 2 категории, Маргис Анастасия Ивановна)
insert into Родственники (ID члена семьи,Пол, Тип родственной связи, ПаспортСерия, ПаспортНомер, Кем выдан паспорт, Категория льгот, ФИО родственника)
values (3, мужской, отец,8110, 312312,ОВД по железнодорожному району, Инвалид 1 категории, Иванов Николай Анатольевич)
(Программный код заполнения таблицы «Родственники»)
6. Заполнение таблицы «Сотрудники».
Рисунок 7. Заполнение таблицы «Сотрудники»
insert into Сотрудники (ID сотрудника, Фамилия, Имя, Отчество, ID должности, Адрес, Телефон)
values (1,Иванов,Иван,Иванович,1,Улан-Удэ,ул.Ленина,3,88005553535)
insert into Сотрудники (ID сотрудника, Фамилия, Имя, Отчество, ID должности, Адрес, Телефон)
values (2,Маршук, Олег, Константинович,1,Улан-Удэ,ул.Прокопьева 7,61-23-45)
insert into Сотрудники (ID сотрудника, Фамилия, Имя, Отчество, ID должности, Адрес, Телефон)
values (3, Констанчук,Марина,Сергеевна,2,Улан-Удэ,пр-т 50 лет Октября 2,23-45-21)
insert into Сотрудники (ID сотрудника, Фамилия, Имя, Отчество, ID должности, Адрес, Телефон)
values (4, Понасюк,Эльдар,Васильевич,3,Улан-Удэ,ДНТ «Яблоко» 15,666-666)
(Программный код заполнения таблицы «Сотрудники»)
РЕАЛИЗАЦИЯ ЗАПРОСОВ
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)