- •Для чего нужны базы данных? Основные термины и определения. Компоненты субд.
- •Системы, основанные на файлах. Свойства, недостатки и пути их устранения.
- •Основные типы данных и их классификация. Модели данных и их компоненты. Типы моделей субд.
- •Методы доступа к данным. Поиск по дереву. Хеширование.
- •Назначение модели «сущность-связь». Элементы модели «сущность-связь».
- •Обор нотаций, используемых при построении диаграмм «сущность-связь». Нотация Чена
- •Нотация idef1x
- •Нотация Баркера
- •Иерархическая модель данных. Структура данных. Операции над данными. Ограничения целостности.
- •Сетевая модель данных. Структура данных. Операции над данными. Ограничения целостности.
- •10. Реляционная модель данных. Структура данных. Отношения. Свойство отношений.
- •Целостность реляционных данных. Null – значения. Трехзначная логика. Потенциальные ключи. Целостность сущностей.
- •Целостность реляционных данных. Внешние ключи. Родительские и дочерние отношения. Целостность внешних ключей.
- •Целостность реляционных данных. Операции, влияющие на целостность внешних ключей. Стратегии поддержания ссылочной целостности.
- •Этапы разработки баз данных. Критерии оценки качества логической модели данных.
- •15. Нормальные формы отношений. Первая нормальная форма (1нф). Аномалии обновления 1нф.
- •1Нф (Первая Нормальная Форма)
- •Третья нормальная форма (3нф). Сравнение нормализованных и ненормализованных моделей данных. Oltp и olap-системы.
- •Нормальная форма Бойса-Кодда (нфбк).
- •Многозначная зависимость. Четвертая нормальная форма (4нф).
- •Зависимость соединения. Пятая нормальная форма (5нф).
- •Обзор реляционной алгебры. Замкнутость реляционной алгебры. Отношения, совместимые по типу. Оператор переименования атрибутов.
- •Операции реляционной алгебры: объединение, пересечение, вычитание.
- •Операции реляционной алгебры: декартово произведение, выборка, проекция.
- •Операции реляционной алгебры: соединение, разновидности соединения, общая операция соединения, тэта-соединение.
- •Операции реляционной алгебры: соединение, разновидности соединения, экви-соединение, естественное соединение.
- •Операции реляционной алгебры: деление.
- •27.Язык sql. История развития. Структура языка. Типы данных sql.
- •Язык sql. Операторы создания и модификации схемы базы данных (database, table). Примеры написания операторов.
- •Язык sql. Операторы создания индексов. Операторы управления правами доступа. Примеры написания операторов
- •Язык sql. Команды модификации данных, условия отбора записей. Примеры написания операторов.
- •31.Язык sql. Оператор select. Синтаксис оператора, простые формы оператора, условия отбора записей. Примеры написания операторов.
- •32.Язык sql. Выборка из нескольких таблиц, синтаксис соединения таблиц. Примеры написания операторов.
- •33. ЯзыкSql. Использование алиасов и псевдонимов, вложенные запросы (подзапросы). Примеры написания операторов.
- •34.ЯзыкSql.Вычисления внутри оператора, группировка данных, сортировка данных, операция объединения. Примеры написания операторов
- •Оператор select. Формальный порядок выполнения оператора select. Как на самом деле выполняется оператор select.
- •37.ЯзыкSql. Использование представлений (View). Изменение данных в представлениях. Хранимые процедуры. Триггеры.
- •38.Транзакции, блокировки и многопользовательский доступ к данным.
- •1. Концептуальное проектирование;
- •2. Логическое проектирование;
- •3. Физическое проектирование.
- •41.Концептуальное моделирование. Пример построения модели «сущность-связь».
- •43.Проектирование реляционной базы данных на основе декомпозиции универсального отношения.
- •44.Создание приложений, работающих с базами данных при помощи языка sql. Общие подходы. Специализированные библиотеки доступа. Cli-интерфейс уровня вызова.
- •46.Архитектура "клиент-сервер". Структура сервера базы данных.
Язык sql. Операторы создания и модификации схемы базы данных (database, table). Примеры написания операторов.
При описании команд предполагается, что:
- текст, набранный строчными буквами (например, CREATE TABLE) является обязательным;
- текст, набранный прописными буквами и заключенный в угловые скобки (например, <имя_базы_данных>) обозначает переменную, вводимую пользователем;
- в квадратные скобки (например, [NOT NULL]) заключается необязательная часть команды;
- взаимоисключающие элементы команды разделяются вертикальной чертой (например, [UNIQUE | PRIMARY KEY]).
Команда |
Описание |
CREATE DATABASE <имя_базы_данных> |
Создание базы данных. |
DROP DATABASE <имя_базы_данных> |
Удаление базы данных. |
Создание таблицы:
CREATE TABLE <имя_таблицы>
(<имя_столбца><тип_столбца>
[NOT NULL]
[UNIQUE | PRIMARY KEY]
[REFERENCES <имя_мастер_таблицы> [<имя_столбца>]]
, ...)
Пользователь обязан указать имя таблицы и список столбцов. Для каждого столбца обязательно указываются его имя и тип, а также опционально могут быть указаны параметры:
- NOT NULL - в этом случае элементы столбца всегда должны иметь определенное значение (не NULL);
- один из взаимоисключающих параметров UNIQUE - значение каждого элемента столбца должно быть уникальным или PRIMARY KEY - столбец является первичным ключом;- REFERNECES <имя_мастер_таблицы> [<имя_столбца>] - эта конструкция определяет, что данный столбец является внешним ключом и указывает на ключ какой мастер_таблицы он ссылается.
Контроль за выполнением указанных условий осуществляет СУБД.
Удаление таблицы: DROP TABLE <имя_таблицы>
Добавить столбцы |
ALTER TABLE <имя_таблицы> ADD (<имя_столбца><тип_столбца> [NOT NULL] [UNIQUE | PRIMARY KEY] [REFERENCES <имя_мастер_таблицы> [<имя_столбца>]] ,...) |
Удалить столбцы |
ALTER TABLE <имя_таблицы> DROP (<имя_столбца>,...) |
Модификация типа столбцов |
ALTER TABLE <имя_таблицы> MODIFY (<имя_столбца><тип_столбца> [NOT NULL] [UNIQUE | PRIMARY KEY] [REFERENCES <имя_мастер_таблицы><имя_столбца>]] ,...) |
Язык sql. Операторы создания индексов. Операторы управления правами доступа. Примеры написания операторов
Создание индекса:
CREATE [UNIQUE] INDEX <имя_индекса> ON <имя_таблицы>(<имя_столбца>,...)
Эта команда создает индекс с заданным именем для таблицы <имя_таблицы> по столбцам, входящим в список, указанный в скобках. Создание индексов значительно ускоряет работу с таблицами. В случае указания необязательного параметра UNIQUE СУБД будет проверять каждое значение индекса на уникальность.
Очень часто встает вопрос, какие поля необходимо индексировать. Обязательно надо строить индексы для первичных ключей, поскольку по их значениям осуществляется доступ к данным при операциях соединения двух и более таблиц. Также в ответе на этот вопрос поможет анализ наиболее частых запросов к базе данных. Например, для БД publications можно ожидать, что одним из наиболее частых запросов будет выборка всех публикаций данного автора.
Для минимизации времени этого запроса необходимо построить индекс для таблицы authors по именам авторов:
CREATE INDEX au_names ON authors (author);
Создание индексов для первичных ключей:
CREATE INDEX au_index ON authors (au_id); CREATE INDEX title_index ON titles (title_id); CREATE INDEX pub_index ON publishers (pub_id); CREATE INDEX site_index ON wwwsites (site_id);
Первоначальное определение структуры индексов производится разработчиком на стадии создания прикладной системы. В дальнейшем она уточняется администратором системы по результатам анализа ее работы, учета наиболее часто выполняющихся запросов и т.д.
Удаление индекса:
DROP INDEX <имя_индекса>
