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

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

Когда вы ищете определение базы данных в Google, появляется такая картина. Какое отношение имеет изображение бочки к базам данных? База данных, часто сокращенно DB, представляет собой инструмент постоянного хранения информации. Это изображение на самом деле изображение жесткого диска. Жесткий диск на самом деле состоит из стопки плоских дисков в съемном наборе. Этот значок обычно используется, но лучше думать о базе данных примерно так:

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

Что такое система управления базами данных?

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

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

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

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

Типы отношений

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

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

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

Третий тип отношений - это отношения "многие ко многим". Если мы возьмем, к примеру, сувенирный магазин, мы можем сказать, что там много сувенирных магазинов, и у всех клиентов есть много сувенирных магазинов. В каждом сувенирном магазине может быть много покупателей. Кроме того, каждый покупатель может посетить несколько сувенирных магазинов. Чтобы легко справиться с этим типом отношений, разработчик базы данных может использовать таблицу в середине этих двух таблиц, которая может содержать множество взаимосвязей. Таким образом, он становится «многие к одному», «один ко многим» с тремя представленными таблицами.

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

Присоединиться к таблице

Объединенная таблица связывает две таблицы вместе. В примере

Самостоятельная ссылка на таблицу соединений

Терминология и синтаксис SQL

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

SELECT field FROM table_name

Оператор SQL всегда состоит из команды SQL (SELECT). В SQL используются четыре основных ключевых слова. ВЫБРАТЬ, ОБНОВИТЬ, ВСТАВИТЬ и УДАЛИТЬ. С помощью этих четырех ключевых слов вы можете удалить данные из базы данных, выбрать данные из базы данных. Вы можете использовать эти ключевые слова, комбинируя их с FROM, WHERE, ORDER BY и a оператор сравнения (‹,›, =). Вот один из примеров использования этого оператора SQL:

SELECT first_name, last_name FROM students WHERE YEAR(enrollment) = 2018 ORDER BY last_name ASC

Оттуда вы можете контролировать, какие конкретные строки или столбцы извлекаются, удалять дубликаты, объединять результаты нескольких запросов и многое другое.

Первичные ключи и внешние ключи

Первичный ключ, также называемый первичным ключевым словом, - это ключ, который уникален для каждой записи и не равен нулю. Это необходимо для того, чтобы каждая запись была уникальной. На столе студентов вы можете разместить двух студентов по имени Мишель Уильямс, поэтому имя не является хорошим первичным ключом. Если вы используете имя или адрес их классного руководителя, поскольку у более чем одного ученика может быть один классный руководитель и два или более ученика могут жить в одном месте, это тоже не сработает. Другой плохой выбор - номер шкафчика, даже если у каждого ученика может быть только один шкафчик, этот номер может измениться, и хороший первичный ключ никогда не должен меняться, быть уникальным, коротким и простым. В таблице студентов идентификатор студента может быть первичным ключом, который является всем этим.

Связь между двумя таблицами осуществляется парой первичный ключ - внешний ключ. Внешние ключи не требуются, но без внешнего ключа каждая таблица будет несвязанной и несвязанной и сама по себе. На изображении ниже показано, как две таблицы могут быть связаны с помощью внешнего ключа и отношения «один ко многим».

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

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

Существует много типов нереляционных баз данных, таких как Couchbase, Redis и Cassandra, однако наиболее популярным является MongoDB с более чем 7 миллионами загрузок и сотнями и тысячами развертываний. В MongoDB данные организованы в виде файлов JSON. JSON расшифровывается как Javascript Object Notation. JSON - это синтаксис для хранения, извлечения и отправки данных в парах ключ-значение, например, если вы хотите сохранить информацию о своем пользователе, формат данных может выглядеть следующим образом:

User_info = {fName: "Stephanie", 
            lName: "Cherubin",
            pet_name: { "pet_1": "Rascal",
                        "pet_2": "Checkers"
           }
      }

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

Что лучше?

Базы данных SQL очень мощные, безопасные, устоявшиеся и могут использоваться для сложных запросов. Это отличный вариант, когда у вас много данных, например, система бухгалтерского учета или система здравоохранения, и если вам нужно просмотреть базу данных. Длинные запросы в SQL выполняются мгновенно. Базы данных NoSQL гибки и отлично подходят для простых запросов. Это отличный вариант для скалярных баз данных.

По данным нескольких веб-сайтов, самой популярной системой управления базами данных являются реляционные базы данных. Согласно опросу разработчиков Stack Overflow, самая популярная / самая используемая база данных в 2018 году - это реляционная база данных.