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

Пример таблицы для реляционной базы

Реляцио́нная ба́за да́нных (РБД) — набор отношений, имена которых совпадают с именами схем отношений в схеме базы данных[1]. РБД может состоять из одной или нескольких взаимосвязанных прямоугольных таблиц. Строка таблицы РБД называется записью, столбец — полем[2].

История

История возникновения баз данных начинается с древних времён, когда под базами данных понимались любые способы для обработки и хранения информации. В 1970 году доктором компьютерных наук Эдгардом Франком «Тедом» Коддом была издана первая работа по реляционной модели данных под названием «A Relational Model of Data for Large Shared Data Banks». В 1981 году Кодд разработал реляционную модель данных и реляционную алгебру, за что получил премию «Тьюринга». В 2002 году журнал «Forbes» признал реляционную модель Кодда одним из важнейших изобретений за последние 85 лет[3].

Итак, начало 1970-х годов ознаменовало приход современной технологии с реляционной моделью данных Эдгара Кодда и последующий взрывной рост генерации данных и их хранения, который в 1990-х годов привёл к развитию хранилищ, а позднее — к возникновению феномена больших данных[4].

Язык реляционных баз данных

Наиболее распространенным языком запросов реляционной модели данных в настоящее время является язык структурированных запросов SQL (Structured Query Language).

Говоря о языке SQL, нужно помнить о его главном назначении:

  • во-первых, это средства описания хранимых данных, их структуры, правил доступа к ним;
  • во-вторых, это описание запросов на поиск и изменение данных в существующей базе;
  • в-третьих, это средства управления доступа к данным[5].

Знание языка SQL является обязательным для специалиста в области разработки и сопровождения баз данных[6].

Со временем SQL усложнился: обогатился новыми конструкциями, обеспечил возможность описания новых хранимых объектов (например, индексов, представлений, триггеров и хранимых процедур) и управления ими и стал приобретать черты, свойственные языкам программирования[7].

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

Тип данных определяет возможные способы обработки данных и объём памяти, необходимое для их хранения. Набор поддерживаемых типов данных определяется СУБД и может сильно различаться в разных системах. Домен — это множество допустимых значений типа данных. Сущность — это объект или предмет реального мира, о котором хранится информация в реляционной базе данных. Атрибут — это характеристика сущности[1].

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

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

В реляционной модели обязательно устанавливается и имеет определяющее значение понятие функциональной зависимости одного атрибута X от другого Y в отношении R, означающее, что если известно значение первого атрибута (детерминанта) X, то значение второго атрибута (зависимой части) Y определено и имеет единственное значение. Формальное определение функциональной зависимости: X→Y. Например, если в отношении Студент известен № зачетной книжки, то для любого кортежа отношения Студент однозначно определены значения его атрибутов ФИО, Номер группы, Пол, Дата рождения, то есть № зачетной книжки →{ФИО, Номер группы, Пол, Дата рождения}, аналогично для отношения Семестр: № зачетной книжки, Номер семестра →{Тип стипендии, Рейтинг за семестр}[9].

Типы данных

Типам данных в реляционной модели можно сопоставить типы данных, используемых в языках программирования. Выделяют следующие типы данных, хранящихся в РБД:

  • символьные (текстовые);
  • числовые;
  • логические;
  • дата/время.

В некоторых СУБД введены дополнительные типы данных, например в СУБД MS Access используется тип данных объекта OLE — в полях такого типа можно хранить графические изображения, файлы документов и электронные таблицы, а также другие подобные объекты[10].

Объекты базы данных

База данных состоит из объектов, взаимодействующих между собой:

  1. Таблицы — каждая таблица описана своей структурой и связями с другими таблицами.
  2. Запросы — позволяют выполнять любую обработку данных.
  3. Формы — позволяют организовать просмотр, ввод, редактирование информации в нужном виде, а также обеспечить работу в системе за счет элементов управления.
  4. Отчеты — позволяют выдать на печать информацию из базы данных в нужном виде.
  5. Макросы — позволяют автоматизировать работу с базой данных.

Исходные данные хранятся в таблицах, затем они обрабатываются в запросах, которые создают новые виртуальные таблицы. Результаты обработки исходных данных отображаются на экране в формах или на экране и бумаге в отчетах[11].

Схема отношения

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

1. Один — к одному. Этот тип связи означает, что каждому объекту первого вида соответствует не более одного объекта второго вида и наоборот, например:

