Основные сведения о базах данных. Субд. основные понятия бд Основные виды баз данных


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

База данных — это некоторый набор данных, организованный по определенным правилам и имеющий определенную структуру.

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

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

  • Иерархическая;
  • Сетевая;
  • Объектно-ориентированная;
  • Реляционная.

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

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

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

SQL (structured query language) - в переводе с английского язык структурированных запросов, применяющийся для создания, изменения и удаления данных.

Простейшая схема работы с базой данных выглядит так:

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

Виды СУБД

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

Что такое MySQL

В настоящее время в основном применяются многопользовательские СУБД. Наиболее популярные из них MS SQL Server, Oracle и MySQL.

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

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

При разработке сайтов большинство программистов используют связку PHP + MySQL. Множество популярных систем управления сайтом (CMS) созданы именно с применением этой связки.

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

На этом все! До новых встреч!

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

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

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

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

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

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

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

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

  1. Типы баз данных

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

Иерархическая БД

В иерархической БД существует упорядоченность элементов в записи, один элемент считается главным, остальные - подчиненными. Данные в записи упорядочены в определенную последовательность, как ступеньки лестницы, и поиск данных может осуществляться лишь последовательным "спуском" со ступеньки на ступеньку. Поиск какого-либо элемента данных в такой системе может оказаться довольно трудоемким из-за необходимости последовательно проходить несколько предшествующих иерархических уровней. Иерархическую БД образует каталог файлов, хранимых на диске; дерево каталогов, доступное для просмотра в Norton Соmmander, - наглядная демонстрация структуры такой БД и поиска в ней нужного элемента (при работе в операционной системе МS-DOS). Такой же базой данных является родовое генеалогическое дерево.

Рисунок 1. Иерархическая модель базы данных

Сетевая БД

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

Рисунок 2. Сетевая модель базы данных

Реляционная БД

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

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

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

Рис. 3. Реляционная модель базы данных

2. По способу доступа к данным базы данных делятся на базы данных с локальным доступом и базы данных с удаленным (сетевым доступом). Системы централизованных баз данных с сетевым доступом предполагают различные архитектуры таких систем: файл-сервер; клиент-сервер.

Файл-сервер

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

Клиент-сервер

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

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

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

В качестве примера можно привести библиотеку . Да-да, там не просто стоят книжки на полках, а существуют различные виды Каталогов, по которым библиотекарь может найти определённую книги (по алфавиту - автору или названию, по стеллажу, по тематике). Таким образом, приняв запрос на книгу, далее можно было её найти по определённому признаку. Можно сказать, что в библиотеке хранились и обрабатывались данные. Но данные не представляли ли бы такого интереса, если бы ими нельзя было ещё и управлять! Так мы приходим к следующему термину.

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

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

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

Из истории SQL

В начале 1970-х годов в одной из исследовательских лабораторий компании IBM была разработана экспериментальная реляционная СУБД IBM System R, для которой затем был создан специальный язык SEQUEL , позволявший относительно просто управлять данными в этой СУБД. Аббревиатура SEQUEL расшифровывалась как Structured English QUEry Language - «структурированный английский язык запросов». Позже по юридическим соображениям язык SEQUEL был переименован в SQL .

Датой создания считается 1974 год.
Авторами считаются Дональд Чэмбэрлин , Рэймонд Бойс .
Первый стандарт принят в 1986 году.

Что такое MySQL

MySQL - система управления базами данных, которая может работать с PHP, Java, Perl, C, C++ и другими языками программирвоания. Одна из самых распространённых СУБД в мире. Входит в популярные портативные сборки серверов Denwer и XAMPP , а также в серверы WAMP, LAMP, AppServ . Написана на C, C++. разработчик - Oracle (c 2010 года).

Примеры SQL запросов

Выведет список ВСЕХ баз.

SHOW databases;
Выведет список ВСЕХ таблиц в Базе Данных base_name.

SHOW tables in base_name;
Выбирает ВСЕ данные в таблице tbl_name.

SELECT * FROM tbl_name;
Более подробно с запросами можно ознакомиться в статье

Виды баз данных

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

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

Основные классификации баз данных

Классификация по модели данных

Центральным понятием в области баз данных является понятие модели.

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

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

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

В этой модели запрос, направленный вниз по иерархии, прост (например: какие заказы принадлежат этому покупателю); однако запрос, направленный вверх по иерархии, более сложен (например, какой покупатель поместил этот заказ). Также, трудно представить неиерархические данные при использовании этой модели.

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

К основным понятиям сетевой модели базы данных относятся: уровень, элемент (узел), связь.

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

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

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

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

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

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

Объектные базы данных -- это модель работы с объектными данными.

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

Объектно-ориентированная база данных (ООБД) -- база данных, в которой данные моделируются в виде объектов, их атрибутов, методов и классов.

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

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

Обязательные характеристики

  • 1. Поддержка сложных объектов. В системе должна быть предусмотрена возможность создания составных объектов за счет применения конструкторов составных объектов. Необходимо, чтобы конструкторы объектов были ортогональны, то есть любой конструктор можно было применять к любому объекту.
  • 2. Поддержка индивидуальности объектов. Все объекты должны иметь уникальный идентификатор, который не зависит от значений их атрибутов.
  • 3. Поддержка типов и классов. Требуется, чтобы в ООБД поддерживалась хотя бы одна концепция различия между типами и классами. (Термин «тип» более соответствует понятию абстрактного типа данных. В языках программирования переменная объявляется с указанием ее типа. Компилятор может использовать эту информацию для проверки выполняемых с переменной операций на совместимость с ее типом, что позволяет гарантировать корректность программного обеспечения. С другой стороны класс является неким шаблоном для создания объектов и предоставляет методы, которые могут применяться к этим объектам. Таким образом, понятие «класс» в большей степени относится ко времени исполнения, чем ко времени компиляции.)
  • 4. Поддержка наследования типов и классов от их предков. Подтип, или подкласс, должен наследовать атрибуты и методы от его супертипа, или суперкласса, соответственно.
  • 5. Перегрузка в сочетании с полным связыванием. Методы должны применяться к объектам разных типов. Реализация метода должна зависеть от типа объектов, к которым данный метод применяется. Для обеспечения этой функциональности связывание имен методов в системе не должно выполняться до времени выполнения программы.
  • 6. Вычислительная полнота. Язык манипулирования данными должен быть языком программирования общего назначения.
  • 7. Набор типов данных должен быть расширяемым. Пользователь должен иметь средства создания новых типов данных на основе набора предопределенных системных типов. Более того, между способами использования системных и пользовательских типов данных не должно быть никаких различий.

Классификация БД по среде физического хранения:

  • · БД во вторичной памяти (традиционные): средой постоянного хранения является периферийная энергонезависимая память (вторичная память) -- как правило, жёсткий диск. В оперативную память СУБД помещает лишь кэш и данные для текущей обработки;
  • · БД в оперативной памяти (in-memory databases): все данные находятся в оперативной памяти;
  • · БД в третичной памяти (tertiary databases): средой постоянного хранения является отсоединяемое от сервера устройство массового хранения (третичная память), как правило, на основе магнитных лент или оптических дисков. Во вторичной памяти сервера хранится лишь каталог данных третичной памяти, файловый кэш и данные для текущей обработки; загрузка же самих данных требует специальной процедуры.

Классификация по содержимому:

  • · Географическая
  • · Историческая
  • · Научная
  • · Мультимедийная.

Классификация по степени распределённости:

  • · Централизованная, или сосредоточенная (англ. centralized database): БД, полностью поддерживаемая на одном компьютере.
  • · Распределённая (англ. distributed database): БД, составные части которой размещаются в различных узлах компьютерной сети в соответствии с каким-либо критерием.
  • o Неоднородная (англ. heterogeneous distributed database ): фрагменты распределённой БД в разных узлах сети поддерживаются средствами более одной СУБД
  • o Однородная (англ. homogeneous distributed database): фрагменты распределённой БД в разных узлах сети поддерживаются средствами одной и той же СУБД.
  • o Фрагментированная, или секционированная (англ. partitioned database): методом распределения данных является фрагментирование (партиционирование, секционирование), вертикальное или горизонтальное.
  • o Тиражированная (англ. replicated database): методом распределения данных является тиражирование

Так же можно выделить:

Пространственная (англ. spatial database): БД -- база данных (БД), оптимизированная для хранения и выполнения запросов к данным о пространственных объектах, представленных некоторыми абстракциями: точка, линия и др.

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

Временная, или темпоральная (англ. temporal database): БД -- это базы, хранящие данные, привязанные ко времени и имеющие средства управления такой информацией. Главное отличие темпоральных систем управления базами данных (СУБД) от обычных реляционных СУБД заключается в том, что для любого объекта, который был создан в момент времени t1 и был удален в момент времени t2 , сохраняются все его состояния в этом временном интервале , тогда как в обычной СУБД существует только текущее на конкретный момент времени состояние объекта. Таким образом, в темпоральной БД хранится история изменений состояний объекта, и пользователь может получить информацию о состоянии записи в БД в любой момент времени из указанного промежутка.

Пространственно-временная (англ. spatial-temporal database) БД: БД, в которой одновременно поддерживается одно или более измерений в аспектах как пространства, так и времени.

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

Терминология

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

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

Виды БД

В теории различают несколько их видов. Бывают:

  • Реляционные базы данных (от английского слова relation, что переводится как "связь") - характеризируются отношениями и выражены в совокупности взаимосвязанных сущностей. Последние представлены в виде табличек, в которых содержатся данные БД. Это наиболее распространенный
  • Иерархические - связи на уровне "предок-потомок", "начальник-подчиненный".
  • Сетевые - ответвление от предыдущего вида.
  • Объектно-ориентированные, которые напрямую работают с соответствующей методологией

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

БД - это табличка?

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

У таблиц реляционных БД есть записи (строки) и поля (столбцы). В первых содержится непосредственно информация, данные, в последних - описания того, что именно означают записи. Например, поле - "имя", запись - "Катерина".

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

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

Связи между таблицами

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

  • "Один-к-одному" - каждой записи таблицы соответствует только одна запись из другой таблички.
  • "Один-ко-многим" и "многие-ко-многим". Одной записи может соответствовать сразу несколько из связанной таблицы. И наоборот (для второго варианта).
  • "Многие-ко-многим". Уже нетрудно догадаться, что в этом случае для нескольких строк может быть подобрано для связи несколько строк другой таблицы (такая связь организовывается при помощи промежуточной таблицы и двух связей вышеуказанного вида).

Движение вверх и вниз

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

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

Расширяем связи

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

Табличный способ отображения

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

Объектно-ориентированный тип

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