
- •История развития бд. Сравнить между собой этапы(файлы и файловые системы, бд на больших эвм, эпоха персональных компьютеров, распределенные базы данных)
- •Файлы и файловые системы
- •I Этап — бд на больших эвм.
- •II этап —эпоха пк.
- •III этап: распределённые базы данных.
- •IV этап. Перспектива развития субд.
- •Архитектура базы данных. Физическая и логическая независимость (трехуровневая модель ansi).
- •Архитектура бд
- •Описать процесс прохождения пользовательского запроса
- •Пользователи баз данных. Основные функции группы администратора бд
- •Перечислить классы субд. Какие возможности обеспечивает использование профессиональных субд. Модели данных в субд
- •Этапы разработки аис.
- •Режимы работы с базой данных.
- •Архитектура клиент-сервер: структура типового интерактивного приложения
- •Модель fs;
- •Модель rda(удалённого доступа к данным)
- •Модель сервера баз данных
- •Модель сервера приложений
- •Классификация моделей данных (описать и прокомментировать все уровни).
- •Иерархическая модель данных. Язык описания данных иерархической модели. Внешние модели.
- •Язык манипулирования данными в иерархических базах данных. Операторы поиска данных. Операторы поиска данных с возможностью модификации. Операторы модификации данных. Операторы поиска данных.
- •Операторы поиска данных с возможностью модификации.
- •Сетевая модель данных. Язык описания данных в сетевой модели.
- •Разделы яод
- •Язык манипулирования данными в сетевой модели.
- •Реляционная алгебра. Теоретико-множественные операции реляционной алгебры. Основные операции (объединение, пересечение, разность, конкатенация кортежей, произведение)
- •Реляционная алгебра. Теоретико-множественные операции реляционной алгебры. Специальные операции (выборка, проекция, соединение, деление).
- •Язык sql. История развития sql. Структура sql. Типы данных.
- •Структура sql
- •Операторы описания данных (ddl).
- •Операторы манипулирования данными (dml)
- •Язык запросов dql. Оператор выбора select.
- •Выборка из одной таблицы
- •Предикаты раздела where
- •Null-значения. Трехзначная логика
- •Агрегатные функции в операторе выбора
- •Вложенные запросы.
- •Проектирование реляционных бд на основе принципов нормализации
- •Этапы жизненного цикла бд. Этапы проектирования бд
- •Системный анализ предметной области (два подхода к выбору состава и структуры предметной области)
- •Инфологическое моделирование. Er - модель (базовые понятия сущность, связь, типы связей: 1:1, 1:n, n:n, обязательная/необязательная).
- •Переход к реляционной модели данных (правила преобразования er-модели в реляционную).
- •Даталогическое проектирование. Перечень результирующих документов, корректная схема бд. Два пути проектирование схемы бд.
- •Последовательность нормальных форм. Их свойства. Первая нормальная форма (1нф), вторая нормальная форма (2нф),
- •Первая нормальная форма
- •Вторая нормальная форма
- •Третья нормальная форма (3нф), нормальная форма Бойса-Кодда (бк нф), Третья нормальная форма
- •Нормальная форма Бойса-Кодда
- •Четвертая нормальная форма (4нф), пятая нормальная форма (5нф) Четвертая нормальная форма
- •Пятая нормальная форма
- •Сурбд Oracle. Конфигурации Oracle. Типы пользователей. Основные обязанности dba.
- •Типы пользователей
- •Архитектура Oracle (физический и логический уровень)
- •Субд Oracle. Табличные пространства. Сегменты, экстенты и блоки данных.
- •Экземпляр Oracle. Sga, pga
- •Процессы. 7 основных фоновых процессов Oracle
- •Объекты бд Oracle. Создание таблиц. Типы данных
- •Субд Oracle. Создание индексов.
- •Субд Oracle. Создание представлений
- •Субд Oracle. Создание последовательностей
- •Техническая часть
- •Субд Oracle. Определенные пользователем типы данных. Создание синонимов
- •Субд Oracle. Создание ограничений
- •Субд Oracle. Создание табличных пространств
- •Основные понятия и конструкции pl/sql. Архитектура pl/sql
- •Поддерживаемый набор символов pl/sql. Арифметические операторы и операторы отношения Набор символов pl/sql
- •Структура программы и переменные pl/sql
- •[Править] Типы данных
- •Операторы управления
- •Pl/sql. Условные операторы if
- •Pl/sql. Циклы
- •Pl/sql. Курсоры
- •Pl/sql. Хранимые процедуры
- •Pl/sql. Функции
- •Pl/sql. Триггеры
-
Экземпляр Oracle. Sga, pga
Состоит из процессов и разделяемой памяти, необходимой для доступа к данным. Содержит пользовательские процессы, фоновые процессы и общую память для этих процессов.
Разделяемая память используется для кэширования данных, хранения индексов и программного кода.
Буфер - некоторый объём оперативной памяти.
Кэш – область памяти для быстрого доступа к данным.
Разделяемая память делится на несколько структур. Основные:
-
Системная глобальная область. System Global Area, SGA
-
Программная глобальная область. PGA
Системная глобальная область – та область выделяемой памяти, которая используется для хранения данных и управляющей информации одного конкретного экземпляра Oracle. SGA размещается в памяти при запуске экземпляра Oracle и освобождает память при останове. Каждый запущенный экземпляр Oracle имеет свою собственную SGA.
Кэш-буфер данных хранит последние открытые блоки данных двух видов: чистые и грязные. Грязные – те, которые изменились, но ещё не записаны на диск. Чистые – не изменённые или записанные на диск после изменений.
Буфер журнала транзакций хранит данные об изменениях БД. Это циклический буфер. Как только н заполнен и поступает новая информация, то происходит перезапись файла журнала транзакций.
Разделяемый пул – библиотечный кэш и кэш словаря данных.
Библиотечный кэш используется для хранения разделяемых SQL. Здесь для каждого уникального SQL выражения строится дерево разбора строк и план исполнения, которые кэшируются (сохраняются в библиотечном кэше).
Если несколько приложений отправляют одинаковые SQL-выражения, то разбирается это выражение только однажды, а последующие запросы используют данные кэша.
Кэш словаря данных содержит набор таблиц и представлений, используемых в качестве ссылок к БД Oracle. Здесь хранится информация о логической и физической структуре БД. Информация: пользовательская (привилегии), ограничения целостности для таблиц БД, данные о структуре объектов, данные об объёме памяти, определённом и используемом объектами схемы БД.
Oracle постоянно обращается к словарю данных в процессе работы. Узкие места словаря влияют на работу всех пользователей. Например, недостаточный объём памяти, выделенный для разделяемого пула, может привести к деградации производительности всей системы.
Программная глобальная область – область памяти, в которой хранятся данные и управляющая информация о серверных процессах Oracle.
-
Процессы. 7 основных фоновых процессов Oracle
Процесс (нить, демон) – механизм выполнения программного кода. Несколько процессов могут работать одновременно.
Оракал работает с двумя видами процессов: пользовательские процессы и процессы Оракал.
Пользовательские (клиентские процессы) – пользовательские соединения с СУБД. Управляют вводом и взаимодействуют с серверными процессами Оракал через программный интерфейс. Процессы Оракал выполняют функции для пользовательских процессов.
Процессы Оракал (теневые или фоновые) выполняют внутренние задачи и всё такое.
DBWR (Database Writer) – записывает грязные блоки из блоковых буферов БД на диск.
LGWR (Log Writer) – записывает данные из журнального буфера в журнал изменений.
CRPT (ChecK PoinT) - даёт сигнал процессам DBWR о необходимости выполнения контрольной точки и обновления всех файлов данных и управляющих файлов.
Контрольная точка – событие, когда все изменённые буферы БД записываются на диск.
PMON (Process MONitor) – используется для поддержания остальных процессов и перезапуска преждевременно погибших.
SMON (System MONitor) – выполняет восстановление экземпляра при его запуске. Это включает очистку временных сегментов и восстановление незаконченных транзакций.
RECO (RECOvery) – очищает незаконченные транзакции в распределённой БД. Выполняет фиксацию или откат спорных транзакций.
ARCH (ARCHiver) – копирует файлы журнала изменений при их заполнении в архив.
Транзакция – логически завершённый фрагмент последовательности действий (одна или более SQL команд, завершённых фиксацией или откатом). Производительность часто оценивается в транзакциях в единицу времени.