powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / 1НФ и Кодд vs PostgeSQL и массивы.
21 сообщений из 21, страница 1 из 1
1НФ и Кодд vs PostgeSQL и массивы.
    #33174823
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Меня разрывают смешанные чувства. С одной стороны для задачи идеально подходит массив в поле. С другой таблица перестанет удовлетворять 1НФ. Насколько это страшно? Сталкивались ли с таким? Что делать?
...
Рейтинг: 0 / 0
1НФ и Кодд vs PostgeSQL и массивы.
    #33174834
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Случаи бывают разные.
Не одностороння ли оценка того, что идеально подходит? Поддерживать целостность данных так же идеально, как и пользоваться таблицей? Не получится ли "За что боролись, на то и напоролись"?
Сдалась же идея нормализовать все, что попадется на глаза! Ну и что, что ненормальная, если работает! Вам шашечки или ехать? ;-)
Сталкивались. И порой выбирали подобный путь проектирования.
Да, и еще: практика - критерий истины ;-)))
...
Рейтинг: 0 / 0
1НФ и Кодд vs PostgeSQL и массивы.
    #33174955
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо. Пожалуй пошлю-ка я в этот раз Кодда куда подальше.
...
Рейтинг: 0 / 0
1НФ и Кодд vs PostgeSQL и массивы.
    #33175130
mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SarinМеня разрывают смешанные чувства. С одной стороны для задачи идеально подходит массив в поле. С другой таблица перестанет удовлетворять 1НФ. Насколько это страшно? Сталкивались ли с таким? Что делать?
Для какой задачи? Что за массив? Что за таблица? Ничего не описал, кроме своих душевных терзаний. И еще спрашивает, что делать. Для начала осознать, что если не интеллект, то хотя бы вежливость требуют сначала подробненько описать проблему, а потом просить совета в ее решении. Какой-либо совет в таких условиях могут дать только (не побоюсь) безответственные люди.
Ну а Кодда... посылайте, покойнику от этого не тепло, ни холодно. И почаще посылайте, почаще. Вообще забейте на теорию. Благодаря этому у нас меньше конкурентов будет. Таких как вы. Так что -- полный вперед.
...
Рейтинг: 0 / 0
1НФ и Кодд vs PostgeSQL и массивы.
    #33175466
4321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
посмотри в системных, например
Код: plaintext
1.
2.
3.
4.
5.
CREATE TABLE pg_catalog.pg_group
(
  groname name NOT NULL,
  grosysid int4 NOT NULL,
  grolist int4[]
) WITHOUT OIDS;
понятно, что целостность (если такая потребуется) типа вторичного ключа придется держать самопальным триггером или чеком (что то же самое). А в целом - не должно быть особых проблем (если набор функций для работ с массивом не забыть подключить). "Чистый же SQL" (без оных или самопальных функций) будет проблематичен (вязаться на массив в стандартном ссыкуле нельзя).
...
Рейтинг: 0 / 0
1НФ и Кодд vs PostgeSQL и массивы.
    #33176993
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А Кодд уже умер? Жаль. Таких людей мало. И рождаются они не каждый день

Про проблему:

Блин. Я дурак. Я только сейчас это понял. В той задаче можно обойтись без массива.

Хотя вот ещё одна: у улицы есть список улиц с которыми она граничит (с какой на какую перейти можно). Хотя может лучше сделать заведомо больше полей, чем может быть у нормальной улицы?
...
Рейтинг: 0 / 0
1НФ и Кодд vs PostgeSQL и массивы.
    #33177025
Фотография ChA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SarinВы внятно можете описывать проблемы или так и будете эмоциональную пургу гнать ? Как Вы думаете, много можно понять из SarinХотя может лучше сделать заведомо больше полей, чем может быть у нормальной улицы?Каких полей, зачем полей, что такое "нормальная улица" ?
...
Рейтинг: 0 / 0
1НФ и Кодд vs PostgeSQL и массивы.
    #33177073
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ChA SarinВы внятно можете описывать проблемы или так и будете эмоциональную пургу гнать ? Как Вы думаете, много можно понять из SarinХотя может лучше сделать заведомо больше полей, чем может быть у нормальной улицы?Каких полей, зачем полей, что такое "нормальная улица" ?
я так понимаю, это так многие-ко-многим "описано" :)

Sarin
Еще табличку сделайте с 2-мя полями "Код улицы", "Код прилегающией улицы" и храните в ней связи.
...
Рейтинг: 0 / 0
1НФ и Кодд vs PostgeSQL и массивы.
    #33177523
4321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SarinБлин. Я дурак. Я только сейчас это понял.
завидная задержка.
SarinХотя вот ещё одна: у улицы есть список улиц с которыми она граничит (с какой на какую перейти можно). Хотя может лучше сделать заведомо больше полей, чем может быть у нормальной улицы?
вообще то говоря отображение решений с использованием массивов на решения "с неиспользование" - стандартно - таблица связей (с форейгн кеями).
массивы "выгодны" в неоторых случаях компактностью хранения (нет нужды хранить на каждый элемент еще и поле связи, к тому же в массиве явно хранится порядок. Так при хранении контура в связанной таблице придется хранить поле с порядковым (по обходу) номером точки, а в массиве порядок задан самым порядком массива)
...
Рейтинг: 0 / 0
1НФ и Кодд vs PostgeSQL и массивы.
    #33177566
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не стОит увлекаться специфическими возможностями некоторых СУБД. Это чревато заметными проблемами при смене платформы или обмене информации с другими СУБД.
...
Рейтинг: 0 / 0
1НФ и Кодд vs PostgeSQL и массивы.
    #33177928
