Реляционная модель баз данных - Студенческий научный форум

XIII Международная студенческая научная конференция Студенческий научный форум - 2021

Реляционная модель баз данных

Коновалов Э.Н. 1
1БИТИ НИЯУ МИФИ
 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

ВВЕДЕНИЕ

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

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

Для работы с базами данных используются системы управления базами данных (СУБД). Система управления базой данных (СУБД) – совокупность программных средств, обеспечивающих управление базой данных на всех уровнях [6].

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

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

Для достижения поставленной цели необходимо решить следующие задачи:

Изучить основные понятия, применяемые в реляционной базе данных;

Изучить ограничения, существующие в реляционной модели;

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

РЕЛЯЦИОННАЯ МОДЕЛЬ БАЗЫ ДАННЫХ

Название для реляционной модели дал сотрудник компании IBM Эдгар Кодд, оно происходит от английского слова relation или отношение по-русски [2]. Идея реляционной модели базы данных это связанная определёнными отношениями совокупность таблиц. Предметная область определяет характер связей между таблицами, а сама связь определяется на логическом уровне.

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

Отношение – это определённые данные хранящиеся в двумерной таблице [2].

Сущность – это объект любого характера, данные его описывающие хранятся в базе данных. Данные отвечающие за сущность хранятся как правило в отношении [2].

Атрибуты — это некоторые свойства, описывающие сущность. В составе таблицы все атрибуты называются и имеют свой определённый заголовок столбца таблицы [2].

Домен – это некоторое множество значений некоторого атрибута отношения. Все домены формируют значения определённого типа данных [2].

Таблицы – это основные объекты реляционной базы данных для хранения информации. Таблицы и их структура определяют структуру базы данных[2].

Рисунок 1 – Пример таблицы базы данных

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

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

Между любыми двумя таблицами может существовать одна из трёх видов отношений:

Один к одному – записи в одной таблице может соответствовать только одна запись в другой таблице;

Один ко многим – одной записи в одной таблице может соответствовать много записей в другой таблице;

Многие ко многим – множеству записей в одной таблице может соответствовать множество записей в другой таблице.

Рисунок 2 – Пример связей между таблицами

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

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

Таблицы могут связываться в следующих случаях:

При создании схемы данных с помощью соединения таблиц в базе данных;

При разработке запросов к используемой базе данных;

При связывании таблицы из текущей базы данных с таблицей, находящейся в другой базе данных [2].

Процесс связывания может применяться как к двум, так и к нескольким таблицам. Для связывания таблиц применяют поля связи, такие поля обязательно должны быть индексированными [2].

Связь между таблицами характеризует и определяет отношение в аспекте подчинённости, при котором одна таблица является главной или родительской, а другая подчинённой или дочерней [2].

Сама связь называют связь «родительский - дочерний» или «главный - подчинённый». Для связи с главной таблицей в подчинённой таблице берётся индекс или внешний ключ по-другому. Состав полей такого внешнего ключа должен совпадать полностью или частично с составом полей внешнего ключа главной таблицы [2].

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

Обеспечивать быстрый доступ к хранимым данным;

Обеспечивать отсутствие повторения данных;

Обеспечивать целостность данных[2].

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

Есть три основных подхода при проектировании на логическом уровне базы данных:

Сбор необходимой информации об предметной области решаемой задачи в рамках таблицы и последующая декомпозиция на ряд меньших взаимосвязанных таблиц с соблюдением правил нормализации:

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

Структурирование информации в процессе;

Проведение системного анализа и структурирование информации на основе свода правил и рекомендаций [2].

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

Ограничения реляционной модели

В реляционной модели определён ряд ограничений для контроля целостности данных, избыточности и допустимости.

избыточность: кортежи-дубликаты (кортеж — это упорядоченный набор данных) запрещены в отношении [1];

допустимость: доменные ограничения контролируют допустимость данных [1];

целостность: отношения в базе данных связаны друг с другом. Операция над одним отношением, например, обновление или удаление кортежа, может оставить другое отношение в некорректном состоянии [1].

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

унаследованные от реляционной модели: ограничения доменной целостности, целостности сущностей и ссылочной целостности [1];

