Рубрики
Без рубрики

Дизайн базы данных для начинающих

Базы данных находятся в основе каждого веб-приложения. Их дизайн или схема, буквально Bluepr … Теги с Джанго, Питоном, начинающим, учебником.

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

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

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

База данных – это программа, которая позволяет хранить и извлекать данные. Широко говоря, существует два типа баз данных: реляционные и не реляционные.

Реляционные базы данных, которые намного более распространены, состоят из таблиц, которые структурированы в столбцах и строках, аналогичны электронной таблице Excel. Популярные варианты базы данных, включая MySQL, PostgreSQL, Microsoft Access, Microsoft SQL и Oracle Relational. Они используют SQL (структурированный язык запроса), который является языком программирования только для управления данными в реляционной базе данных.

Недирационные базы данных, напротив, не имеют строгого столбца и схемы строки. Они рассматриваются сторонниками как «более гибкими», чем их реляционные аналоги и все чаще используются как организации, такие как Facebook, Google и NSA для больших ситуаций данных.

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

Таблицы и первичные ключи

База данных состоит из (часто несколько) таблиц. Простой таблица, давайте назовем это клиенты будет выглядеть так:

Колонны – «CULLING_ID», «Имя пользователя», «Email», «пароль» и «день рождения». Каждая строка известена как запись. В конечном итоге мы могли бы добавить сотни или даже миллионы записей, поскольку наше количество пользователей выросло, но определенные столбцы останутся прежними.

Колонна «ID» – это то, что известно как Первичный ключ : Уникальное и ненулевое число, которое относится к каждой записи. Каждая запись/ряд в реляционной таблице имеет первичный ключ.

Чтобы понять, почему, давайте представим, что пользователь «Уильям» хочет изменить свое «имя пользователя» на «Билл». «Как мы узнаем, какие« пароль »и« день рождения », чтобы связать с этим пользователем? Без первичного ключа мы этого не сделаем.

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

Резервирование данных и входные ограничения

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

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

Связывание таблиц с зарубежными ключами

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

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

  • order_id (первичный ключ), чтобы мы могли отслеживать каждый заказ
  • Дата и время Заказ был размещен
  • Заказчик заказ был размещен

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

Если мы посмотрим на Заказы Схема таблицы Мы можем увидеть первый заказ был размещен Customer_id 2, «Джон» в Клиенты Таблица. Следующий заказ, order_id 2, был сделан “Уильямом”. И так далее. Зарубежные ключевые ключи позволяют ссылаться с несколькими таблицами базы данных вместе.

Однозначное, однозначное и многие ко многим отношениям

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

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

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

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

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

  • Неэффективность – Двигатель базы данных должен будет обработать больше данных для каждого запроса или обновления
  • Раздутые – Увеличение требований к хранению Из-за избыточных данных
  • Ошибки – избыточные данные должны быть введены вручную, что является подверженным ошибкам

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

Следующие шаги

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

Оригинал: “https://dev.to/wsvincent/database-design-tutorial-for-beginners-33p2”