Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.034 c
3-1081423941
AlexPal
2004-04-08 15:32
2004.05.09
Проблемы с Русским шрифтом


6-1079210061
Russu
2004-03-13 23:34
2004.05.09
ClientSocket+Proxy


1-1082463556
Goida
2004-04-20 16:19
2004.05.09
Чистка Excel...


1-1082617439
sergeii
2004-04-22 11:03
2004.05.09
Funkcija konvertirujushiaja Cifri v slova


1-1082655851
<DeL.>
2004-04-22 21:44
2004.05.09
Программа не работает без Delphi





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский