Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 3 Реляционная алгебра.doc
Скачиваний:
4
Добавлен:
16.09.2019
Размер:
438.27 Кб
Скачать

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

Лекции 3,4: Основные понятия реляционной модели данных. Реляционная алгебра. Операции селекции, проекции, соединения. Теоретико-множественные операции над отношениями. Реляционные исчисления

Модель:

  • структура данных

  • управляющая часть (доступные операции с данными)

  • набор ограничений целостности

Рассмотрим структурные особенности реляционной модели данных.

3.1. Основные понятия реляционной модели

Реляционная модель была предложена Коддом в 1970 году. Термин "реля­ци­он­ная" имеет в своей основе английское слово "relation", что переводится как "отно­ше­ние". В математических науках понятию «отношение» соответствует понятие «таблица». Применительно к БД эти понятия являются синонимами. Итак, данные в реляционных БД хранятся в виде таблиц. Одним из основных преимуществ реляционной модели является ее однородность. Каждая строка в таблице представляет некоторый объект реального мира или соотношение между объектами и имеет один и тот же формат. Пользователь модели сам должен решить для себя вопрос, обладают ли соответствующие сущности реального мира однородностью. Этим самым решается вопрос о пригодности реляционной модели для предполагаемого применения.

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

Таблица «Сотрудник»

таб.

Фамилия И.О.

Должность

Ключ адреса

B005

Иванов И.И.

менеджер

223

B017

Цветкова С.С.

оператор

34

Таблица «Адрес»

№ п/п

Адрес

Номер телефона

34

ул. Цвиллинга 36 кв 12

33-54-87

107

ул. Труда 161 кв 88

65-07-78

223

пр. Победы 93 кв 11

77-16-94

Рис. 3.1. Основные понятия реляционной модели

Отношение - плоская таблица с некоторым количеством столбцов и строк.

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

Атрибут – именованный столбец отношения.

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

Домен – это совокупность значений, из которой берутся значения соответствующих атрибутов.

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

Таблица 3.1. Домены некоторых атрибутов отношений «Сотрудник» и «Адрес»

Атрибут

Имя домена

Содержимое домена

Определение домена

Таб.номер

FK

Все возможные табельные номера компании

Символьный: размер 4, диапазон ‘B001’-‘B999’

Фамилия И.О.

Name

Все возможные значения ФИО работников компании

Символьный: размер 25

Должность

Job

Все возможные должности

Символьный: размер 15

Ключ адреса и № п/п

SK

Все возможные номера строк в таблице «Адрес»

Длинный целый

Адрес

ADR

Все возможные адреса работников компании

Символьный: размер 40

Номер телефона

TEL

Все возможные телефоны работников компании

Символьный: размер 10

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

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

Кортежи могут располагаться в любом порядке. Отношение не содержит двух одина­ко­вых кортежей.

Степень отношения – это количество атрибутов, которое оно содержит. Степень также называется арностью. Так, для отношений с двумя атрибутами используют термин «бинарное», а для отношений с большим количеством атрибутов – «n-арное»

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

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

Схемой отношения R называется перечень имен атрибутов данного отношения с указанием домена, к которому они относятся:

SR = (А1, А2,…, Аn), Аi  Di

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

Отношение R, заданное реляционной схемой SR, является множеством таких n-арных кортежей:

R = {(a1, a2, … an)}, где ai  Ai

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

Совокупность отношений, используемых в некоторой программе, называется базой данных: R = {R1, R2,…,Rk},

а совокупность схем этих отношений - схемой базы данных: SR = {SR1,SR2,…SRk}.