Информационная система "Журнал инспектора"

Анализ предметной области. Проектирование и разработка базы данных и интерфейса в виде набора Web-страниц для отображения, создания, удаления и редактирования записей базы данных. Аппаратное и программное обеспечение системы. Алгоритм работы программы.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 12.01.2016
Размер файла 3,0 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

ВВЕДЕНИЕ

В настоящее время существует множество областей производства в ходе функционирования, которых большая часть времени тратится на учёт различной информации и её обработку, поэтому возникает необходимость в автоматизации таких областей. Правильно организованная автоматизация какой-либо области позволяет в разы сократить расходы предприятий и затрачиваемое время на выполнение каких-либо операций. Успешность реализации автоматизированной информационной системы на прямую зависит от выбранных средств разработки.

Сейчас широко распространена архитектура «клиент-сервер». В этом случае в качестве клиента выступает Web-браузер, а в качестве сервера - Web-сервер. В функции Web-сервера входят обработка запросов клиентов сети, передача параметров запроса и формирование Web-документа с использованием различных HTML-шаблонов. Готовый HTML-документ отсылается Web-обозревателю в формате протокола HTTP .

Для разработки базы данных была выбрана СУБД SQL-Server. Она представляет собой СУБД, обеспечивающую создание информационных систем с архитектурой «клиент-сервер», в которой он играет роль сервера баз данных. SQL-Server удовлетворяет требованиям, предъявляемым к системам распределенной обработки информации. Эта СУБД поддерживает: тиражирование данных, параллельную обработку, создание и обработку больших баз данных на недорогих аппаратных платформах, отличается простотой управления и использования, а также обеспечивает тесную интеграцию баз данных SQL-Server в Web [1].

