Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.01.09;
Скачать: CL | DM;

Вниз

Написать базу данных БЕЗ использования баз данных :)))   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.66 MB
Время: 0.043 c
1-1103812351
stelius
2004-12-23 17:32
2005.01.09
Факториал


6-1098281463
pomashok
2004-10-20 18:11
2005.01.09
Проверка инета


9-1095677496
SiDChik
2004-09-20 14:51
2005.01.09
3D графика


1-1103796393
pasha_golub
2004-12-23 13:06
2005.01.09
Ужас с конструктором


14-1103642476
Болтуны, кто они?
2004-12-21 18:21
2005.01.09
Предлагаю выбрать наиболее болтливых, по принципу: