Разработка клиент-серверного приложения управления персоналом предприятия

Изучение истории достижений корпорации Oracle. Разработка клиент-серверного приложения на языке Delphi XE, реализующего возможность управления персоналом на предприятии. Основные структуры данных. Создание инструкции работы с приложением "Отдел кадров".

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 08.06.2013
Размер файла 974,7 K

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

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

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

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

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ

Учреждение образования «Гомельский государственный университет имени Франциска Скорины»

Математический факультет

Кафедра вычислительной математики и программирования

Дипломная работа

Разработка клиент-серверного приложения управления персоналом предприятия

Исполнитель Д.Г. Герман

Научный руководитель Л.А. Цурганова

Рецензент Е.И. Сукач

Гомель 2013

Содержание

Введение

1. СУБД Oracle

1.1 Как развивалось Oracle

1.2 Архитектура Oracle

1.3 Основные структуры данных

1.4 Язык Oracle PL/SQL

1.4.1 Типы данных и константы

1.4.2 Управляющие операторы

1.4.3 Циклы в PL/SQL

1.4.4 Обработка исключений

2. Delphi XE

2.1 Создание простого проекта

3. Разработка клиент-серверного приложения

3.1 Постановка задачи

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

3.3 Разработка клиент-серверного приложения

3.4 Инструкция работы с приложением «Отдел кадров»

Заключение

Список использованных источников

Приложения

Введение

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

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

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

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

1. СУБД Oracle

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

В состав программного обеспечения, предлагаемого корпорацией Oracle, входит сервер приложений Application Server и ПО промежуточного слоя Fusion Middleware, средства бизнес-анализа и бизнес- приложения (E-Business Suite, PeopleSoft, JD Edwards, Siebel, Hyperion и Project Fusion).

1.1 Как развивалось Oracle

В 1983 году компания Relational Software Incorporated была переименована в Oracle Corporation, чтобы ее не путали с компанией Relational Technologies Incorporated. Тогда-то разработчики приняли критически важное решение написать на языке С переносимую версию Oracle (версию 3), которая могла бы работать не только в системе Digital VAX/VMS, но также в UNIX и на других платформах. К 1985 году было заявлено, что Oracle может работать более чем на 30 платформах. Некоторые из них сейчас воспринимаются как исторический курьез, однако другие все еще функционируют. (Помимо VMS, в число операционных систем, поддерживаемых ранними версиями Oracle, входили IBM MVS, HP/UX, IBM AIX и Solaris - вариант UNIX, созданный компанией Sun.) Корпорация Oracle сумела обратить в свою пользу и даже ускорить рост числа мини-компьютеров и UNIX-серверов, наблюдавшийся в 1980-е. Сегодня Oracle перенесена и на такие операционные системы, как Microsoft Windows и Linux. Помимо поддержки многочисленных платформ не потеряли актуальности и другие решения, принятые Oracle в 1980-е, в том числе дополнительные инструменты разработки программного обеспечения и поддержки принятия решений (бизнес-анализ), поддержка стандарта ANSI SQL на всех платформах и возможность работы в стандартных сетях. Начиная с середины 1980-х изменялась и модель развертывания: от выделенных серверов базы данных к архитектуре клиент/сервер и далее к интернет-вычислениям, когда клиенты на базе браузеров обращаются к приложениям базы данных.

По мере изменения моделей вычислений и развертывания корпорация Oracle включала в свою СУБД многие инновационные технические решения (от первой распределенной базы данных до поддержки виртуальной Java-машины в ядре базы данных и реализации grid-вычислений). Oracle предлагает поддержку новых стандартов, например языка XML, имеющего огромное значение для развертывания сервис-ориентированных архитектур (SOA). В таблице 1.1 приведен краткий перечень основных достижений Oracle по годам.

Таблица 1.1 - История достижений Oracle

Год

Функция

1977

Ларри Эллисон, Боб Майнер и Эд Оутс основали компанию Software Development Laboratories

1979

Oracle version 2: первая коммерческая реляционная СУБД, в которой применялся язык SQL

1983

Oracle version 3: единый набор исходных текстов Oracle для разных платформ

1984

Oracle version 4: переносимый набор инструментов, согласованность по чтению

1986

Oracle version 5: клиент-серверная реляционная СУБД

1987

Инструменты CASE и 4GL

1988

Oracle Financial Applications на основе реляционной СУБД

1989

Oracle6: блокировка на уровне строк и резервное копирование без остановки работы

1991

Oracle Parallel Server на массивно-параллельных платформах Oracle7: оптимизатор по стоимости

1993

Oracle version 7.1: распараллеливание операций, включая запросы, загрузку и создание индексов

1994

Универсальная база данных с механизмом расширения SQL за счет картриджей, тонким клиентом и сервером приложений

1996

Oracle8: объектно-реляционные расширения и поддержка сверхбольших баз данных (Very Large Database, VLDB)

1997

