Форум: "Базы";
Текущий архив: 2003.01.16;
Скачать: [xml.tar.bz2];
ВнизРабота с DBF и с повторяющимися данными Найти похожие ветки
← →
KidMan (2002-12-19 22:21) [0]Привет! Хочу попросить у вас совета. В данный момент я пишу тестовую маленькую прогу типа записной книжки где есть поля для ввода номера аси, мыла, веб-паги и так далеее.
Проблема в том что у какого то лица инфу о котором я заношу в БД может быть несколько ась, ящиков и т.д. Не хотелось бы создавать две БД и связывать их между собой по ключевому полю... Т.е. связать их реалиционно так чтобы во второй базе сохранялись дополнительные вси и т.д. и чтобы записи были связаны с основной БД по полю например "имя"... Я достаточно подробно описал ситуацию?
В дополнение скажу что работаю с DBF for Win локально и без создания алиаса БД. Пишу напрямую в свойстве Table1.TableName := "c:\dase\xxx.dbf"
Инфа будет высвечиваться в DBGRID.
Вопрос банален: правильную ли я выбрал тактику и какая есть альтернатива?
Заранее благодарю!
← →
KSergey (2002-12-20 06:30) [1]Не понятно: Не хотелось бы создавать две БД и связывать их между собой по ключевому полю... но связать их реалиционно так чтобы во второй базе сохранялись дополнительные вси и т.д. и чтобы записи были связаны с основной БД по полю например "имя"...
Так все таки 2 таблицы или нет? Чего именно не хотелось бы делать?
В принципе, тактика для первой программы верна любая. Ну а когда она (прграмма) будет готова и будет нормально работать - сразу возникнет желание немного все изменить, которое выльется в полностью новую программу ;) Вот и все.
← →
KidMan (2002-12-20 08:09) [2]Я хочу использовать одну ДБ... Но тогда как я понимаю у меня один выход - намеренно создать конкретное кол-во полей типа ICQ1, ICQ2 и т.д.
Хотелось бы этого избежать...
← →
ЮЮ (2002-12-20 08:17) [3]>Я хочу использовать одну ДБ
Одну ТАБЛИЦУ, а не ДБ. Зачем тогда вообще использовать DBF? ведь для завпуска твоей маленькой проги надо ещё будет и BDE устанавливать, о чем ты даже наверное и не подозреваешь :-).
Используй тогда простой текстовый (или бинарный) файл
← →
sniknik (2002-12-20 08:47) [4]лутще даже 3 таблицы, в главной инфа о человеке, его ID, а все что имеет неопределенное количество в отдельных таблицах связаным по ID. Пока у тебя это аси и ящики (ведь и им не обязательно быть одинаковым по количеству, значит разные таблици)
если захочеш отказатся от DBF, то иши нормальную замену (с поддержкой индексов, SQL если предполагаются запросы), но никак не текстовый файл. (мое мнение)
← →
vopros (2002-12-20 09:19) [5]Если хочешь все в одной таблице хранить используй поле , например Примечание, где храни кучу всяко инфы.
← →
KidMan (2002-12-20 09:39) [6]Спасибо всем за советы Мастера! Учту и постараюсь выбрать оптимальный вариант. Вот единственное... не хотелось бы мне использовать мемо поля... Расбухнет БД быстро...
ЮЮ
--
Что же касается вашего замечания ЮЮ, то замечу вместо того чтобы улыбаться с сарказмом, играть определениями (ведь старым программистам под ДОС наверно понятно, что разницы между понятием Таблицы и БД нет, ибо в во времена до объектно-ориентированного програмирования Таблицы теперешние назывались именно БД - физический файл) и давать неправильные советы, стоило бы немного сбись с себя спесь :)) Не обижайтесь ЮЮ, но вы очень грубо ошиблись, утверждая, что мне нужен будет алиас в БДЕ создавать для проги. Сообщаю вам, что для того чтобы БД (по крайней мере ДБФ-файл) работала локально на машине достаточно не исполбзуя БДЕ, в свойстве так любимой вами таблицы указать локальный путь к файлу:
Table1.TableName := "c:\base\xxx.dbf";
и все проблемы решены...
Спасибо еще раз всем и Удач!
← →
Vint (2002-12-20 10:04) [7]>KidMan © (20.12.02 09:39)
Вот единственное... не хотелось бы мне использовать мемо поля... Расбухнет БД быстро...
И не надо их использовать! Во первых в Paradox от них только глюки, во вторых по ним медленный поиск, по моему 255 буквами можно описать в блокноте что угодно!
Что же касается вашего замечания ЮЮ
Тебе говорили про BDE, а не про Alias, без BDE ты не только не настроишь языковой драйвер, но даже не откроешь свою таблицу, поэтому подумай всетаки насчет текстового файла, для блокнота самое то!
Хотя если программу делаешь только для себя, то можно и под SQL сервер замочить :-)
← →
sniknik (2002-12-20 10:27) [8]KidMan © (20.12.02 09:39)
> Сообщаю вам, что для того чтобы БД (по крайней мере ДБФ-файл) работала локально на машине достаточно не исполбзуя БДЕ, в свойстве так любимой вами таблицы указать локальный путь к файлу:
Table1.TableName := "c:\base\xxx.dbf";
и все проблемы решены...
заблуждение, может вам в дальнейшем дорого стоить (минимум программу переписать). Если уж используеш компоненты с вкладки BDE то мирись с тем что придется ее ставить на клиенте, независимо от того как путь к базе прописываеш.
← →
KidMan (2002-12-20 10:59) [9]Сорри! Вы были правы на счет БДЕ я ошибся! Виноват! :(((
Подскажите тогда плиз альтернативный путь чтобы не использовать БДЕ... а то я представляю какого размера будет интсаляшка такой простой маленькой програмки!
Заранее благодарю!
← →
ЮЮ (2002-12-20 11:05) [10]Read, Write с типизированными файлами
TSringList.LoadFromFile, .SaveToFile и т.п.
← →
sniknik (2002-12-20 11:33) [11]сделай поиск типа "компоненты без BDE", выдаст кучу ссылок уверен. По некоторым причинам выбрал себе HALCYON (исходники, поддержка клиперных индексов).
брал отсюда
http://www.vodonosov.newmail.ru/develop/develop.htm
← →
Alexander Vasjuk (2002-12-20 11:39) [12]А я в таких случаях пользуюсь TClientDataSet.
Он может читать/писать в файл.
Причем, связаные таблицы хранятся тоже в 1 файле...
← →
Vint (2002-12-20 12:21) [13]Если в твоем блокноте только текст, он небольшого размера и ты не замарачиваешся со всякими сортировками, поиском и т.д. может прокатить IniFile. Скажем SectionValues это ФИО, а SectionsList.Values это тел., адрес и ...
Код будет минимальный, а работать будет все шустро!
← →
myor (2002-12-20 12:33) [14]
> Что же касается вашего замечания ЮЮ
замечание как раз правильное, хотя тебя, конечно, все поняли.
но ты должен понимать разницу межде БД и таблицей. для твоей проги нужна только одна бд с двумя-тремя (sniknik), а может и больше, таблицами. а вопрос об использовании нескольких бд при написании простого блокнота- нонсенс.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.01.16;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.01 c