Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
2-1150979987
*delete*
2006-06-22 16:39
2006.07.09
как проверить создание папки


9-1131856367
dfgd
2005-11-13 07:32
2006.07.09
Простой физический движок.


2-1151059159
alles
2006-06-23 14:39
2006.07.09
Нужен Ваш совет


2-1150554983
WebSqlNeederr
2006-06-17 18:36
2006.07.09
Как разделить строку (логины) по разделителю запятая?


2-1150388122
PRT
2006-06-15 20:15
2006.07.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
Английский Французский Немецкий Итальянский Португальский Русский Испанский