stringtranslate.com

Связь (база данных)

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

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

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

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

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

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

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

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

Примеры

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

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

Согласно определению тела , кортежи тела не располагаются в каком-либо определенном порядке — нельзя сказать: «Кортеж «Мурата Макото» находится над кортежем «Мацумото Юкихиро»», и нельзя сказать: «Кортеж «Кортеж» Ёнезава Акинори — первый кортеж». Аналогичный комментарий относится и к строкам таблицы 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 ( ВЫБРАТЬ ID , имя , адрес ИЗ List_of_people WHERE Адрес LIKE '%, Окинава' )              

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

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

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