Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Работа для программиста > Фриланс
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.06.2012, 08:24   #11
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Выложи задание.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 27.06.2012, 11:21   #12
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,210
По умолчанию

Проект написан на Dеlphi XE и firebird
Краткое описание структуры программы:

1. В модуле uMStruct содержатся описания классов, используемых для
хранения структуры БД. Основные элементы структуры следующие:

TMField - класс для хранения описания отдельного поля таблицы;

TMTable - класс для хранения описания отдельной таблицы БД; содержит
список столбцов, принадлежащих таблице, и список связей с другими
таблицами. При создании связи между основной и подчиненной таблицей для
основной таблицы создается иерархическое дерево полей.

TMStruct - класс, содержащий ссылки на все используемые таблицы.

2. В модуле uMPstruct содержится описание класса TMPStruct. Этот
класс отвечает за сохранение в служебных таблицах БД описания структуры БД
из объекта типа TMStruct; загрузку описания структуры БД в объект типа
TMStruct из служебных таблиц БД; создание необходимых структур в БД
(таблиц, полей, связей и т.п.) по описанию из объекта типаTMStruct.

Для создания первоначальной структуры БД в программе сейчас выполняются
следующие шаги:

1. Инициализируется структура TMStruct.

2. C помощью метода CreateMTable класса TMStruct создаются
необходимые таблицы.

3. С помощью метода CreateMField класса TMTable в каждой таблице
создаются необходимые поля.

4. С помощью метода LinkMTable класса TMTable устанавливаются
связи между таблицами. При этом в иерархическое дерево полей основной
таблицы добавляются все поля подчиненной таблицы.

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



Для дальнейшего развития программы необходимо доработать модуль uMStruct таким
образом, чтобы он поддерживал не только создание БД с <<чистого листа>>, но и
изменение существующей структуры. Для этого необходимо выполнить следующие
доработки:

>> 1. В классе TMTable доработать метод CreateMField таким образом,
>> чтобы при создании поля в подчиненной таблице автоматически вносились
>> изменения в иерархическую структуру полей основной таблицы.
>>
>> 2. В класс TMTable добавить метод DeleteMField, удаляющий поле из
>> текущей таблицы и иерархической структуры всех связанных с ней таблиц.
>>
>> 3. В класс TMStruct добавить метод DeleteMTable, удаляющий таблицы
>> и соответствующим образом корректирующий струкутуру связанных таблиц.
>>
>> 4. В классы TMField, TMTable, TMStruct добавить методы Assign для
>> осуществления копирования структуры БД. При этом применение метода
>> Assign для TMStruct должно создавать полную копию структуры, независимую
>> от источника (все содержащиеся объекты должны принадлежать этой структуре,
>> а не быть ссылками на объекты структуры-источника).
>>
>>
>>
>> Для пояснения механизма хранения иерархии полей приведу иллюстрацию:
>>
>>
>>
>> Таблица 1
>>
>> Поле 1.1
>>
>> Поле 1.2
>>
>> Поле 1.3
>>
>> Таблица 2
>>
>> Поле 2.1
>>
>> Поле 2.2
>>
>> Поле 2.3
>>
>> Устанавливаем связь между таблицей 1 (основной) и таблицей 2
>> (подчиненной) по полю 1.2 (FK). В результате получаем:
>>
>> Таблица 1.
>>
>> Поле 1.1
>>
>> Поле 1.2
>>
>> Поле 2.1*
>>
>> Поле 2.2*
>>
>> Поле 2.3*
>>
>> Поле 1.3
>>
>> При добавлении в таблицу 2 поля 2.4 автоматически должна происходить
>> коррекция таблицы 1:
>>
>> Таблица 1.
>>
>> Поле 1.1
>>
>> Поле 1.2
>>
>> Поле 2.1*
>>
>> Поле 2.2*
>>
>> Поле 2.3*
>>
>> Поле 2.4*
>>
>> Поле 1.3
>>
>> Примечание: поля 2.1* -2.4* являются самостоятельными объектами,
>> принадлежащими таблице 1 и хранящими ссылку на исходные поля 2.1-2.4
>> таблицы 2.
>>
>>
>>
>> Для облегчения понимания используемого способа хранения структуры БД, в
>> исходниках содержится часть проекта, выполняющая при запуске загрузку
>> существующей структуры из прилагаемой БД.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 01.07.2012, 06:23   #13
Igor[Игорь]
Пользователь
 
Аватар для Igor[Игорь]
 
Регистрация: 25.11.2011
Сообщений: 52
По умолчанию

Igor23dec@yandex.ru
ICQ 2168364
e-mail: igor23dec@yandex.ru , ICQ: 2168364 , Telegram: @IgorVN
Delphi, PHP
Примеры http://igorvn.ucoz.ru/
Igor[Игорь] вне форума Ответить с цитированием
Старый 01.07.2012, 06:24   #14
Igor[Игорь]
Пользователь
 
Аватар для Igor[Игорь]
 
Регистрация: 25.11.2011
Сообщений: 52
По умолчанию

Delphi семерка
e-mail: igor23dec@yandex.ru , ICQ: 2168364 , Telegram: @IgorVN
Delphi, PHP
Примеры http://igorvn.ucoz.ru/

Последний раз редактировалось Igor[Игорь]; 01.07.2012 в 06:29.
Igor[Игорь] вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Доработка автопортала ZioN Фриланс 0 02.10.2011 15:35
Доработка проекта VS! VO1 Фриланс 4 27.09.2011 14:31
Доработка WHILE RUSSTUDENT Помощь студентам 3 31.08.2010 17:11
Доработка RUSSTUDENT Помощь студентам 2 28.08.2010 19:55
Доработка A93 Общие вопросы C/C++ 4 28.11.2009 13:29