~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ 6E1248C6067A08FF7DACDEB4625BBDB0__1717744680 ✰
Заголовок документа оригинал.:
✰ Relational model - Wikipedia ✰
Заголовок документа перевод.:
✰ Реляционная модель — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/Relational_model ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/6e/b0/6e1248c6067a08ff7dacdeb4625bbdb0.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/6e/b0/6e1248c6067a08ff7dacdeb4625bbdb0__translat.html ✰
Дата и время сохранения документа:
✰ 15.06.2024 17:07:25 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 7 June 2024, at 10:18 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

Реляционная модель — Википедия Jump to content

Реляционная модель

Из Википедии, бесплатной энциклопедии

Реляционная модель ( RM ) — это подход к управлению данными с использованием структуры и языка, согласующихся с логикой предикатов первого порядка , впервые описанный в 1969 году английским учёным-компьютерщиком Эдгаром Ф. Коддом . [1] [2] где все данные представлены в виде кортежей , сгруппированных в отношения . База данных, организованная по реляционной модели, является реляционной базой данных .

Цель реляционной модели — предоставить декларативный метод указания данных и запросов: пользователи напрямую указывают, какую информацию содержит база данных и какую информацию они хотят от нее, а программное обеспечение системы управления базами данных позаботится об описании структур данных для хранения реляционной модели. данные и процедуры поиска для ответа на запросы.

Большинство реляционных баз данных используют SQL язык определения данных и запросов ; эти системы реализуют то, что можно рассматривать как инженерное приближение к реляционной модели. Таблица ; SQL в схеме базы данных соответствует переменной-предикату содержимое таблицы к отношению; ключевые ограничения, другие ограничения и запросы SQL соответствуют предикатам. Однако базы данных SQL во многих деталях отклоняются от реляционной модели , и Кодд яростно выступал против отклонений, которые ставят под угрозу исходные принципы. [3]

История [ править ]

Реляционная модель была разработана Эдгаром Ф. Коддом как общая модель данных и впоследствии продвигалась, Крисом Дейтом и Хью Дарвеном среди других, . В своем «Третьем манифесте» 1995 года Дейт и Дарвен пытаются продемонстрировать, как реляционная модель может обеспечить определенные «желаемые» объектно-ориентированные функции.

Расширения [ править ]

Через несколько лет после публикации своей модели 1970 года Кодд предложил ее версию с трехзначной логикой (True, False, Missing/ NULL ) для работы с недостающей информацией, и в своей «Реляционной модели для управления базами данных, версия 2» (1990) он пошел шаг вперед с версией четырехзначной логики (верно, ложно, отсутствует, но применимо, отсутствует, но неприменимо). [4]

Концептуализация [ править ]

Основные понятия [ править ]

Отношение с 5 атрибутами (его степенью) и 4 кортежами (его мощностью) можно представить в виде таблицы с 5 столбцами и 4 строками. Однако, в отличие от строк и столбцов таблицы, атрибуты и кортежи отношения неупорядочены.

Отношение . состоит заголовка и тела из Заголовок определяет набор атрибутов имя , каждый из которых имеет и тип данных (иногда называемый доменом ). отношения Количество атрибутов в этом наборе представляет собой степень или арность . Тело представляет собой набор кортежей . Кортеж — это набор из n значений , где n — степень отношения, а каждое значение в кортеже соответствует уникальному атрибуту. [номер 1] Количество кортежей в этом наборе — это мощность отношения . [5] : 17–22 

Отношения представлены реляционными переменными или relvars , которые можно переназначать. [5] : 22–24  База данных представляет собой набор переменных. [5] : 112–113 

В этой модели базы данных следуют принципу информации : в любой момент времени вся информация в базе данных представлена ​​исключительно значениями внутри кортежей, соответствующих атрибутам, в отношениях, определяемых relvars. [5] : 111 

Ограничения [ править ]

База данных может определять произвольные логические выражения в качестве ограничений . Если все ограничения верны , база данных согласована ; в противном случае это противоречиво . Если изменение relvars базы данных приведет к тому, что база данных окажется в несогласованном состоянии, такое изменение является незаконным и не должно быть успешным. [5] : 91 

В общем, ограничения выражаются с помощью операторов реляционного сравнения, из которых теоретически достаточно только одного, «является подмножеством» (⊆). [ нужна цитата ]

Два особых случая ограничений выражаются в виде ключей и внешних ключей :

Ключи [ править ]

