Меню

Состав реляционной модели данных

Кортеж отношения это строка таблицы столбец таблицы таблица

Реляционная модель данных – логическая модель данных. Впервые была предложена британским учёным сотрудником компании IBM Эдгаром Франком Коддом (E. F. Codd) в 1970 году в статье «A Relational Model of Data for Large Shared Data Banks» (русский перевод статьи, в которой она впервые описана, опубликован в журнале «СУБД» N 1 за 1995 г.). В настоящее время эта модель является фактическим стандартом, на который ориентируются практически все современные коммерческие СУБД.

В реляционной модели достигается гораздо более высокий уровень абстракции данных, чем в иерархической или сетевой. В упомянутой статье Е.Ф. Кодда утверждается, что «реляционная модель предоставляет средства описания данных на основе только их естественной структуры, т.е. без потребности введения какой-либо дополнительной структуры для целей машинного представления». Другими словами, представление данных не зависит от способа их физической организации. Это обеспечивается за счет использования математической теории отношений (само название «реляционная» происходит от английского relation – «отношение»).

В состав реляционной модели данных обычно включают теорию нормализации.

Состав реляционной модели данных

Кристофер Дейт определил три составные части реляционной модели данных:

  • структурная
  • манипуляционная
  • целостная

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

Манипуляционная часть модели определяет два фундаментальных механизма манипулирования данными – реляционная алгебра и реляционное исчисление. Основной функцией манипуляционной части реляционной модели является обеспечение меры реляционности любого конкретного языка реляционных БД: язык называется реляционным, если он обладает не меньшей выразительностью и мощностью, чем реляционная алгебра или реляционное исчисление.

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

Структура реляционной модели данных

Можно провести аналогию между элементами реляционной модели данных и элементами модели «сущность-связь». Реляционные отношения соответствуют наборам сущностей, а кортежи – сущностям. Поэтому, также как и в модели «сущность-связь» столбцы в таблице, представляющей реляционное отношение, называют атрибутами.

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

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

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

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

Домен — это набор всех допустимых значений, которые может содержать данный атрибут.

Понятие «домен» часто путают с понятием «тип данных». Необходимо четко различать эти два понятия.

Тип данных — это физическая концепция, а домен — логическая. Например, «целое число» — это тип данных, а «возраст» — это домен. Сущности Адрес и Фамилия могут быть реализованы как текстовые поля, однако очевидно, что это разные виды текстовых полей, и принадлежат они к разным доменам.

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

Кортеж – это строка отношения.

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

Степень отношения определяется количеством атрибутов, которое оно содержит. Отношение Группа (рисунок 6.1) имеет пять атрибутов, и, следовательно, его степень равна пяти. Это значит, что каждая строка таблицы является пятиэлементным кортежем, т.е. кортежем, содержащим пять значения.

Отношение только с одним атрибутом имеет степень 1 и называется унарным (unary) отношением (или одноэлементным кортежем). Отношение с двумя атрибутами называется бинарным (binary), отношение с тремя атрибутами — тернарным (ternary), а для отношений с большим количеством атрибутов используется термин п-арное (n-агу). Определение степени отношения является частью заголовка отношения.

Кардинальность – это количество кортежей, которое содержится в отношении.

Эта характеристика меняется при каждом добавлении или удалении кортежей. Кардинальность является свойством тела отношения и определяется текущим состоянием отношения в произвольно взятый момент.

Существует еще одна терминология: отношение в нем называется файлом (file), кортежи — записями (records), а атрибуты — полями (fields). Эта терминология основана на том факте, что физически реляционная СУБД может хранить каждое отношение в отдельном файле. В табл. 6.2 показаны соответствия, существующие между тремя группами терминов.

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

В примере, показанном на рисунке, атрибуты «Оклад» и «Премия» определены на домене «Деньги». Поэтому, понятие домена имеет семантическую нагрузку: данные можно считать сравнимыми только тогда, когда они относятся к одному домену. Таким образом, в рассматриваемом нами примере сравнение атрибутов «Табельный номер» и «Оклад» является семантически некорректным, хотя они и содержат данные одного типа.

Читайте также:  Величины коэффициентов Mn для вычисления стандартного изменения энергии Гиббса по методу Темкина и Шварцмана

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

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

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

Применение реляционной модели данных

Пример базы данных, содержащей сведения о подразделениях предприятия и работающих в них сотрудниках, применительно к реляционной модели будет иметь вид:

