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

Вниз

Сохранить массив в БД   Найти похожие ветки 

 
Галинка ©   (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;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.055 c
2-1151034070
MasterDelphi
2006-06-23 07:41
2006.07.09
MySql


1-1148577796
wsih
2006-05-25 21:23
2006.07.09
реализовать подстрочный вывод текста


3-1147295262
lamer_y
2006-05-11 01:07
2006.07.09
запрос


2-1150726284
Кефир87
2006-06-19 18:11
2006.07.09
HELP!!! OVERLAY.TPU


2-1151069374
drashka
2006-06-23 17:29
2006.07.09
Шаблон ввода (Caption) из Database Editor