Ключ -кандидат или просто ключ — это наименьшее подмножество атрибутов, которые гарантированно однозначно различают каждый кортеж в отношении. Поскольку каждый кортеж в отношении должен быть уникальным, каждое отношение обязательно имеет ключ, который может быть его полным набором атрибутов. Отношение может иметь несколько ключей, поскольку может существовать несколько способов уникального различения каждого кортежа. [5] : 31–33 

Атрибут может быть уникальным в кортежах, но не быть ключом. Например, отношение, описывающее сотрудников компании, может иметь два атрибута: ID и Имя. Даже если в настоящее время ни у одного сотрудника нет одинакового имени, если возможно в конечном итоге нанять нового сотрудника с тем же именем, что и у текущего сотрудника, подмножество атрибута {Name} не является ключевым. И наоборот, если подмножество {ID} является ключом, это означает не только то, что ни один из сотрудников в настоящее время не имеет общего идентификатора, но и что ни один из сотрудников никогда не будет делиться этим идентификатором. [5] : 31–33 

Внешние ключи [ править ]

Внешний ключ это подмножество атрибутов {A} в отношении R1 , ключу другого отношения , R2 ​​обладающее тем свойством, что на { проекция R1 } A является подмножеством проекции R2 которое соответствует на {А} . Другими словами, если кортеж в R 1 содержит значения внешнего ключа, в R 2 должен существовать соответствующий кортеж , содержащий те же значения для соответствующего ключа. [5] : 34 

Реляционные операции [ править ]

Пользователи (или программы) запрашивают данные из реляционной базы данных, отправляя ей запрос . В ответ на запрос база данных возвращает набор результатов.

Часто данные из нескольких таблиц объединяются в одну, выполняя соединение . Концептуально это делается путем взятия всех возможных комбинаций строк ( декартово произведение ) и последующей фильтрации всего, кроме ответа.

Помимо объединения, существует ряд реляционных операций. К ним относятся проект (процесс исключения некоторых столбцов), ограничение (процесс исключения некоторых строк), объединение (способ объединения двух таблиц со схожей структурой), различие (перечисление строк в одной таблице, которые являются не найден в другой), пересечение (в котором перечислены строки, найденные в обеих таблицах) и произведение (упомянутое выше, которое объединяет каждую строку одной таблицы с каждой строкой другой). В зависимости от того, к каким другим источникам вы обращаетесь, существует ряд других операторов, многие из которых можно определить в терминах перечисленных выше. К ним относятся полусоединение, внешние операторы, такие как внешнее соединение и внешнее объединение, а также различные формы деления. Кроме того, есть операторы для переименования столбцов, а также операторы суммирования или агрегирования, а если вы разрешаете значения отношений в качестве атрибутов (атрибут, присваивающий значения отношения), то такие операторы, как группировка и разгруппировка.

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

Нормализация базы данных [ править ]

Отношения классифицируются на основе типов аномалий, к которым они уязвимы. База данных, находящаяся в первой нормальной форме , уязвима для всех типов аномалий, в то время как база данных, находящаяся в нормальной форме домена/ключа, не имеет аномалий модификации. Нормальные формы имеют иерархическую природу. То есть самый низкий уровень — это первая нормальная форма, и база данных не может удовлетворить требованиям нормальных форм более высокого уровня, не выполнив предварительно все требования меньших нормальных форм. [6]

Логическая интерпретация [ править ]

Реляционная модель представляет собой формальную систему . Атрибуты отношения определяют набор логических предложений . Каждое предложение можно выразить в виде кортежа. Тело отношения — это подмножество этих кортежей, представляющее, какие утверждения являются истинными. Ограничения представляют собой дополнительные предложения, которые также должны быть истинными. Реляционная алгебра — это набор логических правил, которые позволяют обоснованно делать выводы из этих утверждений. [5] : 95–101 

Определение кортежа позволяет создать уникальный пустой кортеж без значений, соответствующий пустому набору атрибутов. Если отношение имеет степень 0 (т. е. его заголовок не содержит атрибутов), оно может иметь либо мощность 0 (тело, не содержащее кортежей), либо мощность 1 (тело, содержащее один пустой кортеж). Эти отношения представляют собой логические значения истинности . Отношение со степенью 0 и мощностью 0 является ложным , а отношение со степенью 0 и мощностью 1 является истинным . [5] : 221–223 

Пример [ править ]