Например, связь между отношениями ОТДЕЛ и СОТРУДНИК создается путем копирования первичного ключа «Номер_отдела» из первого отношения во второе. Таким образом:

  • для того, чтобы получить список работников данного подразделения, необходимо:
    1. из таблицы ОТДЕЛ установить значение атрибута «Номер_отдела», соответствующее данному «Наименованию_отдела»
    2. выбрать из таблицы СОТРУДНИК все записи, значение атрибута «Номер_отдела» которых равно полученному на предыдущем шаге
  • для того, чтобы узнать в каком отделе работает сотрудник, нужно выполнить обратную операцию:
    1. определяем «Номер_отдела» из таблицы СОТРУДНИК
    2. по полученному значению находим запись в таблице ОТДЕЛ

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

Достоинства и недостатки реляционной модели данных

Достоинства реляционной модели:

  • простота и доступность для понимания пользователем. Единственной используемой информационной конструкцией является «таблица»;
  • строгие правила проектирования, базирующиеся на математическом аппарате;
  • полная независимость данных. Изменения в прикладной программе при изменении реляционной БД минимальны;
  • для организации запросов и написания прикладного ПО нет необходимости знать конкретную организацию БД во внешней памяти.

Недостатки реляционной модели:

  • далеко не всегда предметная область может быть представлена в виде «таблиц»;
  • в результате логического проектирования появляется множество «таблиц». Это приводит к трудности понимания структуры данных;
  • БД занимает относительно много внешней памяти;
  • относительно низкая скорость доступа к данным.

Источник

Кортеж — строка отношения(таблицы).

Нормализация

1 форма-этокогда на пересечении каждого столбца и каждой строки находятся только атомарные (элементарные) значения атрибутов(одно значение!)

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

3 форма— когда отношение не содержит транзитивных зависимостей( находится во 2Форме и каждый неключевой атрибут нетранзитивно зависит от первичного ключа. (Транзитивная зависимость-это когда один неключ столбец зависит от другого неключ столбца)

Примеры:

1. Отношений со схемой R= (A,B,C) с функц. Зависимостью B->C (первичные атрибуты подчеркнуты) не удовлетворяет (2 формы нормализации)

Т.к. в этом отношении один неключевой атрибут(столбец С) зависит от части ключа(столб B), то это отношение соответствует максимально только первой форме

2. Отношений со схемой R= (A,B,C) с функц. Зависимостью B->C (первичные атрибуты подчеркнуты) не удовлетворяет (3 нормализации)

Т.к. в этом отношении один неключевой столбец(С) зависит от другого неключевого столбца(B)то есть максимальная форма, которой соотв это отношение -2 форма.

3. Максимальный уровень нормализации отношения со схемой R= (A,B,C,D) для множества функц. Зависимостей f = < B->D> (первичные атрибуты подчеркнуты) (3 форма нормализации)(см. выше)

Реляционная алгебра

Нужно знать, что такое объединение, пересечение, разность, декартово произведение, проекция, выборка, внешние соед (левое, правое, полное), внутреннее соед. Все это есть в самой первой лекции, там мало и совсем не сложно!

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

Атрибут-столбец отношения

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

Домен атрибута —набор значений, которые могут быть присвоены атрибуту.(ну например Домен «Оценки на экзамене» может быть определен как целые числа, имеющие набор заданных значений (2, 3, 4,5))

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

Количество атрибутов в отношении называется степенью, или рангом, отношения.

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

Характеристика видов связей таблиц

Характеристика полей связи по видам 1:1 1:М М:1 М:М
Поля связи основной таблицы являются ключом являются ключом не являются ключом не являются ключом
Поля связи дополнительной таблицы являются ключом не являются ключом являются ключом не являются ключом

Оптимизация

Задачей оптимизатора запросов (или просто оптимизатора) является рассмотрение множества возможных стратегий выполнения поиска требуемых в запросе данных и выбор наиболее эффективной стратегии.Выбранная стратегия называется планом выполнениязапроса

Правильный порядок этапов оптимизации:

Синтаксический анализ, проверка параметров, оптимизация, генерация планов, исполнение плана

Типы подсказок оптимизации

Database Engine поддерживает следующие типы подсказок оптимизации:

Подсказки таблицыможно применить к одной таблице. Поддерживаются следующие подсказки таблицы:

Пример:

SELECT * FROM new_addresses a WITH ( INDEX(i_stateprov))

WHERE a.StateProvinceID = 9

Эта подсказка заставляет оптимизатор запросов использовать индекс i_stateprov. Без этой подсказки оптимизатор будет, например, выбирать сканирование таблицы.Другая форма подсказки для запроса index, index (0), требует, чтобы оптимизатор не использовал никаких существующих индексов.

SELECT * FROM Person.Address AS a

WITH(INDEX(0))
WHERE a.StateProvinceID = 32

Подсказки запроса

· FAST n ;(быстрый вывод первых n строк результата)

SQL Server

В SQL Server, кроме пользовательских, имеются несколько системных баз: master, model, tempdb, msdbиResource

master — наиболее важная. Она содержит системные таблицы. Вносить изменения в эту базу с использованием SQL или Server Enterprise Manager нельзя.

tempdb — временная база данных

model — это шаблонная база данных

msdb — В ней хранится информация, которая использует SQL Server Agent для запуска того или иного задания, в том числе и выполняющих резервное копирование или восстановление данных.

Читайте также:  Основные идеи французских просветителей

Resource — База данных Resource была добавлена в версию SQL Server 2005 и содержит, все системные объекты

SQL определение данных

Ну тут без лекции уж никак, скажу чтор вы точно должны знать:

-Какие есть ограничения и что они значат(огр таблицы и столбца и виды ограничений)

Вообщем тут надо лекцию читать, можно только то что выделено жирным.

SQL выборка данных

Обработка элементов оператора SELECT выполняется в следующей последовательности:

1. FROM – определяются имена используемых таблиц;

2. WHERE – выполняется фильтрация строк объекта в соответствии с заданными условиями;

3. GROUP BY – образуются группы строк, имеющих одно и то же значение в указанном столбце;

4. HAVING – фильтруются группы строк объекта в соответствии с указанным условием;

5. SELECT – устанавливается, какие столбцы должны присутствовать в выходных данных;

6. ORDER BY – определяется упорядоченность результатов выполнения операторов(всегда последний. И не используется в подзапросах)

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

Введение

Трехуровневая архитектура ANSI-SPARC:

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

-Концептуальный(Промежуточным уровнем в трехуровневой архитектуре является концептуальный уровень. Обобщающее представление базы данных. Этот уровень описывает то, какие данные хранятся в базе данных, а также связи, существующие между ними. НЕ зависит от ЭВМ)

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

Нормализация

1 форма-этокогда на пересечении каждого столбца и каждой строки находятся только атомарные (элементарные) значения атрибутов(одно значение!)

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

3 форма— когда отношение не содержит транзитивных зависимостей( находится во 2Форме и каждый неключевой атрибут нетранзитивно зависит от первичного ключа. (Транзитивная зависимость-это когда один неключ столбец зависит от другого неключ столбца)

Примеры:

1. Отношений со схемой R= (A,B,C) с функц. Зависимостью B->C (первичные атрибуты подчеркнуты) не удовлетворяет (2 формы нормализации)

Т.к. в этом отношении один неключевой атрибут(столбец С) зависит от части ключа(столб B), то это отношение соответствует максимально только первой форме

2. Отношений со схемой R= (A,B,C) с функц. Зависимостью B->C (первичные атрибуты подчеркнуты) не удовлетворяет (3 нормализации)

Т.к. в этом отношении один неключевой столбец(С) зависит от другого неключевого столбца(B)то есть максимальная форма, которой соотв это отношение -2 форма.

3. Максимальный уровень нормализации отношения со схемой R= (A,B,C,D) для множества функц. Зависимостей f = < B->D> (первичные атрибуты подчеркнуты) (3 форма нормализации)(см. выше)

Реляционная алгебра

Нужно знать, что такое объединение, пересечение, разность, декартово произведение, проекция, выборка, внешние соед (левое, правое, полное), внутреннее соед. Все это есть в самой первой лекции, там мало и совсем не сложно!

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

Атрибут-столбец отношения

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

Домен атрибута —набор значений, которые могут быть присвоены атрибуту.(ну например Домен «Оценки на экзамене» может быть определен как целые числа, имеющие набор заданных значений (2, 3, 4,5))

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

Количество атрибутов в отношении называется степенью, или рангом, отношения.

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

Кортеж — строка отношения(таблицы).

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

1. В таблице нет двух одинаковых кортежей (строк).

2. Таблица имеет столбцы, соответствующие атрибутам отношения.

3. Каждый атрибут в отношении имеет уникальное имя.

4. Порядок строк в таблице произвольный

Выделяют следующие виды ключей: потенциальные, первичные,сложные, альтернативные, инверсные, внешние, суррогатные.

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

Составной(сложный) ключ — ключ, который состоит из двух или больше атрибутов.

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

Альтернативный ключ (Alternate Key) — это потенциальный ключ, не ставший первичным.

Часто создают искусственный (суррогатный)ключ, например, Номер сотрудника, Номер клиента.

Внешнийключ.Пусть в отношении R1 имеется не ключевойатрибут А, значения которого являются значениями ключевогоатрибута В другого отношения R2. Тогда говорят, что атрибут А отношения R1 есть внешний ключ(FOREIGN KEY). С помощью внешних ключей устанавливаются связи между отношения­ми.

Источник



Чем является поле, запись, кортеж, атрибут в таблице?

date image2015-04-30
views image4379

facebook icon vkontakte icon twitter icon odnoklasniki icon

Поскольку в локальных базах данных каждая таблица размещается в отдельном файле, то с точки зрения размещения данных для локальных баз данных отношение можно отождествлять с файлом.

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

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

Кортеж – строка таблицы, тоже самое, что и запись

Атрибут– заголовок столбца таблицы (поля)

Таким образом, следующие тройки терминов являются эквивалентными:

отношение, таблица, файл (для локальных баз данных);

кортеж, строка, запись;

атрибут, столбец, поле.

Какой атрибут в таблице является ключевым?

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

Читайте также:  Проложить маршрут на основании Google карт

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

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

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

Ключи обычно используются для следующих целей:

-Исключение дублирования значений в ключевых атрибутах;

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

Источник

Система управления базами данных SQLite. Изучаем язык запросов SQL и реляционные базы данных на примере библиотекой SQLite3. Курс для начинающих.

Часть 3.2: Виды связей между таблицами в базе данных. Связи в реляционных базах данных. Отношения, кортежи, атрибуты

  • 26.05.2016
  • SQLite библиотека, Базы данных
  • Один комментарий

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

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

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

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

Термины кортеж, атрибут и отношение в реляционных базах данных

В своей публикации я буду стараться объяснять теорию баз данных не с математической точки зрения, а на примерах. Грубо говоря, на пальцах. Во-первых, практические примеры позволяют легче усваивать материал. Во-вторых, с математической теорией проще разобраться, когда понимаешь суть происходящего.
Давайте разбираться с тем, что такое: отношение, кортеж, атрибут в реляционной базе данных.

Таблица с данными

Таблица с данными из базы данных World

У нас есть простая таблица City из базы данных World, в которой есть строки и столбцы. Но термины: таблица, строка, столбец – это термины стандарта SQL.
Кстати: ни одна из существующих в мире СУБД не имеет полной поддержки того или иного стандарта SQL, но и ни один стандарт SQL полностью не реализует математику реляционных баз данных.
В терминологии реляционных баз данных: таблица – это отношение (принимается такое допущение), строка – это кортеж, а столбец – атрибут. Иногда вы можете услышать, как некоторые разработчики называют строки записями. Чтобы не было путаницы в дальнейшем предлагаю использовать термины SQL.
Если рассматривать таблицу, как объект (например книга), то столбец – это характеристики объекта, а строки содержат информацию об объекте.

Виды и типы связей между таблицами в реляционных базах данных

Давайте теперь рассмотрим то, как могут быть связаны таблицы в реляционных базах данных. Сразу скажу, что всего существует три вида связей между таблицами баз данных:
• связь один к одному;
• связь один ко многим;
• связь многие ко многим.
Рассмотрим, как такие связи между таблицами могут быть реализованы в реляционных базах данных.

Реализация связи один ко многим в теории баз данных

Связь один ко многим в реляционных базах данных реализуется тогда, когда объекту А может принадлежать или же соответствовать несколько объектов Б, но объекту Б может соответствовать только один объект А. Не совсем понятно, поэтому смотрим пример ниже.

Реализация связи один ко многим в реляционных базах данных

Реализация связи один ко многим в реляционных базах данных

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

Связь многие ко многим

Связь многие ко многим реализуется в том случае, когда нескольким объектам из таблицы А может соответствовать несколько объектов из таблицы Б, и в тоже время нескольким объектам из таблицы Б соответствует несколько объектов из таблицы А. Рассмотрим простой пример.

Пример связи многие ко многим

Пример связи многие ко многим

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

Связь один к одному

Связь один к одному – самая редко встречаемая связь между таблицами. В 97 случаях из 100, если вы видите такую связь, вам необходимо объединить две таблицы в одну.

Пример связи один к одному

Пример связи один к одному

Таблицы будут связаны один к одному тогда, когда одному объекту таблицы А соответствует один объект таблицы Б, и одному объекту таблицы Б соответствует один объект таблицы А. Как я уже говорил: если вы видите, что связь один к одному – смело объединяйте таблицы в одну, за исключением тех случаев, когда происходит модернизация базы данных.
Например, у нас была таблица, в которой хранились данные о сотрудниках компании. Но произошли какие-то изменения в бизнес-процессе и появилась необходимость создать таблицы с теми же самыми сотрудниками, но не для всей компании, а разбив их по отделам. Таблицы отделов будут дочерними по отношению к таблице, в которой хранятся данные обо всех сотрудниках компании, и связаны такие таблицы будут связью один к одному.

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

Источник