Oracle8i: виртуальная Java-машина (JVM) в ядре СУБД

1999

Oracle9J Application Server: инструменты Oracle, интегрированные в ПО промежуточного слоя

2001

Oracle9J Database Server: кластеры Real Application Cluster, OLAP и добыча данных, реализованные в СУБД

2003

Oracle Database 10g и Oracle Application Server 10g: grid-вычисления в Oracle Database 10g автоматизированы ключевые задачи управления

Год

Функция

2005

Oracle приобретает компанию PeopleSoft и объявляет о намерении приобрести компанию Siebel, тем самым расширяя линейку ERP- и CRM- приложений и свои предложения в области систем бизнес-анализа.

2007

Oracle Database 11g расширение средств автоматической настройки и сквозного управления изменениями с приобретением компании Hyperion в состав предлагаемых продуктов включена не зависящая от базы данных подсистема OLAP и приложения Financial Performance Management

1.2 Архитектура Oracle

Многие пользователи Oracle употребляют термины экземпляр и база данных как синонимы. На самом деле это разные (хотя и взаимосвязанные) вещи. Различие существенно, так как проливает свет на архитектуру Oracle.

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

База данных - физическая сущность: она состоит из файлов, хранящихся на дисках. Экземпляр - сущность логическая: он состоит из структур в оперативной памяти и процессов, работающих на сервере. Например, Oracle использует область разделяемой памяти System Global Area (SGA, системная глобальная область) и области памяти в каждом процессе - Program Global Area (PGA, программная глобальная область). Экземпляр может быть частью одной и только одной базы данных. Напротив, с одной базой данных может быть ассоциировано несколько экземпляров. Время жизни экземпляров ограничено, тогда как база данных при должном обслуживании может существовать вечно.

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

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

Любые данные, хранящиеся в базе Oracle, должны находиться в каком- то табличном пространстве. Табличное пространство (tablespace) - это логическая структура; нельзя попросить операционную систему показать вам табличное пространство. Каждое табличное пространство состоит из физических структур, называемых файлами данных (data- files). В одном табличном пространстве может быть один или несколько файлов данных, тогда как каждый файл данных принадлежит ровно одному табличному пространству. При создании таблицы можно указать, в какое табличное пространство ее поместить. Тогда Oracle найдет для нее место в одном из файлов данных, составляющих указанное табличное пространство.

Начиная с версии Oracle Database l0g Release 2 для всех типов таблиц по умолчанию подразумеваются локально управляемые табличные пространства. В таком табличном пространстве можно создавать большие файлы, то есть при работе в 64-разрядных системах задействуется возможность создавать сверхбольшие файлы.

В Oracle9i появился механизм файлов, управляемых Oracle (Oracle Managed Files, OMF), позволяющий автоматически создавать, именовать и, если понадобится, удалять все файлы, составляющие базу данных. OMF упрощает обслуживание базы данных, поскольку не нужно помнить имена всех составляющих ее файлов. К тому же не возникают проблемы из-за ошибок человека, ответственного за именование файлов. Начиная с версии Oracle Database 10g сочетание OMF и табличных пространств с большими файлами делает работу с файлами данных совершенно прозрачной.

Максимальное количество файлов данных в базе Oracle - 64 000. Поскольку табличное пространство с большими файлами может содержать файл, который в 1024 раза больше файла в табличном пространстве с малыми файлами, а размер блока в табличном пространстве с большими файлами для 64-разрядных операционных систем составляет 32 Кбайт, общий размер базы данных Oracle может достигать 8 экзабайт (1 экзабайт = 1 000 000 терабайт). Табличные пространства с большими файлами предназначены для использования совместно с подсистемой автоматического управления хранением Automatic Storage Management (ASM), иными менеджерами логических томов, поддерживающими расслоение, и RAID-массивами.

База данных Oracle состоит из физических файлов трех основных типов:

1. управляющие файлы (control files);

2. файлы данных (datafiles);

3. журнальные файлы, или журналы (redo log files).

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

· имя базы данных;

· время создания базы данных;

· имена и местонахождение файлов данных и журнальных файлов;

· информация о табличных пространствах;

· информация о файлах данных в автономном режиме;

· история журналов и информация о порядковом номере текущего журнала;

· информация об архивных журналах;

· информация о наборах и фрагментах резервных копий, файлах данных и журналах;

· информация о копиях файлов данных;

· информация о контрольных точках.

Управляющие файлы не только содержат важную информацию, необходимую при запуске экземпляра, они полезны и при удалении базы данных. Начиная с версии Oracle Database 10g с помощью команды DROP DATABASE можно удалить все файлы, перечисленные в управляющем файле базы данных, а также сам управляющий файл.

