Лекция Реляционная модель данных. Связи в рбд

Лекция 4. Реляционная модель данных. Связи в РБД.


В реляционной модели данных информация хранится в одной либо нескольких связанных таблицах. Отдельная таблица обычно представляет совокупа (группу) или реальных объектов, или неких абстрактных концепций, или Лекция Реляционная модель данных. Связи в рбд событий 1-го типа. Любая запись в таблице идентифицирует один объект группы. Таблица состоит из строк и столбцов, именуемых соответственно записями и полями. Таблицы владеют последующими качествами.

1. Любая ячейка таблицы представляет собой Лекция Реляционная модель данных. Связи в рбд один элемент данных, совокупа значений в одном столбце одной строчки недопустима.

2. Все столбцы в таблице однородные. Это значит, что элементы столбца имеют схожую природу. Столбцам присвоены имена.

3. В таблице нет 2-ух схожих строк.

4. Порядок Лекция Реляционная модель данных. Связи в рбд размещения строк и столбцов в таблице может быть произвольным. В операциях с таковой таблицей ее строчки и столбцы могут просматриваться в любом порядке безотносительно к их информационному содержанию и смыслу.

Таблицы, владеющие Лекция Реляционная модель данных. Связи в рбд такими качествами, являются четким прототипом математического двухмерного огромного количества - дела (relation). Но эти два понятия не эквивалентны. Отношение - это абстрактный математический объект, а таблица - конкретное изображение этого абстрактного объекта. Различие Лекция Реляционная модель данных. Связи в рбд проявляется в их свойствах. В отношении строчки и столбцы не могут быть упорядочены, а в таблице строчки упорядочены сверху вниз, столбцы - слева вправо. В таблице могут повторяться строчки, а в отношении - нет. В реляционной Лекция Реляционная модель данных. Связи в рбд модели любая строчка таблиц уникальна. Это обеспечивается применением ключей, которые содержат одно либо несколько полей таблицы, Ключи хранятся в упорядоченном виде, обеспечивающем прямой доступ к записям таблицы во время поиска. Связь Лекция Реляционная модель данных. Связи в рбд меж таблицами осуществляется средством значений 1-го либо нескольких совпадающих полей (в большей степени главных).

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

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

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

Более правильной интуитивной трактовкой понятия домена является осознание домена как допустимого потенциального огромного количества значений данного типа. К примеру, домен "Имена" в нашем примере определен на базисном типе строк Лекция Реляционная модель данных. Связи в рбд знаков, но в число его значений могут заходить только те строчки, которые могут изображать имя (а именно, такие строчки не могут начинаться с мягенького знака).

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

Атрибут - это свойство, характеризующее объект. В структуре таблицы каждый атрибут называется и ему соответствует заголовок некого Лекция Реляционная модель данных. Связи в рбд столбца таблицы. Количество атрибутов именуется степенью дела.

Схема дела - это именованное огромное количество пар {имя атрибута, имя домена (либо типа, если понятие домена не поддерживается)}. Степень либо "арность" схемы дела - мощность Лекция Реляционная модель данных. Связи в рбд этого огромного количества. Если все атрибуты 1-го дела определены на различных доменах, осмысленно использовать для именования атрибутов имена соответственных доменов (не запамятывая, естественно, о том, что это является всего только комфортным Лекция Реляционная модель данных. Связи в рбд методом именования и не избавляет различия меж понятиями домена и атрибута).

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

^ Кортеж, отношение

Кортеж, соответственный данной схеме дела, - это огромное количество пар {имя атрибута Лекция Реляционная модель данных. Связи в рбд, значение}, которое содержит одно вхождение каждого имени атрибута, принадлежащего схеме дела. "Значение" является допустимым значением домена данного атрибута (либо типа данных, если понятие домена не поддерживается). Тем, степень либо "арность" кортежа Лекция Реляционная модель данных. Связи в рбд, т.е. число частей в нем, совпадает с "арностью" соответственной схемы дела. Просто говоря, кортеж - это набор именованных значений данного типа.

Отношение - это огромное количество кортежей, соответственных одной схеме дела. Время от времени Лекция Реляционная модель данных. Связи в рбд, чтоб не путаться, молвят "отношение-схема" и "отношение-экземпляр", время от времени схему дела именуют заголовком дела, а отношение как набор кортежей - телом дела. По сути, понятие схемы дела поближе Лекция Реляционная модель данных. Связи в рбд всего к понятию структурного типа данных в языках программирования. Было бы полностью разумно разрешать раздельно определять схему дела, а потом одно либо несколько отношений с данной схемой.

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

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

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

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

Фундаментальные характеристики отношений.
^ Отсутствие кортежей-дубликатов
То свойство, что дела не содержат кортежей-дубликатов, следует Лекция Реляционная модель данных. Связи в рбд из определения дела как огромного количества кортежей. В традиционной теории множеств по определению каждое огромное количество состоит из разных частей.

Из этого характеристики вытекает наличие у каждого дела так именуемого первичного ключа - набора Лекция Реляционная модель данных. Связи в рбд атрибутов, значения которых совершенно точно определяют кортеж дела. Для каждого дела по последней мере полный набор его атрибутов обладает этим свойством. Но при формальном определении первичного ключа требуется обеспечение его "минимальности Лекция Реляционная модель данных. Связи в рбд", т.е. в набор атрибутов первичного ключа не должны заходить такие атрибуты, которые можно откинуть без вреда для основного характеристики - совершенно точно определять кортеж. Понятие первичного ключа является только принципиальным в связи Лекция Реляционная модель данных. Связи в рбд с понятием целостности баз данных.

Забегая вперед, заметим, что в почти всех практических реализациях РСУБД допускается нарушение характеристики уникальности кортежей для промежных отношений, порождаемых неявно при выполнении запросов. Такие дела являются не огромными Лекция Реляционная модель данных. Связи в рбд количествами, а мультимножествами, что в ряде всевозможных случаев позволяет достигнуть определенных преимуществ, но время от времени приводит к суровым дилеммам.
^ Отсутствие упорядоченности кортежей
Свойство отсутствия упорядоченности кортежей дела также является следствием Лекция Реляционная модель данных. Связи в рбд определения отношения-экземпляра как огромного количества кортежей. Отсутствие требования к поддержанию порядка на огромном количестве кортежей дела дает дополнительную упругость СУБД при хранении баз данных во наружной памяти и при выполнении запросов к базе Лекция Реляционная модель данных. Связи в рбд данных. Это не противоречит тому, что при формулировании запроса к БД, к примеру, на языке SQL можно востребовать сортировки результирующей таблицы в согласовании со значениями неких столбцов. Таковой итог, вообщем Лекция Реляционная модель данных. Связи в рбд говоря, не отношение, а некий упорядоченный перечень кортежей.
^ Отсутствие упорядоченности атрибутов
Атрибуты отношений не упорядочены, так как по определению схема дела есть огромное количество пар {имя атрибута, имя домена}. Для ссылки на значение Лекция Реляционная модель данных. Связи в рбд атрибута в кортеже дела всегда употребляется имя атрибута. Это свойство на теоретическом уровне позволяет, к примеру, видоизменять схемы имеющихся отношений не только лишь методом прибавления новых атрибутов, да и методом удаления имеющихся Лекция Реляционная модель данных. Связи в рбд атрибутов. Но в большинстве имеющихся систем такая возможность не допускается, и хотя упорядоченность набора атрибутов дела очевидно не требуется, нередко в качестве неявного порядка атрибутов употребляется их порядок в линейной Лекция Реляционная модель данных. Связи в рбд форме определения схемы дела.
^ Атомарность значений атрибутов
Значения всех атрибутов являются атомарными. Это следует из определения домена как потенциального огромного количества значений обычного типа данных, т.е. посреди значений домена не могут содержаться огромного количества Лекция Реляционная модель данных. Связи в рбд значений (дела). Принято гласить, что в реляционных базах данных допускаются только нормализованные дела либо дела, выставленные в первой обычной форме. Возможным примером ненормализованного дела является последующее.

^ Нормализованные дела составляют базу традиционного реляционного Лекция Реляционная модель данных. Связи в рбд подхода к организации баз данных. Они владеют некими ограничениями (не всякую информацию комфортно представлять в виде плоских таблиц), но значительно упрощают манипулирование данными. Разглядим, к примеру, два схожих оператора Лекция Реляционная модель данных. Связи в рбд занесения кортежа:

