Тверской государственный университет
Опубликован: 03.11.2014 | Доступ: свободный | Студентов: 3829 / 95 | Длительность: 14:38:00
Лекция 9:

Отношения и базы данных

< Лекция 1 || Лекция 9

Смотреть лекцию на: ИНТУИТ | youtube.com

Если проблемы с видео, нажмите выше ссылку youtube

Get Adobe Flash Player

Наиболее популярные базы данных – это реляционные базы данных, то есть базы, построенные на отношениях (слово relation означает отношение, в русском языке использовалось слово "реляция" как синоним отношения). Отношения, как мы знаем, позволяют отразить связи, существующие между данными.

Табличное представление отношения

Каждое отношение можно представить прямоугольной таблицей, состоящей из m столбцов и n строк. Число столбцов определяется арностью отношения. Число строк определяется мощностью отношения, числом его элементов. На практике, конечно же, рассматриваются конечные таблицы, состоящие из конечного числа строк. Элементы строки для бинарного отношения задают пару, принадлежащую отношению. Для тернарного отношения – таблицы из трех столбцов – это тройка элементов, для n-арного отношения – это n-ка элементов. Строки таблицы называются еще кортежами или записями. Элементы, принадлежащие одному столбцу, имеют одну и ту же область определения, - то множество, которому принадлежит соответствующий элемент кортежа.

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

Пример:

Представим отношение "семья" в виде таблицы:

Таблица 6.1. Отношение "семья"
Отец Мать Дети
Петр Анна Михаил, Антон, Елена
Сергей Татьяна Любовь, Нина, Василий
Василий Елена Николай, Владимир

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

Таблица 6.2. Отношение "семья" с простыми значениями полей
Отец Мать Ребенок
Петр Анна Михаил
Петр Анна Антон
Петр Анна Елена
Сергей Татьяна Любовь
Сергей Татьяна Нина
Сергей Татьяна Василий
Василий Елена Николай
Василий Елена Владимир

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

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

Таблица 6.3. Отношение "родители" семьи
ID семьи Отец Мать
1 Петр Анна
2 Сергей Татьяна
3 Василий Елена

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

Таблица 6.4. Отношение "ребенок" семьи
ID семьи Ребенок
1 Михаил
1 Антон
1 Елена
2 Любовь
2 Нина
2 Василий
3 Николай
3 Владимир

Таблицы 6.3 и 6.4 связаны общим полем ID, что позволяет над таблицами, представляющими отношения, выполнить операцию, называемую объединением отношений – операцию Join. Таблица 6.2 является результатом выполнения такой операции. Объединенная таблица может использоваться в процессе поиска и обработки данных. В базе хранятся данные в таблицах 6.3 и 6.4 без излишнего дублирования информации.

< Лекция 1 || Лекция 9
Андрей Гаевой
Андрей Гаевой

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

Вопрос: в каком формате должен быть ответ?

Перебрал уже всё что знаю!

Сергей Волков
Сергей Волков

Приведу пример из лекции "Знания в школе передавались устно, к счастью, один из учеников Пифагора составил три книги с записями его учения." Книги же начали делать гораздо позже. Или имеется ввиду, что сейчас этот объем знаний помещается в три книги?

Денис Борисов
Денис Борисов
Россия, Казань, КСЮИ, 2013