При запуске экземпляра Oracle считываются параметры инициализации. Они определяют, как база данных должна использовать физическую инфраструктуру и иную конфигурационную информацию об экземпляре. Параметры инициализации хранятся в файле параметров инициализации экземпляра, который обычно называют просто INIT.ORA или, начиная с версии Огас1е9g, в репозитории, который называется файлом параметров сервера (или SPFILE). Количество обязательных параметров инициализации уменьшается с выходом каждой новой версии Oracle. В дистрибутиве Oracle есть пример файла инициализации, пригодный для запуска базы данных. Либо можно воспользоваться программой Database Configuration Assistant (DCA), которая подскажет обязательные значения.

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

Местоположение управляющих файлов определяется параметром инициализации CONTROL_FILES. Он позволяет задать несколько управляющих файлов, например:

control_files = (/u00/oradata/control.001.dbf,

/u01/оradata/control.002.dbf,

/u02/oradata/control.003.dbf)

Этот параметр сообщает экземпляру, где искать управляющие файлы. Oracle гарантирует, что все копии управляющего файла одинаковы, то есть любые изменения вносятся синхронно. Если параметр не задан, Oracle создаст управляющий файл с именем по умолчанию или прибегнет к услугам компонента Oracle Managed Files (если тот активирован).

Многие базы данных Oracle развертываются на том или ином варианте RAID-массива, например RAID-1 или RAID-5, чтобы избежать потери данных в случае выхода диска из строя. Напрашивается вывод, что можно обойтись без нескольких копий, сохранив управляющий файл в защищенной дисковой памяти, и что утрата диска еще не означает утраты управляющего файла. Но этот вывод неправомерен по двум причинам:

Если в массиве с расслоением (striped array) или в зеркальной паре (mirror-pair) отказывает больше одного диска, то все данные, хранящиеся на этих дисках, теряются. Статистически это редкое событие, но все же такое случается, и тогда есть угроза повреждения или утраты управляющего файла. Поскольку вы и так будете по горло заняты восстановлением после множественных сбоев диска, вероятно, лучше при этом избежать хотя бы воссоздания управляющих файлов. Создание дополнительных копий, пусть даже хранящихся в избыточной дисковой памяти, - это дополнительный уровень защиты.

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

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

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

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

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

Экземпляр Oracle можно определить как область разделяемой памяти и набор фоновых процессов. Область разделяемой памяти экземпляра называется системной глобальной областью (System Global Area, SGA). Фактически SGA является не одной большой однородной областью памяти, а состоит из различных компонентов. Все процессы экземпляра, как системные, так и пользовательские, совместно обращаются к SGA. До версии Oracle9i размер SGA устанавливался при запуске экземпляра Oracle. Единственным способом изменения размера SGA или какой- то ее составляющей было изменение соответствующих параметров инициализации, остановка и перезапуск экземпляра. В Oracle9i мож но изменять размер SGA и ее компонентов, не останавливая экземпляр. В Oracle9i также введено понятие гранулы, то есть наименьшего объема памяти, который можно добавить или удалить из SGA.

В версии Oracle Database 10g появился механизм автоматического управления разделяемой памятью (Automatic Shared Memory Management, ASMM), а в Oracle Database 11g- механизм автоматического управления памятью (Automatic Memory Management, AMM) для компонентов SGA и PGA. Если задан параметр инициализации MEMORY_ TARGET (появился в Oracle Database llg) или SGA_TARGET, то база данных автоматически распределяет память между различными компонентами SGA, обеспечивая оптимальное управление памятью. К автоматически распределяемым компонентам относятся разделяемый пул (его размер вручную устанавливается с помощью параметра SHARED_POOL_SIZE), большой пул (LARGE_POOL_SIZE), пул Java (JAVAJPOOL_SIZE), кэш буферов (DB_CACHE_SIZE) и пул Streams (STREAMS_POOL_SIZE). Параметры инициализации, относящиеся к автоматическому управлению памятью, можно задать в Oracle Enterprise Manager.

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

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

Таблицы словаря данных всегда находятся в табличном пространстве SYSTEM. Имена динамических таблиц начинаются с префиксов V$ или GV$. Имена статических таблиц могут начинаться с одного из префиксов DBA_, ALL_ или USER_, обозначающего область видимости представленных в таблице объектов.

1.3 Основные структуры данных

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

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

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

В Oracle Database 11 g добавлена возможность создавать в таблице виртуальные столбцы. Они определяются выражением и, хотя результаты вычисления выражения не хранятся, приложение может обращаться к таким столбцам.

Представлением (view) в Oracle называется структура данных, определяемая SQL-командой. Эта SQL-команда хранится в базе данных. Когда в запросе встречается представление, выполняется определяющий его запрос и пользователю возвращаются данные из базовой таблицы. Сами представления не содержат данных, а лишь позволяют взглянуть на них так, как это определено в запросе.

Представления можно использовать в разных целях:

· Чтобы упростить доступ к данным, хранящимся в разных таблицах;

