stringtranslate.com

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

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

В теории баз данных отношение , как первоначально определено Э. Ф. Коддом , [1] представляет собой набор кортежей ( d 1 , d 2 ,...,d n ), где каждый элемент d j является членом D j , домена данных . Несмотря на первоначальное определение Кодда и вопреки обычному определению в математике, нет никакого упорядочения элементов кортежей отношения. [2] [3] Вместо этого каждый элемент называется значением атрибута . Атрибут — это имя, сопряженное с доменом (в настоящее время чаще называемое типом или типом данных ). Значение атрибута — это имя атрибута, сопряженное с элементом домена этого атрибута, а кортеж — это набор значений атрибутов, в котором никакие два различных элемента не имеют одинакового имени. Таким образом, в некоторых отчетах кортеж описывается как функция , сопоставляющая имена со значениями.

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

Э. Ф. Кодд использовал термин «отношение» в его математическом смысле конечного отношения , набора кортежей на некотором наборе из n множеств S1 , S2 ,...., Sn . [4] Таким образом, n -арное отношение интерпретируется в соответствии с предположением о замкнутости мира как расширение некоторого n -адического предиката : все и только те n -кортежи, значения которых, подставленные вместо соответствующих свободных переменных в предикате, дают истинные предложения, появляются в отношении.

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

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

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

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

Примеры

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

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

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

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

Реляционные переменные

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

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

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

Используя язык определения данных (DDL), он может определять переменные базового отношения. В SQL CREATE TABLEсинтаксис используется для определения базовых таблиц. Ниже приведен пример.

CREATE TABLE List_of_people ( ID INTEGER , Имя CHAR ( 40 ), Адрес CHAR ( 200 ), ПЕРВИЧНЫЙ КЛЮЧ ( ID ) )            

Язык определения данных (DDL) также используется для определения производных переменных отношения. В SQL CREATE VIEWсинтаксис используется для определения производной переменной отношения. Ниже приведен пример.

СОЗДАТЬ ПРЕДСТАВЛЕНИЕ List_of_Okinawa_people AS ( ВЫБРАТЬ ИДЕНТИФИКАТОР , Имя , Адрес ИЗ List_of_people ГДЕ Адрес ПОДОБЕН '%, Окинава' )              

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

Ссылки

  1. ^ EF Codd (октябрь 1972 г.). "Дальнейшая нормализация реляционной модели базы данных". Системы баз данных . Институт Куранта: Prentice-Hall. ISBN 013196741XR является отношением на этих n доменах , если оно представляет собой набор элементов вида (d 1 , d 2 , ..., d n ), где d j ∈ D j для каждого j=1,2,...,n.
  2. ^ CJ Date (май 2005). База данных в деталях . O'Reilly. стр. 42. ISBN 0-596-10012-4... кортежи не имеют упорядочения атрибутов слева направо ...
  3. ^ EF Codd (1990). Реляционная модель управления базами данных, версия 2. Addison-Wesley. стр. 3. ISBN 0-201-14192-2. Одной из причин полного отказа от позиционных концепций в отношениях реляционной модели является то, что совсем не редкость обнаружить отношения в базе данных, каждое из которых имеет до 50, 100 или даже 150 столбцов.
  4. ^ Кодд, Эдгар Ф. (июнь 1970 г.). "Реляционная модель данных для больших общих банков данных" (PDF) . Сообщения ACM . 13 (6): 377–87. doi :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. ^ TA Halpin; Энтони Дж. Морган (2008). Информационное моделирование и реляционные базы данных. Morgan Kaufmann. стр. 772–. ISBN 978-0-12-373568-3. Получено 28 ноября 2012 г.
  9. ^ Майкл Ф. Ворбойс (1995). Gis: A Computing Perspective. Тейлор и Фрэнсис. стр. 57–. ISBN 978-0-7484-0065-2. Получено 22 ноября 2012 г.