Зачислить сотрудника Кузнецова (пропуск номер 3000, заработная плата 115,000) в отдел номер 320 и

Зачислить сотрудника Кузнецова (пропуск номер 3000, заработная плата 115,000) в отдел номер 310.

Если информация о сотрудниках представлена в виде дела СОТРУДНИКИ Лекция Реляционная модель данных. Связи в рбд, оба оператора будут производиться идиентично (воткнуть кортеж в отношение СОТРУДНИКИ). Если же работать с ненормализованным отношением ОТДЕЛЫ, то 1-ый оператор выразится в занесение кортежа, а 2-ой - в добавление инфы о Кузнецове в множественное Лекция Реляционная модель данных. Связи в рбд значение атрибута ОТДЕЛ кортежа с первичным ключом 310.

Более всераспространенная трактовка реляционной модели данных, по-видимому, принадлежит Дейту, который воспроизводит ее (с разными уточнениями) фактически во всех собственных книжках. Согласно Дейту реляционная модель Лекция Реляционная модель данных. Связи в рбд состоит из 3-х частей, описывающих различные нюансы реляционного подхода: структурной части, манипуляционной части и целостной части.

В структурной части модели фиксируется, что единственной структурой данных, применяемой в реляционных БД, является нормализованное n-арное Лекция Реляционная модель данных. Связи в рбд отношение.

(E.F. Codd) Кодд разработал язык манипулирования данными, представленными в виде отношений. Он предложил два эквивалентных по своим выразительным способностям варианта языка манипулирования данными.

1. Реляционная алгебра. Это процедурный язык, потому Лекция Реляционная модель данных. Связи в рбд что отношение, являющееся результатом запроса к реляционной БД, рассчитывается при выполнении последовательности реляционных операторов, используемых к отношениям. Операторы состоят из операндов, в роли которых выступают Дела, и реляционных операций. Результатом реляционной операции Лекция Реляционная модель данных. Связи в рбд является отношение. Операции можно поделить на две группы. Первую группу составляют операции над огромными количествами, к которым относятся операции объединения, скрещения, разности, деления и декартова произведения. Вторую группу составляют особые операции Лекция Реляционная модель данных. Связи в рбд над отношениями: проекция, подборка и соединение.

2. Реляционное исчисление. Это непроцедурный язык описательного либо декларативного нрава, содержащий только информацию о хотимом итоге. Процесс получения этого результата укрыт от юзера. К языкам такового типа Лекция Реляционная модель данных. Связи в рбд относятся SQL и QBE. 1-ый основан на реляционном исчислении кортежей, 2-ой - на реляционном исчислении доменов.

При помощи этих языков можно извлекать подмножество столбцов и строк таблицы, создавая таблицы наименьшей размерности, также соединять Лекция Реляционная модель данных. Связи в рбд воединыжды связанные данные из нескольких таблиц, создавая при всем этом таблицы большей размерности. Итог каждой (реляционной) операции над отношениями также является отношением. Это реляционное свойство получило заглавие характеристики замкнутости. Как следует, разные юзеры могут Лекция Реляционная модель данных. Связи в рбд выделять в реляционной БД разные наборы данных и связей меж ними. Этот метод представления данных более комфортен для конечного юзера. Реляционная модель данных очень эластичная, так как хоть какое представление данных с Лекция Реляционная модель данных. Связи в рбд некой избыточностью можно свести к двухмерным таблицам.
^ Целостность сути и ссылок
В конце концов, в целостной части реляционной модели данных фиксируются два базисных требования целостности, которые должны поддерживаться в хоть какой Лекция Реляционная модель данных. Связи в рбд реляционной СУБД. 1-ое требование именуется требованием целостности сущностей. Объекту либо сути реального мира в реляционных БД соответствуют кортежи отношений. Непосредственно требование заключается в том, что хоть какой кортеж хоть какого дела отличим от Лекция Реляционная модель данных. Связи в рбд хоть какого другого кортежа этого дела, т.е. другими словами, хоть какое отношение должно владеть первичным ключом. Как мы лицезрели в прошлом разделе, это требование автоматом удовлетворяется, если в системе не нарушаются Лекция Реляционная модель данных. Связи в рбд базисные характеристики отношений.

