Ух, ты! Хоть один не испугался))

Как файл прикрепить -не знаю поэтому
сюда скопипастаю.. ТЗ писали для себя,
поэтому по простому. _ ключевые поля -
на интежер прошу заменить с символьных
10

ТЗ:
Справочник номенклатур
ItemId  Строка (10), первичный ключ
ItemName        Строка (100)
1000 позиций
Начальное заполнение записями вида
{“Item1”, “Номенклатура 1”} (аналогично
до 1000).

Структура данных
Первичные и внешние ключи –
обязательно как указано ниже. Другая
индексация таблиц – по желанию.
Документы
DocId   Строка (10) , первичный ключ
DocDate Дата
Строки документов
DocId   Строка (10), ссылка на таблицу
Документы
ItemId  Строка(10), ссылка на таблицу
Номенклатура
Qty     Действительное число
Пара (DocId, ItemId) уникальна в таблице
(первичный ключ).
Проводки
TransId Строка (10) , первичный ключ
ItemId  Строка (10), ссылка на таблицу
Номенклатура
TransDate       Дата
Qty     Действительное число
Мгновенные остатки
ItemId  Строка (10), ссылка на таблицу
Номенклатура, первичный ключ
Qty     Действительное число
Задача
Загрузка данных
Грузим данные из текстового файла с
разделителями табуляцией. Формат:
LineType        “H” или “L”, то есть заголовок
или строка
DocDate Дата документа в формате DD.MM.YYYY
(заполняется только для заголовков)
ItemId  Идентификатор номенклатуры
Qty     Количество операции
Заполнение файла – 100 документов по 1000
строк в каждом. Каждый документ – от
случайной даты в диапазоне (01.01.2005,
31.12.2005). В каждой строке ItemId – случайный
выбор из 1001 позиции вида “Item321”. Qty –
случайное действительное число с
округлением до 2 цифр после запятой в
диапазоне (-100, 100).
При загрузке создаются документы,
строки, проводки, пересчитываются
остатки. Каждый документ создается в
своей транзакции, в ней же
пересчитываются остатки.
Ошибочная позиция Item1001 должна
отбрасываться.
Повторяющиеся номенклатуры в одном
документе в файле суммируются, то есть
в БД для каждой номенклатуры не более
одной строки в документе.
Идентификатор документа генерится из
последовательности, вид «Док#######», то
есть всегда длиной 10 символов, пример
«Док0000341».
Идентификатор проводки генерится из
последовательности, вид «Пр########», все
аналогично документу.
Замеряется общее время выполнения
загрузки в пустую базу, среднее время
загрузки одного документа. Замеряется
общее время второй загрузки (другой
файл).
Отчет
Строится оборотка по номенклатуре –
отчет вида:
Номенклатура    Начальный остаток       Приход
за период       Расход за период        Конечный
остаток
В отчет включается вся номенклатура.
Отчет выгружается в текстовый файл с
разделителями табуляцией.
Замеряется общее время формирования
файла. Входные параметры – период.
Смотрим время формирования на
периодах:
(01.01.2005, 31.12.2005)
(01.03.2005, 31.12.2005)

Ответить