IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Много табличные базы данных
klem4
сообщение 12.02.2006 18:01
Сообщение #1


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Вот значит решил написать программу для работы с 2-х табличной базой данных.

1 таблица банков
2 таблица клиентов

Связь таблиц заключается в том, что у одного банка могут быть несколько клиентов, а у каждого клиента могут быть вклады в разных банках.

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

Если будут вопросы по программе, спрашивайте.

Код: (Показать/Скрыть)


.


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 12.02.2006 18:17
Сообщение #2


Гость






Цитата
в дальнейшем планирую оптимизировать макимально эту программу, написать лайт-версию без динамических структур, и на их основе сделать материал для FAQ.
Вопрос на засыпку, а зачем в FAQ давать реализацию БЕЗ динамики там, где подразумевается именно использование динамических структур? Ты что, будешь напрямую с файлом работать? Или опишешь статические массивы (как многие делают) максимально допустимого размера? Этому тем более не место в FAQ-е, ибо это неправильно...

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

Еще одно... Первой же строкой программы ты делаешь {$R-}... Это тоже не совсем корректно... Тем более не для FAQ... Лучше не отключать Range-Checking, а описывать тип TArr вот так:
TArr = array [1 .. pred(maxint div sizeof(TType))] of TType;
(вот это - вполне нормально, т.к. описание типа ни в коем случае не приводит к выделению памяти под него, зато у тебя остается доступной проверка индексов, что немаловажно при отладке...)
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 2.08.2025 9:03
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"