|
Вопрос # 1 561/ вопрос открыт / |
|
Доброго времени суток, уважаемые эксперты!
Как сделать простую БД без использования различных готовых BDE, ADO и т.д. Чтобы программа работала на чистой системе. Думал сделать в виде текстового файла, но думаю, что база будет большой.
Таблица м.б. всего одна в базе, но планируется много строк, столбцов около 10. Значения текстовые, но длинные.
Во многих программах есть свои форматы баз, вот так же хотелось бы реализовать.
Через свой формат Record не то, так как не фиксированный размер.
 |
Вопрос задал: Anton (w) (статус: Посетитель)
Вопрос отправлен: 6 мая 2008, 04:43
Состояние вопроса: открыт, ответов: 2.
|
Ответ #1. Отвечает эксперт: ANBsoft
Здравствуйте, iamantbk!
Рекомендую изучить и использовать Firebird.
Достоинства следующие: это "родная" база данных для Делфи (Interbase - Делфи содержит все необходимые компоненты для работы с ним), бесплатный проект с открытым исходным кодом,
весьма мощный сервер баз данных с простой установкой и который практически не нужно администрировать.
Можно поставлять вместе с программой инсталятор сервера, а можно использовать его Embedded реализацию, когда достаточно скопировать в папку с программой всего несколько файлов и получите полноценный сервер для вашей программы без всяких установок, при этом в самой программе менять ничего не нужно, ей все равно с чем работать (Embedded, локальным или сетевым сервером).
Свой огород городить долго, сложно, и проблемно в дальнейших модернизациях программы, а так готовые запросы, выборки, сортировки и прочее (минус что прийдеться хоть немного изучить SЫЙД).
Успехов.
 |
Ответ отправил: ANBsoft (статус: Студент)
Время отправки: 6 мая 2008, 08:23
|
Ответ #2. Отвечает эксперт: Вадим К
Здравствуйте, iamantbk!
Ну вообще то ADO будет работать на "чистой системе". На Windows XP и старше вообще без проблем, а на Win2000 будут недоступны некоторые "вкусности", правда врядли вы их будете использовать. устанавливать MS Access не нужно, всё работает через JET драйвер, который есть уже в системе. Единственное, на что нужно обратить внимание - это в строке подключения указать относительный путь в базе, а то по умолчанию там прямой.
Очень хорошо себя зарекомендовала база SQLite. Я о ней писал статью Знакомство с SQLite. Для работы с под делфи нужна только одна длл весом порядка 300-400 кб. Для баз объемом до 200 Мб - самое оно. Кстати даже гугл использует её для некоторых целей:)
 |
Ответ отправил: Вадим К (статус: Академик)
Время отправки: 6 мая 2008, 23:16
|
Мини-форум вопроса
Всего сообщений: 5; последнее сообщение — 6 мая 2008, 12:10; участников в обсуждении: 3.
|
min@y™ (статус: Доктор наук), 6 мая 2008, 08:16 [#1]:
Цитата:
Чтобы программа работала на чистой системе.
Здесь надо делать свой формат. Я писал давненько кому-то курсач подобной тематики.
Цитата:
Думал сделать в виде текстового файла, но думаю, что база будет большой.
Насколько большой?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
min@y™ (статус: Доктор наук), 6 мая 2008, 08:25 [#2]:
Забыл сказать: формат файла примерно такой. Перед каждым полем записи идёт его размер в байтах. Так решается проблема нефиксированного размера.
И всё же база разбита на 4 таблицы, одна мастер-таблица и 3 подчинённые.
Могу, конечно, прислать исходники.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
ANBsoft (статус: Студент), 6 мая 2008, 08:30 [#3]:
В последней фразе имелось в виду изучить SQL.
|
|
ANBsoft (статус: Студент), 6 мая 2008, 12:10 [#5]:
Не только.
У меня еще нужна была папка INTL (не помню точно, кажись для задействования сортировок в русских словах).
А некоторым может понадобиться UDF.
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|