- Системы управления базами данных¶
- Основные функции СУБД¶
- Классификации СУБД¶
- По модели данных¶
- Иерархические¶
- Сетевые¶
- Реляционные¶
- Объектно-ориентированные¶
- Объектно-реляционные¶
- По степени распределённости¶
- По способу доступа к БД¶
- Файл-серверные¶
- Клиент-серверные¶
- Встраиваемые¶
- Стратегии работы с внешней памятью¶
- По способу доступа к базам данных СУБД различают
- Классификация СУБД по способу доступа к БД
- Классификация БД и СУБД
- Классификация баз данных
- Классификация СУБД
- Состав СУБД и работа БД
Системы управления базами данных¶
Система управления базами данных (СУБД) — совокупность программных и лингвистических средств общего или специального назначения, обеспечивающих управление созданием и использованием баз данных.
Основные функции СУБД¶
- управление данными во внешней памяти (на дисках);
- управление данными в оперативной памяти с использованием дискового кэша;
- журнализация изменений, резервное копирование и восстановление базы данных после сбоев;
- поддержка языков БД (язык определения данных, язык манипулирования данными).
Обычно современная СУБД содержит следующие компоненты:
- ядро, которое отвечает за управление данными во внешней и оперативной памяти и журнализацию,
- процессор языка базы данных, обеспечивающий оптимизацию запросов на извлечение и изменение данных и создание, как правило, машинно-независимого исполняемого внутреннего кода,
- подсистему поддержки времени исполнения, которая интерпретирует программы манипуляции данными, создающие пользовательский интерфейс с СУБД
- а также сервисные программы (внешние утилиты), обеспечивающие ряд дополнительных возможностей по обслуживанию информационной системы.
Классификации СУБД¶
По модели данных¶
Иерархические¶
Используется представление базы данных в виде древовидной (иерархической) структуры, состоящей из объектов (данных) различных уровней.
Между объектами существуют связи, каждый объект может включать в себя несколько объектов более низкого уровня. Такие объекты находятся в отношении предка (объект более близкий к корню) к потомку (объект более низкого уровня), при этом возможна ситуация, когда объект-предок не имеет потомков или имеет их несколько, тогда как у объекта-потомка обязательно только один предок. Объекты, имеющие общего предка, называются близнецами (в программировании применительно к структуре данных дерево устоялось название братья).
Иерархической базой данных является файловая система, состоящая из корневого каталога, в котором имеется иерархия подкаталогов и файлов.
Примеры: Caché, Google App Engine Datastore API.
Сетевые¶
Сетевые базы данных подобны иерархическим, за исключением того, что в них имеются указатели в обоих направлениях, которые соединяют родственную информацию.
Реляционные¶
Практически все разработчики современных приложений, предусматривающих связь с системами баз данных, ориентируются на реляционные СУБД. По оценке Gartner в 2013 году рынок реляционных СУБД составлял 26 млрд долларов с годовым приростом около 9%, а к 2018 году рынок реляционных СУБД достигнет 40 млрд долларов. В настоящее время абсолютными лидерами рынка СУБД являются компании Oracle, IBM и Microsoft, с общей совокупной долей рынка около 90%, поставляя такие системы как Oracle Database, IBM DB2 и Microsoft SQL Server.
Объектно-ориентированные¶
Управляют базами данных, в которых данные моделируются в виде объектов, их атрибутов, методов и классов.
Этот вид СУБД позволяет работать с объектами баз данных так же, как с объектами в программировании в объектно-ориентированных языках программирования. ООСУБД расширяет языки программирования, прозрачно вводя долговременные данные, управление параллелизмом, восстановление данных, ассоциированные запросы и другие возможности.
Объектно-реляционные¶
Этот тип СУБД позволяет через расширенные структуры баз данных и язык запросов использовать возможности объектно-ориентированного подхода: бъекты, классы и наследование.
Зачастую все те СУБД, которые называются реляционными, являются, по факту, объектно-реляционными.
В данном курсе мы будем, в первую очередь, гооврить об этом виде СУБД.
Примеры: PostgreSQL, DB2, Oracle, Microsoft SQL Server.
По степени распределённости¶
- Локальные СУБД (все части локальной СУБД размещаются на одном компьютере)
- Распределённые СУБД (части СУБД могут размещаться на двух и более компьютерах).
По способу доступа к БД¶
Файл-серверные¶
В файл-серверных СУБД файлы данных располагаются централизованно на файл-сервере. СУБД располагается на каждом клиентском компьютере (рабочей станции). Доступ СУБД к данным осуществляется через локальную сеть. Синхронизация чтений и обновлений осуществляется посредством файловых блокировок. Преимуществом этой архитектуры является низкая нагрузка на процессор файлового сервера. Недостатки: потенциально высокая загрузка локальной сети; затруднённость или невозможность централизованного управления; затруднённость или невозможность обеспечения таких важных характеристик как высокая надёжность, высокая доступность и высокая безопасность. Применяются чаще всего в локальных приложениях, которые используют функции управления БД; в системах с низкой интенсивностью обработки данных и низкими пиковыми нагрузками на БД.
На данный момент файл-серверная технология считается устаревшей, а её использование в крупных информационных системах — недостатком.
Примеры: Microsoft Access, Paradox, dBase, FoxPro, Visual FoxPro.
Клиент-серверные¶
Клиент-серверная СУБД располагается на сервере вместе с БД и осуществляет доступ к БД непосредственно, в монопольном режиме. Все клиентские запросы на обработку данных обрабатываются клиент-серверной СУБД централизованно. Недостаток клиент-серверных СУБД состоит в повышенных требованиях к серверу. Достоинства: потенциально более низкая загрузка локальной сети; удобство централизованного управления; удобство обеспечения таких важных характеристик как высокая надёжность, высокая доступность и высокая безопасность.
Примеры: Oracle, Firebird, Interbase, IBM DB2, Informix, MS SQL Server, Sybase Adaptive Server Enterprise, PostgreSQL, MySQL, Caché, ЛИНТЕР.
Встраиваемые¶
Встраиваемая СУБД — СУБД, которая может поставляться как составная часть некоторого программного продукта, не требуя процедуры самостоятельной установки. Встраиваемая СУБД предназначена для локального хранения данных своего приложения и не рассчитана на коллективное использование в сети. Физически встраиваемая СУБД чаще всего реализована в виде подключаемой библиотеки. Доступ к данным со стороны приложения может происходить через SQL либо через специальные программные интерфейсы (API).
Примеры: OpenEdge, SQLite, BerkeleyDB, Firebird Embedded, Microsoft SQL Server Compact, ЛИНТЕР.
Стратегии работы с внешней памятью¶
СУБД с непосредственной записью — это СУБД, в которых все измененные блоки данных незамедлительно записываются во внешнюю память при поступлении сигнала подтверждения любой транзакции. Такая стратегия используется только при высокой эффективности внешней памяти.
СУБД с отложенной записью — это СУБД, в которых изменения аккумулируются в буферах внешней памяти до наступления любого из следующих событий:
- контрольной точки;
- конец пространства во внешней памяти, отведенное под журнал. СУБД выполняет контрольную точку и начинает писать журнал сначала, затирая предыдущую информацию;
- останов. СУБД ждёт, когда всё содержимое всех буферов внешней памяти будет перенесено во внешнюю память, после чего делает отметки, что останов базы данных выполнен корректно;
- при нехватке оперативной памяти для буферов внешней памяти.
Такая стратегия позволяет избежать частого обмена с внешней памятью и значительно увеличить эффективность работы СУБД.
Источник
По способу доступа к базам данных СУБД различают
Источник 1
Типы баз данных по способу доступа
По способу доступа различают:
Клиент-серверные БД. Доступ к данным осуществляется путем запроса к серверу БД, который и осуществляет непосредственные операции с данными. Главное достоинство данного способа — возможность работы с одной БД любого количества пользователей, минимизация передаваемого по сети трафика. Недостаток — требуется отдельный сервер для полноценного функционирования данной модели
Встраиваемые БД. Работа с данными осуществляется путем подключения к программе библиотек реализующих работу с БД и передачи требуемых вызовов данным библиотекам. Сама БД, обычно, располагается на том же компьютере, что и клиентская программа. Главное достоинство — скорость работы (при относительно небольших объемах данных) и компактность системы. Недостатки — невозможно масштабирование, катастрофическое падение производительности на крупных выборках.
Файл-серверные БД. Устаревший тип БД. Имеет смысл применять только в случае наследования большого количества существующего кода. По сути — некая смесь двух вышеприведенных способов. Данные хранятся на файловом сервере, доступ к ним осуществляют клиенты БД установленные на каждом локальном компьютере. Достоинств в данный момент нет. Недостатки — большой сетевой трафик, частые взаимные блокировки со стороны различных клиентов.
Источник 2
По способу доступа к данным БД разделяются на БД с локальным доступом и БД с удаленным (сетевым) доступом.
Система централизованных БД с сетевым доступом предполагает различные архитектуры подобных систем
файл – сервер
клиент – сервер
1. Архитектура файл – сервер.
Выделяется одна из машин сети в качестве центральной (сервер файлов) . Все другие машины сети выполняют функции рабочих станций, с помощью которых поддерживается доступ пользовательской системы централизованных БД. Совместно используемая централизованная БД хранится на одной из машин. Файлы БД в соответствии с пользовательскими запросами передаются на рабочие станции, где в основном и производится обработка.
2. Архитектура клиент – сервер.
В этой концепции помимо хранения централизованной БД центральная машина (сервер БД) должна обеспечивать выполнение основного объема обработки данных. Запросы на данные, выдаваемые клиентом (рабочей станцией) порождают поиск и извлечение данных на сервере. Извлеченные данные (но не файлы) транспортируются по сети от сервера к клиенту. Спецификой архитектуры «клиент – сервер» является использование языка запросов SQL.
Источник
Классификация СУБД по способу доступа к БД
Также СУБД можно разделить по способу доступа к базам данных на файл-серверные, клиент-серверные и встраиваемые.
В файл-серверных СУБД файлы данных располагаются централизованно на файл-сервере. СУБД располагается на каждом клиентском компьютере (рабочей станции). Доступ СУБД к данным осуществляется через локальную сеть. Синхронизация чтений и обновлений осуществляется посредством файловых блокировок. Преимуществом этой архитектуры является низкая нагрузка на процессор файлового сервера. Недостатки: потенциально высокая загрузка локальной сети; затруднённость или невозможность централизованного управления; затруднённость или невозможность обеспечения таких важных характеристик как высокая надёжность, высокая доступность и высокая безопасность. Применяются чаще всего в локальных приложениях, которые используют функции управления БД; в системах с низкой интенсивностью обработки данных и низкими пиковыми нагрузками на БД.
На данный момент файл-серверная технология считается устаревшей, а её использование в крупных информационных системах — недостатком. Примеры: Microsoft Access, Paradox, dBase, FoxPro, Visual FoxPro.
Клиент-серверная СУБД располагается на сервере вместе с БД и осуществляет доступ к БД непосредственно, в монопольном режиме. Все клиентские запросы на обработку данных обрабатываются клиент-серверной СУБД централизованно.
Стандарты. Для современных СУБД архитектура “клиент-сервер” стала фактически стандартом. Если предполагается , что проектируемая информация будет иметь архитектуру “клиент-сервер” , то это означает , что прикладные программы , реализованные в её рамках , будут иметь распределённый характер , т.е. часть функций приложений будет реализована в программе-клиенте , другая — в программе-сервере.
Принципы. Основной принцип технологии “клиент-сервер” заключается в разделении функций стандартного интерактивного приложения на четыре группы :
· функции ввода и отображения данных;
· прикладные функции , характерные для предметной области ;
· фундаментальные функции хранения и управления ресурсами(базами данных);
Недостаток клиент-серверных СУБД состоит в повышенных требованиях к серверу. Достоинства: потенциально более низкая загрузка локальной сети; удобство централизованного управления; удобство обеспечения таких важных характеристик как высокая надёжность, высокая доступность и высокая безопасность. Примеры: Oracle, Firebird, Interbase, IBM DB2, Informix, MS SQL Server, Sybase Adaptive Server Enterprise, PostgreSQL, MySQL, Caché, ЛИНТЕР.
Встраиваемая СУБД — СУБД, которая может поставляться как составная часть некоторого программного продукта, не требуя процедуры самостоятельной установки. Встраиваемая СУБД предназначена для локального хранения данных своего приложения и не рассчитана на коллективное использование в сети. Физически встраиваемая СУБД чаще всего реализована в виде подключаемой библиотеки. Доступ к данным со стороны приложения может происходить через SQL либо через специальные программные интерфейсы. Примеры: OpenEdge, SQLite, BerkeleyDB, Firebird Embedded, Microsoft SQL Server Compact, ЛИНТЕР.
Источник
Классификация БД и СУБД
Цель лекции: Ознакомиться с комплексом основных понятий классификации БД и СУБД . Ознакомиться с функциями и функциональными возможностями СУБД .
Классификация — разделение множества на подмножества по неформально предложенному признаку. В силу многогранности баз данных и СУБД (комплекса технических и программных средств, для хранения, поиска, защиты и использования данных) имеется множество классификационных признаков. Классификация БД по основным признакам приведена на рис. 2.1.
Базы данных могут классифицироваться и с точки зрения экономической: по условиям предоставления услуг — бесплатные и платные (бесприбыльные, коммерческие); по форме собственности — государственные, негосударственные; по степени доступности — общедоступные, с ограниченным кругом пользователей.
Классификация баз данных
В мире существует множество СУБД . Несмотря на их различие, все они опираются на единый устоявшийся комплекс основных понятий.
СУБД носит централизованный характер. Что предполагает необходимость существования некоторого лица (группы лиц), на которое возлагаются функции администрирования данными, хранимыми в базе.
По технологии обработки данных БД делятся на централизованные БД и распределённые БД.
Централизованная БД хранится в памяти одной вычислительной системы (применяется в локальных сетях ПК).
Централизованные БД могут быть с сетевым доступом.
Архитектуры систем централизованных БД с сетевым доступом подразделяются на файл-сервер и клиент- сервер .
Архитектура систем БД с сетевым доступом ( Файл-сервер ) как показано на рис. 2.2 предполагает выделение одной из машин сети в качестве центральной ( сервер файлов). На ней хранится совместно используемая централизованная БД . Все другие машины сети являются рабочими станциями. Файлы БД в соответствии с пользовательскими запросами передаются на рабочие станции, где и производится обработка. При большой интенсивности доступа к одним и тем же данным производительность системы падает.
В архитектуре Клиент-сервер ( рис. 2.3) подразумевается, что помимо хранения централизованной БД центральная машина ( сервер базы данных ) должна обеспечивать выполнение основного объёма обработки данных. Запрос на данные клиента, порождает поиск и извлечение данных на сервере. Извлечённые данные (но не файлы) транспортируются по сети от сервера к клиенту.
Пример БД — деловой ежедневник, в котором каждому календарному дню выделено по странице. Даже в отсутствии там записей, он не перестаёт быть ежедневником, т.к. имеет структуру, отличающую его от записных книжек, рабочих тетрадей и т.п. Другие примеры БД : база данных больных в поликлинике, БД по видеофильмам (видеотека), БД по сотрудникам организации (Ф.И.О., пол, дата рождения, место жительство, телефон, состав семьи и т.д.).
Распределённая БД состоит из нескольких частей, хранимых в различных ЭВМ вычислительной сети (работа с такой БД происходит с помощью СУБД ).
По способу доступа к данным БД разделяются на БД с локальным и удаленным доступом.
БД с локальным доступом называется, если эта вычислительная система является компонентом сети ЭВМ, возможен распределённый доступ к такой базе. Такой способ использования БД часто применяют в локальных сетях ПК.
БД с удалённым (сетевым) доступом называется когда, части БД могут пересекаться или даже дублироваться, но хранятся в различных ЭВМ вычислительной сети.
Для работы с созданной БД пользователю или администратору БД следует иметь перечень файлов-таблиц с описанием состава их данных (структуры, схемы). Для этого создается специальный файл , называемый словарем данных (депозитарием, словарем-справочником, энциклопедией). Описание БД относится к метаинформации.
В качестве технических средств могут выступать супер- или персональные компьютеры с соответствующими периферийными устройствами.
Классификация СУБД
Система управления базами данных (СУБД) — это совокупность языковых и программных средств, предназначенных для создания, ведения и совместного использования БД многими пользователями.
Системы управления базами данных следует классифицировать отдельно ( рис. 2.4).
Состав СУБД и работа БД
СУБД представляет собой оболочку, с помощью которой при организации структуры таблиц и заполнения их данными получается та или иная база данных . В связи с этим полезно поговорить о системе программно-технических, организационных и «человеческих» составляющих ( рис. 2.5). Программные средства включают систему управления, обеспечивающую ввод-вывод, обработку и хранение информации, создание, модификацию и тестирование БД , трансляторы .
Базовыми внутренними языками программирования являются языки четвертого поколения. В качестве базовых языков могут использоваться C, C++, Pascal , Object Pascal . Язык C++ позволяет строить программы на языке Visual Basic с широким спектром возможностей, более близком и понятном даже пользователю-непрофессионалу, и на непроцедурном ( декларативном) языке структурированных запросов SQL . Следует отметить, что исторически для системы управления базой данных сложились три языка:
- язык описания данных (ЯОД), называемый также языком описания схем, — для построения структуры («шапки») таблиц БД;
- язык манипулирования данными (ЯМД) — для заполнения БД данными и операций обновления (запись, удаление, модификация);
- язык запросов — язык поиска наборов величин в файле в соответствии с заданной совокупностью критериев поиска и выдачи затребованных данных без изменения содержимого файлов и БД (язык преобразования критериев в систему команд).
В настоящее время функции всех трех языков выполняет язык SQL , относящийся к классу языков, базирующихся на исчислении кортежей ( кортеж чаще всего является единицей информации), языки СУБД FoxPro, Visual Basic for Application ( СУБД Access) и т.д.
Вместе с тем сохранились и языки запросов , например язык запросов по примеру Query By Example ( QBE ) класса исчисления доменов . Отметим, что эти языки в качестве «информационной единицы» БД используют отдельную запись . С помощью языков БД создаются приложения, базы данных и интерфейс пользователя, включающий экранные формы , меню , отчеты. При создании БД на базе СУБД FoxPro эти элементы (объекты) фиксируются в отдельных файлах, которые, в свою очередь , сосредоточиваются в одном файле, называемом проектом. После отработки БД проект преобразуется в приложение . В СУБД Access все созданные объекты размещаются в одном файле.
Источник