99304

Информационно-справочная система вычислительного центра на железнодорожном предприятии

Курсовая

Информатика, кибернетика и программирование

Выбор архитектуры информационной системы Архитектуру информационных систем можно классифицировать по нескольким признакам: способу доступа к данным месторасположением компонента представления данных месторасположением прикладного компонента количество звеньев в архитектуре информационной системы. Базой данных в этом случае является некоторый набор файлов хранящихся на сервере. Практически полное отсутствие возможностей обеспечения безопасности данных...

Русский

2016-09-06

1.07 MB

1 чел.

РОССИЙСКИЙ ГОСУДАРСТВЕННЫЙ

ОТКРЫТЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

ПУТЕЙ СООБЩЕНИЯ

(РГОТУПС)

КОНТРОЛЬНАЯ РАБОТА

по дисциплине

ИНФОРМАЦИОННЫЕ СИСТЕМЫ НА Ж. Д. ТРАНСПОРТЕ

Тема: Информационно-справочная система вычислительного центра на ж. д. предприятии

             

            Студент:

Мережин И.С.

Шифр №  02-п/ЭВМ-36976

                                                                      Рецензент: Самме Г.В.                  

 

     

Москва 2007

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

1.1 Выбор архитектуры информационной системы

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

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

  •  архитектура файл-сервер (рис. 1.1);
  •  архитектура клиент-сервер с «толстым» клиентом. Компонент представления и прикладной компонент находятся на стороне клиента      (рис. 1.2);
  •  архитектура клиент-сервер с «тонким» клиентом. Компонент представления находится на стороне клиента, а прикладной компонент находится на стороне сервера (рис. 1.3);
  •  архитектура клиент-сервер с сервером приложений (рис. 1.4);
  •  архитектура Web-приложения (рис. 1.5).

Рассмотрим варианты архитектуры подробнее.

Архитектура с файл-сервером

Рисунок  1.1 – Архитектура файл-сервер

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

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

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

Архитектура клиент-сервер. Компонент представления и прикладной компонент находятся на стороне клиента

Рисунок 1.2 - Архитектура клиент-сервер с «толстым» клиентом

Теперь рассмотрим простейший вариант клиент-серверной архитектуры информационных систем. Теперь для доступа к базам данных используется специальная программа – сервер баз данных. Клиентские компьютеры не получают непосредственного доступа к данным. Они могут лишь обращаться к серверу баз данных с запросами на выполнение определенных действий (выборка данных, вставка, модификация или удаление данных). Сервер обрабатывает запросы и возвращает результаты обработки клиенту. Однако вся логика работы приложения находится на стороне клиента. Подобная архитектура получила название клиент-серверная архитектура с «толстым» клиентом. Следует отметить, что при использовании данной архитектуры сохраняется относительная независимость от типа применяемого сервера баз данных.

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

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

Архитектура клиент-сервер. Прикладной компонент находится на стороне сервера

Рисунок 1.3 - Архитектура клиент-сервер с «тонким» клиентом

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

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

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

Архитектура клиент-сервер с сервером приложений

Рисунок 1.4 - Архитектура клиент-сервер с сервером приложений

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

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

Данная архитектура обладает еще одним значительным преимуществом. По статистике обычно активно работающими являются не более 20% выполненных соединений клиентов с сервером баз данных. Однако каждое выполненное соединение (даже не работающее) обычно требует отдельной лицензии и отнимает некоторое количество ресурсов (оперативная память и потоки операционной системы) сервера баз данных. При использовании 3-х звенной архитектуры с сервером приложений клиенты не подключаются непосредственно к серверу баз данных. К серверу баз данных подключается только сервер приложений в момент обработки запросов пользователей. Поэтому можно иметь лицензий на подключение к серверу баз данных в 5 раз меньше, чем в случае применения 2-х звенной архитектуры, что приводит к значительной экономии денежных (закупка  клиентских лицензий сервера баз данных) и аппаратных (память и время процессора, затрачиваемые на обработку бездействующих соединений) ресурсов.

Архитектура Web-приложения

Рисунок 1.5 – Архитектура web-приложения

