БАЗА ДАННЫХ

Содержание
  1. Понятие и назначение базы данных. Примеры и классификация баз данных | OTUS
  2. База данных: назначение, понятие, классификация
  3. Типы и виды баз данных, классификация
  4. Иерархическая база данных, структура иерархических данных
  5. Сетевые базы данных, структура сетевых данных
  6. Реляционные базы данных, структура реляционных данных
  7. Особенности реляционных данных
  8. Проектирование баз данных
  9. Требования к проектированию БД
  10. Базы данных. Учебное пособие
  11. 1. Введение в базы данных. Основные понятия и определения
  12. 2. Реляционные базы данных. Ограничения целостности
  13. База данных
  14. Отношения между таблицами
  15. Нормализация баз данных
  16. Ключи и индексы
  17. Интересные факты
  18. См. также
  19. Ссылки
  20. Базы данных и СУБД
  21. Как работают базы данных
  22. Система управления базами данных (СУБД)
  23. Реляционные СУБД и язык SQL
  24. 5 лучших СУБД
  25. MySQL
  26. PostgreSQL
  27. SQLite
  28. Oracle
  29. MongoDB
  30. Заключение
  31. Какие бывают базы данных — Журнал «Код»: программирование без снобизма

Понятие и назначение базы данных. Примеры и классификация баз данных | OTUS

БАЗА ДАННЫХ

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

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

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

Напоследок рассмотрим особенности проектирования БД и их назначение на примере СУБД MySQL, т. к. эта система управления является, по сути, математической моделью реляционных баз данных. Итак, поехали!

База данных: назначение, понятие, классификация

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

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

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

Типы и виды баз данных, классификация

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

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

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

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

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

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

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

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

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

Сетевые базы данных, структура сетевых данных

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

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

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

Реляционные базы данных, структура реляционных данных

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

Структуру данных впервые подробно описал математик Эдгар Франк Кодд (умер в 2003 году), сделав это ещё в 80-х гг. прошлого века. В результате его работ и была создана программная реализация.

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

Особенности реляционных данных

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

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

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

Причём набор таблиц превращается в базу данных тогда, когда он связан логически. А чтобы этим всем управлять, используют СУБД. Классический пример СУБД — система управления MySQL.

Иными словами, СУБД MySQL — есть программное воплощение математических идей.

Проектирование баз данных

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

Это гораздо более сложный процесс, требующий специализированных знаний и умений.

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

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

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

Хотя, многое будет зависеть и от настроек СУБД.

Требования к проектированию БД

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

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

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

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

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

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

Результат проектирования — диаграмма или схема.

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

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

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

Источник: https://otus.ru/nest/post/587/

Базы данных. Учебное пособие

БАЗА ДАННЫХ

1. Введение в базы данных. Основные понятия и определения

2. Реляционные базы данных. Ограничения целостности

3. Принципы построения баз данных. Жизненный цикл баз данных

4. Архитектуры баз данных

5. Организация процессов обработки данных в БД. Технология создания приложения в среде Delphi

6. Технология оперативной обработки транзакции

7. Реляционный способ доступа к базе данных. Основные сведения о языке SQL

8. Построение приложений баз данных в архитектуре «клиент-сервер». SQL-сервер Interbase

9. Информационные хранилища. OLAP-технология

10. Перспективы развития БД и СУБД

1. Введение в базы данных. Основные понятия и определения

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

База данных (БД) — именованная совокупность данных, отражающая состояние объектов и их отношений в рассматриваемой предметной области.

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

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

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

Понятие «данные» в концепции баз данных — это набор конкретных значений, параметров, характеризующих объект, условие, ситуацию или любые другие факторы, Примеры данных: Петров Николай Степанович, $30 и т. д.

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

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

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

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

  • иерархическую
  • сетевую
  • реляционную
  • объектно-ориентированную

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

В сетевой БД данные организуются в виде графа. Недостатком сетевой структуры является жесткость структуры и сложность ее организации.

Реляционная БД получила свое название от английского термина relation (отношение). Была предложена в 70-м году сотрудником фирмы IBM Эдгаром Коддом.

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