Если отношение «Сотрудники» содержит атрибуты {Name, ID} , то кортеж {Алиса, 1} представляет предложение: «Существует сотрудник по имени Алиса с идентификатором 1 ». Это предложение может быть истинным или ложным. Если этот кортеж существует в теле отношения, предложение истинно (такой сотрудник есть). Если этого кортежа нет в теле отношения, предложение ложно (такого сотрудника нет). [5] : 96–97 

Более того, если {ID} является ключом, то отношение, содержащее кортежи {Алиса, 1} и {Боб, 1}, будет представлять собой следующее противоречие :

  1. Существует сотрудник с именем Алиса и идентификатором 1 .
  2. Существует сотрудник с именем Боб и идентификатором 1 .
  3. Не существует нескольких сотрудников с одинаковым идентификатором.

Согласно принципу взрыва , это противоречие позволило бы системе доказать, что любое произвольное утверждение истинно. Чтобы предотвратить это, база данных должна обеспечить соблюдение ключевого ограничения. [5] : 104 

Примеры [ править ]

База данных [ править ]

Идеализированный, очень простой пример описания некоторых relvar ( переменных отношения ) и их атрибутов:

  • Клиент ( Идентификатор клиента , Имя)
  • Заказ ( идентификатор заказа , идентификатор клиента , идентификатор счета , дата)
  • Счет ( идентификатор счета , идентификатор клиента , идентификатор заказа , статус)

В этом проекте у нас есть три значения: Клиент, Заказ и Счет. Атрибуты, выделенные жирным шрифтом и подчеркнутые, являются кандидатами на ключи . Атрибуты, не выделенные жирным шрифтом и подчеркнутые, являются внешними ключами .

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

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

Отношения с клиентами [ править ]

Пользовательский ИД Имя
123 Алиса
456 Боб
789 Кэрол

Если бы мы попытались вставить нового клиента с идентификатором 123 , это нарушило бы дизайн relvar, поскольку идентификатор клиента является первичным ключом , а клиент 123 у нас уже есть . СУБД , должна отклонить транзакцию подобную которая может привести к несогласованности базы данных из-за нарушения ограничения целостности . Однако можно вставить другого клиента по имени Алиса , если этот новый клиент имеет уникальный идентификатор, поскольку поле «Имя» не является частью первичного ключа.

Внешние ключи — это ограничения целостности , гарантирующие, что значение извлекается набора атрибутов из ключа-кандидата в другом отношении . Например, в отношении «Заказ» атрибут «Идентификатор клиента» является внешним ключом. Соединение , — это операция которая извлекает информацию из нескольких отношений одновременно. Объединив relvars из приведенного выше примера, мы могли бы запросить в базе данных всех клиентов, заказы и счета. Если бы нам нужны были кортежи только для конкретного клиента, мы бы указали это с помощью условия ограничения . Если бы мы хотели получить все заказы для клиента 123 , мы могли бы запросить базу данных, чтобы она вернула каждую строку в таблице заказов с идентификатором клиента 123 .

нашей базы данных, описанной выше, есть недостаток В конструкции . Переменная «Счет-фактура» содержит атрибут «Идентификатор заказа». Таким образом, каждый кортеж в переменной Invoice будет иметь один идентификатор заказа, что означает, что для каждого счета существует ровно один заказ. Но на самом деле счет-фактура может быть создан для многих заказов или даже ни для одного конкретного заказа. Кроме того, относительная переменная заказа содержит атрибут «Идентификатор счета», подразумевающий, что каждому заказу соответствует соответствующий счет-фактура. Но опять же, это не всегда так в реальном мире. Заказ иногда оплачивается по нескольким счетам, а иногда оплачивается без счета. Другими словами, может быть много счетов-фактур на один заказ и много заказов на один счет-фактуру. Это связь «многие ко многим» между Заказом и Счетом (также называемая неспецифической связью ). Для представления этой связи в базе данных необходимо ввести новую relvar, роль которой заключается в указании соответствия между Заказами и Счетами:

OrderInvoice (  Идентификатор заказа  ,  Идентификатор счета  )
 

Теперь относительная переменная Order имеет отношение один ко многим к таблице OrderInvoice, как и относительная переменная Invoice. Если мы хотим получить каждый счет-фактуру для определенного заказа, мы можем запросить все заказы, где идентификатор заказа в отношении заказа равен идентификатору заказа в OrderInvoice и где идентификатор счета-фактуры в OrderInvoice равен идентификатору счета-фактуры в Invoice.