семантические ограничения, бизнес-правила и ограничения, свойственные приложению, которые нельзя явно выразить средствами реляционной модели. Однако появление процедурных языков на основе SQL, в частности, PL/pgsql в PostgreSQL, позволило моделировать такие ограничения и в реляционной базе данных [1].

Ограничение доменной целостности гарантирует допустимость данных.

Типом данных домена может быть integer, real, boolean, character, text, inet и так далее, например, имя и адрес электронной почты имеют тип text. Зная тип данных, можно уже определить проверочное ограничение, например, шаблон почтового адреса [1].

Проверочное ограничение: такое ограничение применяется к одному атрибуту или к группе атрибутов [1].

Ограничение умолчания: у атрибута может быть значение по умолчанию. Это может быть либо фиксированное значение, например, стандартная почасовая оплата труда, например, 10 долларов. Или же динамически вычисляемое значение, например, значение функции random, current time или date [1].

Ограничение уникальности: гарантирует, что значение атрибута уникально среди всех кортежей отношения. Допускается также значение null.

Ограничение not null: по умолчанию атрибут может принимать значение null. Ограничение not null запрещает это. Например, у каждого человека в книге записей о рождении должно быть имя.

Ограничение сущностной целостности.

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

ключ должен быть уникален;

ни один атрибут, входящий в ключ, не должен принимать значение null [1].

В каждом отношении может быть только один первичный ключ, но много уникальных ключей. Ключ-кандидат – это минимальный набор атрибутов, с помощью которых можно однозначно идентифицировать кортеж. Любой уникальный, не принимающий значения null атрибут может быть ключом кандидатом. Набор, состоящий из всех атрибутов, образует суперключ [1].

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

Первичный ключ, генерируемый СУБД, называют суррогатным, или синтетическим. В противном случае ключ называется натуральным. В роли суррогатных ключей-кандидатов могут выступать порядковые номера или универсальные уникальные идентификаторы (UUID) [1].

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

Ограничения ссылочной целостности.

Отношения связаны между собой общими атрибутами. Ограничения ссылочной целостности контролируют связи между двумя отношениями и гарантируют, что данные в кортежах согласованы. Если кортеж одного отношения ссылается на кортеж другого отношения, то этот второй кортеж должен существовать [1].

Отсутствие ограничений ссылочной целостности может стать причиной многих проблем:

некорректные данные в общих атрибутах [1];

некорректная информация при соединении данных из разных отношений;

снижение производительности из-за неоптимального плана выполнения, построенного планировщиком или сторонней программой [1].

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

каскадом: если кортеж во внешнем отношении удаляется или его внешний атрибут обновляется, то ссылающиеся на него кортежи первичного отношения также удаляются или обновляются [1];

запрет: кортеж, на который ведет ссылка, не может быть удален, а его внешний атрибут не может быть изменен;

ничего не делать: то же, что запрет, но решение откладывается до конца транзакции [1];

присваивание значения по умолчанию: если кортеж во внешнем отношении удаляется или внешний атрибут обновляется, то внешнему ключу в первичном отношении присваивается значение по умолчанию [1];

присваивание null: если кортеж во внешнем отношении удаляется, то внешнему ключу в первичном отношении присваивается значение null [1].

Семантические ограничения

Ограничения целостности или ограничения бизнес-логики касаются приложения в целом. Например, в любой момент у клиента может быть не более одной активной службы. Такие ограничения проверяются либо на уровне бизнес-логики прикладной программы, либо с помощью процедурных языков на основе SQL. Для этой цели можно также использовать триггеры и правила [1].

Какой подход выбрать – процедурный язык на основе SQL или высокоуровневый язык программирования, – зависит от приложения; иногда комбинируют оба. У процедурного языка на основе SQL имеются следующие преимущества[1]:

производительность: в реляционных системах управления баз данными часто имеются сложные оптимизаторы для построения эффективных планов выполнения. А в некоторых случаях, например, в приложениях добычи данных, объем обрабатываемых данных очень велик. Обработка на процедурном языке позволяет исключить передачу данных по сети. Кроме того, в некоторых процедурных языках применяются сложные алгоритмы кеширования [1];

срочные изменения: процедурный язык на основе SQL позволяет исправлять ошибки, не останавливая службу [1].

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

К преимуществам можно отнести следующее:

Простота. Представление различных структур данных с помощью двумерных таблиц является одним из самых простых способов взаимодействия с базой данных [3];

Теоретическое обоснование. Отношения, широко используемые в реляционной модели, могут быть описаны и использованы в соответствии с математическими методами, такими как реляционная алгебра [3];

Контроль секретности. Ограничение доступа к данным упрощается при использовании отношений в реляционной модели [3];

Понятность. Реляционная модель упрощает понимание всего массива отношений атрибутов. Размещение таблиц на физическом уровне проще чем работа со структурами в других моделях [3];

Снижение требований к программному и аппаратному обеспечению благодаря отказу от использования сложных указателей связей в файлах [3];

Простота масштабируемости базы данных и изменения хранимых данных. База данных, а точнее её структура предполагает возможность её увеличения, например, появление новых атрибутов. Реляционная модель имеет хорошие показатели масштабируемости[3].

Кроме перечисленных выше преимуществ к достоинствам можно отнести высокую пригодность к использованию в архитектуре «клиент-сервер», разного рода параллельным обработкам и графическим пользовательским интерфейсам [5].

Приложение основанное на архитектуре «клиент-сервер» состоит из двух частей. Клиентская часть приложения отвечает за ввод данных и показ выходных данных пользователю. Серверная часть хранит в себе базу данных, обрабатывает все клиентские запросы к базе данных и передаёт клиентской части запрашиваемые данные [5].

Рисунок 3 – принцип работы технологии клиент-сервер

Реляционный интерфейс, с помощью которого приложение работает показывает высокую производительность в архитектуре «клиент-сервер» при обмене запросами высокого уровня и ответами [5].

Уже несколько десятилетий клиент-серверное построение БД является доминирующим. Причин тому несколько:

значительно повышается доступность БД. Сервер представляет собой открытую систему, поэтому клиентские компьютеры могут функционировать под управлением различных операционных систем и с различным ПО [4];

выделенный сервер СУБД в состоянии обеспечить параллельную многопользовательскую обработку данных [4];

основные правила поддержки целостности и непротиворечивости данных описываются на одном сервере СУБД, клиентские приложения никаким образом не в состоянии обойти эти правила [4];

экономно расходуется пропускная способность компьютерных сетей [4];

благодаря централизованному хранению данных сравнительно просто поддерживать единые для всех правила безопасности БД [4];

наличие стандарта на основной язык общения SQL обеспечивает широкие возможности доступа к серверу БД из программного обеспечения различных производителей [4];

упрощены вопросы обслуживания и администрирования БД [4].

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

ЗАКЛЮЧЕНИЕ

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

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

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

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

Цель реферата в виде изучения теоретических основ реляционной модели баз данных достигнута.

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

Джуба, С. Изучаем PostgreSQL 10 [Текст] / С. Джуба, А. Волков. - Москва: ДМК Пресс, 2018. – 400 с.

Красновидов, А.В. Инструментальные средства информационных систем: учебное пособие [Текст]/ А. В. Красновидов, С. Г. Свистунов, П. А. Новиков. - Санкт-Петербург: ПГУПС, 2015. – 48 с.

Медведкова, И.Е. Базы данных: учебное пособие [Текст]/ И.Е. Медведкова, Ю.В. Бугаев, С.В. Чикунов - Воронеж: ВГУИТ, 2015. – 108 с.

Осипов, Д.Л. Технологии проектирования баз данных [Текст] / Д.Л. Осипов. – Москва: ДМК Пресс, 2019. – 498 с.

Советов, Б.Я. Информационные технологии: теоретические основы: учебное пособие [Текст]/ Б.Я. Советов, В.В. Цехановский. - Санкт-Петербург: Лань, 2017. – 444 с.

Цехановский, В.В. Управление данными [Текст]/ В.В. Цехановский, В.Д. Чертовской. - Санкт-Петербург: Лань, 2015. – 432 с.

Яремчук, О.В. Учебное пособие по русскому как иностранному для специальности «Информатика и вычислительная техника» [Текст] / О.В. Яремчук. – Москва: НИЯУ МИФИ, 2015. – 252 с.

Просмотров работы: 609