2-ое требование именуется требованием целостности по ссылкам и является несколько более сложным. Разумеется, что при соблюдении нормализованности отношений сложные сути реального мира представляются в реляционной БД в виде нескольких кортежей Лекция Реляционная модель данных. Связи в рбд нескольких отношений. К примеру, представим, что нам требуется представить в реляционной базе данных суть ОТДЕЛ с атрибутами ОТД_НОМЕР (номер отдела), ОТД_КОЛ (количество служащих) и ОТД_СОТР (набор служащих Лекция Реляционная модель данных. Связи в рбд отдела). Для каждого сотрудника необходимо хранить СОТР_НОМЕР (номер сотрудника), СОТР_ИМЯ (имя сотрудника) и СОТР_ЗАРП (зарплата сотрудника). Как мы скоро увидим, при правильном проектировании соответственной БД в ней появятся два дела Лекция Реляционная модель данных. Связи в рбд: ОТДЕЛЫ ( ОТД_НОМЕР, ОТД_КОЛ ) (первичный ключ - ОТД_НОМЕР) и СОТРУДНИКИ ( СОТР_НОМЕР, СОТР_ИМЯ, СОТР_ЗАРП, СОТР_ОТД_НОМ ) (первичный ключ - СОТР_НОМЕР).

Как видно, атрибут СОТР_ОТД_НОМ возникает в отношении Лекция Реляционная модель данных. Связи в рбд СОТРУДНИКИ не поэтому, что номер отдела является своим свойством сотрудника, а только для того, чтоб иметь возможность вернуть по мере надобности полную суть ОТДЕЛ. Значение атрибута СОТР_ОТД_НОМ Лекция Реляционная модель данных. Связи в рбд в любом кортеже дела СОТРУДНИКИ должно соответствовать значению атрибута ОТД_НОМ в неком кортеже дела ОТДЕЛЫ. Атрибут такового рода именуется наружным ключом, так как его значения совершенно точно охарактеризовывают сути, выставленные кортежами Лекция Реляционная модель данных. Связи в рбд некого другого дела (т.е. задают значения их первичного ключа). Молвят, что отношение, в каком определен наружный ключ, ссылается на соответственное отношение, в каком таковой же атрибут является первичным ключом.

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

Ограничения целостности Лекция Реляционная модель данных. Связи в рбд сути и по ссылкам должны поддерживаться СУБД. Для соблюдения целостности сути довольно гарантировать отсутствие в любом отношении кортежей с одним и этим же значением первичного ключа. С целостностью по ссылкам Лекция Реляционная модель данных. Связи в рбд дела обстоят несколько более трудно.

Понятно, что при обновлении ссылающегося дела (вставке новых кортежей либо модификации значения наружного ключа в имеющихся кортежах) довольно смотреть за тем, чтоб не появлялись неправильные значения наружного ключа Лекция Реляционная модель данных. Связи в рбд. Но как быть при удалении кортежа из дела, на которое ведет ссылка?

Тут есть три подхода, любой из которых поддерживает целостность по ссылкам. 1-ый подход состоит в том, что воспрещается создавать удаление Лекция Реляционная модель данных. Связи в рбд кортежа, на который есть ссылки (т.е. поначалу необходимо или удалить ссылающиеся кортежи, или подходящим образом поменять значения их наружного ключа). При втором подходе при удалении кортежа, на который имеются Лекция Реляционная модель данных. Связи в рбд ссылки, во всех ссылающихся кортежах значение наружного ключа автоматом становится неопределенным. В конце концов, 3-ий подход (каскадное удаление) заключается в том, что при удалении кортежа из дела, на которое ведет ссылка, из Лекция Реляционная модель данных. Связи в рбд ссылающегося дела автоматом удаляются все ссылающиеся кортежи.

В развитых реляционных СУБД обычно можно избрать метод поддержания целостности по ссылкам для каждой отдельной ситуации определения наружного ключа. Естественно, для принятия такового решения нужно рассматривать Лекция Реляционная модель данных. Связи в рбд требования определенной прикладной области.

Не считая ссылочной целостности, можно сконструировать еще три ограничителя целостности для реляционной БД:

• ограничители домена (domain constraints), запрещающие ввод значений трибутов, не принадлежащих домену. К ним можно Лекция Реляционная модель данных. Связи в рбд отнести также все ограничители значений (тип, формат, задание перечня и спектра значении);

