7 типов современных баз данных: предназначение, достоинства и недостатки

Сравнение SQL и NoSQL

  1. Если SQL-системы основаны исключительно на строгом представлении данных, то NoSQL-системы предоставляют свободу и способны работать с любым типом данных.
  2. SQL-системы стандартизированы, за счёт чего запросы формируются с использованием языка SQL. В то же время NoSQL-системы базируются на специфической для каждой из них технологии, что является недостатком.
  3. Масштабируемость. Обе СУБД способны обеспечить вертикальное масштабирование, то есть увеличить объём системных ресурсов на обработку данных. При этом NoSQL, будучи более новой разновидностью баз данных, позволяет применять простые методы горизонтального масштабирования.
  4. В плане надёжности SQL обладает уверенным лидерством.
  5. У SQL-баз есть качественная техническая поддержка за счёт их продолжительной истории, в то время как NoSQL-системы весьма молоды и и решить какую-либо проблему сложнее.
  6. Хранение данных и доступ к их структурам в рамках реляционных систем лучше всего происходит в SQL-системах.

Таким образом, хоть NoSQL и является стремительно развивающейся разновидностью систем управления базами данных, однако на данном этапе рекомендуется остановить свой выбор на SQL.

Надёжность SQL-систем, особенно MySQL, подтверждается временем и массовостью. Сегодня любой уважающий себя ресурс использует для хранения данных именно систему MySQL.

@ivashkevich

04.04.2018 в 19:25

32464

+178

Шифрование

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

Основные способы шифрования:

  • симметричное и ассиметричное;
  • хеширование данных;
  • шифрование на уровне хранилища;
  • на уровне БД;
  • на уровне приложений.

Шифрование используется для защиты от несанкционированных пользователей не только информации, но и алгоритмов, функций программ. Однако использование шифрования и дешифровки усложняет работу системы управления базами данных (СУБД), так как дает дополнительную нагрузку на сервер.   

Иерархическая база данных, структура иерархических данных

Когда речь идёт о хранении иерархических данных, каждый объект хранит информацию в виде определенной сущности, и у каждой сущности могут быть родительские и дочерние элементы, а у дочерних, в свою очередь, тоже могут быть дочерние элементы. Таким образом, можно сказать, что это данные, которые подлежат строгой иерархии (представьте себе своеобразное дерево).

Простой пример иерархических данных — документ в формате XML либо файловая система компьютера.

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

На рисунке представлена классическая структура иерархической базы данных. Вверху находится родитель (его ещё называют корневым элементом), ниже размещены дочерние элементы. Элементы с данными, находящиеся на одном уровне, можно назвать братьями либо соседними элементами. БД данной категории бывают с разным количеством уровней и разной степени вложенности.

Azure Data Studio

Azure Data Studio – это бесплатный, кроссплатформенный инструмент с открытым исходным кодом для работы с базами данных Microsoft SQL Server.

Azure Data Studio основана на Visual Studio Code и ориентирована на SQL разработчиков, так как основное назначение Azure Data Studio – это написание, редактирование и выполнение SQL запросов, иными словами, это редактор SQL кода.

Azure Data Studio позволяет работать с базами данных Microsoft SQL Server, SQL Azure, а также с другими СУБД, например, с PostgreSQL

Основные особенности

Инструмент бесплатный
Кроссплатформенность (поддержка Windows, Linux, macOS)
Ориентация на SQL разработчиков
Продвинутый SQL редактор (технология IntelliSense, фрагменты SQL кода)
Расширяемость (встроенная поддержка расширений)
Работа с другими СУБД
Встроенная возможность выгрузки данных в формат Excel, XML, JSON, CSV
Группировка подключений к серверам
Визуализация данных с помощью диаграмм и графиков
Поддержка нескольких цветовых тем
Встроенный терминал (Bash, PowerShell, sqlcmd)
Записные книжки

Недостатки

Отсутствует конструктор таблиц
Нет функционала для работы со свойствами объектов
Отсутствует возможность управления безопасностью
Отсутствует возможность импорта и экспорта DACPAC
Отсутствует функционал для большинства задач администрирования

Мне нравится4Не нравится

Организация информации в РБД

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

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

Динамика организации данных

Жесткая модель данных существует до того момента, пока не изменились внешние обстоятельства. В начале 90-х никто не думал, что две цифры в поле даты, отведенные под год — достаточны. Сколько паники и проблем вызвал барьер 640 Кб памяти на заре компьютеростроения.