Большинство современных БД для персональных компьютеров являются реляционными.

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

Базы данных можно разделить на базы данных первого поколения: иерархические, сетевые; второго поколения: реляционные; третьего поколения: объектно-ориентированные, обектно-реляционные.

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

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

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

Различают фактографические автоматизированные информационные системы (АИС), у которых базы данных составляются из форматированных (формализованных) записей, и документальные АИС, записями которых могут служить различные неформализованные документы (статьи, письма и т.п.). В фактографических АИС примером форматированных записей могут служить, скажем, записи об операциях по приему и выдаче денег в сберкассе; запись имеет четыре основных атрибута: дата, характер операции (принято, выдано), сумма, остаток вклада.

В качестве форматированной записи может рассматриваться кадровая анкета (личный листок по учету кадров). Правда, такие ее разделы, как «прежняя работа», «поездки за границу» и др.

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

Обычно бывает целесообразно фиксировать максимальное количество позиций в каждом разделе и тем самым выравнивать длину записей (у многих записей при этом могут возникать позиции с пустым заполнением).

Основной задачей, решаемой в документальных АИС, является поиск документов по их содержанию. Документальная система по заданию пользователя выдает необходимые ему документы (книги, статьи, законы, патенты, отчеты и т.д.). В задании могут указываться сведения об искомых документах: автор, наименование, время издания, издательство и т.д.

2. Реляционные базы данных. Ограничения целостности

Американский математик Э.Ф.Кодд (E.F.Codd) в 1970 впервые сформулировал основные понятия и ограничения реляционной модели. Цели создания реляционной модели формулировались следующим образом:

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

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

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

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

Отношение – это плоская таблица, состоящая из столбцов и строк.

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

Атрибут — это поименованный столбец отношения.

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

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

Например, информация об отделениях компании может быть представлена отношением Branch, включающим столбцы с атрибутами Вno (Номер отделения), Street (Улица), City (Город), Postcode (Почтовый индекс), Tel_ No (Номер телефона) и Fax_ No (Номер факса).

Аналогично, информация о работниках компании может быть представлена отношением Staff (Персонал), включающим столбцы с атрибутами Sno (Личный номер сотрудника), FName (Имя), LName (Фамилия), Address (Адрес), Tel_No (Номер телефона), Position (Должность), Sex (Пол), DOB (Дата рождения), Salary (Зарплата), INN (Личный номер социального страхования) и Вno (Номер отделения, в котором данный сотрудник работает). В табл. 1 и 2 показаны примеры отношений Branch и Staff. Каждый столбец содержит значения одного и того же атрибута, например столбец Вnо содержит только номера существующих отделений компании.

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

Примеры отношений Branch и Staff.

Таблица 1. Отношение Branch

BnoCityPostcodeStreetTel_NoFax_No
23Москва111111Победы12311121231113
24Ростов3334546Октябрьская13344561334455
25Самара456009Лесная12133451213346

Таблица 2. Отношение Staff

SnoFNameLNameAdressTel_NoPositionSexDOBSalaryINNBno
234ИванИвановМоскваПобеды 14-24121112Менеджерм01.01.67500$44141423
235МаринаСмирноваМоскваЛенина 215-351417877Менеджерж

Источник: https://siblec.ru/informatika-i-vychislitelnaya-tekhnika/bazy-dannykh

База данных

БАЗА ДАННЫХ

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

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

В целом по форме представления информации базы данных разделяют на следующие категории:

  • Реляционные БД
  • Объектно-реляционная СУБД
  • Объектно-ориентированные БД
  • Объектно-ориентированная СУБД

Отношения между таблицами

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

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

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

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

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

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

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

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

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

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

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

  • Нормальная форма Бойса-Кодда

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

  • Четвёртая нормальная форма

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

Формальное определение пятой нормальной формы таково: это форма, в которой устранены зависимости соединения. В большинстве случаев практической пользы от нормализации таблиц до пятой нормальной формы не наблюдается.

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

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

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

Ключи и индексы

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

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

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

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

Интересные факты

Любопытно, что название одной из известнейших в мире террористических группировок «Al-Quaeda» в переводе с арабского языка означает «База данных». Происхождение этого названия вызвано строгим учётом сведений о членах организации.

См. также

СУБД

информация

Информатика

Логика в информатике

Ссылки

  • Введение в базы данных
  • Нормализация базы данных
  • Информатика в Школах и Вузах

Источник: https://www.tadviser.ru/index.php/%D0%A1%D1%82%D0%B0%D1%82%D1%8C%D1%8F:%D0%91%D0%B0%D0%B7%D0%B0_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85

Базы данных и СУБД

БАЗА ДАННЫХ

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

Как работают базы данных

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

Любую информацию можно быстро заносить в базу данных и так же быстро извлекать ее при необходимости.

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

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

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

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

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

Реляционные СУБД и язык SQL

Реляционные и объектно-реляционные СУБД являются одними из самых распространенных систем. Они представляют собой таблицы, в которых каждый столбец (он называется «field» или «поле») упорядочен и имеет определенное уникальное название.

Последовательность строк (их называют «records» или «записи») определяется последовательностью ввода информации в таблицу. При этом обрабатывание столбцов и строк может происходить в любом порядке.

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

Для управления реляционными базами данных применяется особый язык программирования – SQL. Сокращение расшифровывается как «Structured query language», в переводе на русский – «язык структурированных запросов».

Команды, которые используются в SQL, делятся на:

  • манипулирующие данными,
  • определяющие данные,
  • управляющие данными.

Схема работы с базой данных выглядит следующим образом:

5 лучших СУБД

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

MySQL

MySQL является одной из самых популярных и распространенных СУБД, которая используется во многих компаниях (например, , Wikipedia, , LinkedIn, Alibaba и других).

MySQL представляет собой реляционную СУБД, которая относится к свободному программному обеспечению: она распространяется на условиях GNU Public License.

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

У MySQL есть множество различных преимуществ. Например, она поддерживает различные типы таблиц – как известные MyISAM и InnoDB, так и более экзотичные HEAP и MERGE. Кроме того, количество поддерживаемых типов постоянно растет.

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

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

Так как в сравнении с некоторыми другими системами MySQL поддерживает меньшее количество возможностей, то и работать с ней значительно проще, чем, к примеру, с PostgreSQL, о которой будет рассказано ниже.

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

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

PostgreSQL

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

Если говорить о преимуществах PostgreSQL, то в первую очередь это надежность транзакций и репликаций, возможность наследования и легкая расширяемость. PostgreSQL поддерживает различные расширения и варианты языков программирования, такие как PL/Perl, PL/Python и PL/Java. Также есть возможность загружать C-совместимые модули.

https://www.youtube.com/watch?v=SfYaAQ9-RnE\u0026list=PLrCZzMib1e9oOFQbuOgjKYbRUoA8zGKnj

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

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

SQLite

На данный момент это одна из самых компактных СУБД. Также она является встраиваемой и реляционной.

SQLite позволяет хранить все данные в одном файле и, благодаря своему небольшому объему, отличается завидным быстродействием.

SQLite значительно отличается от MySQL и PostgreSQL своей структурой: движок и интерфейс этой СУБД находятся в одной библиотеке – и именно это позволяет выполнять все запросы очень быстро.

Другие СУБД (MySQL, PostgreSQL, Oracle и т.д.) используют парадигму «клиент-сервер», когда взаимодействие происходит через сетевой протокол.

Из недостатков можно отметить отсутствие системы пользователей и возможности увеличения производительности.

Oracle

Эта СУБД относится к объектно-реляционному типу. Название произошло от названия разработавшей эту систему фирмы Oracle. Наравне с SQL СУБД использует процедурное расширение под названием PL/SQL, а также язык Java.

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

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

MongoDB

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

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

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

MongoDB относится к классу СУБД NoSQL и пользуется объектным языком запросов, который значительно легче SQL.

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

Заключение

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

Источник: https://timeweb.com/ru/community/articles/bazy-dannyh-i-subd-1

Какие бывают базы данных — Журнал «Код»: программирование без снобизма

БАЗА ДАННЫХ

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

Источник: https://thecode.media/dbsm/

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

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