Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SUBD_shpory.docx
Скачиваний:
3
Добавлен:
25.09.2019
Размер:
724.44 Кб
Скачать
  1. Основные понятия: база данных, система управления базами данных, экземпляр базы данных, архитектура клиент/сервер СУБД, архитектура СУБД ANSI-SPARC, СУБД и модель OSI/ISO, 12 правил Кодда, компоненты СУБД, основные функции поддерживаемые современными СУБД, классификация СУБД, основные тенденции технологий СУБД, наиболее распространенные СУБД.

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

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

Экземпляр (instance) менеджера СУБД - логическая среда, которая характеризуется своими ресурсами и параметрами.

архитектура СУБД ANSI-SPARC

СУБД и модель OSI/ISO

СУБД, имеющие архитектуру клиент сервер, как правило, состоят из двух частей:

  • клиент (набор интерфейсных модуле и утилит);

  • сервер (ядро, языковый процессор, подсистема поддержки времени исполнения).

12 Правил Кодда:

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

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

  3. Гарантированный доступ к данным: все данные должны быть доступны по имени таблицы, первичному ключу и имени столбца;

  4. Поддержка пустых значений: наличие значения NULL;

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

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

  3. Правило обновлений представлений (возможность модификации представлений): для любого представление должны поддерживаться все операции DML;

  4. Наличие высокоуровневых операций манипулирования данными: Insert, Delete, Update можно выполнять для любого множества строк;

  5. Физическая независимость данных: приложения не зависят от физического расположения данных и от аппаратного обеспечения компьютеров;

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

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

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

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

Компоненты:

  • ядро (управление внешней и оперативной памятью, журнализация);

  • процессор (компилятор или интерпретатор) языка базы данных (обычно вместе с оптимизатором);

  • подсистема поддержки времени исполнения (исполнение откомпилированных операторов языка базы данных);

  • сервисные утилиты.

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

Данные

Управление данными

Языковая поддержка

Средства безопасности

Средства программирования

Режимы работы

Утилиты СУБД

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

  • по поддерживаемой модели;

  • по степени распределенности (централизованные, распределенные);

  • по способу доступа (файл-серверные:Microsoft Access, Clipper, dBase, клиент-серверные: Oracle, MS SQL Server, IBM DB2, встраиваемые: SQLite, BerkeleyDB);

по технологии физического хранения (во вторичной памяти, в оперативной памяти, в третичной памяти).

Тенденции:

  • Повсеместность структурированных и не структурированных данных

  • Расширяющиеся требования разработчиков

  • Облачные (cloud) технологии

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

  • Декларативное программирование для новых платформ (распараллеливание);

  • Взаимосвязь структурированных и неструктурированных данных;

  • Облачные службы данных

  • Мобильные приложения.

90% данных в мире хранятся в СУБД Oracle, MS SQL Server и IBM DB2;

  1. Дистрибутивы (варианты поставки) СУБД Oracle. Архитектура клиент/сервер. Переменные окружения сервера (реестр) и клиента. Основные системные пользователи СУБД, системная роль DBA, специальные системные привилегии (SYSDBA и SYSOPER).

EE, SE (не более 4х процессорных разъемов), SE1 (не более 2х процессорных разъемов), PE (один пользователь), Lite (для мобильных и встраиваемых устройств), XE (бесплатная ограниченная версия).

СУБД, имеющие архитектуру клиент сервер, как правило, состоят из двух частей:

  • клиент (набор интерфейсных модуле и утилит);

  • сервер (ядро, языковый процессор, подсистема поддержки времени исполнения).

  • SYS – генерируемый Oracle (предопределенный) привилегированный пользователь ранга администратора базы данных (АБД), который является владельцем ключевых ресурсов БД Oracle (модули Oracle, таблицы словаря БД, V$-представления словаря, ...).

  • INTERNAL – специальный привилегированный псевдоним для пользователя SYS, который используется, как правило, для запуска и остановки экземпляра БД Oracle.

  • SYSTEM - генерируемый Oracle (предопределенный) привилегированный пользователь, которому принадлежат ключевые ресурсы БД Oracle (представления словаря БД, репозиторий инструментов, ...).

  • SYSMAN - генерируемый Oracle (предопределенный) пользователь, который является владельцем всех ресурсов Enterprise Manager (EM).

  • DBAпредопределенная роль, которая автоматически создаётся для каждой базы данных Oracle и содержит все системные привилегии, кроме SYSDBA и SYSOPER. Должна назначаться только администраторам, которым требуется полный доступ.

  • SYSDBA и SYSOPER - специальные привилегии администратора, которые позволяют выполнять базовые задачи администрирования: запуск или остановка экземпляра БД; создание, удаление, открытие или монтирования базы и др. Роль DBA не включает SYSDBA и SYSOPER. Привилегии могут быть указаны при подключении (connect) пользователя к БД.

  1. Архитектура БД под управлением СУБД Oracle: клиент/серверная архитектура, принципы (протоколы) взаимодействия клиента и сервера, абстрактная схема, основные области оперативной памяти, файлы СУБД Oracle, принципы, схема работы с выделенным сервером, схема работы с разделяемыми серверами (многопоточный режим),процессы Oracle (серверные и фоновые), слушатели и диспетчеры, параметры экземпляра Oracle, буферные пулы (DEFAULT, KEEP, RECYCLE).

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

Взаимодействие клиента и сервера

Абстрактная схема СУБД Oracle

Области оперативной памяти

System Global Area (SGA) системная глобальная память, состоящая из следующих компонент:

  • fixed sga – фиксированная часть SGA;

  • buffer cache – буферный кэш; содержимое кэша регулируется LRU;

  • log buffer – буферы журналов повтора;

  • shared pool – разделяемый пул; компоненты разделяемый пула: library cache – библиотечный кэш (откомпилированные SQL-операторы и их планы исполнения, разделяемые курсоры); dictionary cache – словарный кэш (хранение данных словаря БД);

  • java pool – используется для процедур и функций на Java;

  • large pool используется в режиме MTS сервера Oracle.

Program Global Area (PGA) – программная глобальная область: значения переменных для исполняемых SQL-операторов, область сортировки, характеристики обработки курсоров.

Режим работы с выделенным сервером

Три класса процессов экземпляра Oracle

1)серверные процессы (теневые);

2)фоновые процессы;

3)подчиненные процессы.

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

  • разбирает SQL-запрос клиента;

  • помещает запрос в разделяемый пул (или находит запрос там);

  • создает и реализует план запроса;

  • создает буферный кэш или находит данные в буферном кэше;

  • Режим многопоточного сервера

Фоновые процессы

ARCn – архивирование журналов;

LGWR – запись журнала;

MMAN – управление памятью (буферный пул, shared, Java, Large);

PMON – монитор процессов(очистка после нештатного прекращения подключения, перезапуск всех процессов, устанавливает связь с Listener);

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

BUFFER_POOL (тип буферного пула): значения KEEP (объект по возможности навсегда останется в оперативной памяти), RECYCLE (объект удаляется сразу, как только становится не нужным), DEFAULT (повторное применение буферов по алгоритму LRU); применение KEEP и RECYCLE требует специальной DBA-настройки.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]