Насколько ужасно выглядит сегодня способ доступа к данным в dBase, Clarion, FoxPro, в то время как в начале 90-х всех все устраивало. Довольны были и разработчики, и пользователи. Но тогда информации было мало, да и алгоритмы были примитивные.

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

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

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

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

Синтаксис SQL может немного отличаться в зависимости от того, какую СУБД вы используете. 

MySQL

Основными преимуществами MySQL являются то, что он прост в использовании, недорого, надежен (существует с 1995 года) и имеет большое сообщество разработчиков, которые могут помочь ответить на вопросы.

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

PostgreSQL

PostgreSQL имеет многие из преимуществ MySQL. 

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

БД Oracle

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

SQL Server

Microsoft владеет SQL Server. Как и в Oracle DB, исходный код кода очень близок.

Крупные корпоративные приложения в основном используют SQL Server.

Microsoft предлагает бесплатную версию начального уровня под названием Express, но она может стать очень дорогой при масштабировании приложения.

SQLite

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

SQLite – популярный выбор для баз данных в мобильных телефонах, КПК, MP3-плеерах, телевизионных приставках и других электронных устройствах. Курсы SQL на Codecademy используют SQLite.

Развитие базы данных

Базы данных сильно изменились с момента их создания в начале 1960-х годов. Навигационные базы данных, такие как иерархическая база данных (которая основывалась на древовидной модели и допускала только отношения один-ко-многим) и сетевая база данных (более гибкая модель, допускающая множественные отношения), были исходными системами, используемыми для хранения и манипулировать данными. Несмотря на простоту, эти ранние системы были негибкими. В 1980-х годах стали популярными реляционные базы данных, а в 1990-х последовали объектно-ориентированные базы данных. Совсем недавно базы данных NoSQL появились как ответ на рост Интернета и потребность в более высокой скорости и обработке неструктурированных данных. Сегодня облачные базы данных и автономные базы данных открывают новые возможности, когда речь идет о том, как данные собираются, хранятся, управляются и используются.

База данных

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

Почти все сайты электронной коммерции используют различные типы данных в базе данных для хранения инвентаря продукции и информации о клиентах. Эти сайты используют систему управления базами (или СУБД), такую ​​как Microsoft Access, FileMaker Pro или MySQL. Контент веб-сайта, сохраненный в ней, можно легко искать, сортировать и обновлять. Такая гибкость важна для ресурсов электронной коммерции и других динамических сайтов.

Строка

Строка представляет собой горизонтальную группу значений внутри таблицы. Поскольку они содержат информацию из нескольких столбцов, в базах данных каждая строка таблицы может считаться записью. Например, окно (или запись) из таблицы Employee может содержать имя, адрес, должность, заработную плату и другую информацию сотрудника. При запросе базы данных результаты обычно возвращаются как массив строк, который похож на группу записей. Доступ к отдельным значениям можно получить, выбрав конкретный столбец (или поле) в строке.

При отображении значений в формате таблицы верхнюю строку часто называют «Заголовок таблицы». Ячейки в строке обычно содержат имя каждого поля.

Основные типы данных в базе данных на News4Auto.ru.

Наша жизнь состоит из будничных мелочей, которые так или иначе влияют на наше самочувствие, настроение и продуктивность. Не выспался — болит голова; выпил кофе, чтобы поправить ситуацию и взбодриться — стал раздражительным. Предусмотреть всё очень хочется, но никак не получается. Да ещё и вокруг все, как заведённые, дают советы: глютен в хлебе — не подходи, убьёт; шоколадка в кармане — прямой путь к выпадению зубов. Мы собираем самые популярные вопросов о здоровье, питании, заболеваниях и даем на них ответы, которые позволят чуть лучше понимать, что полезно для здоровья.

Как работать с Реляционной БД

Для работы с реляционными базами данных придуман специальный структурированный язык запросов — Structured Query Language (сокращенно SQL). Иногда его называют Simple Query Language — «простой язык запросов».

Запросы SQL нужны для работы с БД, они формируют необходимые команды. 

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

Запрос — это текст, команда, которая отправляется к базе данных.

Пример:

Правила синтаксиса:

  • Все запросы заканчиваются на  ;
  • Команды запросов пишут с большой буквы. 

Пример:

– СОЗДАТЬ ТАБЛИЦУ с названием author

Эта команда создаёт новую таблицу author со столбцами id, name и birth_year. У id и birth_year тип допустимых значений — integer, целое число.

Операции с данным часто именуют сокращением CRUD

  • Create — создать запись
  • Read — прочитать данные
  • Update — обновить запись
  • Delete — удалить запись

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