· Чтобы реализовать специальные требования к безопасности данных в таблице (например, создав представление с предложением WHERE, ограничивающим набор данных, доступных через это представление). Начиная с версии Oracle9i эту задачу можно решить с помощью механизма детального контроля доступа (finegrained access control), позволяющего автоматически ограничивать доступ к данным в зависимости от значения, хранящегося в строке;

· Чтобы скрыть от приложения точную структуру базовых таблиц.

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

В общем случае в одной команде SQL допускается запись в столбец только одной какой-то базовой таблицы, указанной в определении представления. Есть дополнительные ограничения на операции INSERT, UPDATE и DELETE. Кроме того, при наличии в SQL-команде некоторых предложений обновить данные представления вообще невозможно.

Осуществить запись в не обновляемое представление позволяет триггер INSTEAD OF.

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

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

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

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

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

1.4 Язык Oracle PL/SQL

PL/SQL - это процедурное расширение языка SQL (Structured Query Language - структурированный язык запросов). SQL сегодня является повсеместно распространенным языком для выполнения запросов и изменений (хоть в его названии об этом и не говорится) в реляционных базах данных. Корпорация Oracle ввела в употребление PL/SQL для того, чтобы избавиться от некоторых ограничений, существующих в SQL, а также для того, чтобы иметь возможность предложить более полное программное решение разработчикам жизненно важных приложений, работающих с базами данных Oracle.

Как и в большинстве процедурных языков, в PL/SQL наименьшей значимой единицей группировки кода является блок. Блок - это конструкция, обеспечивающая выполнение фрагмента кода и определяющая границы видимости переменных и область действия обработчиков исключений. PL/SQL позволяет создавать анонимные блоки (блоки кода, не имеющие названия) и именованные блоки (это могут быть процедуры, функции или триггеры).

Блок PL/SQL может включать в себя до четырех разделов, лишь один из которых является обязательным.

<Заголовок>

Is

<раздел объявлений>

begin

<раздел исполнения>

exception

<раздел исключений>

end;

· Заголовок (Необязательный раздел) Используется только для именованных блоков. Заголовок определяет, каким образом будет вызываться именованный блок или программа.

· Раздел объявлений (Необязательный раздел) Определяет переменные, курсоры и подблоки, которые упоминаются в разделах исполнения и исключений.

· Раздел исполнения (Обязательный раздел) Содержит операторы, которые будет выполнять ядро PL/SQL при исполнении блока.

· Раздел исключений (Необязательный раздел) Обрабатывает исключительные (по отношению к нормальной работе) ситуации (предупреждения и ошибки).

Если кто-то хочет сохранить анонимность, он не называет своего имени. Именно так и поступает анонимный блок в PL/SQL, в нем просто отсутствует раздел заголовка, такой блок начинается с DECLARE или BEGIN. Это означает, что его нельзя будет вызвать из какого-то другого блока, так как не на что установить ссылку. Анонимные блоки служат контейнерами для операторов PL/SQL и обычно включают в себя вызовы процедур и функций.

В общем виде синтаксис анонимного блока PL/SQL будет таким:

[ DECLARE...объявления...]

BEGIN

...один или несколько исполняемых операторов ...

[ EXCEPTION...операторы обработки исключений...]

END;

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

При объявлении переменной или константы вы должны назначить ей тип данных. (PL/SQL за очень небольшими исключениями является языком со строгой типизацией.) PL/SQL предлагает полный набор предопределенных скалярных и составных типов данных, вы также можете создавать собственные пользовательские типы (которые также называют абстрактными типами данных).

1.4.1 Типы данных и константы

Все имеющиеся предопределенные типы данных определены в PL/ SQL-пакете STANDARD. Например, туда включены операторы, определяющие логический тип данных и два числовых типа:

CREATE OR REPLACE PACKAGE STANDARD IS

type BOOLEAN is (FALSE, TRUE);

type NUMBER is NUMBER_BASE;

subtype INTEGER is NUMBER(38,);

PL/SQL поддерживает все привычные типы данных и множество других. В разделе будет приведен лишь краткий обзор разнообразных предопределенных типов данных.

PL/SQL поддерживает строки как фиксированной, так и переменной длины, представленные как в традиционных кодировках, так и в кодировках Unicode. CHAR и NCHAR - это типы строк фиксированной длины, а VARCHAR2 и NVARCHAR2 - типы строк переменной длины. Рассмотрим объявление строки переменной длины, которая может вмещать до 2000 символов: DECLARE stroka VARCHAR2(2000);

Oracle также поддерживает очень длинные символьные строки - типы LONG и LOB. Эти типы данных позволяют хранить и обрабатывать огромные объемы данных: LOB может содержать до 128 терабайт информации в Oracle Database 10g (используйте тип LONG только для совместимости с уже существующим кодом. Будущее за типами LOB!). К символьным типам данных LOB относятся CLOB (character large object - большой символьный объект) и NCLOB (National Language Support character large object - большой символьный объект с поддержкой национальных языков, многобайтный формат).

