Большинство разработчиков сталкиваются с работой с базами данных в своей повседневной работе, но не у всех хватает времени, чтобы ознакомиться с теорией. Однако это вызывает много вопросов в самый неподходящий момент. Что такое реляционная база данных? Почему реляционные базы данных используют первичные ключи и внешние ключи? Что именно должно происходить здесь или там?
Чтобы иметь возможность профессионально работать с данными, вы должны понимать различные типы баз данных и их уникальные особенности. В этом всеобъемлющем руководстве мы познакомим вас с наиболее популярным типом, называемым реляционной базой данных.
Базы данных и их типы
Без использования базы данных все данные, которые вы создаёте или собираете, будут напоминать случайную кучу без какого-либо порядка. Вы не можете получить доступ и использовать его для своих нужд. Теперь база данных — это решение для хранения данных, которое предоставляет вам не только пространство для хранения ваших данных, но и мощные методы для манипулирования ими. Базы данных занимают важное место в компьютерных технологиях с 1960-х годов. Для управления ими мы используем специальный вид программного обеспечения — систему управления базами данных (сокращённо СУБД).
В зависимости от конкретных потребностей, которые есть у вас или вашей компании, вы можете выбрать один из нескольких типов баз данных. Это могут быть операционные, личные, распределённые, конечные пользователи и т.д. Однако реляционные базы данных настолько популярны, что некоторые разработчики даже упрощают типизацию баз данных до двух групп: реляционных или нереляционных. Поскольку SQL (язык структурированных запросов) является стандартным методом работы с первым, последний иногда также называют NoSQL . Несколько простых примеров нереляционной базы данных — это хранилища ключей-значений, хранилища документов или графические базы данных. Хотя мы должны признать, что их популярность растёт, реляционные базы данных по-прежнему занимают львиную долю рынка.
Что такое реляционная база данных
Первым, кто упомянул термин реляционная база данных, был Эдгар Ф. Кодд в 1962 году. Работая в IBM, он увидел основные недостатки в навигационных базах данных, которые использовались в то время. По его словам, они не только слишком сложны в использовании, но и не было надёжной теории, подтверждающей принципы. Пытаясь решить эти проблемы, он написал статью под названием «Реляционная модель данных для больших общих банков данных» . IBM не хотела воплощать свои идеи в жизнь. Однако благодаря этой новаторской работе по переопределению моделей баз данных Эдгар Ф. Кодд получил престижную премию Тьюринга в 1981 году.
Чтобы полностью понять, что такое реляционная база данных, вы должны понимать, что до того, как они появились, разработчики использовали простые базы данных. Вместо таблиц файлы содержали длинные тексты, в которых записи были разделены вертикальной чертой:
Employee, Team, Experience|Anna, Developers, 7 years|Melissa, Developers, 3 years|Andrew, Developers, 4 years|Stanley, Designers, 4 years|Andy, Designers, 5 years|Christina, Designers, 2 years
Вы можете представление, что это делает доступ и использование данных неудобным. Вы не могли сортировать, искать или фильтровать. Однако в реляционной базе данных данные хранятся с использованием чёткой структуры: таблицы со столбцами и строками.
Каждый столбец (также называемый атрибутом или полем) имеет отдельное имя и назначенный ему определённый тип данных. Каждый фрагмент данных заполняет строку, также называемую кортежем или записью. Пример, который мы видели ранее, теперь будет иметь три столбца (Сотрудник, Команда и Опыт) и шесть записей (по одной для каждого человека). Каждый из этих столбцов будет хранить строковые типы данных, или мы можем сделать столбец Experience, чтобы он содержал только целые числа и вводил только количество лет.
Проектирование реляционной базы данных: объяснение отношений
Узнав, что такое реляционная база данных, вы заметите, что сам термин очень показателен: реляционная база данных — это та, которая допускает отношения базы данных.
Для базы данных этого типа довольно часто иметь до тысячи таблиц. Связь в дизайне базы данных устанавливается, когда два или более из них содержат некоторые связанные данные и, следовательно, связаны друг с другом. Это не только упрощает обслуживание данных, но и повышает их целостность и безопасность. Реляционные базы данных также легче масштабировать и расширять.
Существует три типа отношений в дизайне базы данных. Наиболее распространёнными являются «один ко многим»: это означает, что строка в одной таблице может соответствовать нескольким строкам в другой, но не наоборот. В приведённом выше примере один сотрудник мог принадлежать только одной команде, однако в одной команде было несколько сотрудников. Если бы у нас была другая таблица под названием «Проекты» , она могла стать прекрасным примером отношения многих ко многим : каждый человек мог работать над несколькими проектами, а в каждом проекте могли работать несколько человек. Отношения «один к одному» в базе данных, вероятно, наименее распространены.
Идентификация и связь: используя правильные ключи
Теперь, почему реляционные базы данных используют первичные ключи и внешние ключи? Это касается и отношений с базой данных. Каждая таблица в базе данных имеет один или несколько столбцов, которые выступают в качестве первичного ключа. Его целью является идентификация записей в таблице, поэтому значение каждой записи в этом столбце должно быть уникальным. Например, вместо имени клиента вы должны использовать, скажем, номер заказа. Когда вы зададите столбец в качестве первичного ключа, система убедится, что вы не можете ввести одно и то же значение дважды.
Используя внешний ключ, вы можете создать связь между записями в двух отдельных таблицах. Это столбец (или несколько), который содержит значения, соответствующие первичному ключу другой таблицы. Вы не можете добавить запись, которой нет в ссылочной таблице, в таблицу с внешним ключом. Представьте, что у вас есть две таблицы: клиенты и заказы. Вы можете легко связать первый со вторым, создав внешний ключ, который ссылается на столбец первичного ключа (скорее всего, идентификатор клиента).
Системы управления реляционными базами данных и SQL
Теперь, когда вы понимаете, что такое реляционная база данных, вы можете начать искать программное обеспечение для управления ею. Поскольку мы имеем дело с самым популярным типом баз данных в мире, вы можете выбрать из множества уже хорошо известных имён, таких как MySQL, PostgreSQL, Oracle или SQL Server. Большинство начинающих предпочитают первые два, так как они с открытым исходным кодом и полностью бесплатны для использования. Как Oracle, так и SQL Server имеют бесплатные версии, но существуют определённые ограничения для функциональных возможностей, которые вы можете использовать.
Согласно рейтингу DB-Engines , Oracle в настоящее время является самой популярной системой управления реляционными базами данных в мире. Неудивительно, что, согласно их веб-сайту , это «самоуправление, самозащищенность и самовосстановление» с 2018 года. Благодаря тому, что машинное обучение оставляет гораздо меньше ручного труда реальному человеку, система способна обеспечить более высокий уровень безопасности и снизить риск ошибок. Естественно, это также намного проще в использовании, так как сама Oracle выполняет много задач. Следует отметить, что с 2010 года MySQL также принадлежит корпорации Oracle, а поддержка огромной компании сильно влияет на надёжность системы. В рейтинге, упомянутом выше, MySQL занимает второе место.
Заключение
Выбор системы управления реляционными базами данных зависит исключительно от потребностей ваших проектов. Теперь, когда вы знакомы с тем, что такое реляционная база данных, вам будет легче прояснить ваши ожидания в отношении неё.