Возможен вариант архитектуры с использованием Web-технологии. В этом случае используется Web-сервер (http-сервер), расположенный на сервере приложений. В качестве клиента может использоваться любой компьютер, на котором установлен Web-браузер.

Следует заметить, что расположение прикладного компонента              (бизнес-логика) несколько условно, и в реальности прикладной компонент  может быть распределен между сервером баз данных и сервером приложений.

Преимуществами данной архитектуры являются простая интеграция с сетью Интернет (а также с любой TCP/IP сетью), снижение затрат на клиентские лицензии сервера баз данных, низкая загрузка каналов связи между Web-сервером и клиентом, хорошая масштабируемость системы, снижение затрат на администрирование клиентских рабочих мест. Также при подобной архитектуре легче всего обеспечить информационную безопасность при интеграции информационной системы с сетью Интернет.

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

Выбор технологии для разрабатываемой системы

Учитывая большую разбросанность рабочих мест, наличие на рабочих местах ОС Windows со встроенной программой Internet Explorer, подключение всех рабочих мест к СПД со скоростью от 128 кбит/с до            2 Мбит/с наиболее предпочтительным является выбор архитектуры Web-приложения.

1.2 Выбор СУБД

Рассмотрим самые распространенные на сегодня СУБД:

Microsoft SQL Server 2000

Microsoft SQL Server 2000 - это больше чем реляционная система управления базами данных; это полностью законченная база данных и инструмент анализа, которая соответствует требованиям к масштабируемости и надежности для большинства предприятий. Она применяется в широком диапазоне разного типа решений, включая электронную коммерцию, накопление данных и другие прикладные приложения для бизнеса.

Решение отказаться от поддержки других платформ позволило Microsoft, с одной стороны, предложить пользователю очень удобный, гибкий и, что не менее важно, простой способ настройки и администрирования сервера. А с другой - тесная интеграция СУБД с Windows поставила функционирование сервера, его надежность, безопасность и производительность в прямую зависимость от работы операционной системы. Таким образом, использование сервера от Microsoft на вашем предприятии возможно лишь в том случае, если в качестве серверной ОС используется операционная система Windows.

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

В большинстве тестов (по производительности, по соотношению цена/производительность) у MS SQL Server 2000 наилучшие показатели, и он уверено занимает первые позиции рейтингов. Но тесты - тестами, однако не стоит забывать о том, что реальная производительность сервера зависит от конкретной задачи, от качества "железа", от толковости системного администратора и команды программистов, а также от множества других параметров.

Недостатки - СУБД является платной и устанавливается только на Microsoft Windows Server. Также недостатком является ограниченная масштабирумость, однако в версии Microsoft SQL Server 2005 этот недостаток практически устранен.

Oracle Database 9i

Надежность, безопасность, высокая производительность, удобство в работе. Это те слова, которые характеризуют продукты Oracle на протяжении уже многих лет. Наиболее важным это является для СУБД, ставшим на сегодняшний день едва ли не обязательной частью любой информационной системы. Но не только эти характеристики позволяют продуктам Oracle удерживать лидерство на рынке СУБД. Стремительно развивающиеся информационные технологии требуют от современных СУБД расширения классической функциональности лишь по хранению и обработке данных. Двигаясь в ногу со временем, корпорация Oracle по сути ломает сложившиеся взгляды на СУБД, наделяя ее все новыми и новыми возможностями.

Современная СУБД Oracle это мощнейший программный комплекс, позволяющий создавать приложения любой сложности. Ядром этого комплекса является база данных, хранящая информацию, количество которой за счет предоставляемых средств масштабирования практически безгранично. C высокой эффективностью работать с этой информацией одновременно может практически любое количество пользователей (при наличии достаточных аппаратных ресурсов), не проявляя тенденции к снижению производительности системы при резком увеличении их числа.

Механизмы масштабирования в СУБД Oracle последней версии позволяют безгранично увеличивать мощность и скорость работы сервера Oracle и своих приложений, просто добавляя новые и новые узлы кластера. Это не требует остановки работающих приложений, не требует переписывания старых приложений, разработанных для обычной одно-машинной архитектуры. Кроме того, выход из строя отдельных узлов кластера также не приводит к остановке приложения.