PL/SQL поддерживает все более широкое множество числовых типов данных. Долгие годы рабочей лошадкой числовых типов данных был тип NUMBER, который можно использовать для десятичных значений с фиксированной и плавающей точкой, а также для целых значений. Приведем несколько примеров объявлений типа NUMBER:

DECLARE

salary NUMBER(9,2); -- фиксированная точка, семь

знаков слева и два справа

raise_factor NUMBER; -- десятичное число с

плавающей точкой

weeks_to_pay NUMBER(2); -- целое число

BEGIN

salary := 1234567.89;

raise_factor := 0.05;

weeks_to_pay := 52;

END;

Десятичная природа типа NUMBER оказывается чрезвычайно полезной при работе с денежными величинами. Вам не придется беспокоиться о возможных ошибках округления при переводе числа в двоичное представление. Например, записывая число 0.95, не стоит бояться, что от него через некоторое время останется только 0.949999968.

До выпуска версии Oracle Database 10g тип NUMBER был единственным числовым типом данных PL/SQL, полностью соответствующим типу данных базы данных. Это одна из причин столь широкого использования типа NUMBER. В Oracle Database 10g появилось еще два двоичных типа с плавающей точкой: BINARY.FLOAT и BINARY.DOUBLE. Как и NUMBER, оба новых типа поддерживаются как в PL/SQL, так и в базе данных. Правильно применяя их, можно добиться значительного повышения производительности за счет того, что математические операции над новыми типами выполняются аппаратной частью (когда это позволяет аппаратная платформа). PL/SQL поддерживает ряд числовых типов и подтипов, которые не соответствуют типам базы данных, но, тем не менее, весьма полезны. Упомянем особо PLS.INTEGER, целочисленный тип, для которого арифметические операции выполняются аппаратно. Счетчики циклов FOR реализованы типом PLS.INTEGER.

До появления версии Oracle9i Database мир дат Oracle ограничивался типом DATE, который позволял хранить как дату, так и время (с точностью до секунд). В Oracle9i Database появились два набора новых связанных типов данных: INTERVAL и TIMESTAMP. Новые типы значительно расширили возможности разработчиков PL/SQL по созданию программ, обрабатывающих и хранящих значения дат и времени с очень высокой точностью, а также вычисляющих и хранящих интервалы времени.

Приведем в качестве примера функцию, вычисляющую возраст человека:

CREATE OR REPLACE FUNCTION age (dob.in IN DATE)

RETURN INTERVAL YEAR TO MONTH

IS retval INTERVAL YEAR TO MONTH;

BEGIN

RETURN (SYSDATE - dob.in) YEAR TO MONTH;

END;

PL/SQL поддерживает настоящий логический (булев) тип данных. Переменная этого типа может иметь лишь одно из трех значений: TRUE, FALSE и NULL.

Логические переменные позволяют сделать код удобочитаемым, даже в том случае, когда он содержит сложные логические выражения. Рас смотрим пример объявления переменной типа Boolean с присваиванием ей значения по умолчанию:

DECLARE

l_eligible_for_discount BOOLEAN :=

customer_in.balance > min_balance AND customer_in.pref_type = 'MOST FAVORED' AND customer_in.disc_eligibility;

При объявлении переменной PL/SQL выделяет память для значения переменной и присваивает этому хранилищу имя, используя которое вы сможете извлекать и изменять данное значение. В объявлении также указывается тип данных переменной, который будет использован для проверки корректности значений, присваиваемых переменной.

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

Имя тип_данных [NOT NULL] [значение_по_умолчанию];

имя - это имя объявляемой переменной или константы, а тип_данных - это тип или подтип значений, которые могут присваиваться этой переменной. Включение в объявление выражения NOT NULL означает, что если в коде будет предпринята попытка присвоения вашей переменной значения NULL, то Oracle инициирует исключение. Выражение [значение по умолчанию] позволяет инициализировать переменную; оно необязательно для всех объявлений, кроме объявлений констант.

Для задания значения по умолчанию ключевое слово DEFAULT и оператор присваивания эквиваленты и взаимозаменяемы.

Существует всего два отличия в объявлениях переменных и констант: объявление константы включает в себя ключевое слово CONSTANT, и в нем обязательно указывается значение по умолчанию (которое на самом деле является не значением по умолчанию, а единственно возможным значением). Синтаксис объявления константы будет таким:

имя CONSTANT тип_данных [NOT NULL] := DEFAULT

значение_по_умолчанию;

1.4.2 Управляющие операторы

В PL/SQL существует два вида управляющих операторов: условные операторы и операторы перехода. Условные операторы, направляющие поток выполнения в определенную точку программы в зависимости от некоторого условия, необходимы практически в каждом фрагменте создаваемого кода. К таким операторам относятся IF-THEN-ELSE и CASE (операторы CASE доступны в версиях Oracle9/ Database и Oracle Database 10g) Существенно реже используется оператор безусловного перехода GOTO или явное указание на необходимость «ничего-не-делать» с помощью оператора NULL.

