Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

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

Концепция.

1. В жизни нет таблиц и полей. Есть сущности, и их атрибуты.

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

3. Атрибуты сущностей делятся на два типа:

3.1. Собственные;

3.2. Зависимые от равноправного взаимодействия с другими сущностями.

4. Таблицы, предназначенные для хранения значений атрибутов экземпляров сущностей, разделяются на два типа:

4.1. Значения собственных атрибутов сущностей хранятся в Таблицах Основных Записей.

4.2. Значения атрибутов, зависимых от равноправного (многие-ко-многим) взаимодействия с другими сущностями, хранятся в Таблицах-Ракурсах.

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

6. Каждая сущность имеют текстовые описания длиной: 20, 40 и 60 символов, зависящих от языка;

Требования.

1. Компонент не использует никаких компонент VCL, предназначенных для работы с базами данных, за исключением TDataBase.

2. Иерархия типов атрибутов оригинальна (никаких TFieldDefs!), будет дана.

3. Визуальный редактор сущностей и их свойств, работоспособный как в Design-time, так и в Run-time. Ориентированность редактора на древовидный интерфейс. Заданная иерархия классов таблиц и атрибутов (см. выше).

4. Компонент должен быть способным самостоятельно осуществлять (посредством языка SQL и компоненты TDataBase) инсталляцию, изменение и удаление структур данных, в следующих типах СУБД:

4.1. MS SQL;

4.2. Oracle;

4.3. InterBase.

5. Возможность сохранения структуры как в DFM-файле, так и в базе данных (временно можно использовать TTable для сохранения-выборки из БД самих структур данных – но с прицелом на то, что потом будет использоваться другой компонент).

6. Не надо вопросов «А чем тебя не устраивает TDataSet/TTable/TField/TDataProvider/и т.д. и т.п.». Считайте, что это мой каприз.

Желательно еще разработать достаточно сложный алгоритм, который можно было бы назвать анализатором зависимостей (далее – анализатор).

Это необязательное условие, но если сделаете - доплата 4.000 рублей.

Предположим, есть несколько сущностей, со своими атрибутами (буква – сущность, Буква.Цифра – ее атрибут), а также пара ракурсов.

1. A

1.1. A.1 (ключ)

1.2. A.2

1.3. A.3

2. B

2.1. B.1 (ключ)

2.2. С.1 (ключевая ссылка на сущность C)

2.3. B.2

2.4. B.3

3. X (ракурс A+B)

3.1. A.1 (ключ)

3.2. B.1 (ключ)

3.3. X.1

3.4. X.2

3.5. X.3

4. C

4.1. C.1 (ключ)

4.2. C.2

5. D

5.1. A.1 (ссылка на сущность A)

5.2. D.1

5.3. D.2

6. Y (ракурс C+D)

6.1. C.1 (ссылка на сущность C).

6.2. D.1 (ссылка на сущность D)

6.3. Y.1

6.4. Y.2

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

Например, как в виде

C.1 - B.2 - A.3 - D.2 ,

так и, например, в виде

A.1 – B.1 – C.1 .

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

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

Пример. Мы показали пользователю структуры в виде дерева

B.2

A.1

B.1

Пользователь хочет создать новое значение на уровне B.1 (т.е., создать новый экземпляр сущности B).

Анализатор должен определить, что при создании данного экземпляра, автоматом заполняется значением поле B.2 (в силу того, что оно уже указано в дереве на более высоком уровне), плюс автоматом создается пересечение с объектом A (в силу того, что это тоже уже определено деревом).

Или, более сложные зависимости.

C.1

D.2

B.2

A.1

На уровне B.2: при изменении значения атрибута, значение этого атрибута меняются у всех экземпляров сущности B, которые:

Принадлежат к C.1;

И

Имеют пересечения с А, которым принадлежат объекты D, имеющие пересечение с C.1 и имеющие значение D.2.

D.2

C.1

B.2

A.1

На уровне A.1:

При создании экземпляра A.1:

Ему автоматом присваиваются объекты D с атрибутом D.2, имеющие пересечение с C.1;

Создаются пересечения нового объекта A.1 с тем объектами B, которые имеют значение B.2 и подчиняются к C.1.

Более подробная информация – победителю конкурса.

Сроки.

2 недели - первая часть.

2 недели - опциональная часть.

Бюджет.

5+4 т.рублей

18 лет назад
av111
Гость 
NaN летРоссия
18 лет в сервисе
Был
17 лет назад
2 отзыва(-1)
Выбранный исполнитель
Dkl
37 летТаджикистан
18 лет в сервисе
Был
17 лет назад
8 отзывов(-3)
18 лет назад
Развел меня на предоплату в 2 тыр. Молчал долго, через некоторое время сообщил, что работу сделал, но когда я попросил выслать хоть какую-то демку - долго динамил, затем вообще перестал отвечать на письма. Разработку так и не выслал, предоплату не вернул. Времени исправиться я давал достаточно. Резюме: кидала.
Дважды отсылался готовый компонент,но заказчик постоянно молчал.После последнего раза вообще замолчал,и перестал проявлять какую то активность,а вот тебе раз.Воощем,уважаемый,если вы не уберете ваш отзыв,и заплатите 3 тысячи которые должны,выложу компонент в свободный доступ(к сожалению больше ничего сделать не смогу)! З.Ы.сам кидала.
  • Похожие заказы
  • Необходимо добавить два модуля к системе дистанционного обучения ATutor(www.atutor.ca). 1. Dropbox (see sample http://academictech.doit.wisc.edu/ORFI/learnuw/grading.htm ) 2. Gradebook (see http://library.blackboard.com/docs/cp/learning_system/release6/instructor/_Add_Modify_Gradebook_Item.htm ) Язык PHP. Операционная система Microsoft Server 2003. Обязательно указывайте свои предполагаемые сроки и сумму договора.

    Закрыт
    18 лет назад
  • Необходима надстройка для Excel, позволяющая осуществлять экспорт листа в dbf файл. Формат dbf файла (тип поля, длина, число знаков в дробной части для числа) хранится в таблице в другой книге. Обязательна возможность указания кодовой страницы (dos ...

    Прикладное ПО1 исполнитель
    Закрыт
    18 лет назад
  • Необходимо VCL компонент для instant messenger чата (типа ICQ). Из файла в аттаче все понятно. Описание: Компонент(TCollection) состоит из N блоков(TCollectionItem,сообщений), каждый из которых имеет следующие св-ва: 1. DateTime:TdateTime - время получения сообщения(которое на примере скриншота из миранды видно ...

    Закрыт
    18 лет назад
  • $100

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

    Закрыт
    18 лет назад
  • $150

    Требуется программа, которая будет стоять на компьютере охраны, и куда бы писались данные посетителей, такие как ФИО, серия и номер паспорта, дата/время посещения, к кому приходил посетитель, время/выхода, определение находящихся в здании посетителей, поиск по ...

    Закрыт
    18 лет назад
  • $500

    Задание нетривиальное(для любителей прочитать не до конца), основную проблему представляет даже не сам сниффер буфера. Просьба обращаться тем кто РЕАЛЬНО представляет как ЭТО сделать и оценивает свои возможности. Все остальные все равно будут отсеяны в ...

    Закрыт
    18 лет назад
  • $50

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

    Закрыт
    18 лет назад