Вопрос №55140 от пользователя Atlatnta Tesla в уроке «Реляционная модель данных», курс «Основы реляционных баз данных»

Atlatnta Tesla

Из теории:

Кортеж — это упорядоченный набор данных фиксированной длины.

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

Как я понимаю, порядок в кортеже определяет именно схема (заголовок отношений).

Встречала информацию, что порядок записей не определен (это понятно), но есть определенный порядок столбцов.

Точно ли порядок атрибутов не определен? Каким образом тогда устанавливается порядок в кортеже?

2 0

Станислав Дзисяк

Atlatnta Tesla, приветствую!

Встречала информацию, что порядок записей не определен (это понятно), но есть определенный порядок столбцов. Точно ли порядок атрибутов не определен?

Атрибуты отношений не упорядочены, поскольку по определению схема отношения есть множество пар {имя атрибута, имя домена}. Для ссылки на значение атрибута в кортеже отношения всегда используется имя атрибута. Хотя упорядоченность набора атрибутов отношения явно не требуется, часто в качестве неявного порядка атрибутов используется их порядок в линейной форме определения схемы отношения базы данных. То есть порядок формируется при определении схемы.

Каким образом тогда устанавливается порядок в кортеже?

Одно и то же отношение может быть представлено разными таблицами, в которых столбцы идут в различном порядке. Иными словами таблицы, отличающиеся только порядком следования столбцов, считаются эквивалентными. Схему отношений можно представить как некий класс, а кортеж как конкретный его экземпляр (инстанс/объект), который внутри содержит порядок соответствующий конкретному представлению (таблице).

1

Atlatnta Tesla

Спасибо!) Отличный и понятный ответ.

Не знала, что такое имя домена. Для тех, кто тоже не знал:

Домен в реляционной модели данных — тип данных, то есть множество допустимых значений

0

Используйте Хекслет по максимуму!

  • Задавайте вопросы по уроку
  • Проверяйте знания в квизах
  • Проходите практику прямо в браузере
  • Отслеживайте свой прогресс

Зарегистрируйтесь или войдите в свой аккаунт

Даю согласие на обработку персональных данных, соглашаюсь с «Политикой конфиденциальности» и «Условиями оказания услуг»

Рекомендуемые программы

С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.

Иконка программы Фронтенд-разработчик
Профессия
Разработка фронтенд-компонентов веб-приложений
25 мая 10 месяцев
Иконка программы Python-разработчик
Профессия
Разработка веб-приложений на Django
25 мая 10 месяцев
Иконка программы PHP-разработчик
Профессия
Разработка веб-приложений на Laravel
25 мая 10 месяцев
Иконка программы Node.js-разработчик
Профессия
Разработка бэкенд-компонентов веб-приложений
25 мая 10 месяцев
Иконка программы Fullstack-разработчик
Профессия
Новый
Разработка фронтенд и бэкенд компонентов веб-приложений
25 мая 16 месяцев
Иконка программы Верстальщик
Профессия
Вёрстка с использованием последних стандартов CSS
в любое время 5 месяцев
Иконка программы Java-разработчик
Профессия
Разработка приложений на языке Java
25 мая 10 месяцев
Иконка программы Разработчик на Ruby on Rails
Профессия
Создает веб-приложения со скоростью света
25 мая 5 месяцев