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

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



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

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

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

Связи:

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

Налоги Товары (НДС и Акциз). Эта связь не обязательная со стороны Налогов и необязательная со стороны Товаров. Это значит, что может существовать еще нигде не использованный налог, и может существовать товар, не облагаемый налогом. При изменении значений в таблице Налоги, автоматически изменяется значение в таблице Товаров. С другой стороны удаление какого-нибудь налога не ведет к удалению товара. Ссылка на налог устанавливается в значение NULL.

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

2.4 Перенос данных в новую базу данных

Как уже отмечалось структура базы данных старой программы фирмы ИНФИН отличается древовидной структурой базы данных, а точнее расположением файлов базы данных. Приблизительная структура показана на рисунке.

Как легко заметить, новая структура базы данных намного легче в понимании и обращении с ней. Ветвистость директорий в базе данных ИНФИН никому не нужна. Но, к сожалению, данные из старой базы данных надо переносить. Перенос данных придется осуществлять последовательным перебором всех поддиректорий и выгрузкой данных в SQL сервер.

К сожалению, экспорт информации в Microsoft SQL Server из DBF файлов проводится, не может. Однако существует утилита командной строки DOS позволяющая осуществлять экспорт данных из текстового файла, сформированного определенным образом (формат файла для экспорта показан в приложении А). Поэтому следует проводить экспорт данных из DBF формата в SQL базу данных через промежуточный текстовый файл.

Под форматирование подразумевается приведение таблицы по типу, названию и расположению полей к формату SQL таблицы

Экспорт данных в ТХТ формат

Файл формата таблицы создается единожды для данной таблицы.

При помощи утилиты командной строки

Формат DBF файлов осуществлялся при помощи утилиты для работы с файлами DBF формата DBU.EXE. В основном, это ручное форматирование структуры файла, перенос данных, отчистка от пустых строк и т.д. Экспорт файла осуществлялся при помощи программы Excel. В Excel осуществлялся вторичный контроль над данными, заполнение незаполненных, но обязательных для заполнения в SQL, полей. Далее данные экспортировались в ТХТ файл с разделителями ;.

При помощи утилиты командной строки bcp.exe создавался fmt файл с форматом SQL таблицы. Это необходимо для дальнейшего экспорта