Page 1

Методы и средства проектирования информационных систем и технологий

Инструментально-программный методический комплекс

Управление данными Часть 3. Реляционная модель данных


3.1. Общие понятия реляционного подхода к организации данных Современная технология реализации баз данных основана на реляционной модели. Принципы реляционной модели были изначально заложены в 1969 году доктором Э.Ф.Коддом, в то время исследователем, работавшим в корпорации IBM. В конце 1968 года Кодд, математик по образованию, впервые осознал, что математические дисциплины можно использовать, чтобы привнести в область управления базами данных строгие принципы и точность. В 1970 году была опубликована статья (Codd E.F. A Relational Model of Data for Large Shared Data Banks // CACM. – 1970. – 13, №6), где Э.Ф.Кодд впервые сформулировал основные понятия и ограничения реляционной. Предложения Кодда были настолько эффективны для систем баз данных, что за эту модель он был удостоен престижной премии Тьюринга в области теоретических основ вычислительной техники. Первые реляционные программные продукты начали появляться в конце 70-х – начале 80-х годов. С тех пор почти все созданные коммерческие СУБД основываются на реляционном подходе.


Принципы организации данных в реляционной модели 1. Данные воспринимаются пользователем как таблицы. 2. В распоряжении пользователя имеются операторы манипулирования данными (например, для выборки данных), которые генерируют новые таблицы из старых. ОТДЕЛ

СОТРУДНИКИ


Примеры операторов манипулирования данными SELECT (RESTRICT): Выборка строк из таблицы «Отделы», где бюджет более 230 Результат:

PROJECT: Извлечение столбцов «Наименование» и «Бюджет» из таблицы «Отделы» Результат:

JOIN: Соединение таблиц "Отделы" и "Сотрудники" на основе столбца "Номер отдела" Результат:


Важные следствия 1. Результат каждой из трех операций – это еще одна таблица. Это реляционное свойство замкнутости. 2. Операции применяются сразу ко всему множеству строк, а не к отдельной строке за один раз, т.е. операндами и результатами являются не отдельные строки, а целые таблицы, которые содержат множество строк.


3.2. Основные понятия реляционных баз данных • • • • • • •

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


Неформальные определения реляционных объектов данных Формальный реляционный термин

Неформальный эквивалент

Отношение

Таблица

Кортеж

Строка или запись таблицы

Кардинальное число Количество строк Атрибут

Столбец или поле

Степень (арность)

Количество столбцов

Первичный ключ

Уникальный идентификатор

Домен

Общая совокупность допустимых значений данных в столбце


3.3. Общая характеристика реляционной модели данных Christopher J. Date (р. 1941) — специалист в области реляционных баз данных, автор классического учебника «An Introduction to Database Systems» (стандартный учебник по теме баз данных, используется во многих университетах мира). Работал над развитием реляционных СУБД совместно с Эдгаром Коддом.


3.3. Общая характеристика реляционной модели данных


Целостность по ссылкам Пример: ОТДЕЛЫ (ОТД_НОМЕР, ОТД_КОЛ) СОТРУДНИКИ (СОТР_НОМЕР, СОТР_ИМЯ, СОТР_ЗАРП, СОТР_ОТД_НОМ )

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


Целостность по ссылкам Что происходит при удалении кортежа из отношения, на которое ведет ссылка? 1. Операция каскадируется – то есть удаление кортежей в отношении приводит к удалению соответствующих кортежей в связанном отношении. 2. Операция ограничивается – то есть удаляются лишь те кортежи, для которых связанной информации в другом отношении нет. Если такая информация имеется, то удаление осуществить нельзя. В этом случае сначала нужно либо удалить ссылающиеся кортежи, либо соответствующим образом изменить значения их внешнего ключа.


Целостность по ссылкам Что происходит при попытке обновления первичного ключа отношения, на которое ссылается некоторый внешний ключ? 1. Операция каскадируется – то есть при обновлении первичного ключа происходит обновление внешнего ключа в связанном отношении. 2. Операция ограничивается – то есть обновляются лишь те первичные ключи, для которых связанной информации в другом отношении нет. Если такая информация имеется, то обновление сделать нельзя.


3.3. Реляционная алгебра Набор алгебраических операций, предложенных Э.Ф.Коддом, для манипулирования данными в реляционной модели теоретико-множественные операции; • объединение отношений; • пересечение отношений; • разность отношений; • декартово произведение отношений; специальные операции. • выборка отношения; • проекция отношения; • соединение отношений; • деление отношений.


Теоретико-множественные операции Пример: заданы R1 - перечень деталей, изготавливаемых на 1-м участке цеха

R2 - перечень деталей, изготавливаемых на 2-м участке цеха


Объединение отношений

Операция моделирует некоторую ситуацию, которая характеризуется словом «общее» Пример: результат R3 - общая номенклатура цеха


Пересечение отношений

Операция моделирует некоторую ситуацию, которая характеризуется словом «одновременно» Пример: результат R4 - перечень деталей, которые выпускаются одновременно на двух участках цеха.


Разность отношений

Операция моделирует некоторую ситуацию, которая характеризуется словом «только» Пример: результат R5 - перечень деталей, которые изготавливают только на участке 1 . R6 - перечень деталей, которые изготавливают только на участке 2 .


Декартово произведение

Операция моделирует некоторую ситуацию, которая характеризуется словом «все»


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

R8 - перечень цехов R7 - обязательная номенклатура выпуска деталей для всех цехов


Декартово произведение R9 = R7 ⊗ R8

R9 - ситуация, когда каждый цех изготавливает все требуемые детали.


Декартово произведение Дополнительно задано:

R10 - реальный выпуск деталей в каждом цехе


Декартово произведение Итоговый результат:

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

R 11 = R 9 \ R 10 .


Специальные операции Выборка отношений


Выборка отношений Пример: выбрать из отношения R10 все детали с шифром «11003» R12 = R10 [ Шифр детали = «11003» ]


Проекция отношений


Проекция отношений Пример: выбрать из отношения R10 все цеха, которые изготавливают деталь «Болт М1» R13 = R10 [ Название детали = «Болт М1» ]

R14 = R13 [ Цех ]


Соединение отношений


Соединение отношений Пример: Получить перечень деталей, которые изготавливаются в цехе 1 из материала «Сталь-ст1»

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

R16 =

(R15 [ ( R15.Шифр детали = R10.Шифр детали) ∧ R10.Цех = «Цех 1» ∧ R15.Материал = «Сталь-ст1»] R10 ) [Название детали]


Деление отношений

Пример: Множество образов отношения R15 по материалу «Сталь-ст2»: R15.Материал = { <11075, Гайка М2, «Сталь-ст2»>, < 11077, Гайка М4, «Сталь-ст2»>

}


Деление отношений

Операция удобна тогда, когда требуется сравнить некоторое множество характеристик отдельных атрибутов


Деление отношений Пример: Определить перечень цехов R17, в которых выпускается вся номенклатура деталей. R17 = R10 [Шифр детали, Название детали : Шифр детали, Название детали] R7

R7 - обязательная номенклатура выпуска деталей для всех цехов R10 - реальный выпуск деталей в каждом цехе


Пример: Определить перечень цехов R17, в которых выпускается вся номенклатура деталей. Другой способ решения: 1. Построить отношение R9, которое моделирует ситуацию, когда в каждом цехе изготавливается вся номенклатура (декартово произведение R7 и R8).

R9 = R7 ⊗ R8 2. Найти R11 - перечень того, что из обязательной номенклатуры не выпускается в некоторых цехах (разность R9 и R10).

R11 = R9 \ R10 3. Найти R18 - те цеха, в которых не все детали выпускаются (отношение R11 спроектировать на столбец «Цех»).

R18 = R11 [ "Öåõ"]

4. Из перечня всех цехов R8 вычесть те, в которых выпускают не все детали R18. Результат

2_03 - МиСПИСТ (УД Реляционная модель)  
Advertisement