ДИПЛОМ (1206322), страница 4
Текст из файла (страница 4)
Сведение таблицы к третьей нормальной форме предполагает22разделение таблицы с целью помещения в отдельную таблицу (или несколькотаблиц) столбцов, которые не зависят от полного ключа.Чтобы привести таблицы к третьей нормальной форме, надо:создать или выделить первичные ключи. Каждая таблица должнаиметь первичный ключ. В нашем случае, первичные ключи следующие: ID_r,NumbSiz, ID_proff;создать необходимые внешние ключи, которые образуют любое изотношений.
В нашем примере нужно добавить ID_proff в таблицу данные о работниках, ID_siz в таблицу данных о наличии СИЗ на складе и выделить в отдельную таблицу должности (таблица 2.6).Таблица 2.6 – Данные о профессиях№12ПолеID_proffProffТипЧисловойТекстовыйРазмер–50ПримечаниеКод профессииПрофессияОтредактируем таблицы 2.3 и 2.5 в соответствии с нормализацией по 3форме, и получим таблицы 2.7 и 2.8.Таблица 2.7 – Данные о работниках№1234567891011ПолеID_rFIONFIOID_proffPolHeightSCloseSShoesSHeadSPrSHandТипЧисловойТекстовыйЧисловойЧисловойТекстовыйЧисловойЧисловойЧисловойЧисловойЧисловойЧисловойРазмер–60––10––––––ПримечаниеКод работникаФИО работникаТабельный № работникаКод профессииПолРостРазмер одеждыРазмер обувиРазмер головного убораРазмер противогазаРазмер рукавицТаблица 2.8 – Данные о наличии СИЗ на складе№12345ПолеID_sizNumbDatePSPIDateVТипЧисловойЧисловойДатаЧисловойДатаРазмер–––––23ПримечаниеКод СИЗКоличество на складеДата поступленияСрок использованияДата выбытияТакже в базу данных необходимо добавить следующие таблицы:таблица, хранящая сведения о сводных заявках, оставленных работ-никами дистанции.
Данная таблица должна содержать поля: NumbSiz (номерзаявки), Author (автор заявки), ID_siz (код СИЗ), Kolvo( количество СИЗ),SummP ( стоимость СИЗ);таблица, хранящая сведения по рекомендациям СИЗ для разныхпрофессий. Данная таблица должна содержать поля: ID_proff (код профессии),ID_siz (код СИЗ).Отразим структуру базы данных после нормализации данных на рисунке 2.6.Рисунок 2.6 – Структура базы данных «SIZ»2.3 Интерфейс веб-приложенияВеб-интерфейс – это совокупность средств, при помощи которых пользователь взаимодействует с веб-приложением через браузер.
Веб-интерфейсимеет большое влияние на восприятие пользователем всего веб-приложения.Упрощенная схема системного интерфейса веб-приложения представлена нарисунке 2.7.24ПросмотрЛичная карточкаРедактированиеДобавление/удалениеОставить заявкуАвторизацияГлавная страницаСводная заявкаОдобритьПросмотр остатковСкладДобавление СИЗСписание СИЗРисунок 2.7 – Системный интерфейсИсходя из определенных ролей пользователей, определимся с наборомвеб-страниц и действий, выполняемых на них.
Для пользователя с разнымиправами доступа планируется создание следующих страниц:главная страница indexKL.aspxвеб-страница с информацией о работниках LKK.aspx, с функциямипросмотра личных карточек, добавление новых работников, выгрузкой отчетовв MS Excel;веб-страница с информацией об остатках СИЗ на складе SKK.aspx, сфункциями просмотра остатков, списания, добавления СИЗ, выгрузкой отчетовв MS Excel;веб-страница с информацией о выдаче СИЗ работникам VudK.aspx,с функциями просмотра рекомендуемых СИЗ, выгрузкой требования на выдачув MS Excel;веб-страница ZayK.aspx, с функциями составления, просмотра иодобрения заявки-спецификации, а также выгрузкой её в MS Excel.253 Разработка веб-приложенияКаждое веб-приложение, разрабатываемое на основе ASP.NET состоитиз информационной части, программного кода и сведений о конфигурации.Информационная часть содержит статические и динамические элементыстраницы и реализуется в виде веб-форм.
Статические элементы представляютсобой типичные элементы языка HTML, динамические же компонуются программным кодом приложения во время его выполнения (например, запросы кбазе данных).Программный код реализует логику, определенную в процедурах обработки данных, которые определяют реакцию приложения на запросы пользователя. Программный код исполняется сервером и взаимодействует с динамическими элементами информационной части для формирования отклика приложения.Сведения о конфигурации представляют собой файлы, содержащие параметры, определяющие способ исполнения приложения на сервере, параметрыбезопасности, реакцию приложения на возникающие ошибки.Основным элементом веб-приложения является веб-форма (или вебстраница), которая, с одной стороны, похожа на Windows-форму, т.
к. позволяетразмещать внутри себя различные элементы управления, способные отображатьданные и реагировать на действия пользователя, а с другой – представляет собой HTML-страницу, т. к. содержит все ее атрибуты. Описания элементовуправления, упомянутых ранее, представляются в коде HTML-страницы в видеспециальных тегов.Для удобства структура веб-приложения, которая отображена на рисунке 3.1, была разделена на различные папки для пользователей. Для пользователя «Кладовщик» открывается папка KL и блокируется вход на другие страницывеб-приложения, для пользователя «Начальник цеха» – папка NC, для пользователя «Начальник технического отдела» – NTO.26Рисунок 3.1 – Обозреватель решений проектаОдной из особенностей работы с Visual Studio является использованиемножества шаблонных страниц.
Мастер-страницы – это средство ASP.NET,разработанное специально для стандартизации компоновки веб-страниц. Мастер-страницы представляют собой шаблоны веб-страниц, которые могут определять фиксированное содержимое и объявлять часть веб-страницы, куда можно помещать нестандартное содержимое. При использовании одной и той жемастер-страницы во всем веб-сайте компоновка гарантированно будет одинаковой. Более того, если изменить определение мастер-страницы после ее применения, то все использующие ее веб-страницы автоматически воспримут это изменение [6].В разрабатываемом веб-приложении создали 4 мастер-страницы:Site1.Master, KL.Master, NC.Master, NTO.Master. Для определения своих шаблонных страниц для каждого пользователя. Пример HTML-кода мастерстраницы для пользователя «Кладовщик» представлен на листинге 1.
Из нижепредставленного кода видно, что содержание страницы разделено на две частиHeadContent и MainContent. Такое разделение помогает не дублировать HTMLкод на каждой странице, а заполнять только нужные части.<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"><head id="Head1" runat="server"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/><title></title><link href="~/Site1.css" rel="stylesheet" type="text/css" /><asp:ContentPlaceHolder ID="HeadContent" runat="server">27</asp:ContentPlaceHolder></head><body><form id="Form2" runat="server"><div class="page"><div class="header"><div class="title"><h1>Система учета СИЗ</h1><h3>Пользователь: кладовщик</h3></div></div><div class="main"><asp:ContentPlaceHolder ID="MainContent" runat="server"/></div><div class="clear"></div><div class="footer"></div></div></form></body></html>Листинг 1 – Веб-страницаПерейдем к рассмотрению страниц, которые открываются для пользователей после авторизации (рисунок 3.2).
Для реализации переходов по страницам, в веб-приложении используется класс Button и его свойство PostBackUrl. Сих помощью на веб-странице отображается элемент управления "Кнопка" навеб-странице, и при нажатии на него, генерируется URL-адрес, который открывается у пользователя в браузере.Рисунок 3.2 – Начальные страницы для пользователей28HTML-код веб-страницы indexNTO.aspx представлен в листинге 2.<%@ Page Title="" Language="C#" MasterPageFile="~/NTO/NTO.Master" AutoEventWireup="true"CodeBehind="IndexNTO.aspx.cs" Inherits="WebApplication3.IndexNTO" %><asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent"></asp:Content><asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent"><table><tr ><td><p class="Butt"/><asp:Button ID="Button1" CssClass="Butt" runat="server"Text="Личная карточка" PostBackUrl="~/NTO/LKNT.aspx" /><br /></td></tr><tr ><td><p class="Butt"/><asp:Button ID="Button3" CssClass="Butt" runat="server"Text="Заявка-спецификация" PostBackUrl="~/NTO/ZSNTO.aspx" /><br /></td></tr ><tr><td><p class="Butt"/><asp:Button ID="Button4" CssClass="Butt" runat="server"Text="Склад" PostBackUrl="~/NTO/SKNT.aspx" /><br /></td></tr></table></asp:Content>Листинг 2 – Главная веб-страница3.1 Просмотр данныхПервое, что необходимо сделать при работе с базой данных – это создание подключения к ней.
При этом необходимо указать, где она находится, накакой машине в сети, авторизоваться, указать конкретную базу данных в СУБД.При этом в зависимости от СУБД, меняются требования к определению этихпараметров [7].Для работы с данными необходимо использовать следующие пространства имен:using System.Data;using System.Data.SqlClient;За подключение к базе данных в ADO.NET отвечает объект Connection.Новый объект Connection создается стандартно:SqlConnection sqlConn= new SqlConnection();sqlConn.Open();sqlConn.Close();29Для того, чтобы приложение .NET могло осуществлять взаимодействиес источником данных, необходимо установить соединение с ним. Наиболее типичным сценарием работы Web-приложения является следующий:1)устанавливается соединение, открывается подключение к базе дан-ных, используя SQLConnection и SQLDataSetCommand;2)выполняется один или несколько запросов, осуществляющих вне-сение изменений в наборы данных источника данных, а также выборку данныхиз БД;3)осуществляется отключение от источника данных.
При этом поль-зователь работает с отсоединенным набором данных, просматривая его, выполняя фильтрацию, внося изменения и т.д.;4)при необходимости переноса изменений из отсоединенного набораданных в БД, а также при необходимости просмотра изменений, внесенных вБД другими пользователями, осуществляется подключение к источнику данных, выполняются необходимые действия, после чего производится отключение от БД [7].3.1.1 Просмотр личных карточек работников ЭЧ-9Рассмотрим более подробно веб-страницу «Личные карточки работников ЭЧ-9» LKK.aspx, представленную на рисунке 3.3.Рисунок 3.3 – Веб-страница «Личные карточки работников»30Данная веб-страница состоит из следующих элементов управления:asp:textbox#fio, asp:button#Vugr, asp:button#Button5. При нажатии на кнопку button#Button5, происходит событие Button_Click, при котором в зависимости оттого, ввёл ли пользователь в поле textbox фамилию работника или нет, на вебстраницу выводятся либо данные об одном работнике, либо данные обо всехработниках ЭЧ-9.