Если вы когда-либо работали с базами данных, скорее всего, вы начали с этого типа, потому что он самый популярный и распространенный. Такие БД позволяют хранить данные в реляционных таблицах с определенными столбцами определенного типа. Реляционные таблицы хороши для нормализации и объединения.

Достоинства:

  • Поддержка SQL
  • ACID-транзакции (атомарность, согласованность, изоляция и долговечность)
  • Поддержка индексации и разделения

Недостатки:

  • Плохая поддержка неструктурированных данных / сложных типов
  • Плохая оптимизация обработки событий
  • Сложное / дорогое масштабирование

Примеры: Oracle DB, MySQL, PostgreSQL.

Современная СУБД состоит из:

  • ядра — части программ СУБД, отвечающих за управление данными в памяти и журнализацию
  • Процессора языка базы данных, обеспечивающего оптимизацию запросов на извлечение и изменение данных, и создание БД
  • Подсистемы поддержки времени исполнения, интерпретирующую программы манипуляции данными, которые создают интерфейс пользователя СУБД
  • Сервисных программ (внешних утилит), которые обеспечивают прочие возможности по обслуживанию информационных систем.

Так как через СУБД осуществляют все процессы, применимые к базам данных, следовательно, лучше будет выделить только её основные возможности.

Сетевые

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

Если мы возь­мём базу дан­ных с сай­та Кино­по­ис­ка, то она может выгля­деть так:

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

Напри­мер, вы посмот­ре­ли «Нача­ло» Кри­сто­фе­ра Нола­на и вам понра­вил­ся этот фильм. Когда вы перей­дё­те к спис­ку филь­мов, кото­рые он ещё снял, база на сай­те сде­ла­ет так:

  • возь­мёт имя режиссёра;
  • посмот­рит, какие свя­зи и с чем у него есть;
  • выдаст спи­сок фильмов;
  • к этим филь­мам может сра­зу под­гру­зить спи­сок актё­ров, кото­рые там играют;
  • и сра­зу же пока­зать посте­ры к каж­до­му фильму.

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

Использование пароля к БД

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

Защита с помощью пароля может использоваться в комплексе с разграничением доступа к БД. В этом случае сначала защищают информацию на уровне пользователя (когда с одной БД работают несколько человек с разными правами), а затем настраивают парольный доступ к ней.

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

Требования к надежному паролю:

  • комбинирование разных знаков – заглавные и строчные буквы, цифры, специальные символы;
  • количество знаков – не меньше 6;
  • периодическое обновление;
  • хранение в секрете от пользователей без доступа.

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

Установлением и изменением паролей к базам данных обычно занимается администратор, в некоторых организациях эта обязанность возлагается на конечного пользователя. 

Что такое база данных MySQL?

MySQL — это система управления реляционными базами данных с открытым исходным кодом, основанная на SQL. Он был разработан и оптимизирован для веб-приложений и может работать на любой платформе. По мере появления в Интернете новых и различных требований MySQL стала предпочтительной платформой для веб-разработчиков и веб-приложений. Поскольку MySQL предназначен для обработки миллионов запросов и тысяч транзакций, он является популярным выбором для предприятий электронной коммерции, которым необходимо управлять несколькими денежными переводами. Гибкость по запросу — основная особенность MySQL.

MySQL — это СУБД, стоящая за некоторыми из ведущих веб-сайтов и веб-приложений в мире, включая Airbnb, Uber, LinkedIn, Facebook, Twitter и YouTube.

Главное о базах данных

  • Чаще все­го базы дан­ных напо­ми­на­ют таб­ли­цы: в них одно­му пара­мет­ру соот­вет­ству­ет один набор дан­ных. Напри­мер, один кли­ент — одно имя, один теле­фон, один адрес.
  • Такие «таб­лич­ные» базы дан­ных назы­ва­ют­ся реляционными.
  • Что­бы стро­ить слож­ные свя­зи, раз­ные таб­ли­цы в реля­ци­он­ных базах мож­но свя­зы­вать меж­ду собой: ста­вить ссылки.
  • Реля­ци­он­ная база — не един­ствен­ный спо­соб хра­не­ния дан­ных. Есть ситу­а­ции, когда нам нуж­на боль­шая гиб­кость в хранении.
  • Быва­ют сете­вые базы дан­ных: когда нуж­но хра­нить мно­го свя­зей меж­ду мно­же­ством объ­ек­тов. Напри­мер, ката­лог филь­мов: в одном филь­ме может участ­во­вать мно­го чело­век, а каж­дый из них может участ­во­вать во мно­же­стве фильмов.
  • Быва­ют иерар­хи­че­ские базы, или «дере­вья». При­мер — наша фай­ло­вая система.
  • Какую выбрать базу — зави­сит от зада­чи. Одна база не луч­ше дру­гой, но они могут быть более или менее под­хо­дя­щи­ми для опре­де­лён­ных задач.

