exam11 5 - stankin/design-part-2 GitHub Wiki

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

Реферат к лекции 11 (27). Базы данных.

Выполнила: Каноник Карина Сергеевна ИДБ-18-06

Проверил: Лскавян Армен Артемович ИДБ-18-06


Определение СУБД

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

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

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

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

Функции и компоненты СУБД

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

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

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

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

Словарь-справочник данных

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

  • о владельцах объектов данных, пользователях ресурсов данных и полномочиях их доступа;

  • о составе и структуре базы данных;

  • об ограничениях целостности;

  • о вспомогательных объектах и компонентах информационной системы.

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

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

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

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

Классификации СУБД

По модели данных

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

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

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

Примеры:

  • Time-Shared Date Management System (TDMS).
  • Mark IV MultiAccess Retrieval System.
  • InterSystems Cache.
  • MongoDB.

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

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

Примеры:

  • Norsk-Data SYBAS.
  • Cincom TOTAL.
  • Cache.
  • GT.M.

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

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

Примеры:

  • MySQL.
  • SQLite.
  • Microsoft SQL Server.
  • Microsoft Access.

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

Управляют базами данных, в которых данные моделируются в виде объектов, их атрибутов, методов и классов.

Этот вид СУБД позволяет работать с объектами баз данных так же, как с объектами в программировании в объектно-ориентированных языках программирования.

Примеры:

  • DEED BKS.
  • POET.
  • GemStore.
  • IDB Object Database.
  • MATISSE.

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

Примеры:

  • Oracle Database.
  • Informix.
  • DB2.
  • PostgreSQL.

По характеру использования

  • Персональные (совокупность языковых и программных средств, нужных для создания и управления базами данных - Visual FoxPro, Access). Персональные СУБД обеспечивают возможность создания персональных БД и недорогих приложений, работающих с ними, и при необходимости создания приложений, работающих с сервером БД.
  • Многопользовательские (Oracle, Informix). Многопользовательские СУБД включают в себя сервер БД и клиентскую часть, могут работать в однородной и в неоднородной вычислительной среде (с разными типами ЭВМ и ОС).

По степени распределённости

  • Локальные СУБД (все части локальной СУБД размещаются на одном компьютере).

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

По способу доступа к БД

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

Преимуществом этой архитектуры является низкая нагрузка на процессор файлового сервера.

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

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

Примеры:

  • Microsoft Access.
  • Paradox.
  • dBase.
  • FoxPro.

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

Недостаток клиент-серверных СУБД состоит в повышенных требованиях к серверу.

Достоинства: потенциально более низкая загрузка локальной сети; удобство централизованного управления; удобство обеспечения таких важных характеристик, как высокая надёжность, высокая доступность и высокая безопасность.

Примеры:

  • Oracle Database.
  • MS SQL Server.
  • PostgreSQL.
  • MySQL.

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

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

Примеры:

  • OpenEdge.
  • SQLite.
  • Microsoft SQL Server Compact.
  • ЛИНТЕР.

Сравнение известных СУБД


Понятие instance (БД Oracle)

Высокий уровень сервиса гибкость и производительность, которую БД Oracle предоставляет клиентам обеспечивается сложным комплексом структур памяти и процессов операционной системы. Все эти понятия в совокупности называются "экземпляром" (instance). Любая БД Oracle имеет связанный с ней экземпляр. Сама по себе организация экземпляра позволяет СУРБД обслуживать множество типов транзакций, инициируемых одновременно большим количеством пользователей, в то же время обеспечивая высокую производительность, целостность данных и безопасность. При работе БД Oracle одновременно присутствует множество процессов, выполняющих специфические задачи, в рамках СУРБД. Каждый процесс имеет отдельный блок памяти, в котором сохраняются локальные переменные, стек адресов и другая информация. Все эти процессы используют так называемую - "разделяемую область памяти". В ней хранятся данные общего пользования. Доступ к этой памяти, как для записи, так и для чтения, могут получить одновременно различные процессы и программы. Этот блок памяти вообще называется - "Глобальной Системной Областью" или ГСО.


БД Oracle производит свое формирование следующим образом. Весь процесс делится примерно на три этапа:

  1. Формирование экземпляра Oracle (предустановочная стадия)
  2. Установка БД экземпляром (установочная стадия)
  3. Открытие БД (стадия открытия)

Получение описания таблицы (view) MySQl

Команда SHOW DATABASES выдает список баз данных на компьютере, где установлен сервер MySQL. Этот список можно также получить, воспользовавшись инструментом командной строки mysqlshow.

Команда SHOW TABLES выводит список таблиц в указанной базе данных. Этот список также можно получить, используя команду mysqlshow db_name.

Команда SHOW COLUMNS выводит список столбцов в заданной таблице. Если указать параметр FULL, то будут показаны также ваши привилегии для каждого столбца. Команда** SHOW FIELDS** является синонимом команды SHOW COLUMNS, а команда SHOW KEYS - синонимом SHOW INDEX. Список столбцов или индексов таблицы можно также вывести при помощи команды mysqlshow db_name tbl_name или mysqlshow -k db_name tbl_name.

Команда SHOW INDEX выводит информацию по индексу в формате, подобном формату вывода запроса SQLStatistics в ODBC.

Источники

ГОСТ 34.321-96. Информационные технологии. Система стандартов по базам данных. Эталонная модель управления данными

Р. Э. Мамедли Система управления базами данных. Учебное пособие - 2021 - с.10.

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

Иерархическая модель данных

Сетевая модель данных

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

Объектно-ориентированная СУБД

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

Файловый сервер

Клиент-серверная СУБД

Встраиваемая СУБД