Оператор IF позволяет использовать в программах условную логику. Условие, указанное между IF и THEN, определяет, должно ли быть выполнено множество операторов, находящееся между THEN и END IF. Если условие вычислено как FALSE, то код не выполняется.

Оператор CASE позволяет выбрать для исполнения одну из нескольких последовательностей операторов. Операторы CASE появились в стандарте SQL уже в 1992 году, но Oracle SQL стал поддерживать CASE только в версии Oracle8i Database, а PL/SQL не поддерживал CASE вплоть до версии Oracle9/ Database Release 1.

1.4.3 Циклы в PL/SQL

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

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

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

Простой цикл называется простым, потому что он начинается просто со слова LOOP и заканчивается оператором END LOOP. Цикл завершается при выполнении внутри цикла оператора EXIT, EXIT WHEN или RETURN (или если внутри цикла инициировано исключение):

LOOP EXIT WHEN l_current_year > end_year_in; display_total_sales (l_current_year); l_current_year := l_current_year + 1;

END LOOP;

Oracle поддерживает циклы FOR со счетчиком и с курсором. Для цикла FOR со счетчиком вы указываете начальное и конечное целые значения, а все остальное за вас делает PL/SQL: проходит все значения внутри заданного диапазона и завершает цикл:

FOR l_current_year IN start_year_in..end_year_in

LOOP

display_total_sales (l_current_year);

END LOOP;

Цикл FOR с курсором имеет такую же базовую структуру, только в данном случае вместо указания верхней и нижней границ целочисленного диапазона следует явно задать курсор или использовать оператор SELECT:

FOR l_current_year IN (

SELECT * FROM sales_data

WHERE year BETWEEN start_year_in AND end_year_in)

LOOP

-- Теперь эта процедура принимает запись, неявно

-- объявленную как sales_data%ROWTYPE...

display_total_sales (l_current_year);

END LOOP;

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

PROCEDURE display_multiple_years (

start_year_in IN PLS_INTEGER ,

end_year_in IN PLS_INTEGER)

IS l_current_year PLS_INTEGER := start_year_in; BEGIN

WHILE (l_current_year <= end_year_in)

LOOP

display_total_sales (l_current_year);

l_current_year := l_current_year + 1;

END LOOP;

END display_multiple_years;

1.4.4 Обработка исключений

В языке PL/SQL ошибки любого рода трактуются как исключения - нештатные ситуации для вашей программы. Исключения могут быть следующих видов:

· Ошибка, инициированная системой (например, «недостаточно памяти» или «повторение значений в индексе»);

· Ошибка, вызванная действиями пользователя;

· Предупреждение, выдаваемое пользователю приложением.

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

При возникновении ошибки в PL/SQL, будь то системная ошибка или ошибка приложения, инициируется исключение. Обработка в исполняемом разделе текущего PL/SQL-блока прекращается, и управление передается в отдельный раздел исключений текущего блока (если такой существует) для обработки исключения. После завершения обработки исключения вернуться в этот блок невозможно. Управление передается в родительский блок (если он существует).

2. Delphi XE

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

Delphi -- это среда быстрой разработки приложений (RAD-среда, от Rapid Application Development -- быстрая разработка приложений) на языке Delphi, в основе которого лежит хорошо знакомый многим программистам язык Pascal.

Изначально, вплоть до седьмой версии, Delphi была ориентирована на разработку Win32-приложений. После того как Microsoft стала продвигать технологию .NET, появилась Delphi 8 for The Microsoft .NET Framework -- среда разработки .NET-приложений. Следующие версии Delphi выпускались в двух вариантах: для разработки Win32- и .NET-приложений. Теперь программистам стала доступна очередная версия Delphi -- Embarcadero Delphi ХЕ. Embarcadero -- новое имя выделенного из Borland подразделения (изначально оно называлось CodeGear). отвечающего за инструменты разработки приложений.

Delphi ХЕ существует в трех вариантах: Professional, Enterprise и Architect. Каждый комплект включает набор средств и компонентов, обеспечивающих разработку высокоэффективных приложений различного назначения, в том числе работы с базами данных InterBase, Blackfish SQL, Firebird, MySQL, Microsoft SQL Server, Oracle и др. Чем выше уровень пакета, тем больше возможностей он предоставляет программисту. Так, например, в Enterprise и Architect есть компоненты, позволяющие работать с удаленным сервером Blackfish SQL, а в Professional -- только с локальным.

Среда Delphi ХЕ доступна как отдельный инструмент разработки, а также как элемент Embarcadero RAD Studio ХЕ.

