Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Вопрос по cross-row constraint / 14 сообщений из 14, страница 1 из 1
02.04.2020, 18:15
    #39943247
Alibek B
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по cross-row constraint
Есть подчиненная таблица, в которой регистрируются состояния сущностей.
В соответствии с бизнес-моделью, состояние может изменяться по определенным сценариям, в определенной последовательности.
Есть предложение заложить эту последовательность на уровне ограничений базы данных.
Это нормально или плохо?
...
Рейтинг: 0 / 0
02.04.2020, 18:23
    #39943250
andrey_anonymous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по cross-row constraint
Создать себе на задницу геморрой, чтобы затем мужественно преодолевать?
...
Рейтинг: 0 / 0
02.04.2020, 18:46
    #39943259
Alibek B
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по cross-row constraint
Я просто спрашиваю, что об этом думают.
Я не знаю, является ли подобное для СУБД целесообразным или нет.
Формально FK это тоже ограничение в зависимости от значений в другой таблице (тем более цикличный FK).
...
Рейтинг: 0 / 0
02.04.2020, 18:50
    #39943261
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по cross-row constraint
Alibek B.
в определенной последовательности.
constraint-ом? Ну-ну...
...
Рейтинг: 0 / 0
03.04.2020, 20:26
    #39943685
feagor
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по cross-row constraint
Alibek B.,

Организовывайте на уровне логики и процедур.
FK нужен для ограничения целостности данных, а не для ограничений бизнес-логики
...
Рейтинг: 0 / 0
10.04.2020, 10:46
    #39945722
Alibek B
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по cross-row constraint
Сделал набор тестовых таблиц и настроил сложные констрейны.
В общем я понял, почему так никто не делает.
Неудобно в сопровождении и изменении, легко ошибиться.

feagor
FK нужен для ограничения целостности данных, а не для ограничений бизнес-логики

Не понял данной фразы. FK и физическая целостность данных никак не связаны между собой.
Если же говорить о логической целостности данных, то это отличается от моего вопроса (целостность диаграммы состояний) только большим уровнем абстракции.
...
Рейтинг: 0 / 0
10.04.2020, 11:21
    #39945749
alex-ls
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по cross-row constraint
Alibek B.
Не понял данной фразы. FK и физическая целостность данных никак не связаны между собой

что уж тут понимать?
https://ru.wikipedia.org/wiki/Внешний_ключ
...
Рейтинг: 0 / 0
10.04.2020, 11:50
    #39945769
Alibek B
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по cross-row constraint
Нет, это я понял.
Я не понял, почему feagor считает, что FK обеспечивает целостность данных, а мой констрейн нет — ведь в обоих случаях речь идет о логической организации данных (бизнес-модели на том или ином уровне), а не о физической целостности данных на уровне байт/бит.
...
Рейтинг: 0 / 0
10.04.2020, 12:08
    #39945780
SQL*Plus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по cross-row constraint
Alibek B.
feagor
FK нужен для ограничения целостности данных , а не для ограничений бизнес-логики

Не понял данной фразы.
FK и физическая целостность данных никак не связаны между собой.
ограничения целостности данных = integrity constraints

В данном контексте имеется в виду логическая целостность данных.

integrity constraints - это некие декларативные ограничения,
создаваемые средствами СУБД и предотвращающие занесение
и изменение данных таким образом,
что они нарушат соблюдение установленных правил.

Целостность данных - это правильность данных.
То есть соответствие данных некоторым установленным правилам.

Виды integrity constraints:
  • CHECK
  • NOT NULL (частный случай CHECK)
  • UNIQUE
  • PRIMARY KEY (UNIQUE + NOT NULL)
  • FOREIGN KEY
...
Рейтинг: 0 / 0
10.04.2020, 12:21
    #39945787
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по cross-row constraint
Alibek B.Я не понял, почему feagor считает, что FK обеспечивает целостность данных, а мой
констрейн нет

FK работает унутре сервера и использует сильное колдунство чтобы обеспечить независимость
работы от уровня изоляции транзакций. Твой констрейн так не может.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
10.04.2020, 14:40
    #39945866
Alibek B
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по cross-row constraint
Dimitry Sibiryakov
Твой констрейн так не может.

Понятно.
В любом случае я передумал использовать подобные констрейны.
...
Рейтинг: 0 / 0
10.04.2020, 15:07
    #39945881
Кобанчег
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по cross-row constraint
Alibek B.
состояние может изменяться по определенным сценариям, в определенной последовательности

Alibek B.
Сделал набор тестовых таблиц и настроил сложные констрейны.

Порази же общественность своим творением!
Ты ж наверняка придумал что-то хитрее чем хранить цепочку переходов отдельным полем и проверять её.
...
Рейтинг: 0 / 0
16.04.2020, 17:11
    #39948124
Alibek B
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по cross-row constraint
.
...
Рейтинг: 0 / 0
16.04.2020, 18:29
    #39948178
merch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по cross-row constraint
Alibek B., в каждой строчке только точки...
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Вопрос по cross-row constraint / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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