• ограничители ключей (key constraints), обеспечивающие уникальность значений возможных ключей (обеспечивается применением уникальных индексов);

• ограничители записи (entity constraints), запрещающие NULL значения Лекция Реляционная модель данных. Связи в рбд для первичных ключей, потому что в неприятном случае будет нарушено требование идентифицируемости записи.

Отношение меж объектами определяет тип связи меж таблицами. Поддерживаются связи 4 типов: «один к одному», «один ко многим», «многие к Лекция Реляционная модель данных. Связи в рбд одному» и «многие ко многим». Разглядим подробнее типы связей в применении к реляционной модели данных.

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

Меж таблицами «Персональные сведения» и «Служебные сведения» существует связь. «один к одному», так как для Лекция Реляционная модель данных. Связи в рбд 1-го человека, работающего в определенной фирме, может существовать только одна запись о служебном положении. Табельные номера «Код_пс» и «Код_сс» служат для конкретной идентификации записей. Эти же поля и приняты Лекция Реляционная модель данных. Связи в рбд в качестве первичных ключей. Связь меж этими таблицами поддерживаются с помощью совпадающих значений полей. Просто убедиться, что меж 2-мя главными полями может существовать только связь «один к одному», так как любые дублирования 1-го Лекция Реляционная модель данных. Связи в рбд и такого же табельного номера исключены с обеих сторон.

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

Для установления связи нужно в таблицу «Заказы» ввести поле «Код_клиента», которое будет являться для данной таблицы Лекция Реляционная модель данных. Связи в рбд наружным ключом. Связь меж таблицами будет осуществляться на основании значений полей «Клиенты. Код_клиента» и «Заказы. Код_клиента». При этом подчеркнем, что связь устанавливается на базе значений совпадающих полей, а не их наименований Лекция Реляционная модель данных. Связи в рбд. Таким макаром, если связь устанавливается меж главным полем одной таблицы и неключевым полем 2-ой таблицы, то это будет связь типа «один ко многим».

«Многие ко многим». Связь «многие ко Лекция Реляционная модель данных. Связи в рбд многим» появляется меж 2-мя таблицами в тех случаях, когда каждой записи из первой таблицы может соответствовать одна или много записей из 2-ой таблицы и, напротив, одной записи из 2-ой таблицы может соответствовать Лекция Реляционная модель данных. Связи в рбд одна или много записей из первой таблицы.

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

Связь «многие ко многим» также автоматом появляется меж таблицами, связанными Лекция Реляционная модель данных. Связи в рбд средством неключевых полей. Пусть 1-ая таблица содержит информацию о том, на каких станках могут работать рабочие некой бригады. 2-ая таблица содержит сведения о том, кто из бригады ремонтников какие станки обслуживает Лекция Реляционная модель данных. Связи в рбд. Первой и третьей записям таблицы «Работа» соответствует 1-ая запись таблицы «Обслуживание». Четвертой записи таблицы «Работа» соответствуют 2-ая и 4-ая записи таблицы «Обслуживание», Таковой вид связи «многие ко многим» характеризуется как слабенький Лекция Реляционная модель данных. Связи в рбд вид связи либо даже как ее отсутствие, так как никакого контроля за целостностью данных в данном случае не осуществляется.

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

Не считая вышеупомянутых связей, в реляционной модели вероятны также рекурсивные связи. Представим, мы должны хранить информацию о сотрудниках некой компании с указанием отношений подчиненности меж отдельными сотрудниками. Так как Лекция Реляционная модель данных. Связи в рбд один экземпляр объекта «Сотрудники» ссылается на другой экземпляр такого же объекта, который в свою очередь может ссылаться на 3-ий экземпляр, то связь будет унарной и рекурсивной. Данная связь просто реализуется методом введения наружного ключа Лекция Реляционная модель данных. Связи в рбд, ссылающегося на первичный ключ той же таблицы.

lekciya-pyataya-kniga-eta-prednaznachaetsya-dlya-spokojnih-chitatelej-dlya-lyudej-kotorie-eshe-ne-zahvacheni-golovokruzhitelnoj.html
lekciya-pyatnickaya-i-v-tema-psihologicheskij-debrifing.html
lekciya-razvitie-rechi-uchashihsya-v-period-obucheniya-gramote.html