Отношение (база данных) - Relation (database)

Отношение, кортеж и атрибут представлены в виде таблицы, строки и столбца соответственно.

В реляционная база данных теория, связь, как первоначально определено Э. Ф. Кодд,[1] это набор кортежи (d1, d2, ..., dп), где каждый элемент dj является членом Dj, а область данных. Несмотря на исходное определение Кодда и вопреки обычному определению в математике, нет никакого упорядочивания элементов кортежей отношения.[2][3] Вместо этого каждый элемент называется значение атрибута. An атрибут это имя в паре с доменом (в настоящее время его чаще называют тип или же тип данных). An значение атрибута - имя атрибута в паре с элементом домена этого атрибута, а кортеж - это набор значений атрибутов, в которых нет двух разных элементов с одинаковыми именами. Таким образом, в некоторых учетных записях кортеж описывается как функция, отображение имен в значения.

Набор атрибутов, в котором нет двух разных элементов с одинаковыми именами, называется Заголовок. Из приведенных выше определений следует, что каждому кортежу соответствует уникальный заголовок, представляющий собой набор имен из кортежа в паре с доменами, из которых берутся элементы домена кортежа. Набор кортежи которые все соответствуют одному заголовку, называется тело. Таким образом, отношение - это заголовок, соединенный с телом, причем заголовок отношения также является заголовком каждого кортежа в его теле. Количество атрибутов, составляющих заголовок, называется степень, этот термин также применяется к кортежам и отношениям. Период, термин п-tuple относится к кортежу степени п (п ≥ 0).

Э. Ф. Кодд использовал термин "отношение" в его математическом смысле финитарное отношение, набор кортежей на некотором наборе п наборы S1S2, .... ,Sп.[4] Таким образом, п-арное отношение интерпретируется под Предположение о закрытом мире, как продолжение некоторых п-адический предикат: все и только те п-кортежи, значения которых, замененные соответствующими свободными переменными в предикате, приводят к утверждениям, которые верны, появляются в отношении.

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

Иногда предполагается, что схема отношения включает имя.[5][6] Определение реляционной базы данных (схема базы данных, иногда называемый реляционной схемой), таким образом, можно рассматривать как набор именованных схемы отношений.[7][8]

В реализациях домен каждого атрибута фактически является тип данных[9] а именованная схема отношения фактически является переменная отношения (relvar для краткости).

В SQL, а язык базы данных для реляционных баз данных отношения представлены столы, где каждая строка таблицы представляет собой один кортеж, а значения каждого атрибута образуют столбец.

Примеры

Ниже приведен пример отношения, имеющего три именованных атрибута: «ID» из домена целые числа, а также "Имя" и "Адрес" из домена струны:

ID (целое число)Имя (строка)Адрес (строка)
102Ёнэдзава АкинориНаха, Окинава
202Нилай ПательСендай, Мияги
104Мурата МакотоКумамото, Кумамото
152Мацумото ЮкихироОкинава, Окинава

Предикатом для этого отношения, использующим имена атрибутов для обозначения свободных переменных, может быть "Номер сотрудника Я БЫ известен как Имя и живет в Адрес". Исследование отношения показывает, что существует всего четыре кортежа, для которых предикат верен. Так, например, сотрудник 102 известен только под этим именем, Ёнэдзава Акинори, и не живет нигде, кроме Наха, Окинава. Кроме того, кроме четырех показанных сотрудников, нет другого сотрудника, у которого есть и имя, и адрес.

По определению тело, кортежи тела не появляются в каком-либо определенном порядке - нельзя сказать: «Кортеж« Мурата Макото »находится выше кортежа« Мацумото Юкихиро »», равно как нельзя сказать «Кортеж« Ёнэдзава Акинори »является первый кортеж ". Аналогичный комментарий относится к строкам таблицы SQL.

По определению Заголовок, атрибуты элемента также не появляются в каком-либо определенном порядке, как и элементы кортежа. Аналогичный комментарий делает нет применимы здесь к SQL, который действительно определяет порядок столбцов таблицы.

Переменные отношения

Реляционная база данных состоит из именованных переменные отношения (relvars) в целях обновления базы данных в ответ на изменения в реальном мире. Обновление одной относительной переменной приводит к замене тела отношения, присвоенного этой переменной, другим набором кортежей. Релвары делятся на два класса: переменные базового отношения и производные переменные отношения, последний также известен как виртуальные relvar но обычно называют краткосрочным Посмотреть.