Еще одной составляющей успеха СУБД Oracle является то, что она поставляется практически для всех существующих на сегодня операционных систем. Работая под Sun Solaris, Linux, Windows или на другой операционной системе с продуктами Oracle не будет возникать никаких проблем в работе. СУБД Oracle одинаково хорошо работает на любой платформе. Однако независимость Oracle от конкретной платформы приводит к тому, что внутри СУБД дублируются многие функции операционной системы, такие как web-сервер, средства авторизации пользователя и т. д., что приводит к повышению требования  к оперативной памяти и как следствие несколько снижает производительность.

Oracle Database 9i создан на базе единой надежной архитектуры ядра СУБД. Обеспечивает эффективное, надежное и безопасное управление данными таких критически важных для бизнеса приложений, как онлайновые среды, выполняющие масштабную обработку транзакций (OLTP), хранилища данных с высокой интенсивностью потока запросов, а также ресурсоемкие интернет-приложения. Предоставляет инструментальные средства и функции, обеспечивающие соответствие требованиям современных корпоративных приложений в области доступности и масштабируемости. Недостаток - СУБД является платной.

MySQL

MySQL является относительно небольшой и быстрой реляционной СУБД основанной на традициях Hughes Technologies Mini SQL (mSQL).

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

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

MySQL является идеальным решением для малых и средних приложений. Исходники сервера компилируются на множестве платформ. По сложившейся практике СУБД MySQL является наиболее часто используемым в web-программировании.  

MySQL-сервер является бесплатным для некоммерческого использования. Иначе необходимо приобретение лицензии.

DB2

Система DB2 Universal Database – это система управления реляционными базами данных с полной поддержкой Web, которая обеспечивает организацию информационных хранилищ и поддержкой транзакций. Она может быть установлена как на однопроцессорных компьютерах, так и на кластерах компьютеров, и способна работать с мультимедийными средствами информации, обеспечивая поддержку изображений, аудиороликов, видеоклипов и текстовой информации.

Семейство DB2 выполняется на широко распространенных устройствах: Intel, UNIX, AS/400 и большие ЭВМ. Поддерживаются следующие ОС: OS/2, Windows 95/98/2000/NT/XP и др., Linux, AIX, HP-UX, Sun Solaris, OS/400, OS/390 и z/OS. Базовый код DB2 оптимизируется для каждой платформы, чтобы гарантировать максимальную производительность. Клиентский интерфейс API для SQL одинаков для всех платформ, что позволяет приложениям, написанным на одной платформу, осуществлять доступ к данным на любой другой платформе. Внутренне DB2 для OS/400, и OS/390 (z/OS) отличается от DB2 на платформах UNIX и Intel, но имеется общий интерфейс API для SQL, позволяющий приложениям работать совместно. Базовый код DB2 для платформ Intel и UNIX один и тот же.

Программные продукты DB2 для UNIX, Linux, Windows обеспечивают беспрепятственный доступ к БД, используя наиболее популярные сетевые протоколы связи, включая NetBIOS, TCP/IP, IPX/SPX, Named Pipes.

Выбор СУБД для разрабатываемой системы

Microsoft SQL Server 2000 используется на железнодорожном транспорте при создании малых и средних по объему перерабатываемых данных информационных систем, как правило, масштаба предприятия. Например, АСУТ, система электронной бухгалтерии. Экземпляры Microsoft SQL Server 2000 установлены, как правило, на серверах предприятий и ИВЦ.

Oracle чаще используется для хранения данных крупных информационных систем масштаба дороги или даже всей сети. Примером является  SAP R/3 и Этран. На Московской ж. д. СУБД Oracle функционирует на платформе Sun Solaris.

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

DB2 используется при создании крупных информационных систем, которым предъявляются повышенные требования к надежности хранения данных и высокой готовности. В основном это DB2, работающая на платформе OS/390 или z/OS больших вычислительных машинах производства IBM. Примером информационных систем может служить АСОУП, Экспресс-3, ИОДВ.

Так как проектируемая, в рамках данного дипломного проекта, информационная система требует базы данных относительно небольшого объема, минимальных затрат вычислительных ресурсов и предназначается для эксплуатации на полигоне, обслуживаемом региональным ВЦ, то наиболее предпочтительным является выбор в качестве сервера СУБД Microsoft SQL Server 2000.

