Перейти к содержимому

Что такое отношение в бд

  • автор:

5.2.1. Реляционное отношение

Итак, как уже упоминалось, реляционная база данных — это конечный (огра­ниченный) набор отношений. Отношения используются для представления ‘ объектов, а также для представления связей между объектами. Отношение — это двумерная таблица, имеющая уникальное имя и состоящая из строк и столбцов, где строки соответствуют записям, а столбцы — атрибутам. Каж- , дая строка в таблице представляет некоторый объект реального мира или I соотношения между объектами. Атрибут — это поименованный столбец отношения. Свойства объекта, его характеристики определяются значениями атрибутов. Порядок следования атрибутов не влияет на само отношение, оно имеет один и тот же смысл при любом порядке их следования. Хотя в литературе по базам данных понятия «отношение» и «таблица» иногда рассматриваются как синонимы, их следует различать: отношением является не любая таблица, а таблица, обладающая определенными свойствами. Пусть имеется отношение г. Схемой отношения г называется конечное множе­ство имен атрибутов Aj, . Ап\. Заголовки столбцов отношения содержат имена его атрибутов и, следовательно, все вместе отражают его схему. Схема отношения ПРЕПОДАВАТЕЛЬ может быть представлена следующим образом: Таб ном преп. Фамилия, Должность> отношения, схема базы данных Схема отношения — это именованное множество пар . Степень или «арность» схемы отношения — мощность этого множества. Степень отношения СОТРУДНИКИ равна четырем, то есть оно является 4-арным. Если все атрибуты одного отношения определены на разных доменах, осмысленно использовать для именования атрибутов имена соответствующих доменов (не забывая, конечно, о том, что это является всего лишь удобным способом именования и не устраняет различия между понятиями домена и атрибута). Схема БД (в структурном смысле) — это набор именованных схем отношений. Кортеж, отношение Кортеж, соответствующий данной схеме отношения, — это множество пар , которое содержит одно вхождение каждого имени атрибута, принадлежащего схеме отношения. «Значение» является допустимым значением домена данного атрибута (или типа данных, если понятие домена не поддерживается). Тем самым, степень или «арность» кортежа, т.е. число элементов в нем, совпадает с «арностью» соответствующей схемы отношения. Попросту говоря, кортеж — это набор именованных значений заданного типа. Отношение — это множество кортежей, соответствующих одной схеме отношения. Иногда, чтобы не путаться, говорят «отношение-схема» и «отношение-экземпляр», иногда схему отношения называют заголовком отношения, а отношение как набор кортежей — телом отношения. На самом деле, понятие схемы отношения ближе всего к понятию структурного типа данных в языках программирования. Было бы вполне логично разрешать отдельно определять схему отношения, а затем одно или несколько отношений с данной схемой. Однако в реляционных базах данных это не принято. Имя схемы отношения в таких базах данных всегда совпадает с именем соответствующего отношения-экземпляра. В классических реляционных базах данных после определения схемы базы данных изменяются только отношения-экземпляры. В них могут появляться новые и удаляться или модифицироваться существующие кортежи. Однако во многих реализациях допускается и изменение схемы базы данных: определение новых и изменение существующих схем отношения. Это принято называть эволюцией схемы базы данных. Атрибут Главными элементами семантической модели данных являются типы объек­тов, их атрибуты и типы связей.’Типы объектов часто представляют в виде существительных, а типы связей — в виде глаголов. Семантическая модель предметной области изображается в виде диаграммы с учетом принятых обозначений для ее элементов (рис. 3.2).

21.08.2019 431.1 Кб 2 ОГУ Экономическая теория.doc

17.05.2015 28.19 Кб 183 огэ общ 2 февр.docx

17.05.2015 21.84 Кб 22 ОГЭ ОБЩЕСТВО 26 ЯНВАРЯ.docx

19.08.2019 138.24 Кб 1 оконч.КР 2007.doc

19.08.2019 67.27 Кб 0 оконч.КР 2007.docx

06.09.2019 150.78 Кб 1 Окончательный вариант..docx

18.03.2016 26.19 Кб 5 Олимп респблика.docx

24.08.2019 63.37 Кб 9 Ольховский.docx

22.09.2019 74.79 Кб 1 ом.docx

22.12.2018 52.63 Кб 1 ОМЗ 17-40.docx

28.08.2019 92.57 Кб 8 ОНОТ Прогрессивные формы организации труда 4 ва. docx

Ограничение

Для продолжения скачивания необходимо пройти капчу:

Реляционная модель данных. Ключи

Заданное отношение соответствует тому, что мы называли расширением предиката [2] в логике первого порядка.

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

Отношения и математика

[math] R = (\,\,\dots\>) \\ R(a_1,a_2,\dots ,a_n)⊂T_1×T_2×\cdots×T_n \\ \;\;(v_1,v_2,\dots ,v_n)∈T_1×T_2×\cdots×T_n[/math] 

Отношения и таблицы

Изоморфизму — нет, различиям — да!

Таблицы Отношения
Столбцы – список Атрибуты – множество
Строки – элемент расширенного декартова произведения Кортежи – элемент декартова произведения
Таблица – список строк Отношение – множество кортежей

Ключи

Надключи

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

По определению, множество всех атрибутов R обладает свойством уникальности.

Как следствия приходим к следующему определению надключа:

Определение:
Надключ является идентификатором кортежа.
Пример
Пример таблицы с паспортными данными

SId PassS PassNo LastName FirstName
1 0000 123456 Иванов Иван
2 0001 098765 Петров Петр
3 0001 654321 Сидоров Сидр
4 0007 567890 Плюшкин Иван

Сколько надключей в таблице с паспортными данными?

Очевидно, что [math]SId[/math] и [math]\[/math] сами по себя являются надключами. Тогда рассмотрим все возможные множества, которые содержат любой из этих надключ:

  • Все для [math]SId[/math] : [math]1+C_4^1+C_4^2+C_4^3+C_4^4= 16[/math]
  • Все без [math]SId[/math] для [math]\[/math] : [math]1+C_2^1+C_2^2= 4[/math]

Итого: [math]16 + 4 = 20[/math]

Ключи

Определения
Определение:
Ключ — минимальный по включению надключ.

Учитывая то, что у любого множества атрибутов отношения R существует надключ в виде множества всех атрибутов R, то ключ всегда можно найти, минимизировав этот надключ.

Как следствия приходим к следующему определению:

Определение:
Ключ является минимальным идентификатором кортежа.

Ключи для таблицы с паспортными данными:

Требования к ключам
Определение:
Пусть R — отношение. Будем говорить, что заданное множество атрибутов R обладает свойством неизменности, если в любой конкретный момент времени никакое строгое подмножество множества атрибутов не обладает свойством уникальности.

Ключи должны удовлетворять следующим свойствам:

  • Уникальность
  • Неизменность
Естественные и суррогатные ключи

Различия суррогатных и натуральных ключей (виды ключей [3] ):

  • Натуральные – соответствуют бизнес-правилам, часто составные
  • Суррогатные – простые и эффективные

Примечания

  1. ↑First-order logic — Wikipedia
  2. ↑Extension (predicate logic) — Wikipedia
  3. ↑Виды ключей — Викиконспекты

Литература

  • Дейт К. : Введение в системы баз данных (Глава 9)
  • Уидом Д., Ульман Д. : Основы реляционных баз данных (Глава 3)
  • W.W. Armstrong : Dependency Structures of Data Base Relationships

Ссылки

  • Реляционная модель и функциональные зависимости — kgeorgiy
  • Relational model — Wikipedia

Отношение (реляционная модель)

n-арным отношением R, или отношением Rстепени n, называют подмножество декартовa произведения множеств D_1, D_2, . D_n (n\ge 1), не обязательно различных. Исходные множества D_1, D_2, . D_nназывают в модели доменами (в СУБД используется понятие множество значений, определяемых типом данных).

n

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

Такая таблица обладает рядом свойств:

  1. В таблице нет двух одинаковых строк.
  2. Таблица имеет столбцы, соответствующие атрибутам отношения.
  3. Каждый атрибут в отношении имеет уникальное имя.
  4. Порядок строк в таблице произвольный.

Под атрибутом здесь понимается вхождение домена в отношение. Строки отношения называются кортежами.

Формализованное определение введённых понятий.

  • Заголовок Hr (или схема) отношения r — конечное множество упорядоченных пар вида A, T>, где A называется именем атрибута, а T обозначает имя некоторого базового типа или ранее определенного домена, то есть множества допустимых значений. По определению требуется, чтобы все имена атрибутов в заголовке отношения были различны.
  • Кортежtr, соответствующий заголовку Hr — множество упорядоченных триплетов вида A, T, v>, по одному такому триплету для каждого атрибута в Hr. Третий элемент — v — триплета A, T, v> должен являться допустимым значением типа данных или домена T. Замечание: так как имена атрибутов уникальны, то указание домена в кортеже излишне.
  • ТелоBr отношения — неупорядоченное множество различных кортежей tr.
  • ЗначениемVr отношения r называется пара множеств Hr и Br.

Полезно также понятие первичного ключа — это такой набор атрибутов, который однозначно определяет кортеж и минимален среди всех своих подмножеств (то есть нельзя убрать ни один из атрибутов). При добавлении новых записей первичный ключ обязан оставаться первичным ключом (например, неверным будет использование в качестве первичного ключа набора Имя + Отчество + Фамилия сотрудника, даже если на момент создания таблицы полных тёзок среди заносимых в неё людей не было).

