- •Содержание
- •Введение
- •1. Теоретическая часть
- •1.1 Краткая характеристика предприятия
- •1.2 Цели, задачи и виды деятельности
- •1.3 Описание предметной области
- •1.4 Инструментальные средства
- •2.1.2 Заполнение таблиц
- •2.2 Реализация запросов
- •2.3 Реализация хранимых процедур
- •2.4 Реализация триггеров
- •2.5 Реализация формы
- •2.6 Таблицы базы данных
- •2.7 Отчеты
- •Заключение
1.3 Описание предметной области
Выбранной предметной областью базы данных является управление данными об очередниках на получение жилья, их родственниках. В базу данных заносятся атрибуты очередников(посетителей), родственников (с отдельными описаниями), сотрудники и список обслуживаемых ими групп граждан, должности, которые могут занимать работники, группы граждан, для возможного разбития сотрудников на несколько отделов. На основе этих данных заполняется журнал записи.
Целью курсовой работы является разработка базы данных, содержащей информацию, необходимой работнику для контроля потока очередников, работы сотрудников и общего функционирования организации.
База предоставляет пользователю (управляющему) информацию о очередниках, родственниках (с отдельными описаниями), сотрудниках и списке обслуживаемых ими групп, должностях, которые могут занимать работники, группах очередников, датах заполнения записей. Наиболее важными компонентами данной системы являются: очередник, родственник, группа, сотрудник и дата записи. Основными процессами являются: просмотр информации о очереднике и его родственниках.
Задачей данной базы является автоматизация и упрощение работы управляющего при контроле и внесении записей по очередникам сотрудниками администрации.
1.4 Инструментальные средства
СУБД - совокупность программных и лингвистических средств общего или специального назначения, обеспечивающих управление созданием и использованием баз данных. Встраиваемая СУБД - СУБД, которая может поставляться как составная часть некоторого программного продукта, не требуя процедуры самостоятельной установки. Встраиваемая СУБД предназначена для локального хранения данных своего приложения и не рассчитана на коллективное использование в сети. Физически встраиваемая СУБД чаще всего реализована в виде подключаемой библиотеки. Доступ к данным со стороны приложения может происходить через SQL либо через специальные программные интерфейсы.
Примеры: OpenEdge, SQLite, BerkeleyDB, Firebird Embedded, Microsoft SQL Server Compact, ЛИНТЕР.
Для реализации данной Б.Д. были использованы программы MS SQL Server 2014 (для создания Б.Д.) т.к. она позволяет эффективно управлять базами данных различных масштабов – от персональной базы данных до инфраструктуры баз любого предприятия, и MS Visual Studio 2015 (для создания оболочки, позволяющей легко и удобно работать с Б.Д.)
1.5 ЛОГИЧЕСКАЯ МОДЕЛЬ БАЗЫ ДАННЫХ
Рисунок 1. Логическая модель базы данных
2. ПРАКТИЧЕСКАЯ ЧАСТЬ
2.1 РЕАЛИЗАЦИЯ БАЗЫ ДАННЫХ
2.1.1 СОЗДАНИЕ ТАБЛИЦ
Создание таблиц в MS SQL Server осуществляется двумя способами:
1. В списке объектов базы данных выбрать пункт «Таблицы» и нажать ПКМ, в появившимся меню выбрать «Создать», «Таблица».
2. С помощью использования средств DDL для создания объектов базы данных. Кликнуть по «Создать запрос» и в появившимся окне прописать код. Синтаксис: CREATE TABLE <название таблицы> (<название поля> <Тип данных> PRINORY KEY (первичный ключ))
В проекте были созданы таблицы: пакеты, поставщики, заказчики, служащие, допуск, сопровождение.
Создание таблицы «Группа»
Название атрибутов |
Тип полей |
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
(Программный код создания таблицы « Должность »)
