Система управления базами данных — (субд)

Объектные

Данный тип СУБД предназначен для хранения и работы с объектами, у которых имеются свойства и методы. Основная задача таких СУБД заключается в избавлении разработчиков, использующих ООП, от необходимости трансформировать объекты в таблицы/строки и обратно. В объектных СУБД реализованы инкапсуляция и полиморфизм. Среди популярных СУБД этого типа можно назвать MongoDB Realm, InterSystems Caché, ObjectStore, Actian NoSQL DB, Objectivity/DB.

БД как сервис

  • MS SQL Web;
  • MS SQL Standard;
  • PostgreSQL (typical);
  • PostgreSQL (high availability);
  • MySQL (typical);
  • MySQL (high availability).


Тип СУБД


Когда выбирать


Популярные СУБД данного типа

1

Реляционные

Нужна транзакционность; высокая нормализация; большая доля операций на вставку

Oracle, MySQL, Microsoft SQL Server, PostgreSQL, IBM DB2, SQLite

2

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

Задачи кэширования и брокеры сообщений

Redis, Memcached, etcd

3

Документные

Для хранения объектов в одной сущности, но с разной структурой; хранение структур на основе JSON

Couchbase, MongoDB, Amazon DocumentDB

4

Графовые

Задачи подобные социальным сетям; системы оценок и рекомендаций

Neo4j, Amazon Neptune, InfiniteGraph, TigerGraph

5

Колоночные

Хранилища данных; выборки со сложными аналитическими вычислениями; количество строк в таблице превышает сотни миллионов

Vertica, ClickHouse, Google BigQuery, Sybase \ SAP IQ, InfoBright

6

Time series

Системы мониторинга, сбора телеметрии, и финансовые системы, с привязкой к временным меткам или временным рядам

InfluxDB, Kdb+, Prometheus, TimescaleDB, QuestDB, AWS Timestream, OpenTSDB, GridDB

7

Объектные

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

MongoDB Realm, InterSystems Caché, ObjectStore, Actian NoSQL DB, Objectivity/DB

8

Search engine

Системы полнотекстового поиска

Apache Solr, Elasticsearch, Splunk

9

Spatial

GIS-решения, работа с геометрическими объектами

Oracle Spatial, Microsoft SQL, PostGIS, SpatialLite

Как выглядит база данных

Базы данных делятся на два типа — реляционные и нереляционные.

Реляционная БД — это такой тип баз данных, содержащий некоторое количество таблиц.

Две основные характеристики реляционной базы:

  1. Информация лежит в некотором количестве таблиц и распределена по ним по смыслу
  2. Таблицы не существуют независимо друг от друга — они связаны определенными столбцами

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

  • заказы такси;
  • таксисты;
  • клиенты (или пассажиры);
  • автомобили.

Пример реляционной БД такси

На изображении выше изображена реляционная БД бизнеса такси. База данных такси, как видно из рисунка, содержит 4 таблицы, в каждом из которых содержится определенное количество столбцов. Например, таблица «Клиенты» содержит три столбца — «ID клиента», «Телефон клиента» и «Город клиента». 

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

Нереляционная БД. Нереляционные системы баз данных — такие виды баз данных, в которых информация не обязательно находится в виде множества таблиц. В таких типах данные могут быть, например, просто парами «key — value» или графом. 

Подробнее о разных типах нереляционных баз — ниже.

Из чего состоят системы управления базами данных

Если база — это хранилище, то СУБД — комплекс средств для обслуживания хранилища. СУБД имеет сложное устройство.

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

Процессор языка или компилятор обрабатывает запросы. Обычно СУБД реляционного, объектно-ориентированного и объектно-реляционного типа поддерживают язык SQL и внутренние языки запросов.

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

Устройство СУБД

Суть базы данных

Все, что хранится в базе данных доступно для изменения и извлечения при необходимости.

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

Суть базы данных

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

Но база данных требуется не для всего. Если у вас одностраничный сайт (лэндинг), который предназначен для рекламы и ознакомления с товаром или услугой, то создание базы данных вовсе не требуется.

Какие бывают СУБД

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

Что такое SQL

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

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

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

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

Среди всех СУБД по функциональности и популярности можно выделить следующие системы.

Microsoft SQL Server

Microsoft SQL Server – это система управления базами данных от компании Microsoft. Она очень популярна в корпоративном секторе, особенно в крупных компаниях.