Пример

Допустим, содержание доменов следующее:

  • D_1=
  • D_2=
  • D_3=

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

Тогда отношение R может моделировать реальную ситуацию и содержать пять строк, которые соответствуют результатам сессии (Петров экзамен по Физике не сдавал):

R
Фамилия Предмет Оценка
Иванов Физика 4
Иванов Химия 3
Петров Химия 5
Сидоров Физика 5
Сидоров Химия 4

Операции, определённые над отношениями

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

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

Пример деления

Атрибут A Атрибут B Атрибут C
a c d
b c d
a p q
b x y
Атрибут A
a
b
Атрибут B Атрибут C
c d

Остаток от деления:

Атрибут A Атрибут B Атрибут C
a p q
b x y

Чтобы было проще понять этот пример, сравните его с обычной алгеброй: умножьте делитель на частное (декартово произведение), прибавьте остаток от деления (объединение), и Вы получите делимое. То есть если a/b=c, и остаток=d, тогда b*c+d=a.

Литература

  • Дейт К. Введение в системы баз данных //6-издание. — Киев: Диалектика, 1998. — 784 с.
  • Пушников А.Ю. Введение в системы управления базами данных. Часть 1. Реляционная модель данных: Учебное пособие / Издание Башкирского университета. — Уфа, 1999. — 108 с. — ISBN 5-7477-0350-1.
  • Найти и оформить в виде сносок ссылки на авторитетные источники, подтверждающие написанное.
  • Проставив сноски, внести более точные указания на источники.
  • Викифицировать список литературы, используя шаблон > , и проставить ISBN.

Что такое отношение в бд

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

Для начала покажем смысл этих понятий на примере отношения СОТРУДНИКИ, содержащего информацию о сотрудниках некоторой организации:

4.1.1. Тип данных

Понятие тип данных в реляционной модели данных полностью адекватно понятию типа данных в языках программирования. Обычно в современных реляционных БД допускается хранение символьных, числовых данных, битовых строк, специализированных числовых данных (таких как «деньги»), а также специальных «темпоральных» данных (дата, время, временной интервал). Достаточно активно развивается подход к расширению возможностей реляционных систем абстрактными типами данных (соответствующими возможностями обладают, например, системы семейства Ingres/Postgres). В нашем примере мы имеем дело с данными трех типов: строки символов, целые числа и «деньги».

4.1.2. Домен

Понятие домена более специфично для баз данных, хотя и имеет некоторые аналогии с подтипами в некоторых языках программирования. В самом общем виде домен определяется заданием некоторого базового типа данных, к которому относятся элементы домена, и произвольного логического выражения, применяемого к элементу типа данных. Если вычисление этого логического выражения дает результат «истина», то элемент данных является элементом домена.

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

Следует отметить также семантическую нагрузку понятия домена: данные считаются сравнимыми только в том случае, когда они относятся к одному домену. В нашем примере значения доменов «Номера пропусков» и «Номера групп» относятся к типу целых чисел, но не являются сравнимыми. Заметим, что в большинстве реляционных СУБД понятие домена не используется, хотя в Oracle V.7 оно уже поддерживается.

4.1.3. Схема отношения, схема базы данных

Схема отношения — это именованное множество пар . Степень или «арность» схемы отношения — мощность этого множества. Степень отношения СОТРУДНИКИ равна четырем, то есть оно является 4-арным. Если все атрибуты одного отношения определены на разных доменах, осмысленно использовать для именования атрибутов имена соответствующих доменов (не забывая, конечно, о том, что это является всего лишь удобным способом именования и не устраняет различия между понятиями домена и атрибута).

Схема БД (в структурном смысле) — это набор именованных схем отношений.

4.1.4. Кортеж, отношение

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

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

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

Обычным житейским представлением отношения является таблица, заголовком которой является схема отношения, а строками — кортежи отношения-экземпляра; в этом случае имена атрибутов именуют столбцы этой таблицы. Поэтому иногда говорят «столбец таблицы», имея в виду «атрибут отношения». Когда мы перейдем к рассмотрению практических вопросов организации реляционных баз данных и средств управления, мы будем использовать эту житейскую терминологию. Этой терминологии придерживаются в большинстве коммерческих реляционных СУБД.

Реляционная база данных — это набор отношений, имена которых совпадают с именами схем отношений в схеме БД.

Как видно, основные структурные понятия реляционной модели данных (если не считать понятия домена) имеют очень простую интуитивную интерпретацию, хотя в теории реляционных БД все они определяются абсолютно формально и точно.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *