Курсовик. ГордеевКурсовой проект(1)(1). Разработка информационной подсистемы для ведения реестра физических лиц для военкомата
Скачать 0.92 Mb.
|
Связь - ассоциирование двух или более сущностей. Если бы назначением базы данных было только хранение отдельных, не связанных между собой данных, то ее структура могла бы быть очень простой. Однако одно из основных требований к организации базы данных – это обеспечение возможности отыскания одних сущностей по значениям других, для чего необходимо установить между ними определенные связи. А так как в реальных базах данных нередко содержатся сотни или даже тысячи сущностей, то теоретически между ними может быть установлено более миллиона связей. Наличие такого множества связей и определяет сложность инфологических моделей. Связь один – ко – многим (1:1). При использовании отношения "один к одному" запись в таблице "А" (главной таблице) может иметь не более одной связанной записи в таблице "В" (связанной таблице) и наоборот. Этот тип связи используют не очень часто, поскольку такие данные могут быть помещены в одну таблицу. Связь с отношением "один к одному" используют для разделения очень широких таблиц или для отделения части таблицы по соображениям защиты. В таблицах, связанных отношением "один к одному", ключевые поля должны быть уникальными. Связь многие – ко – многим (М:М). При использовании отношения "многие ко многим" одной записи в таблице "А" могут соответствовать несколько записей в таблице "В", а одной записи в таблице "В" несколько записей в таблице "А". В этом случае не требуется уникальности ключевых полей таблиц "А" и "В". Этот вид отношения используется для связывания таблиц, имеющих только внешние ключи. Обязательность подразумевает обязательное или полное участие сущности в данной связи Мощность связи - максимальное число экземпляров одной сущности которая может быть связана с экземпляром другой. Таблица 2.2.3.8 – Связи
Рис. 2.2.3.1 Структура связей сущностей 2.2.4 Проектирование целостности базы данных Рассматривая три операции (вставка, обновление, удаление) для родительской и дочерней сущностей данной связи можно определить следующие стратегии поддержания ссылочной целостности данных: 1. RESTRICT (ОГРАНИЧИТЬ)- не разрешать выполнение операции, приводящей к нарушению ссылочной целостности. Это самая простая стратегия, требующая только проверки, имеются ли экземпляры в дочерней сущности, связанные с некоторым экземпляром в родительской сущности. 2. CASCADE (КАСКАДИРОВАТЬ)- разрешить выполнение требуемой операции, но внести при этом необходимые поправки в других сущностях так, чтобы не допустить нарушения ссылочной целостности и сохранить все имеющиеся связи. Изменение начинается в родительской сущности и каскадно выполняется в дочерней сущности. В реализации этой стратегии имеется одна тонкость, заключающаяся в том, что дочерняя сущность сама может быть родительской для некоторой третьей сущности. При этом может дополнительно потребоваться выполнение какой-либо стратегии и для этой связи и т.д. Если при этом какая-либо из каскадных операций (любого уровня) не может быть выполнена, то необходимо отказаться от первоначальной операции и вернуть базу данных в исходное состояние. Это самая сложная стратегия, но она хороша тем, что при этом не нарушается связь между экземплярами родительской и дочерней сущностей. Таким образом, для данной связи операции удаление ОГРАНИЧИВАЕТСЯ, а обновление КАСКАДИРУЕТСЯ. Связь из сущности Призывник в сущность Медобследование: Удаление ОГРАНИЧИВАЕТСЯ, обновление КАСКАДИРУЕТСЯ Связь из сущности Учебное заведение в сущность Призывник: Удаление ОГРАНИЧИВАЕТСЯ, обновление КАСКАДИРУЕТСЯ Связь из сущности Призывник в сущность Служба: Удаление ОГРАНИЧИВАЕТСЯ, обновление КАСКАДИРУЕТСЯ Связь из сущности Часть в сущность Служба: Удаление ОГРАНИЧИВАЕТСЯ, обновление КАСКАДИРУЕТСЯ Связь из сущности Часть в сущность Сборы: Удаление ОГРАНИЧИВАЕТСЯ, обновление КАСКАДИРУЕТСЯ Связь из сущности Сборы в сущность Запас: Удаление ОГРАНИЧИВАЕТСЯ, обновление КАСКАДИРУЕТСЯ Связь из сущности Служба в сущность Запас: Удаление ОГРАНИЧИВАЕТСЯ, обновление КАСКАДИРУЕТСЯ 2.2.5 Проверка нормализации таблиц Теперь следует проверить, не нарушены ли в данном проекте какие-либо принципы нормализации, то есть что любое неключевое поле каждой таблицы: - функционально зависит от полного первичного ключа, а не от его части (если ключ составной); - не имеет функциональной зависимости от другого неключевого поля. Нормализация – это разбиение таблицы на две или более, обладающих лучшими свойствами при включении, изменении и удалении данных. Окончательная цель нормализации сводится к получению такого проекта базы данных, в котором каждый факт появляется лишь в одном месте, т.е. исключена избыточность информации. Это делается не столько с целью экономии памяти, сколько для исключения возможной противоречивости хранимых данных. Функциональная зависимость. Поле В таблицы функционально зависит от поля А той же таблицы в том и только в том случае, когда в любой заданный момент времени для каждого из различных значений поля А обязательно существует только одно из различных значений поля В. Отметим, что здесь допускается, что поля А и В могут быть составными. Как уже говорилось, нормализация – это разбиение таблицы на несколько, обладающих лучшими свойствами при обновлении, включении и удалении данных. Проверка показала, что: Все таблицы нормализованы, потому что имеет несоставной первичный ключ и не одно из его неключевых полей функционально не зависит от других неключевых полей. 2.2.6 Схема данных базы данных Схема данных физического уровня Рис 2.2.6. Схема физического уровня БД «Военкомат» Схема данных Access Рис 2.2.6.2 Схема данных Access БД «Военкомат» 2.3 Программное обеспечение Программное обеспечение — это совокупность программ, позволяющих осуществить на компьютере автоматизированную обработку информации. Программное обеспечение делится на системное (общее) и прикладное (специальное). Системное программное обеспечение обеспечивает функционирование и обслуживание компьютера, а также автоматизацию процесса создания новых программ. К системному программному обеспечению относятся: операционные системы и их пользовательский интерфейс; инструментальные программные средства; системы технического обслуживания. Операционная система — обязательная часть специального программного обеспечения, обеспечивающая эффективное функционирование персонального компьютера в различных режимах, организующая выполнение программ и взаимодействие пользователя и внешних устройств с ЭВМ. Пользовательский интерфейс (сервисные программы) — это программные надстройки операционной системы (оболочки и среды), предназначенные для упрощения общения пользователя с операционной системой. Программы, обеспечивающие интерфейс, сохраняют форму общения (диалог) пользователя с операционной системой, но изменяют язык общения (обычно язык команд преобразуется в язык меню). Сервисные системы условно можно разделить на интерфейсные системы, оболочки операционных систем и утилиты. Интерфейсные системы — это мощные сервисные системы, чаще всего графического типа, совершенствующие не только пользовательский, но и программный интерфейс операционных систем, в частности, реализующие некоторые дополнительные процедуры разделения дополнительных ресурсов. Оболочки операционных систем предоставляют пользователю качественно новый по сравнению с реализуемым операционной системой интерфейс и делают необязательным знание последнего. Утилиты автоматизируют выполнение отдельных типовых, часто используемых процедур, реализация которых потребовала бы от пользователя разработки специальных программ. Многие утилиты имеют развитый диалоговый интерфейс с пользователем и приближаются по уровню общения к оболочкам. Borland Delphi представляет собой средство разработки приложений для Microsoft Windows. Delphi является мощным и простым в использовании инструментом для создания автономных программ, обладающих графическим интерфейсом (GUI), или 32-битных консольных приложений (программ, которые не имеют графического интерфейса). В сочетании с Borland Kylix, программисты Delphi могут создавать из одного исходного текста приложения и для Windows и для Linux, и это открывает новые возможности и увеличивает потенциальную отдачу от усилий, вложенных в изучение Delphi. В Delphi используется кросс-платформенная библиотека компонентов CLX и визуальные дизайнеры для создания высокопроизводительных приложений для Windows, которые повторной компиляцией можно легко превратить в приложения для Linux. Delphi является первым языком программирования, обладающим простой в использовании средой для быстрой разработки приложений, разрушающей барьеры между языками высокого уровня, и языками, на низком уровне разговаривающими с системой на языке битов и байтов. При создании графического интерфейса приложений Delphi, у вас все возможности языка программирования Object Pascal, "завернутого" в среду RAD. Такие компоненты окна графического пользовательского интерфейса, как формы, кнопки и списки объектов, включены в состав Delphi. Это означает, что вам не нужно писать никакого кода при добавлении их в ваше приложение. Вы просто "кладёте" их на вашу Форму, как в графическом редакторе. Вы можете также добавить на Форму элементы управления ActiveX, для создания в считанные минуты специализированных программ таких, например, как веб-браузеры. Delphi позволяет разработчикам дизайна внедрять в интерфейс новые элементы и кодировать их события одним щелчком мыши. Delphi поставляется в различных конфигурациях, настроенных на потребности различных предприятий. В Delphi вы можете писать программы для Windows быстрее и легче, чем это было возможно раньше. Для разработки приложения из многообразия программных сред (например, C++ и т.д.) была выбрана среда Delphi. Главная причина проста - язык обеспечивает Delphi визуальное проектирование пользовательского интерфейса, имеет развитый объектно-ориентированный язык Object Pascal (позже переименованный в Delphi) и уникальные по своей простоте и мощи средства доступа к базам данных. 2.3.1 Интерфейс базы данных Интерфейс - это общение между человеком и компьютером. На практическом уровне, интерфейс - это набор стандартных приемов взаимодействия с техникой. Ключ для создания эффективного интерфейса заключается в быстром, насколько это возможно, развитии у операторов простой концептуальной модели интерфейса. Это осуществляется через согласованность. Концепция согласованности состоит в том, что при работе с компьютером у пользователя формируется система ожидания одинаковых реакций на одинаковые действия, что постоянно подкрепляет пользовательскую модель интерфейса. Другой составляющей интерфейса является свойство его конкретности и наглядности. Это осуществляется применением плана панели, использованием цветов и другой выразительной техники. Идеи и концепции затем обретают физическое выражение на экране, с которым непосредственно общается пользователь. Приложение состоит из не визуальных и визуальных компонентов работы с БД, компонентов для выдачи отчетов (которые представляют собой разновидность визуальных компонентов), а также модулей данных. Визуальные компоненты служат для представления данных из не визуальных компонентов, т.е. служат целям обеспечения интерфейса пользователя при работе с данными. Основной визуальной единицей приложения в DELPHI является экранная форма, которая представляет собой окно, на которое помещаются другие визуальные объекты (списки, кнопки, строки редактирования и др.). В данной программе есть несколько экранных форм, которые приведены ниже. При запуске программы открывается главная форма, на которой расположены главное меню приложения и навигационные кнопки. С помощью главной кнопочной формы возможно открыть необходимую форму для отображения, редактирования и добавления необходимых записей. Для осуществления всех необходимых операций нужно выполнить авторизацию, путем ввода пароля в соответствующую ячейку области «Авторизация» (по умолчанию:123). При вводе правильного пароля есть возможность его изменить. Для этого необходимо ввести новый пароль и нажать на «сменить пароль».После чего авторизация будет производиться только по новому паролю. При завершении работы каждого пользователя необходимо нажать на «Выход» (в поле Авторизации),чтобы другой пользователь не смог изменить информацию. Рис.3.1 Главная форма программы При нажатии на кнопку «Призывник» открывается одноименная форма на которой расположены все необходимые кнопки для получения всей информации о призывниках. При нажатии на «Отправить на службу» призывник перечислится в ряды армии и исчезнет из списка призывников. Невозможно отправить на службу призывника, который не здоров. Рис.3.2 Форма «Призывник» Фильтрация списка производится путем ввода фамилии призывника, либо начальных букв фамилии (результат поиска показан на рис.3.3).Также есть возможность сортировки всех записей по дате рождения призывника, а так же по ФИО. Для возврата на главную страницу необходимо нажать «Назад», в главном меню окна Рис.3.3 Отфильтрованная форма «Призывник» При нажатии на кнопку «Отправить на службу» призывник переводиться в ряды армии, а с таблицы «призывник», соответственно, удаляется. Перевод возможен только если призывник прошел медкомиссию и является абсолютно здоровым. Для возврата на главную страницу необходимо нажать «Назад», в главном меню окна. При нажатии на кнопку «Распечатать повестку» необходимо ввести дату явки призывника в военкомат. Рис.3.4 Отчет «Повестка» На каждого призывника необходима информация, подтверждающая что он не является в розыске, либо под следствием. Соответствующий запрос можно получить: «Файл – Запрос в милицию» и получим отчет следующего вида: Рис.3.5 Отчет «Запрос в милицию» Отчет формы №7 можно получить нажав «Файл – Отчет ППГВУ 7/УК» Рис.3.6 Отчет «Отчет по ППГВУ 7/УК» Для получения отчета о распределении призывных ресурсов для выполнения задания на призыв необходимо нажать «Файл – План проведения призыва» Рис.3.7 Отчет «План проведения призыва» Так же на форме «Призывник» есть возможность получить отчет о всех призывниках, которым необходимо дополнительное обследование (лечение). Его можно получить нажав на «Файл – Нуждающиеся в лечении» Рис.3.8 Отчет «Нуждающиеся в лечении» На форме «Солдаты» должностное лицо может изменять, добавлять и удалять всю необходимую информацию о солдате. Поиск осуществлен с помощью фильтрации по первым буквам фамилии. При переводе солдата в запас солдат автоматически удаляется из списка солдат. Для возврата на главную страницу необходимо нажать «Назад», в главном меню окна Рис.3.9 Форма «Солдаты» При нажатии на кнопку «Солдаты выбранной части» осуществляется вывод отчета, отображающий всех солдат, которые служили в одной части вместе с выбранным солдатом Рис.3.10 Отчет «Солдаты выбранной части» При нажатии на кнопку «Солдаты выбранного рода войск» осуществляется вывод отчета, отображающий всех солдат, которые служили в выбранном роде войск Рис.3.11 Отчет «Солдаты выбранного рода войск» Форма «Учебные заведения» содержит всю информацию про учебные заведения и места работы призывников. Должностное лицо может удалять, добавлять и редактировать всю необходимую информацию с помощью навигатора Рис.3.12 Форма «Учебные заведения» Для получения отчета «Расчет вызова организаций для сверки после ППГВУ» необходимо нажать на соответствующую кнопку Рис.3.13 Отчет «Расчет вызова организаций для сверки после ППГВУ» В форме «Часть» отображается вся необходимая информация про части, а именно: название части, адрес части, телефон части, вид войск. Пользователь может редактировать всю информацию. Для возврата на главную страницу необходимо нажать «Назад», в главном меню окна Рис.3.14 Форма «Часть» При нажатии на кнопку «Получить список всех частей» мы получаем отчет со всеми возможными данными о военкомате Рис.3.15 Отчет «Части» Перечень всех солдат запаса можно просмотреть на форме «Запас», где есть возможность провести все необходимые операции с информацией (удалить, сохранить, изменить). Поиск осуществляется по фамилии солдата запаса. Рис.3.16 Форма «Запас» При отправке солдата на сборы отображается форма «Сборы», где необходимо двойным кликом мыши выбрать часть, куда будет отправляться солдат запаса. Для возврата на главную страницу необходимо нажать «Назад», в главном меню окна Рис.3.17 Форма «Сборы» При нажатии на кнопку «Не проходившие сборы», мы получим отчет в виде списка всех солдат, которые еще не были на сборах. Рис.3.18 Отчет «Солдаты запаса не прошедшие сборы» Для получения списка солдат, которые проходили сборы в выбранной части необходимо нажать на кнопку «Прошедшие сборы»(название кнопки варьируется в зависимости от выбранного солдата запаса) Рис.3.19 Отчет «Прошедшие сборы» Форма «Медобслуживание» служит для отображения прохождения призывником медкомиссии, где каждый врач отображает состояние здоровья призывника состоянием «Годен/ Не годен». Только если призывник абсолютно здоров он сможет вступить в ряды армии. Рис.3.20 Форма «Медобслуживание» На форме «Справка» отображается информация о создателе программы, а также назначение программы Рис.3.21 Форма «Справка» (Код см. в приложении) |