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

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

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.07.2008, 19:01   #1
ЛомиК
Пользователь
 
Регистрация: 09.07.2008
Сообщений: 66
По умолчанию Простая автономная база данных

Собственно нужен совет по выбору типа базы по типу таблиц многие_ко_многим, состоящей из минимального числа функций и однопользовательского режима, но с тысячами записей и множественными связями между ними.
Конвертация в базы других стандартов не требуется, тоесть работа только из одного приложения и на одном компе.
Тоесть создание и заполнение таблиц через свой интерфейс и присвоение множественных связей между ячейками. Возможность записи в таблицу ссылки на приложение или файл и открытие его в окне программы при обращении, собственно даже функции поиска и отчетов не нужны, да и сортировка вряд-ли понадобится, короче минимум.

Вот что-то нечто вроде этого - http://www.programmersclub.ru/ahillesbd1/

Тоесть нужен совет, что лучше выбрать за основы для изучения, и может есть пример-исходник простеньких таблиц такого типа для Delphi?
ЛомиК вне форума Ответить с цитированием
Старый 09.07.2008, 19:22   #2
edgy
Форумчанин
 
Регистрация: 15.06.2008
Сообщений: 271
По умолчанию

Не заморачивайтесь. Возьмите какую-нибудь книгу по программированию БД в Delphi - читайте, изучайте, выполняйте примеры. После прочтения напишите свое приложение, работающее с БД. Научитесь работать с одной СУБД работать - значит сможете и с другими.
edgy вне форума Ответить с цитированием
Старый 10.07.2008, 10:45   #3
ЛомиК
Пользователь
 
Регистрация: 09.07.2008
Сообщений: 66
По умолчанию

Совет конечно отменный, только я же не просил совета как учиться, я хотел услышать ваше мнение какую базу лучше взять за основу для изучения что бы решить поставленную задачу.
Похоже приведенная мной статья лучший вариант для меня...
Ладно, и на том спасибо.
ЛомиК вне форума Ответить с цитированием
Старый 10.07.2008, 10:48   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Возбми Access и не парься. SQL он везде почти одинаков.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 10.07.2008, 10:53   #5
edgy
Форумчанин
 
Регистрация: 15.06.2008
Сообщений: 271
По умолчанию

Смотря с какими СУБД вы собираетесь в дальнейшем работать. Если с тяжеловесами типа MS SQL или Oracle, то изучайте их. Для вашей поставленной задачи, подойдет практически любая СУБД.
edgy вне форума Ответить с цитированием
Старый 10.07.2008, 12:12   #6
ANB
 
Регистрация: 10.07.2008
Сообщений: 3
По умолчанию

Ракомендую изучать FireBird.
Во первых это "родная" база для Делфи (в стандартной поставке есть все необходимые компоненты для работы с ней - закладка Interbase).
Во вторых он бесплатен и в то же время это мощный сервер.
В третих есть Embedded вариант (как раз для Вашего случая). Тоесть одна программа без всяких перенастроек может работать с полноценным сервером (в том числе удаленным), а можно скопировать в папку с программой пару файлов и получится локальный вариант, для которого не нужно вообще ничего устанавливать на машине клиента - скопировал и работай.
ANB вне форума Ответить с цитированием
Старый 10.07.2008, 12:44   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
в стандартной поставке есть все необходимые компоненты для работы с ней - закладка Interbase
Че для IB и FB одни и теже компоненты???
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 10.07.2008, 13:03   #8
ЛомиК
Пользователь
 
Регистрация: 09.07.2008
Сообщений: 66
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Возбми Access и не парься. SQL он везде почти одинаков.
Ну так а чего его брать то? Он уже готов, только неподходит он мне, я свою идею хочу реализовать, нужна простая, локальная быстрая и легкая база без наворотов.

Цитата:
Сообщение от ANB Посмотреть сообщение
Ракомендую изучать FireBird.
Во первых это "родная" база для Делфи (в стандартной поставке есть все необходимые компоненты для работы с ней - закладка Interbase).
Во вторых он бесплатен и в то же время это мощный сервер.
В третих есть Embedded вариант (как раз для Вашего случая). Тоесть одна программа без всяких перенастроек может работать с полноценным сервером (в том числе удаленным), а можно скопировать в папку с программой пару файлов и получится локальный вариант, для которого не нужно вообще ничего устанавливать на машине клиента - скопировал и работай.
Вот это уже ближе к телу, надеюсь удасться найти описалово.

Чето я роюсь, роюсь а описалова на формат .cds никакого, хотя пишут, что за счет выгрузки всей базы в оперативу, получается весьма неплохое быстродействие, мож есть на него чегото? Ведь давно внедрен то...

Пошел искать инфу по FireBird - Embedded...

Ой, а это как же? -
Однако, embedded/personal имеет ряд ограничений. Поскольку это dll, загружаемая вашим приложением (exe), то сам exe вместе с dll представляет собой процесс сервера. Таким образом, нельзя запустить два exe, обращающихся к одной и той же базе данных - база данных может быть испорчена (Embedded/Personal вообще то блокирует файл для монопольного доступа, чтобы этого не случилось, но если вам попадется ранняя версия Embedded, то может получиться, что два exe откроют одну базу данных). Поэтому при разработке и отладке ваших приложений для работы нужно использовать обычный сервер, а не embedded (иначе вам придется в дизайн-тайме разрабатывать приложение "вслепую", не видя данных). То же самое относится к web-приложениям.

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

А как с этим в CDS базах? Можно ли в них менять данные из двух или более одновременно открытых приложений?

Последний раз редактировалось Alex21; 14.07.2008 в 18:51.
ЛомиК вне форума Ответить с цитированием
Старый 10.07.2008, 14:33   #9
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

ЛомиК, или одно или другое... Если версия embedded - то НЕЛЬЗЯ запустить одновременно два Ваших приложения... Если же в этом есть необходимость - то никто не мешает Вам поставить локально сервер FireBird и Ваше приложение будет работать без переделки с сервером... сколько угодно подключений одновременно...
Кстати, СУБД типа MySQL/MSSQL/Oracle не будет работать без установки серверной части...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 10.07.2008, 15:05   #10
ЛомиК
Пользователь
 
Регистрация: 09.07.2008
Сообщений: 66
По умолчанию

Так, вернулись к началу, а автономный компонент TClientDataSet который использует свой собственный формат данных, может работать с несколькими приложениями одновременно?
Неужели невозможно организовать базу данных не устанавливая никаких серверов?

Цитата -
Этот компонент при создании проецирует файл в память и модифицирует только память, а при уничтожении данные записываются в файл целиком.

Если использовать одно окно для чтения и записи, а другие только для чтения, то проблем вроде недолжно возникать.

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

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

Короче вот откопал статейку, вроде то, там посмотрим -
http://works.tarefer.ru/69/100266/index.html

Последний раз редактировалось Alex21; 14.07.2008 в 18:51.
ЛомиК вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
База данных Alex XXX Помощь студентам 3 08.08.2008 10:23
База данных Andr180nag JavaScript, Ajax 3 02.08.2008 14:01
База данных xakkkkker БД в Delphi 1 22.03.2008 12:03