Re: Идеи по хранению данных | |
---|---|
pasha_usue Сообщений: 3649 Откуда: Е-бург Дата регистрации: 06.10.2006 |
Данный вариант не отличается от следующих: 1. Раскидать значения по отдельным столбцам; 2. Сложить все значения в массив (раз есть тип массив в PG). Это всё варианты технической реализации одного и того же решения. |
Re: Идеи по хранению данных | |
---|---|
Simple777 Сообщений: 33855 Дата регистрации: 05.11.2006 |
Независимо от того, какова предметная область, если нет явных препятствий и "побочных эффектов", можно смело располагать значения в отдельных столбцах, поскольку такое решение будет наиболее полнофункциональным при последующей обработке данных.
|
Re: Идеи по хранению данных | |
---|---|
Владимир Максимов Сообщений: 14098 Откуда: Москва Дата регистрации: 02.09.2000 |
Согласен. Но автор что-то там говорил про ограничение на количество полей. Или он так жаловался, что их слишком много будет (до 30)? Вот - альтернатива. Все в одном поле |
Re: Идеи по хранению данных | |
---|---|
sphinx Сообщений: 31179 Откуда: Каменск-Уральски Дата регистрации: 22.11.2006 |
У меня работа, уверяю, не стоит - пока занимаюсь другими вещами. Хранится пока в ненормализованном виде, но это переделать несложно. ------------------ "Veni, vidi, vici!"(с) |
Re: Идеи по хранению данных | |
---|---|
sphinx Сообщений: 31179 Откуда: Каменск-Уральски Дата регистрации: 22.11.2006 |
Как правило для группы записей.
Пройтись по всем записям и выбрать уникальные, не обязательно в порядке возрастания. Но это только одна из задач. Я уже писал, что могут замены части этого составного атрибута на другие части, удаление частей, вставка. Цитата: Хорошо. На этом и остановимся. Спасибо! ------------------ "Veni, vidi, vici!"(с) Исправлено 1 раз(а). Последнее : sphinx, 10.09.20 16:09 |
Re: Идеи по хранению данных | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
В отдельных полях хранить значения стоит лишь если они "по смыслу" различны. Если они семантически идентичны, т.е. это на самом деле просто список равнозначных элементов (без разницы чем они разделены, и совсем отдельным будет вопрос "внутренней структуры каждого элемента" - т.е. отделять ли "букву от цифр"), то хранить их в виде набора полей a-la I1, I2, I3 ..., I42 не только не полезно, но и вредно. Списки в классических, наиболее универсальных случаях хранят "вертикально", т.е. в структуре типа (id, [order,] value). Но если используемая СУБД позволяет хранить данные в массиве, или вложенной таблице, или каком json/xml фрагменте - то в принципе этот вариант стоит рассмотреть - взвесив все "за" (прежде всего отсутствие "лишних" сущностей и извлечение всего набора "за раз") и "против" (зачастую весьма неэффективный поиск "внутри" подобной структуры хранения, и так же часто более сложный процесс модификации - по сути он будет сводится к полному переписыванию всего "набора", а не к точечным изменениям элементов). Извиняюсь за банальность... ------------------ WBR, Igor |
Re: Идеи по хранению данных | |
---|---|
Simple777 Сообщений: 33855 Дата регистрации: 05.11.2006 |
ТС сообщил, что "каждый из фрагментов отдельная сущность". Исходя из этого и был дан совет хранить "элементы" в отдельных полях, если нет явных к тому ограничений. |
Re: Идеи по хранению данных | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Одно другому не мешает. В списке номеров телефонов конкретного индивида тоже совершенно "отдельные сущности", или в перечне полученных дипломов и наград ------------------ WBR, Igor |
Re: Идеи по хранению данных | |
---|---|
Ydin Сообщений: 7648 Откуда: Киев Дата регистрации: 16.12.2005 |
-
Исправлено 2 раз(а). Последнее : Ydin, 12.09.20 02:07 |
Re: Идеи по хранению данных | |
---|---|
sphinx Сообщений: 31179 Откуда: Каменск-Уральски Дата регистрации: 22.11.2006 |
Тут сущность, что называется - как посмотреть. По факту - в разделителях одна и та же сущность. Но к нее свои атрибуты, она находится в справочнике сущностей. Совсем запутал? Не ломайте копья - я уже понял, что и Паша Кручинин, и Володя Максимов, и Игорь Королев за строковое хранение. Ну и про первую нормальную форму по Базьяну - прекрасно помню. Ну, были сомнения, захотелось послушать, что мастера скажут. Все норм, по строкам. ------------------ "Veni, vidi, vici!"(с) |
Re: Идеи по хранению данных | |
---|---|
Аспид Автор Сообщений: 3475 Откуда: Москва Дата регистрации: 01.04.2005 |
?Что это за нормальная форма такая, что то упустил? |
Re: Идеи по хранению данных | |
---|---|
sphinx Сообщений: 31179 Откуда: Каменск-Уральски Дата регистрации: 22.11.2006 |
Стандартное определение ПНФ, данное в книге Базьяна. А ты что подумал? ------------------ "Veni, vidi, vici!"(с) |
Re: Идеи по хранению данных | |
---|---|
Аспид Автор Сообщений: 3475 Откуда: Москва Дата регистрации: 01.04.2005 |
Ну есть НФ Клода и еще когото, на Б. НФКБ. Но это от 3й НФ. Ну и подумал , что то упустил))) Кхм... я б не стал изучать НФ, по фоксовым книжкам. Сегодня, при наличии инета) И все же 1я НФ, стремится наеврное надо к 3й |
Re: Идеи по хранению данных | |
---|---|
Simple777 Сообщений: 33855 Дата регистрации: 05.11.2006 |
Неожиданно пришлось опять вернуться к многоуровнему иерархическому кодированию. Вспомнил, что такая тема была на форуме. Занимался этим лет 7 назад примерно. За это время "много воды утекло". Сейчас уже вижу, что ранее принятые решения "были не идеальны", хотя и "жалоб не поступало". В части таблиц я сделал отдельные поля. Это те таблицы, где нужен "сужающийся поиск", то бишь после ввода очередного признака показывать только те записи, которые содержат этот "старший признак". К слову сказать, количество признаков может быть переменным - от 2 до 10. Если итоговый код хранить в одном поле вместе с разделителями признаков, то сделать такой "сужающийся поиск" с последующим просмотром будет довольно хлопотно - придётся делать, так думаю, какие-нибудь временные таблицы для этого. В случае же отдельных полей для каждого признака всё очень "просто и ясно". Также нет необходимости хранить символы-разделители между признаками. Так что в итоге я бы так сформулировал. Данные надо хранить в отдельных полях кроме тех случаев, когда это по каким-то причинам невозможно (ограничение на число полей, например). "Собрать" же "итоговый код" из отдельных полей будет "проще простого". Можно даже UDF-функцию сварганить. Исправлено 2 раз(а). Последнее : Simple777, 06.03.21 11:08 |
Re: Идеи по хранению данных | |
---|---|
sphinx Сообщений: 31179 Откуда: Каменск-Уральски Дата регистрации: 22.11.2006 |
Пока храню в справочнике в трех форматах - обычная строка, массив (значения между разделителями с буквами), массив значений без букв. Паша Кручини говорил про траблы, однака на курсе в IT Cloud улыбнулись и сказали, что за 10ел проблем. И селектом удобно все вытащить по индексу и по значению. Так что тревога ложная, попробую на массиве. (Пока для информации и обычная строка устраивает, а сильно надо будет, найду плюшки вкусные - так легко и к построчному хранению перейти). Но там объем таблицы возрастает на порядок, не думаю, что это хорошее решение.Довод, что "тебе что, места/памяти жалко" - это можно к нашему руководству, они не пошлют, но уверенно пообещают. Только пообещают.
------------------ "Veni, vidi, vici!"(с) |
© 2000-2024 Fox Club  |