А переменная базового отношения переменная отношения, которая не является производной от других переменных отношения. В SQL период, термин основание стол приблизительно приравнивается к базовой переменной отношения.

Представление может быть определено выражением с использованием операторов реляционная алгебра или реляционное исчисление. Такое выражение работает с одним или несколькими отношениями, а при вычислении дает другое отношение. Результат иногда называют «производным» отношением, когда операнды являются отношениями, присвоенными переменным базы данных. Представление определяется путем присвоения имени такому выражению, чтобы впоследствии это имя можно было использовать как имя переменной. (Обратите внимание, что тогда в выражении должна быть указана хотя бы одна переменная базового отношения.)

Используя Язык определения данных (DDL), он может определять переменные базового отношения. В SQL СОЗДАТЬ ТАБЛИЦУ синтаксис используется для определения базовых таблиц. Ниже приводится пример.

СОЗДАЙТЕ СТОЛ List_of_people ( Я БЫ ЦЕЛОЕ, Имя СИМВОЛ(40), Адрес СИМВОЛ(200), НАЧАЛЬНЫЙ КЛЮЧ (Я БЫ))

Язык определения данных (DDL) также используется для определения переменных производных отношений. В SQL СОЗДАТЬ ПРОСМОТР синтаксис используется для определения производной переменной отношения. Ниже приводится пример.

СОЗДАЙТЕ ПОСМОТРЕТЬ List_of_Okinawa_people В КАЧЕСТВЕ ( ВЫБРАТЬ Я БЫ, Имя, Адрес  ИЗ List_of_people  КУДА Адрес ПОДОБНО '%, Окинава')

Смотрите также

Рекомендации

  1. ^ Э. Ф. Кодд (октябрь 1972 г.). «Дальнейшая нормализация реляционной модели базы данных». Системы баз данных. Институт Куранта: Прентис-Холл. ISBN  013196741X. R - это связь на этих n областях, если это набор элементов вида (d1, d2, ..., dп) где Dj ∈ Dj для каждого j = 1,2, ..., n.
  2. ^ Си Джей Дэйт (май 2005 г.). База данных в подробностях. О'Рейли. п. 42. ISBN  0-596-10012-4. ... в кортежах нет порядка следования атрибутов слева направо ...
  3. ^ Э. Ф. Кодд (1990). Реляционная модель для управления базами данных, версия 2. Эддисон-Уэсли. п. 3. ISBN  0-201-14192-2. Одна из причин полного отказа от позиционных концепций в отношениях реляционной модели заключается в том, что нет ничего необычного в том, чтобы найти отношения базы данных, каждое из которых имеет до 50, 100 или даже 150 столбцов.
  4. ^ Кодд, Эдгар Ф (июнь 1970 г.). «Реляционная модель данных для больших общих банков данных» (PDF). Коммуникации ACM. 13 (6): 377–87. Дои:10.1145/362384.362685. Период, термин связь здесь используется в общепринятом математическом смысле
  5. ^ Джеффри Д. Ульман (1989). Принципы систем баз данных и баз знаний. Джеффри Уллман. стр. 410–. Получено 28 ноября 2012.
  6. ^ Деннис Эллиотт Шаша; Филипп Бонне (2003). Настройка базы данных: принципы, эксперименты и методы устранения неполадок. Морган Кауфманн. п. 124. ISBN  978-1-55860-753-8.
  7. ^ Питер Роб; Карлос Коронель, Питер Роб (2009). Системы баз данных: проектирование, внедрение и управление. Cengage Learning. С. 190–. ISBN  978-1-4239-0201-0. Получено 28 ноября 2012.
  8. ^ Т. А. Халпин; Энтони Дж. Морган (2008). Информационное моделирование и реляционные базы данных. Морган Кауфманн. С. 772–. ISBN  978-0-12-373568-3. Получено 28 ноября 2012.
  9. ^ Майкл Ф. Уорбойз (1995). ГИС: компьютерная перспектива. Тейлор и Фрэнсис. С. 57–. ISBN  978-0-7484-0065-2. Получено 22 ноября 2012.