2. Один — ко многим. Этот тип связи означает, что каждому объекту первого вида может соответствовать более одного объекта второго вида, но каждому объекту второго вида соответствует не более одного объекта первого вида, например:

  • [Отдел] — < 1 : М > — [Сотрудник];
  • [Покупатель] — < 1 : М > — [Чек];
  • [Страна] — < 1 : М > — [Город].

3. Многие — ко многим. Этот тип связи означает, что каждому объекту первого вида может соответствовать более одного объекта второго вида, и каждому объекту второго вида может соответствовать более одного объекта первого вида, например:

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

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

Достоинства и недостатки реляционных баз данных

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

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

Примечания

  1. 1,0 1,1 1,2 1,3 1,4 Яррулин Р. С. Введение в реляционные базы данных [Электронный ресурс: учебное пособие]. — Казань: Издательство Казанского университета, 2023. — С. 5, 6, 7. — 62 с. — ISBN 978-5-00130-774-7.
  2. Босова Л. Л. Информатика. 9 класс / под ред. О. Полежаевой. — М.: БИНОМ. Лаборатория знаний, 2016. — С. 45. — 208 с. — ISBN 978-5-9963-3045-4.
  3. Любченко Д. П. История возникновения баз данных // Вестник науки : журнал. — 2019. — Октябрь (т. 3, № 10 (19)). — С. 87—90. — ISSN 2712-8849.
  4. Тесленко И. Б., Губернаторов А. М., Дигилина О. Б., Крылов В. Е. Big Data = Большие данные / под ред. Е. А. Платоновой. — Владимир: Изд-во ВлГУ, 2021. — С. 12. — 123 с. — ISBN 978-5-9984-1425-1.
  5. 5,0 5,1 Токмаков Г. П. Базы данных. Концепция баз данных, реляционная модель данных, языки SQL и XML / под ред. М. В. Штаевой. — Ульяновск: УлГТУ, 2010. — С. 43, 59. — 192 с. — ISBN 978-5-9795-0762-0.
  6. Кара-Ушанов В. Ю. SQL — язык реляционных баз данных : учебное пособие / под ред. В. И. Рогович. — Екатеринбург: Изд-во Урал. ун-та, 2016. — С. 3, 8, 9, 10, 16, 35, 36. — 156 с. — ISBN 978-5-7996-1622-9.
  7. 7,0 7,1 Агафонов А. А. Основы технологий баз данных / под ред. А.В. Ярославцевой. — Самара: Издательство Самарского университета, 2023. — С. 21, 97. — 304 с. — ISBN 978-5-7883-1915-5.
  8. 8,0 8,1 Катеринина С.Ю. Управление данными [Электронный ресурс] / под ред. И. Б. Чижикова. — Волгоград: ВолгГАСУ, 2015. — С. 37, 130. — 137 с. — ISBN 978-5-98276-744-8.
  9. Чудинов И. Л. Базы данных. — Томск: Изд-во Томского политехнического университета, 2012. — С. 40, 41. — 140 с. — ISBN 978-5-4387-0115-6.
  10. Сенченко П.В. Организация баз данных : учебное пособие / под ред. Е. А. Осиповой. — Томск: ФДО, ТУСУР, 2015. — С. 37. — 170 с. — ISBN ББК 32.973.233-018.2я73.
  11. Крикунов М.М. Основы баз данных: учебное пособие / под ред. А. В. Ярославцева. — Самара: Издательство Самарского университета, 2021. — С. 7. — 84 с. — ISBN 978-5-7883-1671-0, ББК 32.973.2-018.2я7.
  12. Калинина Е.С., Манохина Т. В., Ступаков С. А. «Реляционные базы данных и их особенности» // ЦИФРОВАЯ ЭКОНОМИКА. — 2023. — 22 января. — С. 90.
  13. Поляков К. Ю. [file:///C:/Users/Admin/Downloads/888_Учебник%20Информатика%2011%20класс%20Углубленный%20уровень%20Поляков%20Еремин%20часть%201.pdf Информатика. Углубленный уровень: учебник для 11 класса: в 2 ч. Ч. 1] / под. ред. О. Полежаевой. — М.: БИНОМ. Лаборатория знаний, 2013. — С. 172, 173. — 240 с. — ISBN 978-5-9963-1418-8.