![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Interbase + массивы [D6, IB6.x]
Klim Samgin © (2003-02-25 12:31:00)Читаю в статье: "Все типы данных, кроме BLOB, могут быть организованы в массивы". Поясните, как это? Каким образом
осуществить доступ (чтение\запись\модификация) к таким полям?Можно ли в одной записи таким образом хранить инфу,например, типа Ф.И.О .
Alexandr (2003-02-26 06:19:00) [1]2kaif © (26.02.03 03:40)
сильно, правильно.
А то я никак тут втолковать не могу людям...
kaif (2003-02-26 03:40:00) [2]>Карелин Артем © (25.02.03 15:36)
>На хрена, извиняюсь плодить новые, ненужные сущности? Есть >справочник владельцев, плодить для него справочник адресов? Для >каждого владельца есть свой уникальный адрес.
1.Если это так, то адрес состоит из неотъемлимых атрибутов владельцев и эти поля должны бытьв таблице владельцев. Кому-то обязательно понадобится рано или поздно найти владельца по адресуили упорядочить по одному из его полей.
2.Если же это не так (владелец может иметь более одного адреса, что, ИМХО, разумнее, так как так оно и есть на самом деле...), то
тогда тем более следует завести для адресов отдельную таблицу.
3.Если завтра в адресе появится новое дурное поле (например, код района, который зачем-то вздумала потребовать налоговая или фотография штрих-кода на дверной ручке подъезда или еще какая хрень типа адреса любовницы, группы крови детей, страхового полиса или нескольких, если есть + примечания к отпечаткам пальцев и форме ушей...), то я посмотрю, какой изврат потребуется, чтобы новые поля в эти массивы запихивать!
Одним словом, реляционные идеи берутся не с потолка, а из самой-пресамой реальной жизни, где все каждую секунду меняется и трудно что-либо предсказать наверняка, кроме того, что существуют владельцыи у них существуют адреса.
Поэтому их сущностямии называют. А уж как эти сущности выглядят в каждый исторически переломный момент истории один только бог знает. Для этого к сущностям уникальность прикручивают всякую разную, чтобы независимо от их меняющихся признаков, тем не менее, отдельных товарищей не потерять и т.д....
-=Sergeante=- (2003-02-25 16:26:00) [3]
> Можно ли в одной записи таким образом хранить инфу,например,
> типа Ф.И.О .
Дык, кто мешает?
ALTER TABLE TABLE_NAME
ADD FIELD_NAME VARCHAR(50)[0:2]
Только вот обращаться к ним для чтения/записи немного геморно. И то токо если ты юзаешь компоненты для прямого доступа через API.
Н-р, Фибы довольно нормально поддерживают поля-массивы (в плане записи/чтения).
Что касается меня, то не встретилось ещё ни одной задачи, в которой без использования таких полей было бы не обойтись.
Delirium^.Tremens (2003-02-25 15:52:00) [4]
> Так я и думал. Не знаете!?
Копай, копай, не отвлекайся :-)
Карелин Артем (2003-02-25 15:48:00) [5]Так я и думал. Не знаете!?
Johnmen (2003-02-25 15:47:00) [6]Так никто и не препятствует ! И я вовсе не навязываю своего мнения. Для себя в отношении полей-массивов я уже все решил (еще под IB4), потратив неск. дней...
Как говорится, флаг в руки и т.д.
Delirium^.Tremens (2003-02-25 15:45:00) [7]
> Такой уж я настойчивый. Пока не докопаюсь до истины, не
> остановлюсь
Да, иногда бывает полезно самому наступать на грабли. Освежает :-)
Карелин Артем (2003-02-25 15:39:00) [8]И вообще, я сам хочу оценить удобство (нужность) использования массивов.
P.S. Такой уж я настойчивый. Пока не докопаюсь до истины, не остановлюсь. :-)
Карелин Артем (2003-02-25 15:36:00) [9]На хрена, извиняюсь плодить новые, ненужные сущности? Есть справочник владельцев, плодить для него справочник адресов? Для каждого владельца есть свой уникальныйадрес.
Johnmen (2003-02-25 15:26:00) [10]>Карелин Артем © (25.02.03 15:08)
Так заведи таблицу адресов...
Карелин Артем (2003-02-25 15:08:00) [11]Alexandr © (25.02.03 14:52)
Мне нужны. Не хочу заводит десяток полей под адрес.
Налоговая требует адрес в очень неудобном формате.
OlegE (2003-02-25 15:03:00) [12]2 Alexandr © (25.02.03 14:52)
Предыдущие версии действительно делали на блобах, но уже более года как поменяли на массывы - выигрыш по скорости составил более половины(пусть даже и субъективно, но заказчик доволен)
Я хочу только оговориться, что и типы полей и типы СУБД должны учитываться в конкретных реализациях, а не от насторения и то что удобно или нравиться разработчику.
Shaman (2003-02-25 15:03:00) [13]Насколько я знаю, массивы были приделаны к интербейзу для решения какой-то специфической реалтаймовской задачи, в которой таким способом добились нужного быстродействия. Там, где такого быстродействия не требуется, массивы нужны как в ж... зубы.
Alexandr (2003-02-25 14:52:00) [14]2OlegE: BLOB по крайней мере...
Ведь этот массив - тот же блоб, только вид сбоку.
2Карелин Артем : а ты приведи хоть один пример, где они были бы нужны... Ну или хоть один найчный труд по РСУБД, где бы упоминались массивы и работа с ними
Карелин Артем (2003-02-25 14:49:00) [15]Klim Voroshilov (25.02.03 13:11) Alexandr © (25.02.03 14:22) Johnmen © (25.02.03 13:30)
А вы обосновать можете?
OlegE (2003-02-25 14:47:00) [16]2 Alexandr © (25.02.03 14:22)
А если нужно например хранить ЭЦП - 128 байт - и значения любого байта (а не последнего) могут быть от 0 до 256 - какой тип поля Вы предлагаете?
Alexandr (2003-02-25 14:22:00) [17]нет, просто записать как аксиому
"массивы и работа с ними в реляционной БД вам нафиг не нужны"
Жук (2003-02-25 14:00:00) [18]Может отдельный форум создать ? :-)))
Delirium^.Tremens (2003-02-25 13:58:00) [19]Сейчас, оскомину пивом смоем...
Вопрос то свеж...
Klim Samgin (2003-02-25 13:52:00) [20]Между прочим, спросил не шутки ради...
Вы же все-таки МАСТЕРА. Вот и объсните - почему такделать низя.