Реляционная модель. Тема Реляционная модель данных
Скачать 91 Kb.
|
Тема_Реляционная модель данныхРеляционная система управления базами данных, основанная на реляционной модели Э. Ф. Кодда. Она позволяет определять структурные аспекты данных, обработки отношений и их целостности. В такой базе информационное наполнение и отношения внутри него представлены в виде таблиц — наборов записей с общими полями. Реляционная БД - основной тип современных баз данных. Состоит из таблиц, между которыми могут существовать связи по ключевым значениям. В реляционной модели, в отличие от иерархической или сетевой, не существует физических отношений. Вся информация хранится в виде таблиц (отношений), состоящих из рядов и столбцов. А данные двух таблиц связаны общими столбцами, а не физическими ссылками или указателями. Для манипуляций с рядами данных существуют специальные операторы. Таблица базы данных (table) - регулярная структура, которая состоит из однотипных строк (записей, records), разбитых на столбцы (поля, fields). В теории реляционных баз данных синоним таблицы - отношение (relation), в котором строка называется кортежем, а столбец называется атрибутом. В реляционной модели объекты и их отношения представлены двухмерным массивом или таблицей: Каждая таблица представляет объект. Каждая таблица состоит из рядов и столбцов. Отношения между объектами представлены столбцами. Каждый столбец представляет атрибут объекта. Значения столбцов выбираются из области или набора всех возможных значений. Реляционные таблицы обладают следующими свойствами: Все значения атомарны. Каждый ряд уникален. Порядок столбцов не важен. Порядок рядов не важен. У каждого столбца есть своё уникальное имя. Некоторые поля могут быть определены как ключевые. Это значит, что для ускорения поиска конкретных значений будет использоваться индексация. Термин «реляционный» означает, что теория основана на математическом понятии отношение (relation). В качестве неформального синонима термину «отношение» часто встречается слово таблица. Необходимо помнить, что «таблица» есть понятие нестрогое и неформальное и часто означает не «отношение» как абстрактное понятие, а визуальное представление отношения на бумаге или экране. Некорректное и нестрогое использование термина «таблица» вместо термина «отношение» нередко приводит к недопониманию. Наиболее частая ошибка состоит в рассуждениях о том, что РМД имеет дело с «плоскими», или «двумерными» таблицами, тогда как таковыми могут быть только визуальные представления таблиц. Отношения же являются абстракциями, и не могут быть ни «плоскими», ни «неплоскими». Существует специальная терминология, принятая в теории реляционных БД (рис.3) Отношением называется вся таблица, отвечающая определенным свойствам (о которых более подробно – ниже). Отношение характеризуется следующими понятиями: Атрибут соответствует столбцу этой таблицы, а именно – свойствам объектов, сведения о которых хранятся в ней. В конкретных СУБД атрибуты часто называют полями. Столбцы, которые используются для связи объектов, называются ключевыми. Есть два типа ключей — первичные и внешние. Первичный ключ – это атрибут (или множество атрибутов), значения которого уникально идентифицируют кортежи (записи). Внешний ключ (foreign key) -ключевой элемент подчиненной (внешней, дочерней) таблицы, значение которого совпадает со значением первичного ключа главной (родительской) таблицы. Кортеж соответствует заполненной строке таблицы. В конкретных СУБД кортежи называют записями. Степень отношения – количество его атрибутов. Кардинальное число – количество кортежей в отношении в текущий момент времени. Домен – это общая совокупность значений, из которой берутся конкретные значения для конкретного атрибута. Ссылочная целостность данных (referential integrity) -набор правил, обеспечивающих соответствие ключевых значений в связанных таблицах. Связь (relation) - функциональная зависимость между объектами. В реляционных базах данных между таблицами устанавливаются связи по ключам, один из которых в главной (parent, родительской) таблице - первичный, второй - внешний ключ - во внешней (child, дочерней) таблице, как правило, первичным не является и образует связь "один ко многим" (1:N). Виды связей между таблицами Выделяют три разновидности связи между таблицами базы данных: "один–к–одному"; "один–ко–многим"; " многие– к–одному"; "многие–ко–многим". Отношение "один–к–одному" имеет место, когда одной записи в родительской таблице соответствует одна запись в дочерней. Это отношение встречается намного реже, чем отношение "один–ко–многим". Его используют, если не хотят, чтобы таблица БД "распухала" от второстепенной информации, однако для чтения связанной информации в нескольких таблицах приходится производить ряд операций чтения вместо одной, когда данные хранятся в одной таблице. Отношение "один–ко–многим" имеет место, когда одной записи родительской таблицы может соответствовать несколько записей дочерней. Связь "один–ко–многим" иногда называют связью "многие–к–одному". И в том, и в другом случае сущность связи между таблицами остается неизменной. Связь "один–ко–многим" является самой распространенной для реляционных баз данных. Она позволяет моделировать также иерархические структуры данных. Отношение "многие–ко–многим" применяется в следующих случаях: · одной записи в родительской таблице соответствует более одной записи в дочерней; · одной записи в дочерней таблице соответствует более одной записи в родительской. Всякую связь "многие–ко–многим" в реляционной базе данных необходимо заменить на связь "один–ко–многим" (одну или более) с помощью введения дополнительных таблиц. Свойства отношений. 1. Отсутствие кортежей-дубликатов. Из этого свойства вытекает наличие у каждого кортежа первичного ключа. Для каждого отношения, по крайней мере, полный набор его атрибутов является первичным ключом. Однако, при определении первичного ключа должно соблюдаться требование "минимальности", т.е. в него не должны входить те атрибуты, которые можно отбросить без ущерба для основного свойства первичного ключа - однозначно определять кортеж. 2. Отсутствие упорядоченности кортежей. 3. Отсутствие упорядоченности атрибутов. Для ссылки на значение атрибута всегда используется имя атрибута. 4. Атомарность значений атрибутов, т.е. среди значений домена не могут содержаться множества значений (отношения). В отличие от иерархической и сетевой моделей данных в реляционной отсутствует понятие группового отношения. Для отражения ассоциаций между кортежами разных отношений используется дублирование их ключей. Рассмотренный в предыдущих моделях пример базы данных, содержащей сведения о подразделениях предприятия и работающих в них сотрудниках, применительно к реляционной модели будет иметь вид: Например, связь между отношениями ОТДЕЛ и СОТРУДНИК создается путем копирования первичного ключа "Номер_отдела" из первого отношения во второе. Таким образом: для того, чтобы получить список работников данного подразделения, необходимо из таблицы ОТДЕЛ установить значение атрибута "Номер_отдела", соответствующее данному "Наименованию_отдела" выбрать из таблицы СОТРУДНИК все записи, значение атрибута "Номер_отдела" которых равно полученному на предыдущем шаге. для того, чтобы узнать в каком отделе работает сотрудник, нужно выполнить обратную операцию: определяем "Номер_отдела" из таблицы СОТРУДНИК по полученному значению находим запись в таблице ОТДЕЛ. Преимущества реляционной модели данных: Простота использования. Гибкость. Независимость данных. Безопасность. Простота практического применения. Слияние данных. Целостность данных. Недостатки: Избыточность данных. Низкая производительность. В отличие от двух других типов СУБД, в реляционных моделях данных нет необходимости просматривать все указатели, что облегчает выполнение запросов на выборку информации по сравнению с сетевыми и иерархическими СУБД. Это одна из основных причин, почему реляционная модель оказалась более удобна. Распространённые реляционные СУБД: Oracle, Sybase, DB2, Ingres, Informix и MS-SQLServer. Домашнее задание. Подготовится к самостоятельной работе по пройденным темам. |