Приложение к реляционным базам данных [ править ]

Типом данных в реляционной базе данных может быть набор целых чисел, набор символьных строк, набор дат и т. д. Реляционная модель не определяет, какие типы должны поддерживаться.

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

базы данных Относительная переменная (переменная отношения) обычно известна как базовая таблица . Заголовок присвоенного ему значения в любой момент соответствует указанному в объявлении таблицы, а его тело — это то, которое было присвоено ему последним оператором обновления (обычно INSERT, UPDATE или DELETE). Заголовок и тело таблицы, полученной в результате оценки запроса, определяются определениями операторов, используемых в этом запросе.

SQL и реляционная модель [ править ]

SQL, первоначально позиционировавшийся как стандартный язык для реляционных баз данных , в нескольких местах отклоняется от реляционной модели. Текущий стандарт ISO SQL не упоминает реляционную модель и не использует реляционные термины или концепции. [ нужна цитата ]

Согласно реляционной модели, атрибуты и кортежи отношения представляют собой математические наборы , то есть они неупорядочены и уникальны. В таблице SQL ни строки, ни столбцы не являются правильными наборами. Таблица может содержать как повторяющиеся строки, так и повторяющиеся столбцы, а столбцы таблицы явно упорядочены. SQL использует значение Null для обозначения отсутствующих данных, которые не имеют аналога в реляционной модели. Поскольку строка может представлять неизвестную информацию, SQL не соответствует принципу информации реляционной модели . [5] : 153–155, 162 

Теоретико множественная формулировка -

Основными понятиями реляционной модели являются отношений имена и имена атрибутов . Мы будем представлять их в виде строк, таких как «Человек» и «имя», и обычно будем использовать переменные. и чтобы расположиться над ними. Другое базовое понятие — это набор атомарных значений , который содержит такие значения, как числа и строки.

Наше первое определение касается понятия кортежа , которое формализует понятие строки или записи в таблице:

Кортеж
Кортеж — это частичная функция от имен атрибутов до атомарных значений.
Заголовок
Заголовок — это конечный набор имен атрибутов.
Проекция
Проекция кортежа на конечном наборе атрибутов является .

Следующее определение определяет отношение , которое формализует содержимое таблицы, как оно определено в реляционной модели.

Связь
Отношение — это кортеж с , заголовок и , тело, набор кортежей, каждый из которых имеет домен .

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

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

Ключевые ограничения и функциональные зависимости [ править ]

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

Суперключ

Суперключ — это набор заголовков столбцов, для которых значения этих объединенных столбцов уникальны во всех строках. Формально:

Суперключ записывается как конечный набор имен атрибутов.
Суперключ находится в отношении если:
  • и
  • не существует двух различных кортежей такой, что .
Суперключ хранится во вселенной отношений. если оно справедливо во всех отношениях в .
Теорема: Суперключ содержится во вселенной отношений над если и только если и держится .
Кандидатский ключ

Кандидатный ключ — это суперключ, который нельзя разделить для формирования другого суперключа.

Суперключ хранится в качестве потенциального ключа для юниверса отношений если он является суперключом для и нет подходящего подмножества который также является суперключом для .
Функциональная зависимость

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

Функциональная зависимость (сокращенно FD) записывается как для конечные наборы имен атрибутов.
Функциональная зависимость находится в отношении если:
  • и
  • кортежи ,
Функциональная зависимость содержится во вселенной отношений если оно справедливо во всех отношениях в .
Тривиальная функциональная зависимость
Функциональная зависимость тривиальна под заголовком если это справедливо во всех вселенных отношений .
Теорема: ФД тривиально под заголовком если и только если .
Закрытие
Аксиомы Армстронга : Замыкание множества ФД. под заголовком , записанный как , является наименьшим расширенным набором такой, что:
  • (рефлексивность)
  • (транзитивность) и
  • (увеличение)
Теорема: аксиомы Армстронга верны и полны; учитывая заголовок и набор FD, которые содержат только подмножества , если и только если сохраняется во всех вселенных отношений в котором все ФД в держать.
Завершение
Завершение конечного набора атрибутов при конечном наборе ФД , записанный как , является наименьшим расширенным набором такой, что:
Завершение набора атрибутов можно использовать для вычисления того, находится ли определенная зависимость в замыкании набора FD.
Теорема: Дан набор ФД, если и только если .
Несократимое покрытие
Неприводимое покрытие множества ФД представляет собой набор таких ФД, что:
  • не существует такой, что
  • представляет собой одноэлементный набор и
  • .