Текст и иллю­стра­ции:Миша Поля­нин
Редак­тор:Мак­сим Ильяхов
Кор­рек­тор:Ира Михе­е­ва
Иллю­стра­тор:Даня Бер­ков­ский
Вёрст­ка:Маша Дро­но­ва
Достав­ка:Олег Веш­кур­цев
Что-то дела­ет рука­ми:Паша Федо­ров
Во сла­ву:Прак­ти­ку­ма

Что такое система управления базами данных (СУБД)?

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

Некоторые примеры популярных программ для баз данных или СУБД включают MySQL, Microsoft Access, Microsoft SQL Server, FileMaker Pro, Oracle Database и dBASE.

Оригинальные способы сохранности БД

Существует несколько нестандартных способов сохранности ценных сведений:

  • создание пароля с использованием непечатных символов (например, пробел);
  • модификация файла – манипулирование с заголовками;
  • изменение версии БД – проводим аналогию с модификацией файлов;
  • использование электронных ключей для доступа к сведениям;
  • автоматизированные системы – DAM и DBF.

При работе с DAM-системами перенастраивать СУБД не нужно. Они работают с копией трафика и не затрагивают бизнес-процессы.

Для отслеживания пользовательских операций в БД на профессиональном уровне рекомендуем использовать Database Monitor. Узнать больше.   

В случае с DBF-системой охрана данных происходит путем блокировки сторонних запросов. Работать с копией трафика данная программа не будет. Необходима полная установка компонентов. При неправильной настройке ответственность за ложные блокировки ляжет на службу информационной безопасности. 

***

Любой способ обеспечения безопасности конфиденциальной информации не дает стопроцентной гарантии ее защиты. Специалист сможет взломать практически любую СУБД, но его работу необходимо усложнить. Отслеживание новинок в сфере сохранности секретных данных и их применение повысит уровень безопасности информации.

Где их используют

Базы дан­ных сей­час исполь­зу­ют­ся почти везде:

  • На сай­тах, что­бы хра­нить кон­тент для стра­ниц. Все ста­тьи в «Коде» на самом деле хра­нят­ся в базе дан­ных и извле­ка­ют­ся отту­да по ваше­му запросу.
  • В смарт­фо­нах, что­бы хра­нить все ваши дан­ные — фото, сооб­ще­ния, замет­ки, кон­так­ты и музы­ку. Так как все­го это­го мно­го, а доступ к это­му дол­жен быть мол­ние­нос­ный, исполь­зу­ют раз­ные виды СУБД.
  • В поч­то­вых сер­ви­сах, что­бы мож­но было най­ти нуж­ное пись­мо. Там стро­ят­ся слож­ные индекс­ные мас­си­вы, по кото­рым ваш поч­то­вый кли­ент ищет данные.
  • Вез­де, где есть лич­ные каби­не­ты и реги­стра­ция, — что­бы запо­ми­нать поль­зо­ва­те­лей и отли­чать их друг от друга.
  • В соц­се­тях и бло­гах почти всё хра­нит­ся в базах данных.

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

Создаем базу данных

Управление базами данных как объектами

Будем считать, что наша небольшая экскурсия по запросам и командам SQL со стороны «торгового зала» завершена. Заглянем теперь в его «служебные помещения» и познакомимся с тем, как создается сама база данных. Эта часть языка SQL не столь стандартизирована и сильно отличается в различных реализациях. Поэтому в дальнейших примерах я буду придерживаться синтаксиса, принятого в самой популярной на веб-серверах системе — MySQL.

MySQL — продукт шведской компании MySQL AB. Ее основатели — Дэвид Аксмарк, Аллан Ларсон и Майкл Видениус (последний больше известен по прозвищу — Монти). По одной из версий, первая часть названия продукта (My) — не что иное, как англизированная запись имени дочери М. Видениуса. Однако точно за происхождение названия сегодня не могут поручиться даже отцы-создатели. Существует версия, по которой «my» — это префикс, с которого начинались названия рабочих каталогов на их компьютерах.

Из всех команд чаще всего нам будут нужны три: CREATE (создать), ALTER (изменить) и DROP (уничтожить).