Microsoft SQL Server – это очень функциональная СУБД, и она, конечно же, распространяется платно. Однако у SQL Server есть редакция Express, которую можно использовать абсолютно бесплатно, например, для обучения или для разработки приложений, которые будут обрабатывать данные на небольших серверах (размером до 10 ГБ).

В Microsoft SQL Server для программирования в базах данных используется расширение языка SQL – Тransact-SQL, сокращенно T-SQL.

Oracle Database

Oracle Database – это система управления базами данных от компании Oracle. Это еще одна очень функциональная СУБД, которая также популярна среди крупных компаний. Возможности Oracle Database и Microsoft SQL Server сопоставимы, поэтому они являются серьезными конкурентами друг другу, и стоимость их полнофункциональных версий очень высокая.

В Oracle Database используется язык PL/SQL (Procedural Language / Structured Query Language) — это процедурное расширение языка SQL, разработанное компанией Oracle.

MySQL

MySQL – это система управления базами данных также от компании Oracle, но только она распространяется бесплатно. MySQL получила очень широкую популярность в интернете, так как именно на MySQL работают чуть ли не все web-сайты, иными словами, большинство сайтов в интернете используют эту СУБД как средство хранения данных.

PostgreSQL

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

В PostgreSQL используется язык PL/pgSQL – это процедурное расширение языка SQL.

Основные понятия СУБД

Определение 1

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

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

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

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

Определение 2

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

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

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

Рассмотрим отношение между преподавателями и их курсами лекций, отношение типа многие-ко-многим, поскольку 1 преподаватель может вести несколько курсов, в тоже время 1 курс могут вести несколько преподавателей.

И последний тип межтабличных связей — отношение один-к-одному. Этот тип отношений встречается намного реже. Может встречаться лишь в 2 случаях:

  • Когда в записи присутствует большое количество полей, в этом случае данные об одном типе объектов делятся на 2 связанные таблицы;
  • Когда необходимо установить дополнительные атрибуты для определенного количества записей в таблице, в этом случае создают отдельную таблицу для этих дополнительных атрибутов, связанную отношением один-к-одному с основной таблицей.

Например, если каждый студент должен сдать по одному реферату по предмету, то связь между студентом и темой реферата будет именно типа «один-к-одному».

Любая СУБД может выполнять 4 наиболее простые операции с данными:

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

Для выполнения указанных операций используют механизм запросов. Результат выполнения запросов бывает представлен отобранным по определенным критериям множеством записей или изменениями в таблицах. Запрос к базе формируется на специально созданном для этих целей языке, называемом языком структурированных запросов (SQL — Structured Query Language).

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

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

Рекомендации по выбору СУБД

Реляционные СУБД (Oracle, MySQL, Microsoft SQL Server, PostgreSQL) универсальны и подходят почти для любых задач, когда не нужно обрабатывать очень большой поток запросов и хранить слишком большие объемы данных. Когда же запросов много, возникает проблема масштабирования, с которой реляционные СУБД пока нормально справиться не могут.

Самая простая СУБД предполагает использование парадигмы «ключ-значение» (например, Redis и Memcached). Обычно такие СУБД применяют для решения задач кеширования. Отдельные СУБД данного типа позволяют перенести работу полностью в память и задать время существования записей (затем они автоматически будут удалены). Для баз данных с большим числом и сложными структурами хранимых сущностей эти СУБД неудобны. 

Если необходимо хранить связи между узлами в графовой структуре БД (например, в социальной сети для описания общих интересов или родственных связей) рекомендуем обратить внимание на такие СУБД как InfiniteGraph, Neo4j, Amazon Neptune и InfoGrid. Данное ПО позволит вам построить систему оценок и рекомендаций

В колоночных СУБД используется особый способ записи информации, благодаря чему менять структуру таблиц можно очень быстро. Этот тип БД рассматривает колонку как отдельную таблицу. Если в обычной реляционной СУБД считывание данных происходит по всей строке, пока не будет достигнута нужная колонка, в колоночной СУБД считывается сразу нужный столбец. Из преимуществ колоночных СУБД можно выделить хороший процент сжатия, что заметно уменьшает занимаемое пространство. Особенностью колоночных баз и колоночных индексов является то, что для них невозможна операция промежуточной вставки или апдейта. Часто эти базы не предусматривают оператор UPDATE, только DELETE и INSERT. Применять такие колоночные СУБД как SAP IQ, Vertica, ClickHouse, Google BigQuery, InfoBright для простой выборки со статическими параметрами, где хранится менее ста миллионов строк, не имеет смысла.    

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