Алгоритм получения ключей-кандидатов из функциональных зависимостей [ править ]

Алгоритм  получения ключей-кандидатов из функциональных зависимостей  на 
     входе:  набор  S  FD, которые содержат только подмножества заголовка  H 
     на выходе:  набор  C  суперключей, которые используются в качестве ключей-кандидатов в 
              все вселенные отношений над  H  все FD в  S.  , в которых выполняются 

      C  := ∅ // найдены возможные ключи 
      Q  := {  H  } // суперключи, содержащие потенциальные ключи 
      пока   Q  <> ∅  делать 
          пусть  K  — некоторый элемент из  Q 
         Q  :=  Q  – {  K  } 
          минимальный  :=  true 
         для каждого   X->Y   в   S   do 
             K'  := (  K  Y  ) ∪  X  // получаем новый суперключ 
              если   K'  K   , то 
                 минимальный  :=  false 
                 Q  :=  Q  ∪ {  K'  } 
              end if 
         end for 
         если   минимально   и  нет подмножества  K  в  C   , то 
              удалить все надмножества  K  из  C 
             C  :=  C  ∪ {  K  } 
          конец, если 
     конец, пока 

Альтернативы [ править ]

Другие модели включают иерархическую модель и сетевую модель . Некоторые системы , использующие эти старые архитектуры, до сих пор используются в центрах обработки данных с потребностями в больших объемах данных или там, где существующие системы настолько сложны и абстрактны, что переход на системы, использующие реляционную модель, будет непомерно затратным. Также следует отметить новые объектно-ориентированные базы данных . [7] и журнал данных . [8]

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

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

См. также [ править ]

Примечания [ править ]

  1. ^ Несмотря на свое название, кортеж в реляционной модели не является математическим кортежем . В математике элементы кортежа упорядочены. В реляционной модели атрибуты неупорядочены, поэтому соответствующие элементы в кортеже также неупорядочены.

Ссылки [ править ]

  1. ^ Кодд, Э.Ф. (1969), Выводимость, избыточность и согласованность отношений, хранящихся в больших банках данных , Отчет об исследовании, IBM .
  2. ^ Кодд, Э.Ф. (1970). «Реляционная модель данных для больших общих банков данных» . Коммуникации АКМ . Классика. 13 (6): 377–87. дои : 10.1145/362384.362685 . S2CID   207549016 . Архивировано из оригинала 12 июня 2007 г.
  3. ^ Кодд, Э. Ф. (1990), Реляционная модель управления базами данных , Аддисон-Уэсли, стр. 371–388, ISBN  978-0-201-14192-4 .
  4. ^ Дата, Кристофер Дж. (2006). «18. Почему не работает трех- и четырехзначная логика». Дата в базе данных: Сочинения 2000–2006 гг . Апресс. стр. 329–41. ISBN  978-1-59059-746-0 .
  5. ^ Перейти обратно: а б с д Это ж г час я дж к л м Дата, Крис Дж. (2013). Реляционная теория для компьютерных специалистов: что на самом деле представляют собой реляционные базы данных (1-е изд.). Севастополь, Калифорния: O'Reilly Media. ISBN  978-1-449-36943-9 .
  6. ^ Дэвид М. Кроенке, Обработка баз данных: основы, проектирование и реализация (1997), Prentice-Hall, Inc., страницы 130–144.
  7. ^ Аткинсон М., Девитт Д., Майер Д., Банкилхон Ф., Диттрих К. и Здоник С., 1990. Манифест объектно-ориентированной системы баз данных. В книге «Дедуктивные и объектно-ориентированные базы данных» (стр. 223-240). Северная Голландия.
  8. ^ Майер Д., Текле К.Т., Кифер М. и Уоррен Д.С., 2018. Журнал данных: концепции, история и перспективы. В декларативном логическом программировании: теория, системы и приложения (стр. 3–100).
  9. ^ Ахо, А.В. и Ульман, JD, 1979, январь. Универсальность языков поиска данных. В материалах 6-го симпозиума ACM SIGACT-SIGPLAN по принципам языков программирования (стр. 110-119).

Дальнейшее чтение [ править ]

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: 6E1248C6067A08FF7DACDEB4625BBDB0__1717744680
URL1:https://en.wikipedia.org/wiki/Relational_model
Заголовок, (Title) документа по адресу, URL1:
Relational model - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)