1.3 Выбор средств разработки

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

Delphi

В настоящее время безусловным лидером в области средств разработки является пакет Delphi. Пакет разработки Delphi содержит высокопроизводительный компилятор с языка Object Pascal, среду визуальной разработки программ, обширную библиотеку готовых компонентов для решения широкого круга задач, благодаря чему Delphi стал фактическим стандартом в области разработки программного обеспечения. Однако, невзирая на то, что Delphi рассчитан на разработку широкого круга приложений (приложения Win32, консольные приложения, службы, web-приложения и др.) многие компоненты удобны в применении только при написании windows-приложений с графическим интерфейсом пользователя. При написании консольных или web-приложений, когда не используется механизм визуального проектирования, Delphi теряет многие свои преимущества. Поэтому при выборе средств разработки программ для разрабатываемой системы имеет смысл обратить внимание на другие средства.

Perl

Perl предназначен для выполнения задач командных сценариев Unix в тех случаях, когда они слишком трудны, плохо переносимы или сложны для программирования на другом языке, например на Cи. Иногда содержимое Perl-программ выглядит для непосвященных как случайный набор символов, но, естественно, он имеет контрольную сумму, а каждый его символ — свое назначение. Perl распространяется бесплатно.

Программы на языке Perl с расширениями .cgi или .pl должны находиться в специальном каталоге на Web-сервере, обычно называемом CGI-BIN. Размещая в нем свои программы, пользователи могут создавать там собственные папки для обеспечения иерархичности.

Perl-программы очень похожи на написанные на Cи/Cи++, возможно, потому, что сам язык был написан на Cи. Все Perl-программы состоят из операторов, имеющихся в файле и рассматриваемых в совокупности как одна большая программа, подлежащая выполнению. Но понятия «основной» (main) программы, как в языке Си, здесь нет. Комментарием в Perl является все, что следует за «решеткой» (#), вплоть до конца строки. Интерпретатор языка перед выполнением разбирает программу и компилирует в свой внутренний формат. Поэтому после ее запуска невозможно получить сообщение о синтаксической ошибке — это происходит только в процессе отладки программы в командной строке. В результате обеспечивается быстрое выполнение операций языка Perl после запуска.

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

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

PHP

PHP это язык программирования, специально разработанный для написания web-приложений, исполняющихся на Web-сервере.

Аббревиатура PHP означает “Hypertext Preprocessor (Препроцессор Гипертекста)". Синтаксис языка берет начало из C, Java и Perl. PHP достаточно прост для изучения. Преимуществом PHP является предоставление web-разработчикам возможности быстрого создания динамически генерируемых web-страниц.

Важным преимуществом языка PHP перед такими языками, как языков Perl и C заключается в возможности создания HTML документов с внедренными командами PHP.

Значительным отличием PHP от какого-либо кода, выполняющегося на стороне клиента, например, JavaScript, является то, что PHP-скрипты выполняются на стороне сервера. Можно даже сконфигурировать свой сервер таким образом, чтобы HTML-файлы обрабатывались процессором PHP, так что клиенты даже не смогут узнать, получают ли они обычный HTML-файл или результат выполнения скрипта.

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

PHP прост для освоения, и вместе с тем способен удовлетворить запросы профессиональных программистов.

Главным образом, область применения PHP сфокусирована на написание скриптов, работающих на стороне сервера; таким образом, PHP способен выполнять всё то, что выполняет любая другая программа CGI. Например, обрабатывать данных форм, генерировать динамические страницы, отсылать и принимать cookies. Но PHP способен выполнять и множество других задач.

PHP доступен для большинства операционных систем, включая Linux,  Unix, Microsoft Windows, и многих других. Также в PHP включена поддержка большинства современных Web-серверов, таких, как Apache, Microsoft Internet Information Server, Personal Web Server, серверов Netscape и iPlanet, и многих других. Для большинства серверов PHP поставляется в качестве модуля, для других, поддерживающих стандарт CGI, PHP может функционировать в качестве процессора CGI.

Таким образом, выбирая PHP, вы получаете свободу выбора операционной системы и Web-сервера.  

PHP способен не только выдавать HTML. Возможности PHP включают формирование изображений, файлов PDF и даже роликов Flash, создаваемых "на лету". PHP также способен выдавать любые текстовые данные, такие, как XHTML и другие XML-файлы. PHP способен осуществлять автоматическую генерацию таких файлов и сохранять их в файловой системе сервера, вместо того, чтобы отдавать клиенту, организуя, таким образом, кеш динамического содержания, расположенный на стороне сервера.

Одним из значительных преимуществ PHP является поддержка широкого круга баз данных. Создание скрипта, использующего базы данных, - очень просто. В настоящее время PHP поддерживает все основные базы данных: Oracle, MS SQL Server, MySQL, DB2 и т. д.

Из-за того, что интерпретатор PHP работает в виде модуля Web-сервера Apache, при работе большого количества клиентов используется только один «экземпляр» интерпретатора. Это приводит к значительному снижению требований к оперативной памяти и в конечном итоге приводит к достижению максимальной производительности сервера.

Таким образом, при разработке информационной системы, в качестве языка программирования наиболее предпочтительным является использование языка PHP.

 2. Разработка информационно-справочной системы

2.1 Разработка базы данных

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

Для создания базы данных использовалась утилита Enterprise Manager, входящая в состав установки Microsoft SQL Server 2000 (рис. 2.1). Утилита Enterprise Manager является базовой при выполнении самых разнообразных задач: управление системой безопасности, создание баз данных и ее объектов, создание и восстановление резервных копий, управление параметрами работы служб SQL Server 2000, запуска, останова и приостанова служб и т. д. Enterprise Manager служит для облегчения пользователям выполнение наиболее актуальных административных задач, сочетая при этом простоту работы с высокой функциональностью.

Рисунок 2.1 - Enterprise Manager 

Структура основных таблиц

Таблица Org предназначена для хранения данных об организациях. Поля, которые содержит таблица, представлены в таблице 2.1.

Таблица 2.1 - Поля таблицы Org

Поле

Тип данных

Null

Основной ключ

Внешний ключ

Описание

1

OrgID

int

not null

PK

Идентификатор организации

2

Naim

char(50)

not null

Наименование организации

3

Kod

char(50)

not null

Код организации

Таблица Users предназначена для хранения данных о пользователях. Поля, которые содержит таблица, представлены в таблице 2.2.

Таблица 2.2 - Поля таблицы Users

Поле

Тип данных

Null

Основной ключ

Внешний ключ

Описание

1

Name 

char(15) 

Not null 

PK

Имя пользователя

2

OrgID 

int 

 

FK (org)

Идентификатор организации

3

Admin 

int 

not null 

>0 => Администратор

4

Rab 

int 

not null 

=1 - Можно работать;

=0 Запрещено работать

5

Fam

char(30)

not null

Фамилия

6

Im 

char(30

not null 

Имя

7

Otch 

char(30)

not null 

Отчество

8

Tel 

char(15

not null 

Телефон

9

Doljn 

char(20

not null 

Должность

Таблица Reg предназначена для регистрации заполненных отчетов. Поля, которые содержит таблица, представлены в таблице 2.3.

Таблица 2.3 - Поля таблицы Reg

Поле

Тип данных

Null

Основной ключ

Внешний ключ

Описание

1

OtchID 

int 

not null 

PK

FK (otchet)

Идентификатор отчета

2

Month 

int 

not null 

PK

Месяц/Квартал

3

Year 

int 

not null 

PK

Год

4

OrgID 

int 

not null 

PK

FK (org)

Идентификатор организации

5

ID 

int 

not null 

Идентификатор заполненного отчета

6

D_sozd 

datetime 

Дата создания

7

U_sozd 

char(15) 

Пользователь, создавший отчет

8

D_edit 

datetime 

Дата последнего изменения

9

U_edit

char(15)

Пользователь, последним менявший отчет

Таблица Otchet предназначена для хранения данных об отчетах. Поля, которые содержит таблица, представлены в таблице 2.4.

Таблица 2.4 - Поля таблицы Otchet

Поле

Тип данных

Null

Основной ключ

Внешний ключ

Описание

1

OtchID 

int 

not null 

PK

Идентификатор отчета

2

Naim 

char(100)

not null 

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

3

Kod 

char(6

not null 

Код формы

4

Forma 

char(6

not null 

Код формы (служебный) IS_1A

5

Tip 

int 

not null 

1-месячный, 2-квартальный,3-годовой

Таблица F_IS_1A предназначена для хранения данных отчета о наличии, внедрении и высвобождении средств ВТ. Поля, которые содержит таблица, представлены в таблице 2.5.

Таблица 2.5 - Поля таблицы F_IS_1A

Поле

Тип данных

Null

Основной ключ

Внешний ключ

Описание

1

ID 

int 

not null 

PK  

Идентификатор отчета

2

A1 

int

3

A2 

int

4

A3

int

5

A4

int 

Таблица F_IS_1B предназначена для хранения данных отчета о наличии ПЭВМ, маршрутизаторов и модемов. Поля, которые содержит таблица, представлены в таблице 2.6.

Таблица 2.6 - Поля таблицы F_IS_1B

Поле

Тип данных

Null

Основной ключ

Внешний ключ

Описание

1

ID 

int 

not null 

PK  

Идентификатор отчета

2

A1 

int

3

A2 

int

4

A3

int

5

A4

int 

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

Таблица 2.7 - Поля таблицы F_IS_3A

Поле

Тип данных

Null

Основной ключ

Внешний ключ

Описание

1

ID 

int 

not null 

PK  

Идентификатор отчета

2

A1 

int

3

A2 

int

4

A3

int

5

A4

int 

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

Таблица 2.8 - Поля таблицы F_IS_4

Поле

Тип данных

Null

Основной ключ

Внешний ключ

Описание

1

ID 

int 

not null 

PK  

Идентификатор отчета

2

A1 

Int

3

A2 

Int

4

A3

Int

5

A4

int 

Генерация таблиц, имена которых начинаются с «F_IS_» выполняется автоматически при добавлении отчета в систему. Таблицы F_IS_1A, F_IS_1B, F_IS_3A, F_IS_4 приведены для примера и в них перечислены не все поля таблиц базы данных.

 

Хранимые процедуры (Stored Procedures)

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

Для системы «Статистическая отчетность» разработаны следующие хранимые процедуры:

Otch3 – Возвращает список пользователей системы. Если пользователь, запросивший список, имеет права администратора системы, то возвращается список всех пользователей. В противном случае, возвращается список пользователей только «своей» организации.

CREATE PROCEDURE Otch3 @user char(15) = ''

AS

 BEGIN

   DECLARE @admin int, @OrgID int

   SET @admin = 0

   SET @OrgID = 0

   SELECT @admin = admin, @OrgID = OrgID FROM Users WHERE Name = @user

   SELECT u.Name,

          rtrim(u.fam) + ' ' + rtrim(u.im) + ' ' + rtrim(u.otch) AS 'Fio',

          u.Tel, u.Doljn, o.Naim, o.Kod, u.Rab

     FROM Users AS u

          LEFT OUTER JOIN Org AS o ON u.OrgID = o.OrgID

     WHERE u.OrgID = @OrgID or @admin > 0

   ORDER BY Naim, Fio

 END

Otch4 – Возвращает список заполненных и незаполненных отчетов (с указанием даты создания и редактирования). Если пользователь, запросивший список имеет права администратора системы, то возвращается полный список отчетов за указанный месяц по всем предприятиям. В противном случае, возвращается список отчетов, заполняемых только «своей» организацией для запросившего пользователя.

CREATE PROCEDURE Otch4 @mes int = 2, @god int = 2000, @user char(15) = ''

AS

 BEGIN

   DECLARE @admin int, @OrgID int

   SET @admin = 0

   SET @OrgID = 0

   SELECT @admin = admin, @OrgID = OrgID FROM Users WHERE Name = @user

   SELECT o.OrgNaim AS 'Pred', o.OtchNaim AS 'Otchet',

          CASE WHEN r.d_sozd is null THEN 0 ELSE 1 END AS 'Zap',

          CASE WHEN r.d_sozd is null THEN space(8) ELSE     dbo.dt2date(r.d_sozd) END AS 'D_sozd',

          CASE WHEN r.U_sozd is null THEN space(15) ELSE rtrim(u1.fam) + ' ' + rtrim(u1.im) + ' ' + rtrim(u1.otch) END AS 'U_sozd',

          CASE WHEN r.d_edit is null THEN space(8) ELSE dbo.dt2date(r.d_edit) END AS 'D_edit',

          CASE WHEN r.U_edit is null THEN space(15) ELSE rtrim(u2.fam) + ' ' + rtrim(u2.im) + ' ' + rtrim(u2.otch) END AS 'U_edit'

     FROM V_OrgOtch AS o

          LEFT OUTER JOIN Reg AS r ON o.OtchID = r.OtchID

                                    and o.OrgID = r.OrgID

                                   and r.[Month] = @mes and r.[Year] = @god

          LEFT OUTER JOIN Users AS u1 ON u1.name = r.u_sozd

          LEFT OUTER JOIN Users AS u2 ON u2.name = r.u_edit

     WHERE o.OrgID = @OrgID or @admin > 0

     ORDER BY Pred, Otchet

 END

Триггеры (triggers)

Триггеры представляют собой хранимые процедуры специального типа, состоящие из набора операторов языка T-SQL. Каждый триггер связан с конкретной таблицей и запускается сервером автоматически каждый раз, когда пользователи пытаются произвести вставку, изменение или удаление данных[2].

Представления (Views)

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

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

Для системы «Статистическая отчетность» разработаны следующие представления:

V_OrgOtch – Возвращает декартово множество всех организаций и всех отчетов. Используется в процедуре Otch4.

CREATE VIEW V_OrgOtch

AS

 SELECT Org.OrgID, Org.Naim AS 'OrgNaim', Otchet.OtchID, Otchet.Naim AS 'OtchNaim'

   FROM Org, Otchet

Пользовательские функции (User Defined Functions)

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

Dt2date – Функция извлекает значение даты из параметра типа datetime и преобразует его в строку вида «дд. мм. гг»

CREATE FUNCTION dt2date (@dt datetime = null)

RETURNS char(8)

AS

BEGIN

 DECLARE @c char(8)

 DECLARE @m varchar(2), @d varchar(2), @y varchar(2)

 IF @dt = null

   SET @c = space(8)

 ELSE

   BEGIN

     SET @d = CAST(datepart(dd, @dt) AS varchar(2))

     IF len(@d) < 2 SET @d = '0' + @d

     SET @m = CAST(datepart(mm, @dt) AS varchar(2))

     IF len(@m) < 2 SET @m = '0' + @m

     SET @y = right(CAST(datepart(yy, @dt) AS varchar(4)), 2)

     SET @c = @d + '.' + @m + '.' + @y

   END

 RETURN @c

END

Dt2Time – Функция извлекает время из параметра типа datetime и преобразует его в строку вида «чч:мм»

CREATE FUNCTION dt2Time (@dt datetime = null)

RETURNS char(5)

AS

BEGIN

 DECLARE @c char(8)

 DECLARE @h varchar(2), @m varchar(2)

 IF @dt = null

   SET @c = space(5)

 ELSE

   BEGIN

     SET @h = CAST(datepart(hh, @dt) AS varchar(2))

     IF len(@h) < 2 SET @h = '0' + @h

     SET @m = CAST(datepart(mi, @dt) AS varchar(2))

     IF len(@m) < 2 SET @m = '0' + @m

     SET @c = @h + ':' + @m

   END

 RETURN @c

END

 

Для отладки SQL – запросов в Microsoft SQL Server 2000 используется утилита Query Analyzer (рис. 2.2).  Query Analyzer применяется для исполнения операторов или сценариев T-SQL из графического пользовательского интерфейса и для получения результатов в форматированном виде. Query Analyzer обладает также некоторыми средствами для анализа индексов запросов.

Рисунок 2.2 - Query Analyzer

Заключение 

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

Проводился анализ архитектур современных информационных систем.

Получен ценный опыт в разработке и администрировании баз данных на платформе Microsoft SQL Server 2000.

В процессе дипломного проектирования удалось освоить web-дизайн и web-программирование на языке PHP.

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

Список используемой литературы

  1.  Закер К. Компьютерные сети. Модернизация и поиск неисправностей – СПб.: БХВ–Петербург. 2002. – 1008 с.
  2.  Таненбаум Э. Компьютерные сети. - СПб: Питер, 2003. – 992 с.
  3.  Е. Мамаев Microsoft SQL Server 2000  – СПб.: БХВ-Петербург, 2001. – 1280 с.
  4.  Уильям Р. Станек. Microsoft Windows 2000 Server. Справочник администратора. – М.: Русская редакция, 2002. – 570 с.
  5.  Распределенные системы. Книга 1. Ресурсы Microsoft Windows 2000 Server. – Русская редакция, 2001. – 864 с.
  6.  Ребекка М.Риордан. Программирование в Microsoft SQL Server 2000. М.: ЭКОМ, 2002. – 608 с.


 

А также другие работы, которые могут Вас заинтересовать

14172. Аудит и анализ бухгалтерской отчетности 620 KB
  Содержание Введение Становление рыночных отношений в России когда хозяйствующим субъектам предоставлена полная юридическая экономическая и предпринимательская самостоятельность требует адекватного развития рыночных механизмо
14173. Валеология. Некоторые аспекты истории и перспективы развития 437.5 KB
  Биологии развития – от эмбрионального развития до рождения и смерти. Генетика – законы и механизмы наследственности и изменчивости. Ксенобиология – изучение разумной жизни в космосе.
14174. Государственная поддержка малого бизнеса в Алтайском крае 2010 г 290.5 KB
  СОДЕРЖАНИЕ ВВЕДЕНИЕ Глава 1. Теоретические аспекты государственного регулирования развития малого предпринимательства 1.1 Малое предпринимательство: сущность и содержание 1.2 Основные проблемы и факторы сдерживающие развитие малого предпринимательства в Росси
14175. Дознание как форма предварительного расследования в уголовном процессе 202.88 KB
  Оглавление Введение 1. Обзор и анализ нормативноправовых актов и литературы по становлению и развитию дознания в уголовном процессе России 1.1 Историкоправовые аспекты становления и развития института дознания 1.2 Становлени
14176. Законодательная власть в зеркале СМИ (на примере ведущих российских изданий) 515.5 KB
  Цель нашей дипломной работы – проанализировать, насколько полно и объективно ведущие российские издания освещают как саму деятельность органов законодательной власти, так и новые законы, законопроекты
14177. Маркетинг предприятий розничной торговли ТОО «Капан» ВКО г. Аягоза 273.5 KB
  Дипломная работа на тему: Маркетинг предприятий розничной торговли ТОО Капан ВКО г. Аягоза Студент: Капанов Б. К. Научный руководитель: Темиргалиева Ф. Э. Содержание Введение Глава 1. Маркетинговый анализ лекарственных препаратов на фармацевтическ...
14178. Анализ методики и организации учета и анализа товарооборота в розничной торговле на примере ООО Торгового дома «Агат» 578.5 KB
  Целью данной дипломной работы является изучение существующей методики и организации учета и анализа товарооборота в розничной торговле на примере ООО Торгового дома «Агат».
14179. Обзор рынка страхования в Российской Федерации на современном этапе, агрострахование 674.5 KB
  Содержание Введение 1. ТЕОРЕТИЧЕСКИЕ ОСНОВЫ СТРАХОВАНИЯ 1.1 Сущность и функции страхования 1.2 Обзор рынка страхования в Российской Федерации на современном этапе 1.3 Правовое регулирование в сфере страхования 2. Организационноэкономическая характеристика хозя...
14180. ОБЩИЕ ТРЕБОВАНИЯ К РЕКЛАМЕ 114.96 KB
  ОБЩИЕ ТРЕБОВАНИЯ К РЕКЛАМЕ ОГЛАВЛЕНИЕ Ведение Глава 1. Основные требования к рекламе. Ненадлежащая реклама 1.1. Понятие рекламы как объекта информационных правоотношений 1.2. Перечень общих требований к рекламе 1.3. Недобросовестная и недостоверная реклама 1.4. О...