Чтобы создать новую базу данных с названием, ну скажем, OUR_SHOP, следует выполнить команду:

Еще лучше сразу при ее создании установить нужную кодировку (ведь по умолчанию в MySQL используется latin1). В итоге команда будет выглядеть так.

Если вы забыли сделать это сразу, не беда. Для того и существуют команды по изменению:

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

Управление таблицами

Чтобы создать таблицу GOODS, на которой мы отрабатывали манипуляции с данными, потребуется составить команду примерно такого вида:

Разберем эту команду подробнее. Тип INT устанавливается для столбцов с целочисленными данными, тип VARCHAR(100) обеспечивает хранение строк с длиной не более 100 символов, DECIMAL(10,2) соответствует действительным числам с не более чем десятью знаками и точностью в два знака после запятой.

Столбец ID объявлен первичным ключом (PRIMARY KEY).

Ключевое слово AUTO_INCREMENT означает, что при добавлении новых строк с неуказанным значением ID оно будет автоматически заполняться следующим значением. Это удобно, поскольку обычно нет нужды вручную указывать значения первичных ключей, а за тем, чтобы они были уникальными, пусть лучше следит база данных.

NOT NULL означает запрет на пустые значения в столбце, иными словами, гарантирует обязательность заполнения.

Команда DEFAULT задает значение по умолчанию — то, которое будет записываться в базу при добавлении новой строки, если не указано иное. В нашем случае она обеспечивает автоматическое объявление товара штучным (код = 1) в случае, если при добавлении новых строк не будет указан другой код.

Признак UNIQUE обеспечивает уникальность значений в колонке (в нашем случае — уникальность названий товаров).

Если в будущем вы захотите перенастроить объявленные командой CREATE столбцы таблицы, сделать это можно командой ALTER. Например, таблицу GOODS можно нарастить строчной колонкой REMARK (подкоманда ADD):

Поработав с ней немного и убедившись, что 50 символов для примечания явно недостаточно, увеличиваем максимальный размер строки до 250 (блок CHANGE):

Так как имя столбца мы не изменяли (новое совпадает со старым), то его просто повторяем в этой команде (как бы меняем само на себя).

И наконец, убедившись через какое-то время, что без примечания в товарном справочнике вполне можно обойтись, мы удаляем ставшую ненужной колонку (блок DROP):

Удалить таблицу целиком можно командой DROP:

Стоит ли говорить о том, что пользоваться командами с этим ключевым словом следует с особой осторожностью?

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

Базы NoSQL делятся на четыре основные категории (в зависимости от решаемых с их помощью задач).

Ключ-значение

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

Такая СУБД не поддерживает связи между объектами, выполняет лишь операции поиска значений по ключу, добавления и удаления записи.

Например:

key value
user1 {Кузнецов В., отдел маркетинга}
user2 {name:Лена, position:секретарь}
user3 {ООО «Вектор»}
user4 {Трофимова Таня, отд.2, дизайнер}
user5 {Галина Николаевна, гл. бух.}
user6 {65,84,236}

Базы «ключ-значение» часто используют для кэширования данных и организации очередей.

Их достоинства — быстрый поиск и простое масштабирование.

Их недостаток — нельзя производить операции со значениями. Например — сортировать их или анализировать.

Одна из самых популярных — Redis. Её используют Uber, Slack, Stack Overflow, сайты гостиниц и туристические, социальная сеть Twitter.

Документоориентированные СУБД

В таких данные хранятся в виде иерархических структур (документов) с произвольным набором полей и их значений. Документы объединяются в коллекции.

Если провести аналогию с реляционными СУБД, то коллекциям соответствуют таблицы, а документам — строки в них.

Например, фрагмент документа с информацией о фильмах:

Документоориентированные базы используют в системах управления содержимым (CMS) — для хранения каталогов и пользовательских профилей.

Одна из самых популярных — MongoDB (там можно создавать процедуры на JavaScript).

Колоночные

Эти базы отличаются от реляционных лишь способом хранения данных на накопителе.

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

Например, если реляционная таблица выглядит так:

name color property
волк серый зубастый
коза белая рогатая
капуста зелёная

То те же записи колоночной базы будут выглядеть примерно так:

name волк коза капуста
color серый белая зелёная
property зубастый рогатая

Что это даёт? Представьте, что вам нужны только названия объектов, а их свойства вас не интересуют.

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

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

Одна из самых популярных СУБД такого типа — Apache Cassandra.

Графовые

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

Вершины (или узлы графа) — это объекты (сущности), а рёбра графа — взаимосвязи между ними.

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

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

Adblock
detector