Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 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
11-1085226971
Yustas
2004-05-22 15:56
2005.01.09
Не работает Message


14-1103442912
Matveyev
2004-12-19 10:55
2005.01.09
Посмотрите программу


1-1103782306
Denmin
2004-12-23 09:11
2005.01.09
Срочно!!! Горю!!! Не печатается QuickReport в win98!!


3-1102513151
Виктор23
2004-12-08 16:39
2005.01.09
Медленное выполнение ADODataSet1.Next


14-1103216362
Igorek
2004-12-16 19:59
2005.01.09
А что за мода такая пошла на псевдонимы ?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский