Форум: "Базы";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];
ВнизМассивы в Базе данных. Найти похожие ветки
← →
Balkon (2004-04-12 15:52) [0]Приветствую, Мастера. Создаю приложение и базу(впервые:)), которая должна хранить параметры и результаты неких экспериментов. Некоторые из результатов эксперимента являются численными массивами.
Каждая запись в моей таблице хранит сведения об одном эксперименте. С сохранением параметров простого типа проблем нет. Но вот в полях какого типа можно хранить массивы? Пока что обхожусь заведением отдельного поля соответствующего типа для каждого элемента массива. :) Для тестирования приложения этого хватает. Но для нормального рабочего приложения понимаю, что это не правильно.
Каким образом (в полях какого типа) обычно хранятся массивы действительных/целых чисел в базе данных (Парадокс)?
Спасибо.
← →
Balkon (2004-04-12 15:52) [0]Приветствую, Мастера. Создаю приложение и базу(впервые:)), которая должна хранить параметры и результаты неких экспериментов. Некоторые из результатов эксперимента являются численными массивами.
Каждая запись в моей таблице хранит сведения об одном эксперименте. С сохранением параметров простого типа проблем нет. Но вот в полях какого типа можно хранить массивы? Пока что обхожусь заведением отдельного поля соответствующего типа для каждого элемента массива. :) Для тестирования приложения этого хватает. Но для нормального рабочего приложения понимаю, что это не правильно.
Каким образом (в полях какого типа) обычно хранятся массивы действительных/целых чисел в базе данных (Парадокс)?
Спасибо.
← →
Vlad © (2004-04-12 15:55) [1]
> Balkon (12.04.04 15:52)
Зачем такой изврат ? Таблица - и есть массив.
> Каким образом (в полях какого типа) обычно хранятся массивы
> действительных/целых чисел
Ты про реляционные БД что нибудь слышал ? Их умные люди придумали чтобы не извращаться с массивами.
← →
Vlad © (2004-04-12 15:55) [1]
> Balkon (12.04.04 15:52)
Зачем такой изврат ? Таблица - и есть массив.
> Каким образом (в полях какого типа) обычно хранятся массивы
> действительных/целых чисел
Ты про реляционные БД что нибудь слышал ? Их умные люди придумали чтобы не извращаться с массивами.
← →
Johnmen © (2004-04-12 15:56) [2]1. Заведи столько детальных таблиц, сколько срезов результата надо.
2. Или используй поле типа BLOB
← →
Johnmen © (2004-04-12 15:56) [2]1. Заведи столько детальных таблиц, сколько срезов результата надо.
2. Или используй поле типа BLOB
← →
Balkon (2004-04-12 16:30) [3]Спасибо.
>Ты про реляционные БД что нибудь слышал? :) Читаю на досуге книженцию Гофмана, Хомоненко.
>Заведи столько детальных таблиц, сколько срезов результата надо.
Правильно ли я понял?:
Мне нужно, скажем, завести две таблицы и для каждого эксперимента в первой(главной) сохранять основные параметры, а во второй (подчиненной)заведу, кроме ключевого и поля связи, N однообразных ,например действительных, полей для хранения результатов эксперимента (элементов действительного массива).
Но в таком случае вопрос. Если заранее длина массивов с результатами эксперимента не известна и меняется от записи к записи, то нужно в RunTime добавлять(удалять, елси из таблицы удаляется самая длинная запись) необходимые поля?
зы Просьба ногами не пинать и не издеваться :). Добросовестно читаю пару книжек по Делфи, базам данных и пытаюсь разобраться.
← →
Balkon (2004-04-12 16:30) [3]Спасибо.
>Ты про реляционные БД что нибудь слышал? :) Читаю на досуге книженцию Гофмана, Хомоненко.
>Заведи столько детальных таблиц, сколько срезов результата надо.
Правильно ли я понял?:
Мне нужно, скажем, завести две таблицы и для каждого эксперимента в первой(главной) сохранять основные параметры, а во второй (подчиненной)заведу, кроме ключевого и поля связи, N однообразных ,например действительных, полей для хранения результатов эксперимента (элементов действительного массива).
Но в таком случае вопрос. Если заранее длина массивов с результатами эксперимента не известна и меняется от записи к записи, то нужно в RunTime добавлять(удалять, елси из таблицы удаляется самая длинная запись) необходимые поля?
зы Просьба ногами не пинать и не издеваться :). Добросовестно читаю пару книжек по Делфи, базам данных и пытаюсь разобраться.
← →
Johnmen © (2004-04-12 16:33) [4]>длина массивов с результатами эксперимента не известна
В детальной таблице это должно соответствовать количеству записей, а не полей...
← →
Johnmen © (2004-04-12 16:33) [4]>длина массивов с результатами эксперимента не известна
В детальной таблице это должно соответствовать количеству записей, а не полей...
← →
Vlad © (2004-04-12 16:34) [5]
> Но в таком случае вопрос. Если заранее длина массивов с
> результатами эксперимента не известна и меняется от записи
> к записи, то нужно в RunTime добавлять(удалять, елси из
> таблицы удаляется самая длинная запись) необходимые поля?
Известна или не известна, какая разница, элементы массива (если он одномерный) располагаешь не в виде столбцов, а в виде записей.
Сколько эл-тов массива - столько записей.
Плюс поле с идентификатором для связки с мастер-таблицей.
← →
Vlad © (2004-04-12 16:34) [5]
> Но в таком случае вопрос. Если заранее длина массивов с
> результатами эксперимента не известна и меняется от записи
> к записи, то нужно в RunTime добавлять(удалять, елси из
> таблицы удаляется самая длинная запись) необходимые поля?
Известна или не известна, какая разница, элементы массива (если он одномерный) располагаешь не в виде столбцов, а в виде записей.
Сколько эл-тов массива - столько записей.
Плюс поле с идентификатором для связки с мастер-таблицей.
← →
Balkon (2004-04-12 17:05) [6]Спасибо опять. (Массивы используются одномерные)
Получается, что каждой записи из главной таблицы должен соответствовать столбец из детальной?
Т.е. в при добавлении новой записи в мастер-таблицу, я должен создать в детальной новый столбец(поле), назвав его , например,"LabNumber###" в соответствии с номером эксперимента ### из главной таблицы и занести в записи 1..N значения элементов массива(длиной N), добавляя их если нужно. А затем (при просмотре базы данных) при обращении к какойлибо записи из главной таблицы, нужно в детальной найти поле с именем FieldByName("LabNumber###") и с помощью методов First, Next... поочередно, перебрать значения .
← →
Balkon (2004-04-12 17:05) [6]Спасибо опять. (Массивы используются одномерные)
Получается, что каждой записи из главной таблицы должен соответствовать столбец из детальной?
Т.е. в при добавлении новой записи в мастер-таблицу, я должен создать в детальной новый столбец(поле), назвав его , например,"LabNumber###" в соответствии с номером эксперимента ### из главной таблицы и занести в записи 1..N значения элементов массива(длиной N), добавляя их если нужно. А затем (при просмотре базы данных) при обращении к какойлибо записи из главной таблицы, нужно в детальной найти поле с именем FieldByName("LabNumber###") и с помощью методов First, Next... поочередно, перебрать значения .
← →
Vlad © (2004-04-12 17:09) [7]
> Balkon (12.04.04 17:05) [6]
Опять не так.
Есть у тебя главная таблица. Каждая запись - отдельная лаба.
Есть подчиненная таблица, с полями (№ лабы, значение)
Вот и все. Связка таблиц по полю №лабы, таким образом для каждой лаб. работы ты можешь записать сколько угодно значений массива.
← →
Vlad © (2004-04-12 17:09) [7]
> Balkon (12.04.04 17:05) [6]
Опять не так.
Есть у тебя главная таблица. Каждая запись - отдельная лаба.
Есть подчиненная таблица, с полями (№ лабы, значение)
Вот и все. Связка таблиц по полю №лабы, таким образом для каждой лаб. работы ты можешь записать сколько угодно значений массива.
← →
Balkon (2004-04-12 17:30) [8]Теперь надеюсь, я правильно понял. :)
Еще вопрос, если не утомил.
А как быть с упорядоченностью значений эксперимента? Читал, вроде, что в Парадокс таблице записи упорядочиваюся по значению ключевого поля.
Обеспечит ли введение ключевого(например автоинкрементного типа) поля то, чтобы элементы массива, который сохранен в таблице, сохраняли порядок, при работе с БД? Или для того, чтобы не потерять порядок следования значений ввести еще поле, содержащее номер элемента экспериментального массива?
← →
Balkon (2004-04-12 17:30) [8]Теперь надеюсь, я правильно понял. :)
Еще вопрос, если не утомил.
А как быть с упорядоченностью значений эксперимента? Читал, вроде, что в Парадокс таблице записи упорядочиваюся по значению ключевого поля.
Обеспечит ли введение ключевого(например автоинкрементного типа) поля то, чтобы элементы массива, который сохранен в таблице, сохраняли порядок, при работе с БД? Или для того, чтобы не потерять порядок следования значений ввести еще поле, содержащее номер элемента экспериментального массива?
← →
Vlad © (2004-04-12 17:34) [9]
> Balkon (12.04.04 17:30) [8]
Достаточно ввести просто ключевое автоинкрементное поле, т.е. сортировка таблицы будет проходить по нему и все элементы массива будут отображаться в том порядке,в к-ром ты их добавлял в таблицу. Т.е. детальная таблица будет иметь вид: (Автоинкрементное_поле, №лабы, значение)
← →
Vlad © (2004-04-12 17:34) [9]
> Balkon (12.04.04 17:30) [8]
Достаточно ввести просто ключевое автоинкрементное поле, т.е. сортировка таблицы будет проходить по нему и все элементы массива будут отображаться в том порядке,в к-ром ты их добавлял в таблицу. Т.е. детальная таблица будет иметь вид: (Автоинкрементное_поле, №лабы, значение)
← →
Balkon (2004-04-12 17:35) [10]Спасибо!
← →
Balkon (2004-04-12 17:35) [10]Спасибо!
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];
Память: 0.51 MB
Время: 0.044 c