Основные функции СУБД

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

Определение 1

Система управления базами данных (СУБД) – это комплекс языковых и программных средств, обеспечивающих создание, хранение и совместное использование баз данных.

Основными функциями СУБД являются:

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

Определение 2

Целостностью данных называется соответствие данных логике той модели данных, на которой основана СУБД и всем накладываемым на данные ограничениям.

СУБД должна постоянно контролировать выполнение этих ограничений.

Поддержка транзакций.

Определение 3

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

Пример 1

Допустим, необходимо выполнить следующую последовательность действий:

  1. Определить сумму на счете №1.
  2. Вычислить 10% от этой суммы.
  3. Уменьшить сумму на счете №1 на полученное значение.
  4. Увеличить сумму на счете №2 на это же значение.

Если на любом из этих шагов произойдет сбой в системе, то в лучшем случае не произойдет перевод денег со счета №1, на счет №2. А в худшем деньги будут сняты со счета №1, но на счет №2 не попадут. Поэтому эти четыре операции должны быть оформлены транзакцией. В случае сбоя, система должна вернуться в то состояние, в котором она была до выполнения шага 1.

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

NoSQL базы данных

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

Только до 26.12

Как за 3 часа разбираться в IT лучше, чем 90% новичков и выйти надоход в 200 000 ₽?

Приглашаем вас на бесплатный онлайн-интенсив «Путь в IT»! За несколько часов эксперты
GeekBrains разберутся, как устроена сфера информационных технологий, как в нее попасть и
развиваться.

Интенсив «Путь в IT» поможет:

  • За 3 часа разбираться в IT лучше, чем 90% новичков.
  • Понять, что действительно ждет IT-индустрию в ближайшие 10 лет.
  • Узнать как по шагам c нуля выйти на доход в 200 000 ₽ в IT.

При регистрации вы получите в подарок:

«Колесо компетенций»

Тест, в котором вы оцениваете свои качества и узнаете, какая профессия в IT подходит именно вам

«Критические ошибки, которые могут разрушить карьеру»

Собрали 7 типичных ошибок, четвертую должен знать каждый!

Тест «Есть ли у вас синдром самозванца?»

Мини-тест из 11 вопросов поможет вам увидеть своего внутреннего критика

Хотите сделать первый шаг и погрузиться в мир информационных технологий? Регистрируйтесь и
смотрите интенсив:

Только до 26 декабря

Получить подборку бесплатно

pdf 4,8mb
doc 688kb

Осталось 17 мест

Такая группа баз данных называется NoSQL (Not only SQL — не только SQL). Несмотря на то, что большинство NoSQL баз данных поддерживают SQL, не стоит выбирать именно этот вариант использования. Рассмотрим 4 вида баз данных NoSQL.

Документные

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

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

Колоночные

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

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

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

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

NoSQL базы данных

В таких базах данных нельзя обратиться сразу к нескольким блокам информации и получить данные из нескольких строк/столбцов. Например, вы не сможете выбрать сразу все записи с упоминанием города Москва. Преимущество баз ключ-значение заключается в поле времени жизни (Time-to-Live, TTL), в котором можно задать отдельно для каждой записи и состояния, когда их нужно удалить из базы данных программ.

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

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

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

Популярные статьи

Высокооплачиваемые профессии сегодня и в ближайшем будущем

Дополнительный заработок в Интернете: варианты для новичков и специалистов

Востребованные удаленные профессии: зарабатывайте, не выходя из дома

Разработчик игр: чем занимается, сколько зарабатывает и где учится

Как выбрать профессию по душе: детальное руководство + ценные советы

Графовые

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

Из чего состоит СУБД

СУБД — это набор инструментов, каждый из которых способен совершать с базой данных определённое действие: считывать её, удалять элементы или обрабатывать запросы от пользователя. И чтобы все эти инструменты правильно функционировали, у СУБД должна быть хорошо прописанная архитектура.

Главные элементы СУБД — ядро, процессор, программные средства и базы данных. Поговорим о каждом из них подробнее.

Примерное представление устройства СУБД изнутриИллюстрация: Оля Ежак для Skillbox Media

Ядро. Отвечает за работу всей системы в целом. Через него проходят все процессы обработки данных и их хранения. Ядро следит за всеми изменениями баз данных и фиксирует их.

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

Программные средства, или утилиты. Нужны, чтобы пользователь мог вводить запросы, а администраторы могли настраивать доступ и другие необходимые параметры.

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

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

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

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

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