Фотография ChA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ASCRUSя так понимаю, это так многие-ко-многим "описано"Да я догадываюсь, просто хотелось, чтобы человек переключился из стиля ПТ. Чтобы был, наконец, внятный и четкий вопрос...
...
Рейтинг: 0 / 0
1НФ и Кодд vs PostgeSQL и массивы.
    #33183788
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Простите, долго не заглядывал.

Проблему с улицами я решил. Таблицей о двух полях:) Это, как я понимаю, и есть рекурсивная связь. Надо книгу по теории БД будет у хулигана отобрать.

Задача была такая: у человека есть несколько ячеек в камере хранения. В одной ячейке можно хранить несколько вещей. Когда я напряг мозги, то понял, что ячейка - не поле кортежа "человек", а отдельная сущность. и связь имеется такая: человек->ячейка->вещь.
...
Рейтинг: 0 / 0
1НФ и Кодд vs PostgeSQL и массивы.
    #33183818
Фотография ChA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SarinПроблему с улицами я решил. Таблицей о двух полях:) Это, как я понимаю, и есть рекурсивная связь. Рекурсивная ? Святый Боже, а рекурсия-то здесь при чем ?
Sarinу человека есть несколько ячеек в камере хранения. В одной ячейке можно хранить несколько вещей. Когда я напряг мозги, то понял, что ячейка - не поле кортежа "человек", а отдельная сущность. и связь имеется такая: человек->ячейка->вещь.Тогда уж такая: человек->ячейка<-вещь или такая - человек<-ячейка->вещь, в зависимости от того, как стрелки интерпретировать... :)
...
Рейтинг: 0 / 0
1НФ и Кодд vs PostgeSQL и массивы.
    #33184944
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ChA[quot Sarin]человек->ячейка<-вещь
Ты прав.
...
Рейтинг: 0 / 0
1НФ и Кодд vs PostgeSQL и массивы.
    #33185389
LeXa NalBat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sarin ChAчеловек->ячейка<-вещьТы прав.Почему же стрелки в разные стороны?

один человек - много ячеек
одна ячейка - много вещей

человек 1-N ячейка
ячейка 1-N вещь

человек 1-N ячейка 1-N вещь

человек -> ячейка -> вещь
...
Рейтинг: 0 / 0
1НФ и Кодд vs PostgeSQL и массивы.
    #33185545
Фотография ChA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LeXa NalBatВозможно, Вы правы. По инерции решил, что задача идет от предыдущей, с улицами (см.выше), где, судя по некоторым деталям, была связь 1:N:1. Полной уверенности все же нет, так как автор топика весьма скуп на детали.
...
Рейтинг: 0 / 0
1НФ и Кодд vs PostgeSQL и массивы.
    #33185581
4321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LeXa NalBat Sarin ChAчеловек->ячейка<-вещьТы прав.Почему же стрелки в разные стороны?
один человек - много ячеек
человек 1-N ячейка?
вообще-то можно и отсюда сплясать:
Код: plaintext
у человека есть несколько ячеек в камере хранения
т.е.
камера 1-N ячейка
и
чел N - (1 связь) - N ячейка
где "связь" имеет атрибуты "с даты", "по дату"

а
"человек 1-N ячейка"
это скорее
"человек 1-N карманы"
(если человек - постоянно сумчатый, как это обычно в игрухах)
...
Рейтинг: 0 / 0
1НФ и Кодд vs PostgeSQL и массивы.
    #33185877
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Простиет, что дал вам мало сведений. Я туго соображаю.
Вообще то это - онлайн-игра с вэбинтерфейсом.
Вот что имеется.

Город. В городе есть улицы. Улица граничит с другой улицей. На улице находится игрок. У игрока есть вещи. Часть он носит с собой в рюгзаке и в различных слотах (оружие, шляпа, ботинки). Часть лешит в норке (дома, в хранилище). Норка находится на определённой улице. Человек может перемещатся между улицами и городами. Может перекладывать вещи из слота в рюкзак и наоборот. При нахождении на родной улице так-же между рюкзаком и хранилищем. Игрок может ещё много чего. Но это уже другая история.
...
Рейтинг: 0 / 0
1НФ и Кодд vs PostgeSQL и массивы.
    #33186005
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SarinВообще то это - онлайн-игра с вэбинтерфейсом.

;) Я сначала подуцмал что это про эту конфу сказано - игра с вебинтерфейсом ;)
...
Рейтинг: 0 / 0
1НФ и Кодд vs PostgeSQL и массивы.
    #33186521
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вечная битва Оракличтов и МС скляйстов.
...
Рейтинг: 0 / 0
1НФ и Кодд vs PostgeSQL и массивы.
    #33211857
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SarinМеня разрывают смешанные чувства. С одной стороны для задачи идеально подходит массив в поле. С другой таблица перестанет удовлетворять 1НФ. Насколько это страшно?

Это не страшно, это - ваще пипец!

SarinСталкивались ли с таким?

Если я с таким сталкивался , то сразу же переделывал.

SarinЧто делать?

Так не делать. Делать отдельную таблицу.
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / 1НФ и Кодд vs PostgeSQL и массивы.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]