LINUX.ORG.RU

История изменений

Исправление vbr, (текущая версия) :

И можно сохранить массив ссылок на записи? И СУБД будет по ним проверять ссылочную целостность?

Массив ссылок это вторая таблица.

create table country (country_id primary key ...);
create table city (city_id primary key, country_id references country ...)

Вот тебе массив ссылок с ссылочной целостностью. Можешь добавить в таблицу city поле index, если тебе важен именно упорядоченный список.

Чтобы СУБД умело на них арифметику и интервальные индексы? Нет. Расскажи.

Рациональное число это два целых числа - numerator и denominator. Вот их и храни. Арифметку делай в своём приложении. Для индекса можешь использовать приближённое значение с плавающей точкой с дополнительными проверками. К реляционной теории это всё в любом случае отношения не имеет. Если бы это было кому-то особо нужно, оно было бы реализовано. Т.к. это никому не нужно, можешь поискать всякие расширения, поисковик сразу подсказывает некий begriffs/pg_rational, или написать своё, если тебе прям важно, чтобы это было в базе.

Исходная версия vbr, :

И можно сохранить массив ссылок на записи? И СУБД будет по ним проверять ссылочную целостность?

Массив ссылок это вторая таблица.

create table country (country_id primary key ...);
create table city (city_id primary key, country_id references country ...)

Вот тебе массив ссылок с ссылочной целостностью. Можешь добавить в таблицу city поле index, если тебе важен именно упорядоченный список.