Форум: "Потрепаться";
Текущий архив: 2005.01.09;
Скачать: [xml.tar.bz2];
ВнизНаписать базу данных БЕЗ использования баз данных :))) Найти похожие ветки
← →
Cosinus © (2004-12-17 11:53) [0]Есть конкретная задача - написать базу данных по компьютерам без использования БД, как бы глупо это не звучало :) На каких-нибудь файлах. А именно необходимо, чтобы был какой-либо список компов, и при выделении одного из них, по нему выводилась техническая информация - все железо, которое в нем стоит и версия ОС. Проблемм никаких, если бы не одно НО... Допустим в компе Comp1 стояла видеокарта TNT2. Стояла-стояла и вдруг ее из Comp1 переставили в Comp2, а в него воткнули свежекупленную Radeon. Никак что то не допру, как лучше реализовать это перемещение в файлах, оно тоже должно быть доступно, например, по поиску. Или если я захочу просмотреть ее историю (карты). Не подскажите, как это лучше сделать?
← →
Reindeer Moss Eater © (2004-12-17 11:54) [1]MS Excel
← →
Ega23 © (2004-12-17 11:55) [2]1. XML
2. TClientDataSet.SaveToFile
← →
KSergey © (2004-12-17 11:56) [3]Типизированные файлы.
ПО сути реализовать движек БД
PS
К стати, а не глупА ли сия затея, если честно? Ведь это будет написание велисспеда, особенно если завтра возникнет вопрос "а как бы еще и сортировать по наименованию?"
← →
Суслик © (2004-12-17 11:56) [4]тут минимум 2 вопроса:
1. Как пользоваться файлами в качестве хранилища данными
2. Какую архитектуру выбрать для решения задачи
Ты задавай вопросы более конкретно и последовательно - отвечать легче
← →
Danilka © (2004-12-17 11:57) [5]
> написать базу данных по компьютерам без использования БД,
> как бы глупо это не звучало
Действительно, звучит глупо. :)
Если "На каких-нибудь файлах" то это тоже будет база. Толька на файлах каких-то. :)
Может, имеется ввиду без использования СУБД и стандартных средств доступа? Ну, дык, какие проблемы, пиши, правда, есть мнение, что никчему писать то, что уже написано в различных вариациях, целое море, выбирай-нехочу. :))
[1] Reindeer Moss Eater © (17.12.04 11:54)
А это что, не база будет? :)
← →
Digitman © (2004-12-17 11:59) [6]
> написать базу данных .. без использования БД
действительно глупо звучит.
начиная с того, что "написать базу данных" - нонсенс.
← →
Sergey13 © (2004-12-17 12:01) [7]2Cosinus © (17.12.04 11:53)
В принципе можно создать программу (в широком смысле) и без компьютера. Например арифмометр (кто помнит) - непрограммируемый калькулятор. Только стОит ли?
← →
Cosinus © (2004-12-17 12:01) [8]
> Суслик © (17.12.04 11:56) [4]
Интересует второй вопрос.
> Danilka © (17.12.04 11:57) [5]
Может, имеется ввиду без использования СУБД и стандартных средств доступа?Да, я именно это и имел ввиду.
Лучше всех перевел мой кривой вопрос на русский язык Суслик © :) Интересует второй вопрос.
← →
Digitman © (2004-12-17 12:04) [9]
> Лучше всех перевел мой кривой вопрос на русский язык Суслик
>
тоже мне .. "устроитель кастинга" ..
← →
Суслик © (2004-12-17 12:05) [10]
> [8] Cosinus © (17.12.04 12:01)
Ну сделай так:
1. У каждого компонента есть родитель.
2. У каждого компонента есть список истории родителей.
3. При смене родителя старый родитель и дата смены добавлятеся в список.
Как хранить - сам реши.
Возможные отчеты:
1. Посмотреть все подкомпоненты данного компонента: перебрать все компоненты и сравнить их родителя с текущим компонентом
2. Помотреть в истории, кто был родителем компонентом: запросто - посмотерть историю
3. Можно еще вытянуть что-то.
← →
vecna © (2004-12-17 12:06) [11]IStorage
← →
Суслик © (2004-12-17 12:06) [12]IStream
← →
ocean (2004-12-17 12:07) [13]в старые времена Турбо С и т.п. вполне уместное желание (написать библиотеку допустим к DBF), но сейчас есть гораздо более простые методы, практически не требующие затрат времени.
Ну набери табличку в Excel, как советовал
> Reindeer Moss Eater
, отличный вариант в духе времени - 2-й пост. Возможно, тебе не хочется ставить на клиент BDE, тогда используй ADO с соотв. закладки
← →
Алхимик © (2004-12-17 12:11) [14]Учет и контроль компьютеров в сети.
FreeWare
http://checkcfg.narod.ru/index.htm
И не надо никаких БД без БД.
← →
msguns © (2004-12-17 12:12) [15]Базы данных не пишут. Их вводят, заполняют, изменяют, реплицируют и т.д. Пишут же Системы Управления Базами Данных (СУБД). Если надо создать именно БД, то, ИМХО, зачем изобретать велосипед, если есть куча готовых СУБД: тот же аксес, ексел, хамл и т.д.
Поэтому надо уточнить у препода, что именно он хочет: саму базу или программу, которая будет управлять этой базой ? Если второе и без известных форматов (СУБД), то есть масса вариантов:
от простых текстовых файлов, до бинарных, имеющих свой специфический формат. При грамотном проектировании юзер не заметит, какой-там у тебя файл: текстовый или сивель-серверный. Разве что по времени реакции на его действие при достаточно больших объемах. (Имеется в виду, конечно же, локальная, однопользовательская БД)
← →
Cosinus © (2004-12-17 12:49) [16]
> msguns © (17.12.04 12:12) [15]
Гы:)
Это не препод - это сисадмин :))))
← →
Sergey13 © (2004-12-17 12:54) [17]2[16] Cosinus © (17.12.04 12:49)
>Это не препод - это сисадмин :))))
А ему то какая разница?
← →
Anatoly Podgoretsky © (2004-12-17 13:12) [18]Cosinus © (17.12.04 12:01) [8]
Какой второй вопрос, у тебя задан всего лишь один, можешь сам посчитать количество вопросительных знаков.
И в конце концов попробуй сформулировать вопрос/вопросы.
← →
by © (2004-12-17 13:18) [19]Firebird Embeded и не надо изобретать велосипедов.
Или сначала придумаем себе трудности а потом героическими усилиями их решаем?
← →
Алхимик © (2004-12-17 13:21) [20]
> [19] by © (17.12.04 13:18)
[14] ещё проще, я думаю.
← →
Digitman © (2004-12-17 13:24) [21]
> by © (17.12.04 13:18) [19]
> Firebird Embeded и не надо изобретать
не надо ругаться страшными словами и умничать) ..
человек, понимаешь ли, хочет "написать базу данных", а ты ему тут про какие-то Firebird Embeded ..
нет бы объяснить, чем отличается "база данных" от инструментов/механизмов/ПО для реализации/поддержки "систем управления базами данных" ..
← →
Суслик © (2004-12-17 14:12) [22]2all
Ну ясно же о чем человек спросил.
Что вы издеваетесь.
Вопрос был про организацию структуры данных хранения нужной ему информации без привлечения дополнительных стредств сторонних разработчиков.
Вопрос, очевидно поставлен некорректно и неполно. В этом есть вина автора. Но все же общий смысл ясен.
← →
Fay © (2004-12-17 14:14) [23]2 Суслик © (17.12.04 14:12) [22]
Это довольно сложная тема, чтобы обсуждать её в общем виде
← →
Sergey13 © (2004-12-17 14:17) [24]2[22] Суслик © (17.12.04 14:12)
По моему телепатические способности у тебя сегодня не на высоте. 8-)
>Есть конкретная задача - написать базу данных по компьютерам без использования БД, как бы глупо это не звучало :) На каких-нибудь файлах.
Ты считаешь это про структуру?
← →
Суслик © (2004-12-17 14:19) [25]
> [24] Sergey13 © (17.12.04 14:17)
Ну началось словоблудие + лингвистический анализ.
/:-(
← →
КаПиБаРа © (2004-12-17 14:24) [26]by © (17.12.04 13:18) [19]
Одназначна!
← →
Digitman © (2004-12-17 14:28) [27]
> Суслик © (17.12.04 14:19) [25]
а вот ты возьми и рискни объяснить на пальцах автору, что такое "организация структуры данных хранения нужной ему информации без привлечения дополнительных стредств сторонних разработчиков" !
а когда окончательно запаришься вести автора "от сложного к простому", не вздумай отсылать его в ФАК, РТФМ, справку, книжки, и иже с ними !.. иначе чан с дерьмом на голову тебе обеспечен ...
и рискни утверждать, что это будет совсем не так.
← →
КаПиБаРа © (2004-12-17 14:36) [28]Digitman © (17.12.04 14:28) [27]
Хватит выпендриваться.
Человеку нужно написать программу с определенными требованиями. Он определил для себя инструмент, не самый оптимальный и не самый легкий. Грамотнее всего будет порекомендовать более оптимальное решение, о котором он не знает в силу каких-то причин, вместо словоблудия по теме явно неперспективнго решения.
← →
Суслик © (2004-12-17 14:36) [29]
> [27] Digitman © (17.12.04 14:28)
Зачем рисковать.
Я как-то понял вопрос. Пренебрижительное отношение к изобретателям великов мне не свойственно, т.к. сам в основном придерживаюсь такой же поизции: у меня много своего, пока не жалуюсь. Поэтому я не советовал ему взять что-то готовое.
Я как-то попытался сказать, как бы я это делал, если бы у меня стояла такая задача.
Ну не поймем он, ну и фиг, поймет и задаст дополинтельный вопрос - очень хорошо. Если вопрос дурацкий и человек не хочет общаться, а хочет готовое решение, то я тихо не буду общаться - зачем мне это нужно.
Где риск. О каком чане с дерьмом ты говорил?
← →
KSergey © (2004-12-17 14:37) [30]> [22] Суслик © (17.12.04 14:12)
> Вопрос, очевидно поставлен некорректно и неполно. В этом
> есть вина автора. Но все же общий смысл ясен.
Нет, дело в другом.
Автор хочет чего-то, но непонятно на кой.
И есть большое подозрение, что если бы он озвучил причину столь странного делания - нашлись бы много способов реализовать это все вполне согласно реальным требованиям, но, однако, со значительно меньшими затратами.
Так вот, автор: растолкуйте, зачем такие изыски? Чем стандартные "движки" и форматы не угодили?
← →
Суслик © (2004-12-17 14:39) [31]
> [30] KSergey © (17.12.04 14:37)
> Автор хочет чего-то, но непонятно на кой.
Это его дело. Он тебя не просил за него думать.
Чтобы кого-то попросить думать (в хорошем смысле) за тебя, нужно дорасти.
← →
msguns © (2004-12-17 14:46) [32]>by © (17.12.04 13:18) [19]
>Firebird Embeded и не надо изобретать велосипедов.
Ага, вакцина от всех болячек. Эликсир жизни.
Очень хорош, например, для телефонного справочника. Или для домашнего каталога CD.
Вот не надо в каждый пирожок сыпать творожок, а ?
← →
by © (2004-12-17 14:51) [33]msguns © (17.12.04 14:46) [32]
А чем не устраивает?
← →
КаПиБаРа © (2004-12-17 14:54) [34]msguns © (17.12.04 14:46) [32]
А какова ваша унивирсальная ночинка для пирога?
← →
Digitman © (2004-12-17 14:59) [35]
> КаПиБаРа © (17.12.04 14:36) [28]
> Хватит выпендриваться.
переведи ?
> Человеку нужно написать программу с определенными требованиями
завтра тот же автор придет и начнет канючить, мол, вот ты КаПиБаРа, мне понасоветоавл сделать то-то и так-то "на каких-нибудь файлах", а теперь мне непонятно как сделать мгновенную выборку из файла размером в Гб с лишним .. что ты ему скажешь, а ? мол, не с этого начинать надо было ? так что ли ? или в книжку опять же пошлешь ?
← →
msguns © (2004-12-17 15:02) [36]Для справочника телефонов вполне подойдут хотя бы аксесные формы.
Есть на каждой тачке, достаточно надежны.
Каталог CD запросто можно запхать в текстовик и написать простую прожку его просмотра и обновления. Вместе с поиском и фильтрами.
И так во всех случаях. ИМХО, КСС (клиент-серверные системы) нужны прежде всего там, где нужна конфеденциальность, многопользовательность, скорость и повышенная надежность.
← →
КаПиБаРа © (2004-12-17 15:05) [37]Digitman © (17.12.04 14:59) [35]
> КаПиБаРа © (17.12.04 14:36) [28]
> Хватит выпендриваться.
переведи ?
Перевожу
не надо ругаться страшными словами и умничать) ..
человек, понимаешь ли, хочет "написать базу данных", а ты ему тут про какие-то Firebird Embeded ..
нет бы объяснить, чем отличается "база данных" от инструментов/механизмов/ПО для реализации/поддержки "систем управления базами данных" ..
← →
Digitman © (2004-12-17 15:06) [38]
> КаПиБаРа © (17.12.04 14:36) [28]
или про индексы песню затянешь ? про которые кратко и внятно, без лишних потерь времени можно было почитать в той же книжке ?
← →
Суслик © (2004-12-17 15:12) [39]а может ему и индексы не нужны? А?
при относительно небольших объекмах индексы не нужны.
Напимер, у него всего 200 сущностей.
Ему нужен индекс? Даже 0(n^2) алгоритмы полне нормально работают.
Нужны ему О(n lg n) - сильно не уверен.
← →
Digitman © (2004-12-17 15:13) [40]
> КаПиБаРа ©
или оправдываться будешь, что, мол, дерьмовое твое ТЗ, товарисч АВТОР, ибо ты ничего не сказал изначально про то что эту базу будет пользовать более чем один юзер одновременно ? и встает во весь рост проблема арбитража доступа к записям в таблицах "базы" ?
вот уж не знаю, кто из нас с тобой более выпендривается : я ли в желании намекнуть АВТОРУ на необходимость фундаментального подхода к решению задачи, ты ли в демонстративной примитивизации ..
← →
Digitman © (2004-12-17 15:14) [41]
> Суслик © (17.12.04 15:12) [39]
> Напимер, у него всего 200 сущностей.
давай, давай ... телепатируй) ...
← →
KSergey © (2004-12-17 15:43) [42]> [31] Суслик © (17.12.04 14:39)
> Это его дело. Он тебя не просил за него думать.
Хорошо, рассказываю по себе.
Как бывает часто: что-то немного знаешь, начинаешь рыть. Роешь-роешь - и упрешься в стену. Все. Дальше или полный изврат - или вообще никак. Зачем это? Зачем это зря потреченное веремя? Именно зря!
Опять же одно дело - учебные задачи, но тут уже быдл указано - что случай не учебный. Тогда - зачем??
Так может стоит сразу не продолжать вести по изначально, вероятнее всего, тупиковому пути - а предложить посмотреть на задачу шире? Т.е. начать с постановки и просто ее персмотреть?
И только если убедиться, что автор на вопрос "зачем" иеет четкое обоснование верности своего выбора - есть смысл продолжать в том же русле.
Здесь же есть подозрение, что автор просто не в курсе всех возможностей. (да, не один вы телепат)
Поддерживаю [27] Digitman © (17.12.04 14:28)
← →
Sergey13 © (2004-12-17 15:50) [43]2[42] KSergey © (17.12.04 15:43)
>Как бывает часто: что-то немного знаешь, начинаешь рыть.
ИМХО чаще бывает: чего-то не знаешь, думаешь - дай ка я это обойду "своим" способом, который знаю.
Дальше как у тебя. 8-)
← →
KSergey © (2004-12-17 15:56) [44]> [43] Sergey13 © (17.12.04 15:50)
Да, ваша трактовка вернее ;)
Впрочем, ключевое слово у меня "что-то". Т.е. считаешь, что знаешь, на самом деле... ;)
← →
kai © (2004-12-17 16:00) [45]в компонентах TVirtualTreeview удобные и гибкие методы работы с данными, связанными с иерархической структурой.
← →
kai © (2004-12-17 16:01) [46]в компонентах TVirtualTreeview удобные и гибкие методы работы с данными, связанными с иерархической структурой.
← →
Digitman © (2004-12-17 16:07) [47]
> KSergey © (17.12.04 15:43) [42]
> Зачем это зря потреченное время?
У многих его "дохрена и более".
Потом - грабли по лбу. И не один раз.
Как результат. Вполне достоверный.
И начинается канючанье ... на разного рода форум-ресурсах Рунета ..
Зачем это ? Да незачем !
Достаточно же было понять намек - без фундаментальных знаний в решении реальных (не учебных) задач на этом поприще нечего и "взбрыкивать" ..
И неважно, что разного рода "..за 21 день.." упрямо настаивают на "Кинь на фоорму батон - и готово !"
← →
Danilka © (2004-12-17 16:14) [48]Cosinus
бедняга, ну ты и попал. :))
← →
KSergey © (2004-12-17 16:27) [49]> [48] Danilka © (17.12.04 16:14)
Хорошо сказано! ;))))
← →
Algol (2004-12-17 16:58) [50]
> Digitman © (17.12.04 16:07) [47]
Если бы все работали по вашей технологии ("изучи все, а затем пиши"), то никто бы до сих пор ничего и не написал бы, поскольку изучить все - невозможно.
Тонкости технологии всегда проявляются во время работы с ней. Теоретизирования никогда не бывает достаточно.
← →
Суслик © (2004-12-17 17:01) [51]поддерживаю [50].
Пусть автор копается, если не дурак то и до фундамента докопается.
← →
Digitman © (2004-12-17 17:07) [52]
> Algol (17.12.04 16:58) [50]
> Если бы все работали по вашей технологии ("изучи все, а
> затем пиши"), то никто бы до сих пор ничего и не написал
> бы, поскольку изучить все - невозможно.
а вот фарс тут устраивать не стоит.
на-ка вот тебе "свежий" пример
http://delphimaster.net/view/8-1103289119/
ну ? давай-ка без "фундамета" ответ автору ?
← →
Суслик © (2004-12-17 17:09) [53]
> ну ? давай-ка без "фундамета" ответ автору ?
Если не ошибаюсь, то фраза "тут никто никому ничем не обязан" входит в топ 10 любимых харизматических выражений на данному форуме одного многоуважаемомго мастера.
Я придерживаюсь той же позиции. Пусть и автор указанного топика поймет это.
← →
Digitman © (2004-12-17 17:13) [54]
> Суслик © (17.12.04 17:09) [53]
действительно, никто никому ничем не обязан.
но каждый вправе изложить свою позицию в ответе на вопрос, ему адресованный.
← →
Algol (2004-12-17 17:15) [55]
> Digitman © (17.12.04 17:07) [52]
Ну какой же здесь фарс? В данном случае я высказываю вполне прагматичную мысль о том, что если приступая к работе, программист знает хотя бы половину из тех технологий, которые он собирается применять - это уже хорошо.
А уж если сроки поджимают - то тут и через левое ухо будешь прыгать - никуда не денешся.
← →
Суслик © (2004-12-17 17:18) [56]
> [54] Digitman © (17.12.04 17:13)
> но каждый вправе изложить свою позицию в ответе на вопрос,
> ему адресованный.
Полностью согласен.
Вот только бы пользу это приносило...
← →
Digitman © (2004-12-17 17:23) [57]
> Algol (17.12.04 17:15) [55]
давай не будем голословными : пониманием какой
"половины" из тех технологий, которые подразумеваются сабжем, обладает автор ? судя по вопросу ?
идем дальше : причем здесь технологии вообще ? до них даже дело не доходит при сколь-либо внимательном рассмотрении.
очевидно, что задача д.б. разделена на подзадачи, прежде чем рассуждать о "технологиях".
и программа как задача есть ни что иное как концентрированная реализация кучи взаимосвязанных технологических подзадач.
← →
Digitman © (2004-12-17 17:28) [58]
> уж если сроки поджимают - то тут и через левое ухо будешь
> прыгать - никуда не денешся
а хороша наука будет : не берись за дело, которое не знаешь/умеешь.
считаешь тем не менее, что дело "твое" ? слушай и вникай в малейшие намеки/направления того, кто твое "дело" освоил раньше тебя и уже знает кратчайший путь к его освоению, включая грабли.
← →
Algol (2004-12-17 17:50) [59]
> а хороша наука будет : не берись за дело, которое не знаешь/умеешь.
>
> считаешь тем не менее, что дело "твое" ? слушай и вникай
> в малейшие намеки/направления того, кто твое "дело" освоил
> раньше тебя и уже знает кратчайший путь к его освоению,
> включая грабли.
Это все конечно правильно, и слова правильные, и мысли умные (без тени иронии). Одно НО: к жизни это отношения не имеет. Учатся только на своих ошибках. Никогда не поверю, что существуют люди, учащиеся на ошибках дргуих... Ну не верю я в это и все тут ))
← →
Digitman © (2004-12-17 18:06) [60]
> Algol (17.12.04 17:50) [59]
чудненько.
"Согласие есть продукт при полном непротивлении .."(С) Г.Вицин
, как помнится ..
однако, "базар-вокзал" утомил.
пора кому-то дать понять автору, что есть "БД" и есть "СУБД" ..
← →
Безымянное среднего рода © (2004-12-17 19:30) [61]
> Digitman © (17.12.04 14:28) [27]
>
> > Суслик © (17.12.04 14:19) [25]
>
>
> а вот ты возьми и рискни объяснить на пальцах автору, что
> такое "организация структуры данных хранения нужной ему
> информации без привлечения дополнительных стредств сторонних
> разработчиков" !
"Неприличными словами не выражаться!!!" (с)
← →
cyborg © (2004-12-18 11:30) [62]Два типизованных файла. Первый - названия железок, второй данные компьютеров.
TYPE
THardware = record
Name : String[200];
end;
TComp = record
Name : String[200];
CPU : Longint;
MEM : Longint;
HDD : Longint;
... и т.д.
end;
Где в записи TComp поля Longint - номеря записи в файле с THardware.
← →
Igorek © (2004-12-18 13:38) [63]Cosinus © (17.12.04 11:53)
> На каких-нибудь файлах.
Бэз проблем. Файл - таблица. Запись - подстрока файла. Поля - части подстроки. Все подстроки фиксированной длины. Метаданные - отдельно.
← →
Anatoly Podgoretsky © (2004-12-18 13:59) [64]cyborg © (18.12.04 11:30) [62]
А это и есть база данных, только свой движок, а просили без баз, только как возможен этот нонсенс база без баз.
Страницы: 1 2 вся ветка
Форум: "Потрепаться";
Текущий архив: 2005.01.09;
Скачать: [xml.tar.bz2];
Память: 0.7 MB
Время: 0.033 c