powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Ферзевой constraint
4 сообщений из 4, страница 1 из 1
Ферзевой constraint
    #40019732
НеофитSQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хочу записать расположение N ферзей на доске произвольного размера в таблице.
Ферзи, как в известной задаче, не должны угрожать друг другу.

Началось все хорошо:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
create table qtable
(
  x integer not null,
  y integer not null
);
alter table qtable  add constraint UK__QTABLE_X unique (X);
alter table qtable  add constraint UK__QTABLE_Y unique (Y);



Теперь надо как-то прикрутить диагональный constraint, желательно без кода.
Господа шахматисты, как это лучше сделать?

Нужно чтобы таблица одинаково била по рукам за нарушение рядов, столбцов или диагонали.
...
Рейтинг: 0 / 0
Ферзевой constraint
    #40019735
НеофитSQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
A, тьфу, попробовал наугад и получилось.

Запостю ответ завтра, на случай кто-то не знает ответ и хочет поупражняться.
...
Рейтинг: 0 / 0
Ферзевой constraint
    #40019757
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
НеофитSQL
Код: plsql
1.
2.
alter table qtable  add constraint UK__QTABLE_XY1 unique (X+Y);
alter table qtable  add constraint UK__QTABLE_XY2 unique (X-Y);

печаль. было бы что тут думать...
...
Рейтинг: 0 / 0
Ферзевой constraint
    #40019766
НеофитSQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
xtender,

То, что могучим модераторам легко, у новичков заняло минуту, а то и три :)

Правда, я сделал хуже, через виртуальные столбцы*.
Потом пришлось поломать голову, как в таблицу с виртуальными столбцами добавлять строки.

* UI разбаловал. Я не подумал про constraints на выражения.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Ферзевой constraint
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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