Delphi ХЕ может работать в среде операционных систем Microsoft Windows ХР Home или Professional (SP2 или SP3), Microsoft Windows Vista SP2, Microsoft Windows Server 2003 (SP1) или 2008. а также в Microsoft Windows 7. Особых требований, по современным меркам, к ресурсам компьютера среда не предъявляет: процессор должен быть класса Intel Pentium (или совместимый) с частотой 1.4 ГГц (рекомендуется 2 ГГц и выше), 1 Гбайт оперативной памяти (рекомендуется 2 Гбайт и больше), 3.75 Гбайт свободного места на жестком диске (в том числе 750 Мбайт для Microsoft .NET Framework и Microsoft .NET SDK).

2.1 Работа в Delphi XE

Процесс разработки программы в Delphi рассмотри на примере - создадим приложение (так принято называть прикладную программу), которая будет выводить сообщение о приветствии с пользователем, как показано на рисунке 2.1

Рисунок 2.1 - Окно приложения

Чтобы начать работу над новым приложением, нужно в меню File выбрать команду New - VCL Forms Application-Delphi.

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

Настройка формы (а также компонентов) осуществляется путем изменения значений свойств. Свойства объекта (формы, компонента) определяют его вид и поведение. Например, свойство caption определяет текст заголовка окна, а свойство Position -- положение окна в момент появления на экране.

Для изменения значений свойств объектов используется вкладка Properties окна Object Inspector. В левой колонке этой вкладки перечислены свойства объекта, выбранного в данный момент, в правой -- указаны значения свойств. Имя выбранного объекта отображается в верхней части окна Object Inspector, которое представлено на рисунок 2.2.

Рисунок 2.2 - Окно Object Inspector, вкладка Preporties

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

Компоненты, которые программист может использовать в процессе разработки программы, находятся в палитре компонентов (Tool Palette). На вкладках Standard, Additional и Win32 располагаются часто используемые компоненты пользовательского интерфейса

Чтобы на форму добавить компонент, например Edit, надо:

· В палитре компонентов (окно Tool Palette) раскрыть вкладку Standard;

· Сделать щелчок на значке компонента Edit (рис. 2.7). Здесь следует обратить внимание, что в палитре компонентов, рядом со значком указывается тип компонента, а не его название.

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

· Сделать щелчок левой кнопкой мыши.

В результате на форме появляется поле редактирования -- компонент Edit, что можно увидеть на рисунок 2.3

Рисунок 2.3 - Форма с полем для редактирования Edit

Каждому добавленному компоненту среда разработки присваивает имя, которое состоит из названия компонента и его порядкового номера. Например, первый компонент Edit получает имя Edit1, второй - Edit2. Программист путем изменения значения свойства Name может поменять имя компонента. Однако в простых программах имена компонентов, как правило, не изменяют.

Вид созданной формы подсказывает, как работает программа. Очевидно, что пользователь должен ввести в поля редактирования исходные данные и сделать щелчок на кнопке «Выполнить». Щелчок на изображении командной кнопки -- это пример того, что называется событием.

Событие (event) -- это то, что происходит во время работы программы. У каждого события есть имя. Например, щелчок кнопкой мыши -- это событие click, двойной щелчок мышью -- событие DblClick.

Следует понимать, что одни и те же действия, но выполненные над различными объектами, вызывают разные события. Например, щелчок (событие click) на кнопке «Выполнить» и щелчок на кнопке «Завершить» -- это два разных события.

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

Методику создания процедуры обработки события рассмотрим на примере обработки события click, которое возникает в результате щелчка на кнопке «Выполнить».

Чтобы приступить к созданию процедуры обработки события, сначала надо выбрать компонент, для которого создается процедура обработки события. Для этого в окне конструктора формы надо сделать щелчок левой кнопкой мыши на нужном компоненте (компонент можно выбрать также в раскрывающемся списке, который находится в верхней части окна Object Inspector). Затем в окне Object Inspector нужно открыть вкладку Events, рисунок 2.4.

Рисунок 2.4 - Окно Object Inspector, вкладка Events

Для того, что бы создать процедуру обработки события, сначала на вкладке Events надо выбрать событие, процедуру обработки которого необходимо создать, затем сделать двойной щелчок левой кнопкой мыши в поле редактирования, которое находится справа от имени события. В результате имя процедуры обработки события сформирует Delphi (имя процедуры обработки события образуется путем объединения имени компонента, для которого создается процедура обработки события, и имени события, например Button1Click), после чего написать тело процедуры.

procedure TForm1.Button1Click(Sender: TObject);

begin

MessageBox(handle, PWideChar('Добрый день: ' + Edit1.Text), 'Приветствие!', MB_ICONINFORMATION + MB_OK);

end;

Пробный запуск программы можно выполнить непосредственно из Delphi, не завершая работу со средой разработки. Для этого в меню Run надо выбрать команду Run или Run Without Debugging. Можно также сделать щелчок на кнопке Run, рисунок 2.5 или нажать клавишу <F9>.

Рисунок 2.5 - Запуск приложения

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

3. Разработка клиент-серверного приложения

3.1 Постановка задачи

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

