- •Основные функции субд:
- •По модели данных:
- •Иерархические (Иерархической базой данных является файловая система, состоящая из корневого каталога, в котором имеется иерархия подкаталогов и файлов).
- •Сетевые (Сетевые базы данных подобны иерархическим, за исключением того, что в них имеются указатели в обоих направлениях, которые соединяют родственную информацию).
- •По степени распределённости
- •Локальные субд (все части локальной субд размещаются на одном компьютере)
- •Распределённые субд (части субд могут размещаться на двух и более компьютерах).
- •Различные представления о данных в базах данных:
- •Ограничения не-Null Ограничение не-null просто говорит, что колонка не должна содержать значение null. Пример синтаксиса:
- •2. Определение структур базы данных (ddl)
- •3. Манипуляция данными (dml)
- •4. Отбор данных (dql)
- •5. Язык управления данными (dcl)
- •6. Команды администрирования данных
- •7. Команды управления транзакциями
- •14.Запись sql-операторов
- •15.Типы данных языка sql, определенные стандартом
- •16.Основные команды языка ddl
- •17.Основные команды языка dml
- •18.Оператор выбора select
- •19.Применение агрегатных функций и вложенных запросов в операторе выбора
- •20. Операторы манипулирования данными
- •21.Физическая организация бд: файлы, записи, блоки.
- •23.Организация файла бд в виде кучи. Эффективность таких файлов.
- •24.Хешированные файлы: бакет, каталог бакетов, дополнительный каталог бакетов, выбор хеш-функции. Операции над хешированными файлами.
- •25.Сравнение эффективности хешированных файлов и файлов, организованных в виде кучи. Причины снижения эффективности хешированных файлов.
- •26.Динамическое хеширование. Операции над динамически хешированными файлами.
- •27.Последовательная организация файлов. Операции добавления и удаления записей в последовательных файлах, блок переполнения.
- •28. Индексированные файлы: инициализация, поиск.
- •29. Индексированные файлы: операции вставки и удаления записей.
- •30.Разреженные и плотные индексы. Индексация по нескольким полям.
- •Составные индексы
- •31.Эффективность операций в индексированных файлах при различной организации поиска.
- •32.B-деревья: принципы построения, операция поиска.
- •33.В-деревья: операции добавления и удаления записей.
- •34.Эффективность организации файлов в виде в-дерева.
- •35.Технология кластеризации бд.
- •36.Технология сжатия информации в бд.
- •37.Основные шаги обработки запросов.
- •Можно транслировать в выражение
- •38.Статистика бд.
- •40.Алгоритмы выполнения селекции с одним условием сравнения: размер селекции, использование первичного индекса, использование вторичного индекса.
- •41.Размер комплексной селекции при конъюнкции и дизъюнкции условий.
- •43.Алгоритм внешней сортировки.
- •44.Размер операции соединения. Алгоритм соединения, основанный на двух вложенных циклах.
- •45.Алгоритмы выполнения соединения: поблочное соединение, усовершенствование алгоритма поблочного соединения, соединение по индексу.
- •46.Алгоритм соединения слиянием.
- •47.Алгоритмы выполнения операций с множествами, проекции, внешнего соединения.
- •48.Два подхода к вычислению выражений при обработке запросов.
- •50.Виды оптимизаторов: итеративный, основанный на стоимостях и эвристический.
- •51.Понятие транзакции. Свойства acid транзакций.
- •52.Аномалии параллельных транзакций: потерянное обновление, зависимость от нефиксированных результатов, несогласованная обработка.
- •53.Понятие плана параллельного выполнения транзакций. Последовательные, непоследовательные и неупорядоченные планы.
- •54.Конфликтное упорядочивание планов и упорядочивание планов по просмотру.
- •55.Блокировки как механизм управления параллельными транзакциями: понятие блокировки, хранение блокировок, виды блокировок.
- •56.Работа транзакций при использовании механизма блокировок. Предотвращение аномалий при использовании блокировок.
- •57.Понятие протокола. Двухфазный протокол.
- •58.Проблема каскадного отката в параллельных транзакциях. Строгий двухфазный протокол.
- •59.Взаимная блокировка параллельных транзакций.
- •60.Использование метода временных отметок для управления параллельными транзакциями.
- •61.Оптимистические технологии управления транзакциями.
- •63.Уровни изоляции параллельных транзакций.
- •64.Восстановление бд: возможные причины отказов, механизм резервного копирования, журнал транзакций, создание контрольных точек.
- •65.Методы восстановления бд: восстановление с резервной копии, метод «redo», метод теневых страниц.
- •66.Улучшенные модели транзакции: проблемы классических моделей транзакций, модель вложенных транзакций, модель хроник.
- •67.Технология raid. Уровни raid.
- •68.Oltp- технологии и хранилища данных. Хранилища данных.
- •Понятие хранилища данных.
- •Проблемы хранилищ данных.
- •Архитектура хранилища данных
- •Проектирование схемы бд для хранилища данных.
- •Olap-технологии.
20. Операторы манипулирования данными
В операции манипулирования данными входят три операции: операция удаления записей — ей соответствует оператор DELETE, операция добавления или ввода новых записей — ей соответствует оператор INSERT и операция изменения (обновления записей) — ей соответствует оператор UPDATE.
INSERT (добавление строки);
UPDATE (изменение строки в таблице);
DELETE (удаление строки в таблице).
ДОБАВЛЕНИЕ:
Оператор INSERT используется для добавления записи и имеет формат
INSERT INTO <имя таблицы> [(имя столбца [,..n])] {VALUES (значение [,..n]) | <SELECT_оператор>}
Пример: INSERT INTO студент (фамилия, шифр) VALUES(‘Петров ‘, 1111).
Форма оператора insert с параметром values предназначена для вставки единственной строки в таблицу. Список столбцов указывает столбцы, в которые будут присвоены значения в добавляемых записях. Этот список может быть опущен, тогда подразумеваются все столбцы по порядку. Если указывается конкретный список имён полей, то любые пропущенные в нём столбцы должны быть объявлены при создании таблицы как NULL, за исключением тех случаев, когда при описании столбца использовался параметр default. Список значений должен соответствовать списку столбцов следующим образом:
1) количество элементов в обоих списках должно быть одинаково;
2) должно существовать прямое соответствие между позициями элемента в обоих списках;
3) типы данных элементов в списки значений должны быть совместимы с типами данных соответствующих столбцов таблицы.
Вторая форма оператора insert с параметром select позволяет скопировать множество строк из одной таблицы в другую. Вставляемые в таблицу строки должны в точности соответствовать строкам результирующей таблицы, созданной при выполнении вложенной операции, причём все перечисленные ограничения также применимы.
INSERT INTO итог (название, месяц, стоимость) SELECT название товара, месяц сделки, сумма FROM товар_сделка where сумма=6599
УДАЛЕНИЕ:
DELETE FROM <имя таблицы> [WHERE <условия отбора>]
Без where удалится вся информация, но таблица останется, с where удалится по условию.
ОБНОВЛЕНИЕ
UPDATE <имя таблицы> SET <имя столбца=название>[,..n] [where <условие отбора>]
Where необязательно, если опущено, то значения будут указаны во всех строках, если присутствует, то только по условию. При этом выражение представляет собой новое значение соответствующего столбца и должно быть совместимо с ним по типу данных.
UPDATE mark_st
SET mark = ‘5’
WHERE id_st = 100 AND id_ex = 10
21.Физическая организация бд: файлы, записи, блоки.
База данных (БД) – это совместно используемый набор логически связанных данных и описание этих данных, предназначенное для удовлетворения информационных потребностей организации.
От того, каким образом данные физически хранятся на дисках, в большой степени зависит скорость работы с данными. Можно сказать, что база хранится на диске как набор записей различного формата. Часто при обсуждении физического хранения данных исп-ют термин «файл». В данном случае под файлом понимают набор записей одинакового формата, т.е. файл аналогичен отношению. Каждая запись файла включает столько байт сколько необходимо для сохранения всех полей записи. Кроме того запись может включать след. доп. байты:
Нек-ые байты могут свидетельствовать о формате записи. Это необходимо, если совместно хранятся записи различных форматов.
Один или неск-ко байт могут хранить инфо о длине записи или длине поля. Такая инфо необходима в случае использования типа varChar.
Бит удаления. Большинство БД при выполнении запроса delete не производит фактического удаления записи, т.к. это дорогостоящая операция. Вместо этого у соответствующей записи взводится бит удаления.
Бит использования. Он хранит инфо о наличии свободного места.
Неиспользуемое пространство.
Если запись подразумевает такие типы данных как text, image, blob (двоичная инфо), то такие данные не хранятся вместе с записью, а хранятся в отдельном блоке. В записи же хранится адрес.
Пример: Сотрудник (таб. №: int; № отд.: int; Фамилия: char(20); Фото: image)
1ый байт – служебная инфо; 2ой-5ый – табел. номер; 6ой-9ый – номер отдела; 10-29 – фамилия; 30-33 – ссылка на фото; 34ый байт – служеб. инфо; 39-42 – номер отдела; 43-62 – фамилия; 63-66 – ссылка на фото.
Если тип varChar:
1ый байт – служебная инфо; 2-5 – табел. номер; 6-9 – номер отдела; 10 байт – длина фамилии; 11-16 – фамилия, если 6 символов в ней; 17-20 – адрес; 21 – служеб. инфо; 22-25 – таб. номер; 26-29 – номер отдела; 30 – длина, напр., 2; 31-32 – фамилия.
Наиболее быстрая обработка данных была бы возможна, если бы вся БД помещалась в оперативной памяти. Однако реальные базы гораздо больших размеров, чем реальная память. Поэтому можно говорить, что отношение при хранении разбивается на фрагменты. Такие фрагменты наз-ся блоки или страницы. Размер блока зависит от кол-ва байт, к-ые м.б. считаны или записаны за одно обращение к диску. Нек-ые СУБД позволяют управлять размерами блока. Каждый блок включает мн-во записей, чаще всего одного формата. Кроме того блок включает адрес след-его блока файла. Блок может включать служебные байты, напр., с кол-вом записей в нем. Блоки могут иметь неиспользуемое пространство для повышения эффективности обработки.
Файл может включать так называемый нулевой блок, формат к-ого отличается от ост-ых блоков. Такой блок может содержать схему отношения. Блоки м.б. по-разному организованы внутри файла, напр., м.б. файлы, организованные в виде кучи, хешированные и упорядоченные файлы. Эффективность той или иной организации файла будем оценивать кол-вом блоков, к-ые необходимо считать с диска при поиске инфо.