Перед тем как углубиться в детали реляционных баз данных и систем управления базами данных (СУБД), важно понять, что в сущности представляет собой база данных.
Термин "база данных" предполагает определённую степень абстракции. На практике же это — конкретные реализации данных для различных сфер. Например, базы данных могут быть задействованы в библиотеке, на веб-сайте или в торговом бизнесе, чтобы управлять сведениями о сотрудниках, продуктах, поставщиках и клиентах.
Выбор хранения данных в таблицах оказывается самым практичным. Например, база данных может содержать таблицы, такие как "Сотрудники", "Поставщики" и "Клиенты", каждая из которых будет наполнена определёнными столбцами и строками.
В таблице, посвященной "Сотрудникам", можно иметь такие колонки, как "ФИО", "Должность" и "Зарплата". Каждая запись в этой таблице представит информацию о конкретном сотруднике. Так формируются таблицы: строку называют записью, а содержание каждой ячейки строки является полем, которое определяется её колонкой.
Встает вопрос: где эти таблицы будут храниться? Интуитивно понятно, что таблицы могут сохраняться в одном или нескольких файлах. Например, можно воспользоваться Excel или другим табличным процессором. Но этого ли достаточно для полноценного функционирования?
Представьте себе предприятие с обширной базой данных. К ней могут обращаться одновременно множество пользователей, осуществляя как изменения, так и поиск информации. Табличные процессоры неспособны корректно обрабатывать все операции или полностью загружать обширные данные в память.
Вот здесь и приходит на помощь специальное программное обеспечение, известное как системы управления базами данных, или СУБД.
Так что мы имеем файл с конкретной структурой, представляющий базу данных, и СУБД, позволяющую эффективно оперировать этим файлом.
SQL является стандартным языком для описания баз данных и работы с ними, обеспечивая универсальные возможности взаимодействия.
Существует множество СУБД, таких как SQLite, MySQL и PostgreSQL. Каждый из этих инструментов предлагает уникальные функции и дополняет SQL своими особенностями и диалектами.
Таким образом, изучение работы с базами данных включает не только изучение универсального SQL, но и знакомство с конкретной СУБД, что делает переход между различными СУБД достаточно простым.
Теперь рассмотрим понятие реляционной базы данных (РБД). Термин "реляция" происходит от английского "relation", что означает "отношение". Это подразумевает возможность установления связей между таблицами в РБД с помощью первичных и внешних ключей.
Рассмотрим сценарий, когда мы разрабатываем базу данных для веб-сайта. Одна таблица может содержать данные о страницах, а другая — об их разделах. Каждая запись первой таблицы должна содержать ссылку на соответствующий раздел во второй таблице.
Таким образом, информационные сущности как страницы и разделы разнесены по разным таблицам, но между ними создаются связи. Это позволяет с помощью SQL выполнять запросы для извлечения связанных данных, хотя таких комплексных таблиц в БД нет.
Существует ряд стандартов и подходов к созданию реляционных баз данных с целью исключения избыточности, известных как нормализация. Теория разработки РБД представляет собой отдельную дисциплину.
Базы данных играют важную роль не только в обеспечении быстрого доступа к информации. Реляционные БД помогают упорядочивать данные, управлять ими и эффективно наращивать объемы.
Таким образом, в одной таблице хранятся взаимосвязанные данные, тогда как в различных таблицах одной БД содержатся связанные между собой данные.