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

Сегодня поговорим о релационных базах данных. Начнем с самых азов для тех, кто только начал учить БД.

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

Представьте себе, что у Вас есть небольшой магазин обуви.

магазин обуви гена букин

Все идет хорошо, магазинчик процветает, продажи идут. Как ни крути Вам нужны записи о количестве обуви, каких то расходах и прочих мелочах. Предположим, что Вы храните записи в своем блокноте в самом простом виде: Кроссовки мужские, 42 размер, 3 пары, цена 100$. Когда Вы наняли еще одного продавца, помимо Вас в блокнот начал писать другой человек. Для того, чтобы приучить его к единому стилю Вы решили сделать в блокноте колонки: Наименование, Размер, Цена, Количество на складе. Вам это показалось очень удобным. Теперь проще вести учет обуви, продавцам удобно вести записи и все счастливы.

Ваш бизнес начал расти и теперь пришлось открыть еще одно отделение в другом конце города.

миллионер

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

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

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

Как уже было сказано выше — базы данных хранят информацию в таблицах. В таблицах есть колонки, в колонках информация. Для манипуляции с данными был придуман единый язык SQL, который позволяет делать с данными все, что угодно. Согласитесь, очень удобно, когда все в мире пользуются единым стандартом и все понимают о чем идет речь. Разные компании придумали системы управления базами данных. Есть как платные так и бесплатные системы управления БД:

  • Oracle
  • MySql
  • Postresql

Этих систем очень много и перечислять их не имеет смысла. Вам нужно лишь знать SQL — Structured query language (язык структурированных запросов) и Вы сможете работать с любой системой.

Перейдем к нашему магазину.

Вы решили переносить данные с блокнота в единое хранилище. Но не спешите включать компьютер! Для начала нужно просто представить в каком виде у Вас будет храниться информация:

  • какие колонки будут в таблице
  • в каком виде будут представлены данных (текст, цифры, картинки)
  • отношение между таблицами

Каждый раз, когда Вам нужно будет создать базу данных, ее нужно спроектировать. Это как строить дом. Нельзя начать стройку без плана. Для проектирования баз данных есть множество инструментов и сервисов. Но самый простой и быстрый для понимания: ручка и бумага.

Берем бумагу и рисуем табличку. В нее добавляем колонки.

Вот что получилось у меня:

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

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

А что если нам нужно будет знать больше информации о поставщике? Имя, адрес, номер телефона. Нам же нужно будет заказывать еще обувь, когда раскупят ту, что на складе.

Предлагаю вынести поставщика в отдельную таблицу. Теперь Вы спросите, как мы будем знать в какой обуви какой поставщик? Для этого мы условимся, что имя поставщика в таблице обувь будет совпадать с колонкой название в таблице поставщик.

усложненная модель

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

А на этом по реляционным базам данных пока все. Это краткое и очень упрощенное понятие, которое сможет легко погрузить Вас в мир SQL, который на первый взгляд может показаться сложным, но на деле таким не является. Следите за уроками и сможете постепенно освоить базы данных.

2

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *