Смекни!
smekni.com

Создание клиентских частей SQL БД под ОС Windows'95 и WindowsNT (стр. 24 из 27)

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

Выбор СУБД для реализации довольно сложен, хотя после выбора операционной системы сервера достаточно очевиден. Прозрачный и не отегощенный не нужными функциями, Microsoft SQL Server является оптимальным решением. По всем международним тестам он находится среди лидеров реляционных СУБД. Пиковая производительность систем и их стоимость в пересчете на одну транзакцию продолжают быстро улучшаться. В настоящее время лидерство по отношению стоимость/производительность принадлежит комбинации продуктов Compaq/Windows NT/Microsoft SQL .

Выбор языка программирования. Delphi - это потомок Турбо Паскаля, который был выпущен для операционной системы CP/M в 1983 году. В феврале 1994 года Турбо Паскаль был перенесен на операционную систему MS-DOS.

На раннем этапе развития компьютеров IBM PC, Турбо Паскаль являлся одним из наиболее популярных языков разработки программного обеспечения - главным образом потому, что это было вполне серьезный компилятор, который, включая компилятор, редактор и все остальное, стоил всего $19.95 и работал на машине с 64 Kb оперативной памяти.

Под Windows - Турбо Паскаль был перенесен фирмой Borland в 1990 году. А самая последняя версия Borland Pascal 7.0 (имеющая теперь такое название), не считая Delphi, вышла в свет в 1992 году. Разработка Delphi началась в 1993 году. После проведения beta-тестирования Delphi показали на "Software Development '95". И 14 февраля 1995 года официально объявили о ее продаже в США. В торговлю Delphi попала спустя 14 дней, 28 февраля 1995 года.

Delphi обладает рядом отличительных особенностей. Многократно используемые и расширяемые компоненты. Delphi устраняет необходимость программировать такие компоненты Windows общего назначения, как метки, пиктограммы и даже диалоговые панели и множество других многократно используемых компонентов, которые позволяют экономить время и программные усилия при разработках для Windows. В Delphi также имеются предварительно определенные визуальные и не визуальные объекты, включая кнопки, объекты с данными, меню и уже построенные диалоговые панели. С помощью этих объектов можно обеспечить вывод данных просто несколькими нажатиями кнопок мыши, не прибегая к программированию. Предоставляемый Delphi внушительный список объектов ставит эту систему во главе сред разработки, предоставляющих архитектуру повторно используемых компонентов.

Поддержка стандарта VBX(Visual Basic Extensions). Delphi дает возможность интегрировать VBX-объекты непосредственно в Палитру компонентов (Component Palette) для облегчения доступа к этим объектам и инструментам.

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

Настрой на среды разработки. Палитра компонентов, редактор кода, шаблоны приложений и форм – примеры областей, где Delphi может быть полностью настроена в соответствии с пожеланиями программиста.

Компилируемые программы. Утверждается, что другие известные визуальные средства разработки приложений Windows также «компилируют» программы. Однако это не совсем верно, в действительности происходит компиляция только части программы и последующая компоновка программы-интерпретатора и Р-кода в исполняемый модуль. Так работали раньше, хотя многие программисты сталкивались с ограничением производительности при использовании этого подхода. Delphi не использует ни интерпретатор, ни Р-код и создает действительно откомпилированные программы, готовые для исполнения. Поэтому программы Delphi столь же быстры, как и программы, написанные на языках третьего поколения. Delphi является самым быстрым в мире инструментом разработки баз данных. Простые программы Delphi могут поставляться в виде единственного исполняемого модуля без дополнительных библиотек DLL, необходимых при использовании иных сред разработки.

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

"Библиотека времени выполнения" (run-time library) стандартных функций для всех программ VB хранится в файле VBRUN300.DLL. Каждая программа VB, попавшая к конечному пользователю, должна включать этот файл, либо приходится рассчитывать, что такой файл у пользователя уже есть. Дистрибутивный комплект программы должен также содержать файлы VBX для каждого управляющего средства VB, не включенного в VBRUN300.DLL. Программы Delphi включают необходимую часть библиотеки времени выполнения Delphi, а также используемые компоненты. В результате EXE-файл Delphi обычно больше по объему, чем эквивалентный EXE-файл VB, но он не зависит ни от каких внешних файлов.

Широкие возможности доступа к данным. В Delphi встроен BDE – механизм работы с базами данных (Borland Database Engine). BDE является тщательно продуманной системой, результатом развития ODAPI и IDAPI. BDE в настоящее время является стандартным промежуточным слоем, используемым для доступа ко всем популярным форматам современных баз данных. BDE также используется в системах «клиент/сервер» и обеспечивает доступ к таким продуктам этого типа, как Sybase SQL Server, Microsoft SQL Server, Oracle и Borland Interbase. Можно утверждать, что BDE просто блистает на фоне ODBC – продукта Microsoft, обеспечивая существенный выигрыш в производительности за счет более тесной связи с форматами баз данных.

2.3 Разработка структуры новой БД

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


Во-первых, база данных должна хранить информацию о клиентах фирмы, о государственных налогах (налог на добавочную стоимость, акцизный налог). В связи с тем, что значения налогов могут изменяться, заводить эту информацию в программу нельзя. Анализируя структуру базы данных фирмы «ИНФИН», можно заметить, что неразумно разносить отдельно информацию по выданным и полуученым счетам фактуры. Разумнее объединить ее в одну таблицу, добавив еще один признак счета-фактуры – полученный или выданный. Информацию о суммах счета-фактуры хранить не обязательно – ее можно вычислить и таблицы товаров.

Таблица Клиенты является справочником, в котором хранится вся информация по клиентам фирмы. Идентификатор клиента является первичным (уникальным) ключом для таблицы. Альтернативным ключом является поле ИНН. По любому и этих ключей можно однозначно определить клиента. Второй справочной таблицей является таблица налогов "Налоги". Поле Идентификатор налога является ее первичным ключом. В этой таблице хранится информация, как по НДС, так и по Акцизному налогу.

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