Форум: "Базы";
Текущий архив: 2006.07.09;
Скачать: [xml.tar.bz2];
ВнизСохранить массив в БД Найти похожие ветки
← →
Галинка © (2006-05-08 23:25) [0]Доброго времени суток!
Есть необходимость сохранить массив (примерно 1260 значений; real) в БД. Пока остановилась на Аксесе, но это не определено. Краем уха слышала, что для этого подходят BLOB-поля.
Что можете посоветовать. Лучше источники.
← →
Галинка © (2006-05-09 00:21) [1]Должны ли данные для BLOB-полей хранится на диске в файлах, или они хранятся прямо в базе?
← →
alex-drob © (2006-05-09 00:48) [2]Точно не помню, в MySql кажется до определённого размера храняться в базе, а большие в отдельных файлах.
← →
DiamondShark © (2006-05-09 13:03) [3]
> слышала, что для этого подходят BLOB-поля.
Для чего "для этого"?
Если просто хранить неважно_какой_массив_неважно_чего, то, наверное, подходят.
А если нужен поэлементный доступ, то, наверное, отдельная таблица больше бы подошла.
Зачем этот массив нужен, и что с ним дальше будет происходить?
← →
demon81 © (2006-05-09 18:55) [4]Вообще-то в любом случае нагружать таблицу большим количеством полей не стоит, а вот BLOB поля идеально для этого подходят.
MS SQL Server хранит такие данные в одной файле с таблицей (так как все данные у данного сервера хранятся в нескольких файлах, в зависимости от конфигурации БД), в dBase это будут отдельные файлы. Interbase также как и MS SQL server хранит одним файлом. А работать с такими полями удобнее всего через потоки. Любые движки позволяют выделить сырые данные этих полей как есть
← →
Галинка © (2006-05-09 22:22) [5]DiamondShark © (09.05.06 13:03) [3]
написано же, 1250 элементов типа real.
в отдельную таблицу это не красиво и не корректно наверное, зачем мне таблица с одним столбцом и 1250 записями? И таких таблиц будет много, т.к. это результаты расчета. И мне не нужен поэлементнвй доступ. Мне сорее нужна возможность превратить это поле в текстовый файл.
Это все надо для экспорта пощитанного вектор-столбца во внешнее пиложение, с которым связываюсь посредством COM-сервера.
← →
Джо © (2006-05-09 22:32) [6]Пиши в текстовый файл посредством TStringList.
← →
Галинка © (2006-05-09 22:50) [7]Джо, спасибо. Это логично. Но не очень удобно. Потому как БД мне тоже нужна, а таскать и БД и директорию с такими вот файлами, или каждый раз их пересчитывать, то же морока. Именно поэтому и вопрос, хранятся ли блобы в самом файле БД, чтобы ничего не забыть "при переезде"
А так сделал выборку, сделал конвертацию (ну в смысле из блоб в текст, на время, потом убрал) и получил семейсиво кривых. Крысота и чудеса анализа... (не математического).
← →
Галинка © (2006-05-09 22:53) [8]А вот в самом Акцесе есть поле типа Мемо. Он говорит, туда мона написать симфольно-цифровые данные "общим весом" до 64 кб. Может сойдет? Его тоже можно в текст как-то быстро перевести?
Или все таки искать другую БД?
← →
Джо © (2006-05-09 22:54) [9]> [7] Галинка © (09.05.06 22:50)
> Джо, спасибо. Это логично. Но не очень удобно.
Пока не видно НИ ОДНОЙ причины, по которой бы СУБД была более удобной. Или, хотя бы, необходимой.
← →
Галинка © (2006-05-09 23:20) [10]Про БД это не я придумала. Это для анализа.
Смысл проекта - тепловой и силовой расчет двигателя. Скорее даже силовой, а тепловой это как предистория. Эти самые давления могут быть расчитаны (расчетная индикаторная диаграмма), а так же сняты с двигателя на стенде (опятная индикаторная диаграмма). Во втором случае есть уже система которая снимает и передает данные в матлаб, а вот для расчетной диаграммы и нужен маленький расчет в дельфи, результаты которого надо в таком же матричном виде передать в матлаб.
Так можно посчитать несколько двигателей одного типа размера, но, наприемер, с разным количеством цилиндров или разными степенями наддува. Сохранить результаты в БД, а потом сделать сравнительные мониторинг. Либо сравнить расечтные результаты с опытными.
← →
Джо © (2006-05-09 23:54) [11]Тогда непонятно, почему не устривает обычный человеческий способ хранить данные там, где их положено хранить — в столбцах таблицы? Одно значение — одна строка, тип поля — значение с плавающей точкой или иное, продиктованное задачей и возможностями СУБД.
← →
Desdechado © (2006-05-10 11:03) [12]если по уму, то я бы сделал так
таблица из 3 столбцов:
1. номер расчета
2. номер показателя
3. значение показателя (этот самый реал)
тогда все расчеты можно хранить в БД, получать доступ индивидуально как к расчетам, так и к конкретным показателям одного или нескольких расчетов, сравнивать, засовывать в формулы и прочее
выгрузить тоже легко, проще на порядок, чем из блоба (особенно неструктурированного)
← →
AlexWlad © (2006-05-10 20:03) [13]
> Галинка © (09.05.06 22:22) [5]
Раз не нужен поэлементный доступ, стоит посмотреть в сторону типизированных файлов. БД тут лишняя тяжесть.
← →
Галинка © (2006-05-10 23:53) [14]Цель базы не передача данных, а сохранение результатов для аналица. База - это цель. Обработка одного из полей в Матлабе - это лишь часть проекта, потому что в Матлабе проще обрабатывать матрицы.
ПыСы: если найду как сохранять средствами СОМ рисунки из Матлаб, то не плохо бы и их сохранить ))
← →
Jeer © (2006-05-11 13:42) [15]Галинка © (10.05.06 23:53) [14]
Сохраняй результаты в txt файл.
Очень многие известные мат.пакеты и системы обработки вполне этим довольствуются.
← →
Stanislav © (2006-05-11 13:52) [16]В Access есть поле объекта OLE это и есть Blob поле.
← →
Галинка © (2006-05-11 15:57) [17]Stanislav, ну хоть кто-то по делу. Я уже нашла это на Королевстве. И заполнять их надо через TBlobString.
Всем остальным. Таскать с собой и базу (она уже есть и это не обсуждается) и папку с текстовыми файлами - это согласитесь не удобно. Удобнее когда все в одном ларчике.
← →
Val © (2006-05-11 16:08) [18]>Галинка ©
как
> Таскать с собой и базу (она уже есть и это не обсуждается)
соотносится с
> Пока остановилась на Аксесе, но это не определено.
?
Путаете людей - получаете противоречивые ответы(но верные и хорошие, подчеркну).
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2006.07.09;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.013 c