Если представить себе сотрудницу отдела кадров, у которой четыре тысячи дел, и к ней придет служебная записка, что сотрудник «Иванов», переводится на новую должность, и это надо занести в личное дело, поиск этого дела может занять большой промежуток времени. Вот тут как раз и приходят на помощь современные вычислительные системы, а именно, клиент-серверные приложения. Если разобрать всю туже ситуацию с переводом сотрудника «Иванова» на новую должность, но с учетом современных вычислительных систем, то все становится намного проще. Если даже база данных большая, и организованна не совсем правильно, на поиск сотрудника уйдет максимум 10 минут времени, и при этом сотруднице отдела кадров ничего делать не надо, просто сидеть и ждать, пока компьютер сам все сделает.

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

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

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

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

Для решения поставленной задачи была разработана база данных, в которой будут храниться все данные. Для полноценной работы приложения в СУБД Oracle было создано 30 таблиц (таблица 3.1) Более детальное описание таблиц можно посмотреть в приложении А.

Таблица 3.1 - Список таблиц базы данных

Название таблицы

Описание таблицы

DOLSHNOST

Названия всех должностей на предприятии

DOLSHNOST PREFIX

Возможные префиксы должностей

DOLSHOST SUFIX

Возможные суффиксы должностей

INVALIDNOST

Перечень всех сотрудников, у которых имеется та или иная инвалидность

KEM VIDAN

Список органов, которые могут выдавать паспорта

KONTAKTNIE DANIE

Контактные данные сотрудников

LICO

Список всех лиц, которые, так или иначе, относятся к предприятию

MESTO RABOTI

Перечень всевозможных мест работы

MESTO SHITELSTVA

Полный адрес места жительства сотрудника

NASELENI PUNKT

Список населенных пунктов

OBLAST

Список областей

OBRAZOVANIE

Сведения об образовании сотрудников

PASPORT

Паспортные данные на сотрудника

PENSIONERI

Список пенсионеров предприятия

POL

Пол сотрудника

PRICHINA VIXODA NA PENSIE

Причина, по которой сотрудник вышел на пенсию

RABOTA

Информация о текущем и старом месте работы всех сотрудников предприятия

RAEN

Список районов

SPECIALNOST

Название специальности, которую сотрудник получил по окончании обучения

SROCHNAIA SLUSHBA

Информация о прохождении срочной службы

STRANA

Список стран

TIP INVALIDNOSTI

Перечень возможных инвалидностей

TIP NAS PUNKTA

Перечень типов населенных пунктов

TIP KONTAKT DANNIX

Перечень возможных контактных данных

TIP MESTA SHITELSTVA

Перечень возможных мест жительства

TIP PASPORTA

Перечень возможных типов паспорта

TIP UCH ZAVEDENIA

Перечень типов учебных заведений

UCHEBNOE ZAVEDENIE


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

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

    дипломная работа [4,7 M], добавлен 22.08.2016

  • Сетевое программное обеспечение: общее понятие, содержание, функции. Этапы развития теории компьютерных сетей. Проектирование в среде программирования Borland Builder C++ клиент серверного приложения с использованием сокетов, листинг данной программы.

    курсовая работа [191,5 K], добавлен 07.01.2015

  • Многоуровневые архитектуры клиент–сервер. Диаграммы классов, реализующих уровни презентации, бизнес–логики и базы данных приложения. Словесное описание процесса выполнения транзакций. Создание, изменение и удаление хранимых процедур, их выполнение.

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

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

    курсовая работа [352,0 K], добавлен 24.08.2016

  • Разработка клиент-серверного приложения под управлением Windows на языке программирования Delphi, реализующего функции дистанционного обучения (тесты). Основная форма программы, которая состоит из меню, панели активации пользователя и панели чата.

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

  • Основные концепции разработки приложения в трёхуровневой архитектуре. Проектное решение, реализующее модель реляционной БД. Спецификация на разработку интерфейса. Описание выполнения транзакций прибытия и убытия судна. Инсталляционные файлы приложения.

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

  • Характеристика подходов к построению CRM-систем. Разработка клиент-серверного приложения, которое предоставляет возможность управления взаимоотношениями с клиентами на платформе ASP.NET Web Froms. Проработка некоторых аспектов безопасности CRM-систем.

    курсовая работа [686,2 K], добавлен 24.04.2015

  • Основные концепции разработки приложения в архитектуре MVVM. Проектирование базы данных, предназначенной для сбора информации о дорожно-транспортных происшествиях. Классификация и типы архитектуры "клиент–сервер", ее основные достоинства и недостатки.

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

  • Создание клиент-серверного приложения "Чат" с помощью среды визуальной разработки приложений Borland C++ Builder версии 6. Описание функциональности приложения: наличие клиент-серверной архитектуры, обмен короткими сообщениями, а также передача файлов.

    курсовая работа [302,0 K], добавлен 30.01.2012

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

    дипломная работа [4,6 M], добавлен 21.02.2013

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