Для разработки Web-приложения была выбрана технология ASP.NET. Она позволяет создавать сложные, полнофункциональные и чрезвычайно быстрые Web-приложения. ASP.NET является объектно-ориентированной средой программирования Web-приложений, включающей управление событиями. Она позволяет писать код на любом языке, поддерживаемом .NET (Visual Basic, C#, J# и др.). Также в ASP.NET используются классы и инструменты ADO.NET для работы с базами данных, предоставляющие доступ к базам данных. Ещё одним плюсом данной технологии является возможность создания новых, нестандартных серверных элементов управления на основе существующих [2].

Задачей курсовой работы является проектирование и разработка базы данных и интерфейса в виде набора Web-страниц для отображения, создания, удаления и редактирования записей базы данных. Предметная область - АИС «Журнал инспектора».

Приложение должно выполнять следующие функции:

- редактирование данных из всех таблиц базы данных;

- вывод данных обо всех сотрудниках и их должностях;

- отображение сведений о сотрудниках с определенными: должностью, подразделением;

- полный перечень выявленных нарушений;

- список предприятий, имеющих определенные нарушения;

- полные сведения о всех штрафных санкциях;

- данные об уплаченных и неуплаченных штрафах

- полные сведения о всех проверках: данного инспектора, данного подразделения;

- сведения об инспекторах: выполнивших наибольшее количество проверок, обеспечивших наибольшую сумму штрафов.

Microsoft SQL Server - это система управления реляционными базами данных. Основной язык запросов - Transact-SQL. Transact-SQL является реализацией стандарта ANSI/ISO по структурированному языку запросов (SQL) с расширениями. Используется для работы с базами данных размером от персональных до крупных баз данных масштаба предприятия. [3]

Для разработки Web-приложения использовалась среда Microsoft Visual Studio. Приложение построено по технологии ASP.NET, позволяющей создавать многофункциональные сложные и быстрые приложения.

1. ЛОГИЧЕСКАЯ СТРУКТУРА БАЗЫ ДАННЫХ

Изучив заданную предметную область можно выделить 7 основных сущностей: должности, послужной список, сотрудники, проверки, предприятия, штрафные санкции, виды нарушений . Каждая из них содержит свои атрибуты определённого типа данных. Описания всех сущностей и их атрибутов представлены в таблицах 1.1 - 1.7.

Таблица 1.1 - Описание сущности «Должность»

Название атрибута

Тип данных

Наличие ключа

Код Должности

Счетчик

Первичный ключ

Наименование

Текстовый

-

Таблица 1.2 - Описание сущности «Послужной список»

Название атрибута

Тип данных

Наличие ключа

Код послужного списка

Счетчик

Первичный ключ

Код должности

Числовой

Вторичный ключ

Код сотрудника

Числовой

Вторичный ключ

Дата принятия

Дата

-

Дата увольнения

Дата

-

Таблица 1.3 - Описание сущности «Сотрудник»

Название атрибута

Тип данных

Наличие ключа

Код сотрудника

Счетчик

Первичный ключ

Фамилия

Текстовый

-

Подразделение

Текстовый

-

Таблица 1.4 - Описание сущности «Проверка»

Название атрибута

Тип данных

Наличие ключа

Код проверки

Счетчик

Первичный ключ

Код сотрудника

Числовой

Вторичный ключ

Дата проверки

Дата

-

Номер протокола

Числовой

-

Нарушение

Текстовый

-

Срок оплаты

Числовой

-

Срок устранения

Числовой

-

Ответственный за нарушение

Текстовый

-

Таблица 1.5 - Описание сущности «Предприятие»

Название атрибута

Тип данных

Наличие ключа

Код предприятия

Счетчик

Первичный ключ

Код проверки

Числовой

Вторичный ключ

Название атрибута

Тип данных

Наличие ключа

Название предприятия

Текстовый

-

Форма собственности

Текстовый

-

Адрес

Текстовый

-

Фамилия руководителя

Текстовый

-

Телефон руководителя

Числовой

-

Таблица 1.6 - Описание сущности «Штрафные санкции»

Название атрибута

Тип данных

Наличие ключа

Код штрафной санкции

Счетчик

Первичный ключ

Код проверки

Числовой

Вторичный ключ

Наименование санкции

Текстовый

-

Дата оплаты

Дата

-

Таблица 1.7 - Описание сущности «Виды нарушений»

Название атрибута

Тип данных

Наличие ключа

Код вида нарушений

Счетчик

Первичный

Код штрафной санкции

Числовой

Вторичный ключ

Сумма

Числовой

-

Срок исправления

Числовой

-

Между сущностями определяется связи типа «один ко многим»:

- связь между сущностями «Должность» (на стороне один) и «Послужной список» (на стороне многие) по полю «Код должности»;

- связь между сущностями «Сотрудники» (на стороне один) и «Послужной список» (на стороне многие) по полю «Код сотрудника»;

- связь между сущностями «Сотрудники» (на стороне один) и «Проверка» (на стороне многие) по полю «Код сотрудника»;

- связь между сущностями «Проверка» (на стороне один) и «Предприятие» (на стороне многие) по полю «Код проверки»;

- связь между сущностями «Проверка» (на стороне один) и «Штрафные санкции» (на стороне многие) по полю «Код проверки»;

- связь между сущностями «Штрафные санкции» (на стороне один) и «Виды нарушений» (на стороне многие) по полю «Код штрафной санкции».

Cвязи заданные между сущностями могут быть идентифицирующими или не идентифицирующими. Если задана идентифицирующая связь, то это значит, что каждому экземпляру дочерней сущности должен соответствовать хотя бы один экземпляр родительской [1].

Все первичные ключи в сущностях спроектированной структуры являются простыми - состоят из одного поля и однозначно идентифицируют запись.

Логическая структура базы данных приведена на рисунке 1.1.

Рисунок 1.1 - Логическая структура базы данных

интерфейс база данные редактирование

2. ФИЗИЧЕСКАЯ СТРУКТУРА БАЗЫ ДАННЫХ. АППАРАТНОЕ И ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ СИСТЕМЫ

2.1 Физическая структура базы данных

По созданной логической структуре была разработана база данных средствами СУБД Microsoft SQL Server, в которой содержатся следующие таблицы:

- «Должность», столбцы описаны в таблице 2.1;

Таблица 2.1 - Столбцы таблицы «Должность»

Название столбца

Тип данных

Код должности

Int

Наименование

Varchar(20)

- «Послужной список», столбцы описаны в таблице 2.2;

Таблица 2.2 - Столбцы таблицы «Послужной список»

Название столбца

Тип данных

Код послужного списка

Int

Код должности

Int

Код сотрудника

Int

Дата принятия

Date

Дата увольнения

Date

- «Сотрудник», столбцы описаны в таблице 2.3;

- Таблица 2.3 - Столбцы таблицы «Сотрудник»

Название столбца

Тип данных

Код сотрудника

Int

Фамилия

Varchar(20)

Подразделение

Varchar(20)

- «Штрафные санкции», столбцы описаны в таблице 2.4;

- Таблица 2.4 - Столбцы таблицы «Штрафные санкции»

Название столбца

Тип данных

Код штрафной санкции

Int

Код проверки

Int

Наименование санкции

Varchar(20)

Дата оплаты

Date

- «Проверки», столбцы описаны в таблице 2.5;

- Таблица 2.5 - Столбцы таблицы «Проверки»

Название атрибута

Тип данных

Код проверки

Int

Код сотрудника

Int

Дата проверки

Date

Номер протокола

Int

Нарушение

Varchar(20)

Срок оплаты

Int

Срок устранения

Int

Ответственный за нарушение

Varchar(20)

- «Предприятия», столбцы описаны в таблице 2.6;

- Таблица 2.6 - Столбцы таблицы «Предприятия»

Название столбца

Тип данных

Код предприятия

Int

Код проверки

Int

Название предприятия

Varchar(20)

Форма собственности

Varchar(20)

Адрес

Varchar(20)

Фамилия руководителя

Varchar(20)

Телефон руководителя

Int

- «Виды нарушений», столбцы описаны в таблице 2.7;

- Таблица 2.7 - Столбцы таблицы «Виды нарушений»

Название столбца

Тип данных

Код вида нарушений

Int

Код штрафной санкции

Int

Сумма

Int

Срок исправления

Int

Столбцы всех таблиц с первичными ключами являются автоинкрементными, т.е. значения этих полей генерируются автоматически.

Диаграмма созданной базы данных приведена на рисунке 2.1.

Рисунок 2.1 - Диаграмма базы данных

Данные таблицы соответствуют требованиям нормализации реляционных БД. Таблицы находятся в первой нормальной форме, т.к. все их поля являются простыми (неделимыми), нет повторяющихся полей и каждый столбец таблиц хранит одно единственное значение и не является ни списком, ни множеством значений. Таблицы находятся во второй нормальной форме, т.к. они находятся в первой нормальной форме, имеют простые первичные ключи и каждое не ключевое поле функционально зависит от первичного ключа. Таблицы находится в третьей нормальной форме, т.к. они находятся во второй нормальной форме и все не ключевые поля являются взаимно-независимыми.

2.2 Аппаратное и программное обеспечение системы

Разработанная база данных состоит из двух основных файлов:

- БазаДанных.mdf - файл базы данных. В нём хранятся непосредственно данные и структура базы данных. Размер данного файла 3 МБ;

- БазаДанных_log.ldf - журнал транзакций. Размер журнала 2 МБ.

Рост размера базы данных ограничивается лишь свободной памятью на жёстком диске.

Учетные записи зарегистрированных пользователей хранятся в файле aspnet-Курсовая-2015050602085.mdf в загифрованном виде.

К SQL Server 2012 предъявляются следующие аппаратные и программные требования:

- минимум 256 МБ ОЗУ (рекомендуется 1 ГБ или выше);

- 32-разрядные системы: компьютер, оборудованный процессором Intel или совместимым процессором с тактовой частотой 1 ГГц и выше (рекомендуется 2 ГГц и выше, поддерживается только один процессор);

- 64-разрядные системы: процессор с тактовой частотой 1,4 ГГц и выше (рекомендуется 2 ГГц и выше, поддерживается только один процессор);

- 6 ГБ свободного места на диске;

- поддерживаемые операционные системы: Windows Server 2003 Service Pack 2; Windows Server 2008; Windows Vista; Windows Vista Service Pack 1; Windows XP Service Pack 2; Windows XP Service Pack 3 [2].

3. РЕАЛИЗАЦИЯ ИНТЕРФЕЙСА ПОЛЬЗОВАТЕЛЯ

3.1 Описание основной структуры ASP.NET документов

Интерфейс пользователя разработан с помощью технологии ASP.NET, предоставляемой компанией Microsoft. Технология позволяет быстро, эффективно и просто создать полноценное и многофункциональное Web-приложение. Структура приложений, разрабатываемых с помощью данной технологии позволяет разграничивать логику и содержимое страниц, что является очень удобной возможностью [3].

Приложение состоит из набора ASP.NET страниц и условно делится на 2 части, а именно вывод обработанных данных и редактирование данных из всех таблиц. Все страницы имеют единый стиль оформления.

Структура приложения представлена на рисунке 3.1.

Рисунок 3.1 - Структура приложения

Страница Employees.aspx предназначена для просмотра, удаления, редактирования и добавления данных о сотрудниках предприятия.

Страница Post.aspx предназначена для просмотра, удаления, редактирования и добавления данных о должностях сотрудников.

Страница Penalties.aspx предназначена для просмотра, удаления, редактирования и добавления данных о штрафных санкциях.

Страница Records.aspx предназначена для просмотра, удаления, редактирования и добавления данных в послужной список.

Страница Types_of_violations.aspx предназначена для просмотра, удаления, редактирования и добавления данных о видаъ нарушений.

Страница Companies.aspx предназначена для просмотра, удаления, редактирования и добавления о предприятиях.

Страница Checks.aspx предназначена для просмотра, удаления, редактирования и добавления данных о проверках предприятий.

Разработанная структура приложения позволяет осуществлять переход на любую страницу приложения из текущей, поэтому передвижение по страницам достаточно просто и понятно любому пользователю.

3.2 Описание элементов пользовательского интерфейса

Для отображения и редактирования информации используются серверные компоненты GridView и DetailsView, которые являются мощными средствами для работы с базами данных. Эти компоненты предоставляют широкий набор функций, таких как удаление, добавление, вставка, сортировка. Однако эти компоненты не могут делать самого главного - соединятся с базой данных. Это не является недостатком, а напротив - преимуществом. Технология ADO.NET построена так, что компонентам, которые отображают данные из базы - не нужно знать с какой СУБД они работают. У них есть источник данных (DataSource) из которого они и отображают необходимые данные.

Роль посредника между базой данных и визуальными компонентами, отображающими информацию, является DataSource, который связывается с конкретной базой данных и получает из неё информацию. Вот на этом уровне и определяется, с какой СУБД происходит работа. Для каждой СУБД есть свой источник данных. Для Microsoft SQL Server этим источником является SqlDataSource.

Одной из главных особенностей SqlDataSource является то, что он способен самостоятельно генерировать запросы на вставку, удаление, добавление и выборку данных.

Каждая таблица имеет простой первичный ключ, в основном это автоинкрементное поле. Поэтому в оперативных таблицах хранятся числовые коды из таблиц - справочников обозначающие какое-либо значение. Пользователю сложно работать с числовыми значениями, которые подразумевают какую-то конкретную, более осмысленную информацию, поэтому в данном приложении разработаны поля с подстановкой. Они так же используются и для предотвращения ввода в таблицы неправильных, нежелательных значений.

Для таких ситуаций в используемых компонентах для отображения данных предусмотрены шаблонные поля (Template Fields). Шаблонные поля определяются для каждого режима компонентов, таких как вставка, редактирование, отображение.

Шаблонные поля позволяют вставлять различные компоненты внутрь GridView, DetailsView и других компонентов, в которых реализована поддержка шаблонных полей. Для ситуации, рассмотренной выше, эти поля можно применить следующим образом: поле, в котором содержится код, необходимо преобразовать в шаблонное. Затем в это поле поместить серверный компонент DropDownList, а затем связать его с источником данных (SqlDataSource), который будет выбирать данные из нужной таблицы. И наконец, назначить поле таблицы из источника данных, которое будет отображаемым, и поле, которое будет являться значением.

Такой подход весьма удобен и является очень гибким. Потому что нет необходимости создавать свои компоненты отображения данных, а достаточно немного модифицировать уже имеющийся компонент. Пример таблицы с подстановочными полями приведен на рисунке 3.2

Рисунок 3.2 - Таблица с полями подстановки

Если данных в таблицах много, то на поиск нужной информации тратится большая часть времени. Поэтому в любом приложении, работающим с базами данных, должны быть реализованы средства фильтрации данных. В разработанном приложении так же реализована возможность фильтрации данных, реализуемая средствами обыкновенных полей для ввода данных. Это необходимо для отбора и вывода конкретных данных из таблиц. Пример фильтрации данных приведен на рисунке 3.3.

Рисунок 3.3 - Пример фильтрации данных

Для связи приложения с базой данных, находящейся на сервере используется специальный объект ConnectionString, в котором указывается экземпляр SQL Server, с которым будет происходить работа и настраиваются параметры подключения. Этот объект хранится в файле конфигурации приложения (web.config) и впоследствии используется источниками данных, которым нужно соединяться с базой данных. Именно благодаря файлу конфигурации и объектам ConnectionString, веб-сервер всегда знает, где расположен экземпляр СУБД.

4. РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ

4.1 Общие сведения

Руководство пользователя информационной системы, обеспечивает получение пользователем базовых навыков по настройке и начальной эксплуатации пользовательского программного обеспечения для доступа к функциям, которые обеспечивают работу с базой данных работы инспекторов.

Разработанная информационная система предназначена для автоматизации документооборота, упрощения работы персонала, визуализации данных по запросу и внесения изменений в базу данных работы инспекторов.

Пользователь системы должен обладать следующей квалификацией:

- пользовательские навыки работы с ЭВМ;

- пользовательские навыки работы с Веб-браузерами, такими как Mozilla Firefox, Opera, Google chrome и т.п.;

- знание предметной области и знакомство с руководством пользователя.

Для начала работы с информационной системой пользователь должен ознакомиться со следующими документами:

- настоящее руководство пользователя;

- инструкциями по технике безопасности (для работы с ЭВМ).

Разработанное программное обеспечение позволяет автоматизировать ежедневно повторяющиеся операции, такие как распределение проверок между инспекторами, назначение суммы на оплату штрафов, введение новых санкций, добавление новых предприятий и т.д.

Система не требует инсталляции, все необходимые файлы загружаются на компьютер пользователя автоматически или по запросу.

В состав загружаемых файлов входят динамически генерируемые сервером наборы html-страниц, содержащих текстовый и графический контент в соответствии с запросами пользователя.

4.2 Руководство пользователя

При запуске программного комплекса, пользователь попадает на главную страницу сайта где описаны основные действия, которые можно производить на сайте, рисунок 4.1.

Рисунок 4.1 - Главная страница приложения

Для полноценной работы, необходимо авторизироваться в системе или зарегистрировать новую учетную запись, рисунок 4.2.

Рисунок 4.2 - Меню регистрации и входа

После авторизации в системе можно переходить к непосредственной работе с данными. Пользовательское программное обеспечение позволяет выполнять основные действия с базой данных. Для быстрого и удобного перехода между страницами сайта реализовано меню, рисунок 4.3.

Рисунок 4.3 - Меню навигации приложения

Некоторые элементы меню представляют собой выпадающие списки, внутри которых имеются еще несколько элементов меню, рисунок 4.4.

Рисунок 4.4 - Выпадающий список меню

Раздел меню “Инспектор” предназначен для работы с данными об инспекторах.

Раздел “Нарушения” предназначен для работы с данными штрафных санкций и нарушений.

Раздел меню “Проверки” предназначен для работы с данными о проверках и предприятиях.

Раздел меню “Дополнительно” предназначен для более удобного просмотра сведений о сотрудниках, проверках, нарушениях и т.д.

При выборе любого пункта меню, пользователь может ознакомиться с данными интересующей его таблицей. Например, выбрав пункт “Штрафные санкции” пользователю предоставляется информация о штрафных санкциях, рисунок 4.5.

Рисунок 4.5 - Краткая информация об учениках школы

Для работы с записями реализовано три функции: удаление, добавление и редактирование записей, рисунок 4.6.

Рисунок 4.8 - работа с записями (удаление записи, редактирование записи, добавление записи)

После нажатия на кнопку удаления, запись безвозвратно будет удалена из базы данных.

После нажатия на кнопку редактирования, пользователю предоставляется возможность отредактировать данные. После всех изменений пользователь может сохранить данные либо отказаться от сохранения, рисунок 4.9.

Рисунок 4.9 - Редактирование данных

После нажатия на кнопку добавления, пользователю предоставляется возможность добавить новую запись в таблицу. После заполнения всех полей пользователь может сохранить запись либо отказаться от сохранения, рисунок 4.10.

Рисунок 4.10 - Добавление данных

Для более быстрого доступа данным на страницах реализован поиск. Для использования поиска необходимо ввести часть или целиком все слово и нажать на кнопку поиск, рисунок 4.11.

Рисунок 4.11 - Поиск данных

Работа с другими данными реализована аналогичным образом. Скриншоты всех страниц приложения приведены в приложении Б.

Для выхода из приложения достаточно закрыть вкладку в браузере, либо браузер целиком.

5. РУКОВОДСТВО ПРОГРАММИСТА

5.1 Назначения и условия применения программы

Разработанная информационная система позволяет добавлять, редактировать, удалять и отображать данные об инспекторах и проверках, о санкциях, нарушениях и т.д. Программа “Информационная система “Журнал инспектора” позволит автоматизировать работу инспекторов предприятий.

К компьютеру, на котором будет установлен веб-сервер налагаются следующие условия:

К SQL Server 2012 предъявляются следующие аппаратные и программные требования:

- минимум 256 МБ ОЗУ;

- 32-разрядные системы: компьютер, оборудованный процессором Intel или совместимым процессором с тактовой частотой 1 ГГц и выше;

- 64-разрядные системы: процессор с тактовой частотой 1,4 ГГц и выше;

- поддерживаемые операционные системы: Windows Server 2003 Service Pack 2; Windows Server 2008; Windows Vista; Windows Vista Service Pack 1; Windows XP Service Pack 2; Windows XP Service Pack 3.

К компьютеру, на котором будет выполняться клиентская часть приложения предъявляются следующие требования:

- процессор Intel Pentium III 1 ГГц и выше;

- объем оперативного запоминающего устройства 256 Мб;

- видеоадаптер должен поддерживать разрешение 1024х768 точек;

- монитор с возможностью поддерживать разрешение 1024х768 с частотой не менее 60 Гц, отображающий 256 и более цветов;

- устройства ввода информации - клавиатура и манипулятор типа “мышь»;

- 10 Мб свободного места на жёстком диске;

- операционная система Windows Vista / XP /Server 2003 / 7 / 8 /Server 2008 / Server 2008 R2 / Server 2012;

- Microsoft.NET Framework 4.5.

Исходный код приложения приведен в приложении А.

5.2 Характеристики работы программы

Никаких ограничений и требований на режим работы и запуска программы не налагается. Средства восстановления программы после сбоя не предусмотрены.

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

5.3 Входные и выходные данные

Входными данными для приложения являются таблицы и хранимые процедуры базы данных разработанной в SQL-Server 2012, так же данные вводимые пользователем в текстовые поля и выпадающие списки, необходимые для фильтрации данных.

Выходными данными являются результаты выборки данных из таблиц. Все выходные данные приложения выводятся на экран и доступны пользователю для просмотра и редактирования.

Данная проверка осуществляется следующими валидаторами, представляемыми технологией ASP.NET:

Ввод корректных данных обеспечивается использованием выпадающих списков значений для определённых полей. Пользователь не вводит данные с клавиатуры, а лишь выбирает значение из предлагаемого списка.

Пример выпадающего списка, используемого при вводе данных приведен на рисунке 5.1.

Рисунок 5.1- Пример выпадающего списка, используемого при вводе данных

ЗАКЛЮЧЕНИЕ

В рамках выполнения курсовой работы была спроектирована информационноя система “Журнал инспектора”. Проведя анализ предметной области, на его основе разработан основной алгорит работы разрабатываемого приложения. После чего была разработана база данных, а также веб-приложение для работы с ней. Приложение имеет простой и понятный графический интерфейс, позволяющий пользователю быстро освоиться в системе и начать работу в ней.

Разработанное приложение имеет общественную и обучающую ценность. С точки зрения общественности, данное приложение может получить хорошее применение на различных предприятиях. Приложение позволит автоматизировать работу заведения, а именно слежение правонарушениями, оплатой штрафов и т.д. С точки зрения обучения, разработка данного приложения помогла приобрести и укрепить навыки работы с базами данных в среде СУБД MS SQL Server 2012, а также навыки создания и использования ASP.NET приложений.

ПРИЛОЖЕНИЕ А

Тексты программных модулей

Листинг страницы-шаблона Site.Master

<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Site.master.cs" Inherits="Курсовая.SiteMaster" %>

<!DOCTYPE html>

<html lang="ru">

<head runat="server">

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

<meta charset="utf-8" />

<meta name="viewport" content="width=device-width, initial-scale=1.0" />

<title><%: Page.Title %> - Курсовая работа</title>

<asp:PlaceHolder runat="server">

<%: Scripts.Render("~/bundles/modernizr") %>

</asp:PlaceHolder>

<webopt:bundlereference runat="server" path="~/Content/css" />

<link href="~/favicon.ico" rel="shortcut icon" type="image/x-icon" />

</head>

<body class="main">

<form runat="server">

<asp:ScriptManager runat="server">

<Scripts>

<%--To learn more about bundling scripts in ScriptManager see http://go.microsoft.com/fwlink/?LinkID=301884 --%>

<%--Framework Scripts--%>

<asp:ScriptReference Name="MsAjaxBundle" />

<asp:ScriptReference Name="jquery" />

<asp:ScriptReference Name="bootstrap" />

<asp:ScriptReference Name="respond" />

<asp:ScriptReference Name="WebForms.js" Assembly="System.Web" Path="~/Scripts/WebForms/WebForms.js" />

<asp:ScriptReference Name="WebUIValidation.js" Assembly="System.Web" Path="~/Scripts/WebForms/WebUIValidation.js" />

<asp:ScriptReference Name="MenuStandards.js" Assembly="System.Web" Path="~/Scripts/WebForms/MenuStandards.js" />

<asp:ScriptReference Name="GridView.js" Assembly="System.Web" Path="~/Scripts/WebForms/GridView.js" />

<asp:ScriptReference Name="DetailsView.js" Assembly="System.Web" Path="~/Scripts/WebForms/DetailsView.js" />

<asp:ScriptReference Name="TreeView.js" Assembly="System.Web" Path="~/Scripts/WebForms/TreeView.js" />

<asp:ScriptReference Name="WebParts.js" Assembly="System.Web" Path="~/Scripts/WebForms/WebParts.js" />

<asp:ScriptReference Name="Focus.js" Assembly="System.Web" Path="~/Scripts/WebForms/Focus.js" />

<asp:ScriptReference Name="WebFormsBundle" />

<%--Site Scripts--%>

</Scripts>

</asp:ScriptManager>

<div class="navbar navbar-inverse navbar-fixed-top">

<div class="container">

<div class="navbar-header">

<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">

<span class="icon-bar"></span>

<span class="icon-bar"></span>

<span class="icon-bar"></span>

</button>

<!--menu-->

<asp:Menu class="Menu1" runat="server" DynamicHorizontalOffset="2" Font-Names="Arial" Font-Size="medium" Orientation="Horizontal" StaticSubMenuIndent="10px" Width="1200px">

<DynamicMenuItemStyle BackColor="#dddddd" BorderStyle="solid" BorderWidth="1px" HorizontalPadding="5px" VerticalPadding="2px" />

<Items>

<asp:MenuItem NavigateUrl="~/" Text="Домашняя" Value="Домашняя"></asp:MenuItem>

<asp:MenuItem Text="Инспектор" Value="Инспектора">

<asp:MenuItem NavigateUrl="~/Post.aspx" Text="Должности" Value="Должности"></asp:MenuItem>

<asp:MenuItem NavigateUrl="~/Records.aspx" Text="Послужной список" Value="Послужной список"></asp:MenuItem>

<asp:MenuItem NavigateUrl="~/Employees.aspx" Text="Сотрудники" Value="Сотрудники"></asp:MenuItem>

</asp:MenuItem>

<asp:MenuItem Text="Нарушения" Value="Нарушения">

<asp:MenuItem NavigateUrl="~/Types_of_violations.aspx" Text="Виды нарушения" Value="Виды нарушения"></asp:MenuItem>

<asp:MenuItem NavigateUrl="~/Penalties.aspx" Text="Штрафные санкции" Value="Штрафные санкции"></asp:MenuItem>

</asp:MenuItem>

<asp:MenuItem Text="Проверки" Value="Проверки">

<asp:MenuItem NavigateUrl="~/Companies.aspx" Text="Предприятия" Value="Предприятия"></asp:MenuItem>

<asp:MenuItem NavigateUrl="~/Checks.aspx" Text="Проверки" Value="Проверки"></asp:MenuItem>

</asp:MenuItem>

<asp:MenuItem Text="Дополнительно" Value="Дополнительно">

<asp:MenuItem NavigateUrl="~/Procedure's/First.aspx" Text="Отдел кадров" Value="Отдел кадров"></asp:MenuItem>

<asp:MenuItem NavigateUrl="~/Procedure's/Second.aspx" Text="Предприятия-нарушители" Value="Предприятия-нарушители"></asp:MenuItem>

<asp:MenuItem NavigateUrl="~/Procedure's/Third.aspx" Text="Штрафные санкции" Value="Штрафные санкции"></asp:MenuItem>

<asp:MenuItem NavigateUrl="~/Procedure's/Fours.aspx" Text="Работа инспекторов" Value="Работа инспекторов"></asp:MenuItem>

</asp:MenuItem>

</Items>

<StaticMenuItemStyle HorizontalPadding="5px" VerticalPadding="2px" />

</asp:Menu>

</div>

<div class="autorise">

<asp:LoginView runat="server" ViewStateMode="Disabled">

<AnonymousTemplate>

<ul class="nav navbar-nav navbar-right" >

<li ><a runat="server" href="~/Account/Register" >Регистрация</a></li>

<li><a runat="server" href="~/Account/Login">Вход</a></li>

</ul>

</AnonymousTemplate>

<LoggedInTemplate>

<ul class="nav navbar-nav navbar-right">

<li><a runat="server" href="~/Account/Manage" title="Manage your account">Hello, <%: Context.User.Identity.GetUserName() %> !</a></li>

<li>

<asp:LoginStatus runat="server" LogoutAction="Redirect" LogoutText="Выход" LogoutPageUrl="~/" OnLoggingOut="Unnamed_LoggingOut" />

</li>

</ul>

</LoggedInTemplate>

</asp:LoginView>

</div>

</div>

</div>

<div class="container body-content">

<asp:ContentPlaceHolder ID="MainContent" runat="server">

</asp:ContentPlaceHolder>

<div class="footer">

<p align="center">&copy; <%: DateTime.Now.Year %> - OAO "VDimanah.ru"</p>

</div>

</div>

</form>

</body>

</html>

Листинг страницы Default.aspx

<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="Курсовая._Default" %>

<asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server">

<div class="jumbotron">

<h1>Журнал инспектора</h1>

<p class="lead">Здесь можно просмотреть задание на курсовую работу</p>

<p><a href="/zadanie" class="btn btn-primary btn-large">Перейти &raquo;</a></p>

</div>

<div class="row">

<div class="col-md-4">

<h2>Регистрация</h2>

<p>

Для полноценной работы сайта пройдите регистрацию

</p>

<p>

<a class="btn btn-default" href="/account/register">Перейти &raquo;</a>

</p>

</div>

<div class="col-md-4">

<h2>Вход</h2>

<p>

Если вы уже были на сайте , то зайдите под своей учетной записью

</p>

<p>

<a class="btn btn-default" href="/account/login">Перейти &raquo;</a>

</p>

</div>

<div class="col-md-4">

<h2>Задание</h2>

<p>

Тут можно просмотреть задание курсовой работы

</p>

<p>

<a class="btn btn-default" href="/zadanie.aspx">Перейти &raquo;</a>

</p>

</div>

</div>

</asp:Content>

Листинг страницы Classes.aspx

<%@ Page Title="Виды нарушений" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Types_of_violations.aspx.cs" Inherits="Курсовая.Types_of_violations" %>

<asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server">

<h2 align="center" style="top:-100px;"><%: Title %>.</h2>

<div class="grid" align="center">

<asp:GridView ID="GridView1" runat="server" AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False" DataKeyNames="KodVidaNarusheniya" DataSourceID="SqlDataSource1" EmptyDataText="Нет записей для отображения." BackColor="White" BorderColor="#DEDFDE" BorderStyle="None" BorderWidth="1px" CellPadding="4" ForeColor="Black" GridLines="Vertical">

<CREATEnatingRowStyle BackColor="White" />

<Columns>

<asp:CommandField ShowSelectButton="True" ShowEditButton="True" ShowDeleteButton="True" SelectText="Создание" />

<asp:BoundField DataField="KodVidaNarusheniya" HeaderText="ID" ReadOnly="True" SortExpression="KodVidaNarusheniya" />

<asp:TemplateField HeaderText="Санкция" SortExpression="KodShtrafnoiSankcii">

<EditItemTemplate>

<asp:DropDownList ID="DropDownList2" runat="server" DataSourceID="SqlDataSource3" DataTextField="NaimenovanieSankcii" DataValueField="KodShtrafnoiSankcii" SelectedValue='<%# Bind("KodShtrafnoiSankcii") %>'>

</asp:DropDownList>

</EditItemTemplate>

<ItemTemplate>

<asp:DropDownList ID="DropDownList1" runat="server" DataSourceID="SqlDataSource3" DataTextField="NaimenovanieSankcii" DataValueField="KodShtrafnoiSankcii" Enabled="False" SelectedValue='<%# Bind("KodShtrafnoiSankcii") %>'>

</asp:DropDownList>

</ItemTemplate>

</asp:TemplateField>

<asp:BoundField DataField="Summa" HeaderText="Сумма" SortExpression="Summa" />

<asp:BoundField DataField="SrokIspravleniya" HeaderText="Срок исправления" SortExpression="SrokIspravleniya" />

</Columns>

<FooterStyle BackColor="#CCCC99" />

<HeaderStyle BackColor="#6B696B" Font-Bold="True" ForeColor="White" />

<PagerStyle BackColor="#F7F7DE" ForeColor="Black" HorizontalAlign="Right" />

<RowStyle BackColor="#F7F7DE" />

<SelectedRowStyle BackColor="#CE5D5A" Font-Bold="True" ForeColor="White" />

<SortedAscendingCellStyle BackColor="#FBFBF2" />

<SortedAscendingHeaderStyle BackColor="#848384" />

<SortedDescendingCellStyle BackColor="#EAEAD3" />

<SortedDescendingHeaderStyle BackColor="#575357" />

</asp:GridView>

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:БазаДанныхConnectionString %>" DeleteCommand="DELETE FROM [VidiNarushenii] WHERE [KodVidaNarusheniya] = @KodVidaNarusheniya" InsertCommand="INSERT INTO [VidiNarushenii] ([KodShtrafnoiSankcii], [Summa], [SrokIspravleniya]) VALUES (@KodShtrafnoiSankcii, @Summa, @SrokIspravleniya)" SelectCommand="SELECT [KodVidaNarusheniya], [KodShtrafnoiSankcii], [Summa], [SrokIspravleniya] FROM [VidiNarushenii]" UpdateCommand="UPDATE [VidiNarushenii] SET [KodShtrafnoiSankcii] = @KodShtrafnoiSankcii, [Summa] = @Summa, [SrokIspravleniya] = @SrokIspravleniya WHERE [KodVidaNarusheniya] = @KodVidaNarusheniya">

<DeleteParameters>

<asp:Parameter Name="KodVidaNarusheniya" Type="Int32" />

</DeleteParameters>

<InsertParameters>

<asp:Parameter Name="KodShtrafnoiSankcii" Type="Int32" />

<asp:Parameter Name="Summa" Type="Int32" />

<asp:Parameter Name="SrokIspravleniya" Type="Int32" />

</InsertParameters>

<UpdateParameters>

<asp:Parameter Name="KodShtrafnoiSankcii" Type="Int32" />

<asp:Parameter Name="Summa" Type="Int32" />

<asp:Parameter Name="SrokIspravleniya" Type="Int32" />

<asp:Parameter Name="KodVidaNarusheniya" Type="Int32" />

</UpdateParameters>

</asp:SqlDataSource>

<asp:SqlDataSource ID="SqlDataSource3" runat="server" ConnectionString="<%$ ConnectionStrings:БазаДанныхConnectionString %>" SelectCommand="SELECT [KodShtrafnoiSankcii], [NaimenovanieSankcii] FROM [ShtrafnieSankcii]"></asp:SqlDataSource>

<div class="edit_types">

<asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:БазаДанныхConnectionString %>" DeleteCommand="DELETE FROM [VidiNarushenii] WHERE [KodVidaNarusheniya] = @KodVidaNarusheniya" InsertCommand="INSERT INTO [VidiNarushenii] ([KodShtrafnoiSankcii], [Summa], [SrokIspravleniya]) VALUES (@KodShtrafnoiSankcii, @Summa, @SrokIspravleniya)" SelectCommand="SELECT * FROM [VidiNarushenii] WHERE ([KodVidaNarusheniya] = @KodVidaNarusheniya)" UpdateCommand="UPDATE [VidiNarushenii] SET [KodShtrafnoiSankcii] = @KodShtrafnoiSankcii, [Summa] = @Summa, [SrokIspravleniya] = @SrokIspravleniya WHERE [KodVidaNarusheniya] = @KodVidaNarusheniya">

<DeleteParameters>

<asp:Parameter Name="KodVidaNarusheniya" Type="Int32" />

</DeleteParameters>

<InsertParameters>

<asp:Parameter Name="KodShtrafnoiSankcii" Type="Int32" />

<asp:Parameter Name="Summa" Type="Int32" />

<asp:Parameter Name="SrokIspravleniya" Type="Int32" />

</InsertParameters>

<SelectParameters>

<asp:ControlParameter ControlID="GridView1" Name="KodVidaNarusheniya" PropertyName="SelectedValue" Type="Int32" />

</SelectParameters>

<UpdateParameters>

<asp:Parameter Name="KodShtrafnoiSankcii" Type="Int32" />

<asp:Parameter Name="Summa" Type="Int32" />

<asp:Parameter Name="SrokIspravleniya" Type="Int32" />

<asp:Parameter Name="KodVidaNarusheniya" Type="Int32" />

</UpdateParameters>

</asp:SqlDataSource>

<asp:DetailsView ID="DetailsView1" runat="server" AutoGenerateRows="False" DataKeyNames="KodVidaNarusheniya" DataSourceID="SqlDataSource2" Height="50px" Width="125px" BackColor="White" BorderColor="#DEDFDE" BorderStyle="None" BorderWidth="1px" CellPadding="4" ForeColor="Black" GridLines="Vertical">

<CREATEnatingRowStyle BackColor="White" />

<EditRowStyle BackColor="#CE5D5A" Font-Bold="True" ForeColor="White" />

<Fields>

<asp:BoundField DataField="KodVidaNarusheniya" HeaderText="KodVidaNarusheniya" InsertVisible="False" ReadOnly="True" SortExpression="KodVidaNarusheniya" />

<asp:BoundField DataField="KodShtrafnoiSankcii" HeaderText="KodShtrafnoiSankcii" SortExpression="KodShtrafnoiSankcii" />

<asp:BoundField DataField="Summa" HeaderText="Summa" SortExpression="Summa" />

<asp:BoundField DataField="SrokIspravleniya" HeaderText="SrokIspravleniya" SortExpression="SrokIspravleniya" />

<asp:CommandField ShowDeleteButton="True" ShowInsertButton="True" />

</Fields>

<FooterStyle BackColor="#CCCC99" />

<HeaderStyle BackColor="#6B696B" Font-Bold="True" ForeColor="White" />

<PagerStyle BackColor="#F7F7DE" ForeColor="Black" HorizontalAlign="Right" />

<RowStyle BackColor="#F7F7DE" />

</asp:DetailsView>

</div>

<div class="butt">

<asp:Label ID="Label1" runat="server" Text="Введите Сумму" ></asp:Label><br>

<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>

<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Поиск" />

</div></div>

</asp:Content>

ПРИЛОЖЕНИЕ Б

Экранные копии HTML и ASP.NET документов

Рисунок Б.1 - Стартовая страница приложения

Рисунок Б.2 - Страница с данными о должностях

Рисунок Б.3 - Страница с данными о сотрудниках

Рисунок Б.4 - Страница с данными о послужном списке

Рисунок Б.5 - Страница с данными о проверках

Рисунок Б.6 - Страница с данными о предприятии

Рисунок Б.7 - Страница с данными о штрафных санкциях

Рисунок Б.8 - Страница с данными о видах нарушений

ПРИЛОЖЕНИЕ В

Листинг хранимых процедур

CREATE PROCEDURE [dbo].[first1]

@i varchar(20)

AS

BEGIN

IF @i = ' '

SELECT Doljnosti.KodDoljnosti,Sotrudniki.KodSotrudnika, Doljnosti.Naimenovanie,Sotrudniki.Familiya, Sotrudniki.Podrazdelenie, PoslujnoiSpisok.DataPrinyatiya, PoslujnoiSpisok.DataUvolneniya

FROM Doljnosti INNER JOIN PoslujnoiSpisok ON Doljnosti.KodDoljnosti=PoslujnoiSpisok.KodDoljnosti

INNER JOIN Sotrudniki ON PoslujnoiSpisok.KodSotrudnika=Sotrudniki.KodSotrudnika

ELSE

SELECT Doljnosti.KodDoljnosti,Sotrudniki.KodSotrudnika, Doljnosti.Naimenovanie,Sotrudniki.Familiya, Sotrudniki.Podrazdelenie, PoslujnoiSpisok.DataPrinyatiya, PoslujnoiSpisok.DataUvolneniya

FROM Doljnosti INNER JOIN PoslujnoiSpisok ON Doljnosti.KodDoljnosti=PoslujnoiSpisok.KodDoljnosti

INNER JOIN Sotrudniki ON PoslujnoiSpisok.KodSotrudnika=Sotrudniki.KodSotrudnika

WHERE dbo.Doljnosti.Naimenovanie = @i

END

CREATE PROCEDURE [dbo].[first2]

@i varchar(20)

AS

BEGIN

IF @i = ' '

SELECT Doljnosti.KodDoljnosti,Sotrudniki.KodSotrudnika, Doljnosti.Naimenovanie,Sotrudniki.Familiya, Sotrudniki.Podrazdelenie, PoslujnoiSpisok.DataPrinyatiya, PoslujnoiSpisok.DataUvolneniya

FROM Doljnosti INNER JOIN PoslujnoiSpisok ON Doljnosti.KodDoljnosti=PoslujnoiSpisok.KodDoljnosti

INNER JOIN Sotrudniki ON PoslujnoiSpisok.KodSotrudnika=Sotrudniki.KodSotrudnika

ELSE

SELECT Doljnosti.KodDoljnosti,Sotrudniki.KodSotrudnika, Doljnosti.Naimenovanie,Sotrudniki.Familiya, Sotrudniki.Podrazdelenie, PoslujnoiSpisok.DataPrinyatiya, PoslujnoiSpisok.DataUvolneniya

FROM Doljnosti INNER JOIN PoslujnoiSpisok ON Doljnosti.KodDoljnosti=PoslujnoiSpisok.KodDoljnosti

INNER JOIN Sotrudniki ON PoslujnoiSpisok.KodSotrudnika=Sotrudniki.KodSotrudnika

WHERE dbo.Sotrudniki.Podrazdelenie = @i

END

CREATE PROCEDURE [dbo].[fours1]

@i varchar(20)

AS

BEGIN

IF @i =' '

SELECT Sotrudniki.Familiya, Proverka.NomerProtokola, Predpriyatie.Name,Proverka.Narushenie,Sotrudniki.Podrazdelenie

FROM (Proverka INNER JOIN Predpriyatie ON Proverka.KodProverki=Predpriyatie.KodProverki

INNER JOIN Sotrudniki ON Sotrudniki.KodSotrudnika=Proverka.KodSotrudnika)

ELSE

SELECT Sotrudniki.Familiya, Proverka.NomerProtokola, Predpriyatie.Name,Proverka.Narushenie,Sotrudniki.Podrazdelenie

FROM (Proverka INNER JOIN Predpriyatie ON Proverka.KodProverki=Predpriyatie.KodProverki

INNER JOIN Sotrudniki ON Sotrudniki.KodSotrudnika=Proverka.KodSotrudnika)

WHERE dbo.Sotrudniki.Familiya = @i

END

CREATE PROCEDURE [dbo].[fours2]

@i varchar(20)

AS

BEGIN

IF @i =' '

SELECT Sotrudniki.Familiya, Proverka.NomerProtokola, Predpriyatie.Name,Proverka.Narushenie,Sotrudniki.Podrazdelenie

FROM (Proverka INNER JOIN Predpriyatie ON Proverka.KodProverki=Predpriyatie.KodProverki

INNER JOIN Sotrudniki ON Sotrudniki.KodSotrudnika=Proverka.KodSotrudnika)

ELSE

SELECT Sotrudniki.Familiya, Proverka.NomerProtokola, Predpriyatie.Name,Proverka.Narushenie,Sotrudniki.Podrazdelenie

FROM (Proverka INNER JOIN Predpriyatie ON Proverka.KodProverki=Predpriyatie.KodProverki

INNER JOIN Sotrudniki ON Sotrudniki.KodSotrudnika=Proverka.KodSotrudnika)

WHERE dbo.Sotrudniki.Podrazdelenie = @i

END

CREATE PROCEDURE [dbo].[MaxCount]

AS

BEGIN

select top (1)

dbo.Sotrudniki.Familiya, dbo.Sotrudniki.Podrazdelenie,PoslujnoiSpisok.DataPrinyatiya,PoslujnoiSpisok.DataUvolneniya, COUNT(dbo.Proverka.KodProverki) AS [Eiee?anoai I?iaa?ie ]

FROM dbo.Sotrudniki INNER JOIN dbo.Proverka ON dbo.Sotrudniki.KodSotrudnika = dbo.Proverka.KodSotrudnika

INNER JOIN dbo.PoslujnoiSpisok ON dbo.Sotrudniki.KodSotrudnika = dbo.PoslujnoiSpisok.KodSotrudnika

GROUP BY dbo.Sotrudniki.Familiya, dbo.Sotrudniki.Podrazdelenie,PoslujnoiSpisok.DataPrinyatiya,PoslujnoiSpisok.DataUvolneniya

order by

COUNT(dbo.Proverka.KodProverki) desc;

END

CREATE PROCEDURE [dbo].[MaxSumm]

AS

BEGIN

select top (1)

dbo.Sotrudniki.Familiya, dbo.Sotrudniki.Podrazdelenie,PoslujnoiSpisok.DataPrinyatiya,PoslujnoiSpisok.DataUvolneniya, sum(dbo.VidiNarushenii.Summa) AS [Iaeaieuoay noiia]

FROM dbo.Sotrudniki INNER JOIN dbo.Proverka ON dbo.Sotrudniki.KodSotrudnika = dbo.Proverka.KodSotrudnika

INNER JOIN dbo.PoslujnoiSpisok ON dbo.Sotrudniki.KodSotrudnika = dbo.PoslujnoiSpisok.KodSotrudnika

INNER JOIN dbo.ShtrafnieSankcii ON dbo.Proverka.KodProverki = dbo.ShtrafnieSankcii.KodProverki

INNER JOIN dbo.VidiNarushenii ON dbo.VidiNarushenii.KodShtrafnoiSankcii = dbo.ShtrafnieSankcii.KodShtrafnoiSankcii

GROUP BY dbo.Sotrudniki.Familiya, dbo.Sotrudniki.Podrazdelenie,PoslujnoiSpisok.DataPrinyatiya,PoslujnoiSpisok.DataUvolneniya

order by

sum(dbo.VidiNarushenii.Summa) desc;

END

CREATE PROCEDURE [dbo].[second1]

@i varchar(20)

AS

BEGIN

IF @i =' '

SELECT Predpriyatie.Name, Predpriyatie.FamiliyaRukovoditelya, Predpriyatie.TelefonRukovoditelya,ShtrafnieSankcii.NaimenovanieSankcii, ShtrafnieSankcii.DataOplati

FROM Predpriyatie INNER JOIN Proverka ON Proverka.KodProverki=Predpriyatie.KodProverki

INNER JOIN ShtrafnieSankcii ON Proverka.KodProverki=ShtrafnieSankcii.KodProverki

ELSE

SELECT Predpriyatie.Name, Predpriyatie.FamiliyaRukovoditelya, Predpriyatie.TelefonRukovoditelya,ShtrafnieSankcii.NaimenovanieSankcii, ShtrafnieSankcii.DataOplati

FROM Predpriyatie INNER JOIN Proverka ON Proverka.KodProverki=Predpriyatie.KodProverki

INNER JOIN ShtrafnieSankcii ON Proverka.KodProverki=ShtrafnieSankcii.KodProverki

WHERE dbo.ShtrafnieSankcii.NaimenovanieSankcii = @i

END

CREATE PROCEDURE [dbo].[third]

@i int

AS

BEGIN

IF @i =1

SELECT Predpriyatie.Name, Proverka.Narushenie, ShtrafnieSankcii.NaimenovanieSankcii, Proverka.DataProverki,ShtrafnieSankcii.DataOplati, Proverka.SrokOplatiNarusheniya, Proverka.SrokUstraneniyaNarusheniya

FROM Proverka INNER JOIN Predpriyatie ON Proverka.KodProverki=Predpriyatie.KodPredpriyatiya

INNER JOIN ShtrafnieSankcii ON Proverka.KodProverki=ShtrafnieSankcii.KodProverki

where DataOplati!=''

else

SELECT Predpriyatie.Name, Proverka.Narushenie, ShtrafnieSankcii.NaimenovanieSankcii, Proverka.DataProverki,ShtrafnieSankcii.DataOplati, Proverka.SrokOplatiNarusheniya, Proverka.SrokUstraneniyaNarusheniya

FROM Proverka INNER JOIN Predpriyatie ON Proverka.KodProverki=Predpriyatie.KodPredpriyatiya

INNER JOIN ShtrafnieSankcii ON Proverka.KodProverki=ShtrafnieSankcii.KodProverki

where DataOplati is null

END

CREATE PROCEDURE [dbo].[third1]

AS

BEGIN

SELECT ShtrafnieSankcii.KodShtrafnoiSankcii, ShtrafnieSankcii.NaimenovanieSankcii, VidiNarushenii.SrokIspravleniya, VidiNarushenii.Summa,ShtrafnieSankcii.DataOplati

FROM ShtrafnieSankcii INNER JOIN VidiNarushenii ON VidiNarushenii.KodShtrafnoiSankcii=ShtrafnieSankcii.KodShtrafnoiSankcii

END

Размещено на Allbest.ur


Подобные документы

  • Анализ данных предметной области. Информационно-логическая модель базы данных. Физическое проектирование и мероприятия по защите и обеспечению целостности базы данных. Приложение интерфейса для SQL-сервера базы данных на языке программирования Delphi.

    курсовая работа [2,2 M], добавлен 30.05.2013

  • Информационно-логическая модель предметной области по нотациям Ричарда Баркера. Даталогическая модель реляционной базы данных в виде диаграммы схемы отношений. Приложение интерфейса для базы данных на языке программирования С# в среде Visual Studio.

    курсовая работа [3,6 M], добавлен 23.12.2014

  • Анализ предметной области. Обеспечение качества проектной документации. Построение инфологической (концептуальной) модели предметной области. Проектирование физической структуры базы данных. Разработка интерфейса, организация ввода и поиска данных.

    курсовая работа [2,5 M], добавлен 10.01.2016

  • Проектирование системы управления базой данных "Почтовые отделения" для создания единой информационной системы: создание таблиц для хранения данных, ввод данных, разработка элементов базы, предназначенных для просмотра, редактирования и вывода информации.

    курсовая работа [1,4 M], добавлен 31.03.2010

  • Разработка программного обеспечения по обработке базы данных военного округа, соответствующего требованиям ввода, редактирования, хранения, удаления информации. Этапы создания автоматизированной системы: определение предметной области, написание скрипта.

    курсовая работа [2,6 M], добавлен 30.07.2010

  • Разработка программного продукта - базы данных "Экскурсия" в интегрированной среде программирования C++ Builder 6. Определение порядка просмотра данных базы, их редактирования и удаления. Особенности руководства пользователя и общего интерфейса программы.

    курсовая работа [2,4 M], добавлен 03.11.2013

  • Описание предметной области. Алгоритм разработки приложения для создания, управления и просмотра базы данных библиотечной литературы. Построение схемы классов для графического отображения функций программы и анализа взаимосвязей между различными классами.

    курсовая работа [2,0 M], добавлен 14.12.2012

  • Базы данных - важнейшая составная часть информационных систем. Проектирование базы данных на примере предметной области "Оргтехника". Сбор информации о предметной области. Построение информационно-логической модели данных. Разработка логической структуры.

    курсовая работа [318,6 K], добавлен 24.12.2014

  • Алгоритм работы программы. Анализ предметной области. Структура таблиц БД "Библиотека". Инфологическое и даталогическое проектирование. Запросы для поиска и извлечения только требуемых данных. Формы для просмотра, добавления, изменения данных в таблицах.

    курсовая работа [5,1 M], добавлен 14.06.2014

  • Анализ предметной области. Обзор программ-аналогов. Рассмотрение средств решения поставленной задачи. Проектирование структуры программы и базовых алгоритмов. Изучение руководства программиста и пользователя. Проектирование структуры базы данных.

    курсовая работа [1,0 M], добавлен 14.11.2017

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.