
- •Основные функции субд:
- •По модели данных:
- •Иерархические (Иерархической базой данных является файловая система, состоящая из корневого каталога, в котором имеется иерархия подкаталогов и файлов).
- •Сетевые (Сетевые базы данных подобны иерархическим, за исключением того, что в них имеются указатели в обоих направлениях, которые соединяют родственную информацию).
- •По степени распределённости
- •Локальные субд (все части локальной субд размещаются на одном компьютере)
- •Распределённые субд (части субд могут размещаться на двух и более компьютерах).
- •Различные представления о данных в базах данных:
- •Ограничения не-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-технологии.
16.Основные команды языка ddl
Все операторы языка SQL разделяются на три составные части: DDL – язык определения данных, DCL – язык управления данными, DML – язык обработки данных.
Операторы языка DDL предназначены для создания, удаления, изменения основных объектов модели данных реляционных СУБД: таблиц, представлений, индексов.
CREATE TABLE <имя> - создание новой таблицы в базе данных.
DROP TABLE <имя> - удаление таблицы из базы данных.
ALTER TABLE<имя> - изменение структуры существующей таблицы или ограничений целостности, задаваемых для данной таблицы.
CREATE INDEX (Чтобы улучшить скорость доступа к данным. Использование индекса для столбцов, которые появляются в предложении WHERE, может улучшить эффективность поиска.);
ALTER INDEX (делает неактивный индекс доступным для использования или отключает использование активного индекса);
DROP INDEX (удаление индекса).
При выполнении аналогичных операций с представлениями в указанных операторах вместо служебного слова TABLE записывается слово VIEW (представление)
СОЗДАНИЕ ТАБЛИЦЫ
Упрощённый синтаксис оператора создания таблицы имеет следующий вид:
<определение_табл>::= CREATE TABLE имя_табл (имя_столб тип_данных) [NULL | NOT NULL][,..n])
Главное в команде создания таблицы – это определение имени таблицы и описание набора полей. Кроме того эта команда оговаривает типы данных и размеры полей таблицы. Ключевое слово NULL используется для указания того, то в этом столбце могут содержаться NULL значения. Если указано ключевое слово NOT NULL, то будут отклонены любые попытки поместить NULL в данный столбец. По умолчанию предполагает наличие NULL. Ключевым словом primary key задаётся ключ. Если первичный ключ будет составной, то эта команда указывается перед закрывающейся скобкой и в скобках пишутся нужные атрибуты. Первичный ключ бывает реальным, но иногда для некоторых объектов нельзя выделить реальные свойства, отделяющие этот объект. Тогда вводится суррогатный ключ.
CRЕATE TABLE Студент (шифр INT NOT NULL primary key, фамилия char[30] NOT NUL, и т.д.)
МОДИФИКАЦИЯ
Структура существующей таблицы может быть модифицирована с помощью команды ALTER TABLE.
ALTER TABLE имя_табл
{[ADD[COLUMN] имя_столб тип_данных [null|not null]]
| DROP [COLUMN] имя_столб]}
Команда позволяет добавлять и удалять столбцы таблицы. Основное правило при добавлении столбца в таблицу: когда в таблице уже содержатся данные, добавляемый столбец не может быть определён как NOT NULL.
Некоторые реализации могут ограничивать разработчика при использовании некоторых функций ALTER TABLE: может оказаться невозможным удаление столбца, могут быть трудно удалить столбец, зависящий от столбца другой таблицы и т.д.
Например ALTER TABLE Студент ADD адрес VARCHAR[100].
УДАЛЕНИЕ
Использует оператор DROP TABLE имя_таблицы [ RESTRICT | CASCAD]
Данная команда позволяет удалить целиком таблицу и все данные из неё. RESTRICT – при наличии в БД объекта, существование которого зависит от удаляемой таблицы, то удаление будет отменено. CASCAD – вместе с таблицей удалятся все зависящие от ней объекты.