И здесь возникает вопрос, если база данных — это файлы, созданные в специальном формате, то как создать такие файлы и редактировать их?

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

Такой программой как раз и выступает СУБД, т.е. система управления базами данных.

Понятия базы и банка данных

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

  • быстрым доступом;
  • поддержкой актуальности состояния;
  • рациональным взаимодействием между данными.

Понятия базы и банка данных

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

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

Организация информационных методик для компьютеров связана с технологиями БД и БнД. К автоматизированной системе базы данных предъявляют определенные требования:

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

Соблюдение таких требований позволяет добиться высокой результативности в работе пользователя с большими объемами данных.

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

Только до25 декабря

Пройди опрос иполучи обновленный курс от Geekbrains

Дарим курс по digital-профессиям
и быстрому вхождения в IT-сферу

Чтобы получить подарок, заполните информацию в открывшемся окне

Перейти

Скачать файл

Банк данных, помимо ключевых элементов в виде БД и СУБД, содержит и другие составляющие:

  • техническая основа — ЭВМ, технологии и продукты;
  • языковые средства — языки программирования, запросов, описания данных и т. п.;
  • методические средства — рекомендации и регламенты по созданию и работе с БнД.

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

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

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

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

д.

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

Чем база данных отличается от таблиц Excel и Google Sheets

Внешне Excel, Google Sheets и базы данных похожи, но между ними большие различия: 

  • например, в таблицах Google Sheets и Excel нельзя установить отношения между несколькими таблицами;
  • другое отличие в том, что в базах данных можно хранить гораздо большее количество записей, при этом быстро их обрабатывать;
  • кроме этого, в базе данных нельзя выполнять вычисления непосредственно в самой таблице — для этого нужно использовать запросы. 

Получается, что Excel и Google Sheets могут подойти, если нужна база для небольшого количества данных, которые можно поместить на листах Excel или Google Sheets.

Как связать данные между собой

Реляционные базы данных отличаются от других типов данных в том числе тем, что между таблицами в БД есть связи. Чтоб обозначить связи, используются primary key и foreign key.

Primary key — это столбец (или иногда это может быть даже группа столбцов) в таблице с уникальными значениями. На картинке ниже primary key каждой таблицы обозначен светло-зеленым цветом. В верхней таблице, которая хранит заказы такси, каждая строка будет содержать в себе информацию об отдельном заказе со своим уникальным ID. Это означает, что в этой таблице нельзя будет найти две строки, содержащие информацию по одному и тому же заказу с одним и тем же ID.

Foreign key — это такой столбец в таблице, в котором содержится primary key из другой таблицы. На рисунке выше foreign key выделены серым.  ID автомобиля является primary key в таблице с автомобилями, но во всех других таблицах (например, в таблице с таксистами) ID автомобиля будет являться foreign key.

Выстраивание связей между таблицами не является единственной функцией foreign и primary key. Они также могут помочь контролировать корректность записей в таблицах. Например, если мы хотим добавить запись с новым таксистом в таблицу с таксистами и неправильно написали ID автомобиля, то база данных сообщит об этом. База не найдет соответствующее ID автомобиля в таблице с автомобилями и выдаст сообщение, что где-то произошла ошибка.

Коротко о главном

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

Резюме

В этом конспекте мы попытались разобраться в том, как БД хранят и извлекают данные. Что же происходит при сохранении данных в базе и что делает база, когда позднее запрашиваются эти данные? На высоком уровне абстракции мы видим, что подсистемы хранения делятся на две широкие категории: оптимизированные для обработки транзакций (OLTP) и оптимизированные для аналитики (OLAP). Между паттернами доступа в этих сценариях использования есть большие различия.

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

  • Склады данных и подобные им аналитические системы менее широко известны, поскольку они в основном применяются бизнес-аналитиками, а не конечными пользователями. Склады обрабатывают намного меньшее количество запросов, чем OLTP-системы, но все запросы обычно очень ресурсоемки и требуют просмотра миллионов строк за короткое время. Узким местом здесь обычно становится пропускная способность диска.

С точки зрения OLTP мы рассмотрели два различных подхода к подсистемам хранения.

  • Журналированный подход, при котором допускается только дописывание данных в файлы и удаление устаревших файлов, а не обновление записанного файла. Сюда относятся: Bitcask, SS-таблицы, LSM-деревья и другие.

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

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Работатека
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: