База данных (БД) — это поименованная совокупность структурированных данных, относящихся к определенной предметной области.
В современной технологии баз данных предполагается, что их создание, поддержка и обеспечение доступа пользователей осуществляются централизованно с помощью специального программного инструментария — систем управления базами данных.
Система управления базами данных (СУБД) — это комплекс программных и языковых средств, необходимых для создания баз данных, их поддержания в актуальном состоянии и организации в них поиска необходимой информации.
Функции, структура и основные характеристики СУБД
К основным функциям СУБД принято относить следующие:
- · управление данными во внешней памяти;
- · управление буферами оперативной памяти;
- · управление транзакциями;
- · журнализация и восстановление БД после сбоев;
- · поддержка языков БД.
Управление данными во внешней памяти включает обеспечение необходимых структур внешней памяти как для хранения данных, непосредственно входящих в базу данных, так и для служебных целей, например, для ускорения доступа к данным.
Система управления базами данных | Информатика 9 класс #10 | Инфоурок
Управление буферами оперативной памяти. СУБД, как правило, работают с БД большого объема. По крайней мере, объем базы данных существенно превышает объем оперативной памяти. Так что, если при обращении к любому элементу данных будет производиться обмен с внешней памятью, то вся система будет работать со скоростью устройства внешней памяти.
Практически единственным способом реального увеличения этой скорости является буферизация данных в оперативной памяти. При этом, даже если операционная система производит общесистемную буферизацию, этого недостаточно для целей СУБД, которая располагает большей информацией о полезности буферизации той или иной части БД. Поэтому в развитых СУБД поддерживается собственный набор буферов оперативной памяти с собственной дисциплиной их замены.
Управление транзакциями. Транзакция — это последовательность операций над БД, рассматриваемых СУБД как единое целое. Транзакция либо успешно выполняется, и СУБД фиксирует произведенные изменения данных во внешней памяти, либо ни одно из этих изменений никак не отражается на состоянии БД. Понятие транзакции необходимо для поддержания логической целостности БД, поэтому поддержание механизма транзакций является обязательным условием как однопользовательских, так и многопользовательских СУБД.
Журнализация и восстановление БД после сбоя. Одним из основных требований к СУБД является надежность хранения данных во внешней памяти. Под надежностью хранения понимается то, что СУБД должна быть в состоянии восстановить последнее целостное состояние БД после любого аппаратного или программного сбоя.
Обычно рассматриваются два возможных вида аппаратных сбоев: так называемые мягкие сбои, которые можно трактовать как внезапную остановку работы компьютера, например, аварийное выключение питания, и жесткие сбои, характеризуемые потерей информации на носителях внешней памяти. В любом из описанных случаев для восстановления БД нужно располагать некоторой избыточной информацией. Наиболее распространенным методом формирования и поддержания избыточной информации является ведение журнала изменений БД.
УРОК 13. Понятие базы данных. Система управления базами данных (10 класс)
Поддержка языков БД. Для работы с базами данных используются специальные языки, в целом называемые языками баз данных. В ранних СУБД поддерживалось несколько специализированных по своим функциям языков. Чаще всего выделялись два языка — язык определения схемы БД (SDL — Schema Definition Language) и язык манипулирования данными (DML — Data Manipulation Language).
SDL служил, главным образом, для определения логической структуры БД, какой она представляется пользователям. DML содержал набор операторов манипулирования данными, позволяющих вводить, удалять, модифицировать и выбирать данные. В современных СУБД, обычно, поддерживается единый интегрированный язык, содержащий все необходимые средства для работы с БД и обеспечивающий базовый пользовательский интерфейс. Стандартным языком наиболее распространенных в настоящее время реляционных СУБД является язык SQL (Structured Query Language).
В типовой структуре современной реляционной СУБД логически можно выделить ядро СУБД, компилятор языка БД, подсистему поддержки времени выполнения и набор утилит.
Ядро СУБД отвечает за управление данными во внешней памяти, управление буферами оперативной памяти, управление транзакциями и журнализацию. Соответственно, можно выделить такие компоненты ядра как менеджер данных, менеджер буферов, менеджер транзакций и менеджер журнала.
Основной функцией компилятора языка БД является преобразование операторов языка БД в выполняемую программу. Основной проблемой реляционных СУБД является то, что языки этих систем являются непроцедурными, то есть в операторе такого языка специфицируется некоторое действие над БД, но эта спецификация не является процедурой, а лишь описывает в некоторой форме условия совершения желаемого действия.
Поэтому компилятор должен решить, каким образом выполнять оператор языка прежде, чем произвести программу. Применяются достаточно сложные методы оптимизации операторов. Выполняемая программа представляется в машинных кодах или в выполняемом внутреннем машинно-независимом коде. В последнем случае реальное выполнение оператора производится с привлечением подсистемы поддержки времени выполнения, представляющей собой интерпретатор этого внутреннего языка.
В отдельные утилиты обычно выделяют такие процедуры, которые слишком сложно выполнять с использованием языка БД, например, загрузка и выгрузка БД, сбор статистики, глобальная проверка целостности и другие. Утилиты программируются с использованием интерфейса ядра СУБД.
Производительность СУБД оценивается:
- · временем выполнения запросов;
- · скоростью поиска информации в неиндексированных полях;
- · временем выполнения операций импортирования базы данных из других форматов;
- · скоростью создания индексов и выполнения таких массовых операций, как обновление, вставка, удаление данных;
- · максимальным числом параллельных обращений к данным в многопользовательском режиме;
- · временем генерации отчета.
Источник: vuzlit.com
Системы управления базами данных
СУБД выполняет функцию управляющей программы по отношению к данным базы данных, поддерживает пользовательский и программный интерфейсы, расширяя функции файловой системы.
В состав СУБД включены:
- • ядро СУБД – набор программных модулей, обеспечивающих работоспособность комплекса;
- • инструментальные средства и сервисные программы (утилиты), используемые для обслуживания базы данных, создания прикладных программ (приложений);
- • различного вида интерфейсы (программный – для взаимодействия с базой данных прикладных программ, пользовательский – для взаимодействия с базой данных конечных пользователей);
- • документация по СУБД.
Ядро СУБД отвечает за управление данными во внешней и оперативной памяти, имеет модульную архитектуру:
- • модуль управления данными во внешней памяти;
- • модуль управления буферами оперативной памяти;
- • модуль управления транзакциями;
- • модуль управления журналами;
- • модуль управления языковыми средствами.
Модуль управления внешней памятью управляет размещением данных базы данных на носителе. Модуль управления буферами оперативной памяти обеспечивает хранение
страниц данных, страниц журналов транзакций и системного каталога в оперативной памяти для ускорения обработки запросов пользователей. Транзакция – это фрагмент приложения, который проводит изменения в базе данных, переводя ее из одного целостного состояния в другое. Если транзакция заканчивается аварийно, СУБД обеспечивает восстановление базы данных в предыдущее целостное состояние благодаря ведению журнала.
Среди языковых средств различают:
- • языки описания данных (Data Defiinition Language – DDL);
- • языки манипулирования данными (Data Manipulation Language – DML).
DML – семейство компьютерных языков, используемых в компьютерных программах или пользователями баз данных для получения, вставки, удаления или изменения данных в базах данных. К ним относятся: языки запросов, языки генерации отчетов, приложений.
Специальные инструментальные средства предназначены для разработки различных приложений базы данных (генераторы экранных форм, отчетов, приложений), выполнения сервисных функций (архивирование базы данных, анализатор структуры данных, оптимизатор запросов и т.п.). Эти средства применяются при разработке баз данных и приложений, а также в процессе эксплуатации.
СУБД поддерживают два типа интерфейсов – программный и пользовательский.
Программный интерфейс обеспечивает доступ к данным базы данных из приложений (программ), а пользовательский интерфейс обеспечивает доступ к базе данных пользователей в интерактивном режиме. Как правило, пользовательский интерфейс представлен в виде команд главного меню, панелей инструментов, элементов управления экранной формы, средств навигации в базе данных и т.п.
СУБД содержит развитые инструментальные средства разработки приложений и администрирования базы данных (утилиты, конструкторы форм, генератор отчетов, конструктор запросов, генератор приложений и т.п.). Типичными функциями СУБД являются:
- 1. Управление данными во внешней памяти (на машинных носителях). СУБД использует файловую систему операционной системы для работы с устройствами внешней памяти на низком уровне.
- 2. Управление буферами оперативной памяти для повышения скорости обработки данных.
- 3. Управление транзакциями для обеспечения логической целостности баз данных (транзакция – последовательность операций над базой данных, рассматриваемая как единое целое. Транзакция либо фиксирует изменения в базе данных, либо полностью отклоняется).
- 4. Защита данных от несанкционированного доступа, протоколирование действий с базой данных (стратегия упреждающей записи в журнал – Write Ahead Log (WAL) для восстановления базы данных после сбоев на основе системных и локальных журналов и сохраненной архивной копии базы данных).
- 5. Поддержка языков баз данных для определения схемы данных, манипулирования данными, определения ограничений целостности, создания представлений данных.
- 6. Генерация структур данных таблиц, создание экранных форм, с помощью которых поддерживается диалоговый режим работы пользователей с базой данных, генерация отчетов, содержащих результаты выборки данных, дополнительные вычисления, группировки и т.п.
- 7. Выполнение запросов различных типов на языках запросов высокого уровня (SQL [1] , QBE и др.).
- 8. Создание макросов и программных модулей (процедур обработки событий, функций) для автоматизации обработки данных.
- 9. Поддержка конверторов для преобразования форматов данных при экспорте и импорте данных.
- 10. Поддержка сервисов (архивирование базы данных, восстановление базы данных, анализ структуры базы данных, защита объектов базы данных и др.).
- [1] Язык структурированных запросов Structured Query Language (SQL) и графический реляционный язык Query By Example (QBE) или «запрос по примеру».
Источник: studme.org
MySQL — система управления базами данных
MySQL — это реляционная система управления базами данных с открытым исходным кодом. В настоящее время эта СУБД одна из наиболее популярных в веб‑приложениях — подавляющее большинство CMS использует именно MySQL (часто только её, без альтернатив), а почти все веб‑фреймворки поддерживают MySQL уже на уровне базовой конфигурации (без дополнительных модулей).
Из преимуществ СУБД MySQL стоит отметить простоту использования, гибкость, низкую стоимость владения (относительно платных СУБД), а также масштабируемость и производительность.
MySQL позволяет хранить целочисленные значения со знаком и беззнаковые, длиной в 1, 2, 3, 4 и 8 байтов, работает со строковыми и текстовыми данными фиксированной и переменной длины, позволяет осуществлять SQL‑команды SELECT, DELETE, INSERT, REPLACE и UPDATE, обеспечивает полную поддержку операторов и функций в SELECT- и WHERE- частях запросов, работает с GROUP BY и ORDER BY, поддерживает групповые функции COUNT(), AVG(), STD(), SUM(), MAX() и MIN(), позволяет использовать JOIN в запросах, в т.ч. LEFT OUTER JOIN и RIGHT OUTER JOIN, поддерживает репликацию, транзакции, работу с внешними ключами и каскадные изменения на их основе, а также обеспечивает многие другие функциональные возможности.
Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов таблиц: пользователи могут выбрать как таблицы типа MyISAM, поддерживающие полнотекстовый поиск, так и таблицы InnoDB, поддерживающие транзакции на уровне отдельных записей. Есть и другие типы таблиц, разработанные сообществом.
СУБД MySQL появилась в 1995. Написана на C и C++, протестирована на множестве различных компиляторов и работает на различных платформах. C 2010 года разработку и поддержку MySQL осуществляет корпорация Oracle. Продукт распространяется как под GNU GPL, так и под собственной коммерческой лицензией.
Однако по условиям GPL, если какая‑либо программа включает исходные коды MySQL, то и эта программа тоже должна распространяться по лицензии GPL. Для нежелающих открывать исходные тексты своих программ как раз предусмотрена коммерческая лицензия, которая, в дополнение к возможности разработки под «закрытой» лицензией, обеспечивает качественную сервисную поддержку. Сообществом разработчиков MySQL созданы различные ответвления — Drizzle, OurDelta, Percona Server и MariaDB, все эти ответвления уже существовали на момент получения прав на MySQL корпорацией Oracle.
Сейчас MySQL вместе с форком MariaDB занимают почётное первое место, а следом за ними идёт PostgreSQL. Остальные СУБД в веб‑проектах используются значительно реже.
Статья опубликована в 2014 году
Тематические статьи
PostgreSQL — система управления базами данных
PostgreSQL — это популярная свободная объектно‑реляционная система управления базами данных. PostgreSQL базируется на языке SQL, отличается высокой надёжность и имеет широкие возможности.
В PostgreSQL нет ограничений на максимальный размер базы данных, количество записей и индексов таблицах. В СУБД встроены мощные и надёжные механизмы транзакций и репликации. Также СУБД отличает легкая расширяемость и возможность онкой настройки.
Источник: web-creator.ru