- •1)Основные функции системы управления базами данных.
- •2)Виды моделей данных. Примеры.
- •3)Три уровня представления данных в субд (ansi/sparc).
- •4)Архитектурные решения, используемые при реализации многопользовательских субд.
- •5)Классификация бд. Примеры субд
- •6)Основные понятия реляционных баз данных (тип данных, домен, атрибут, отношение, заголовок отношения, кортеж, тело отношения, значение отношения, переменная отношения, первичный ключ). Пример.
- •7)Целостность реляционных данных. Ключи (потенциальные, первичные, альтернативные, внешние)
- •8)Язык sql. Составные части. Разновидностями языка sql. Отличие от процедурных языков программирования.
- •9)Архитектура и принципы физического хранения данных в субд MySql
- •10)Команда create database. Команды выбора бд.
- •11) Команда создания таблиц. Пример для субд MySql. Просмотр структуры таблицы.
- •12)Команда изменения структуры таблицы. Основные преобразования, выполняемые этим оператором. Примеры для субд MySql.
- •13)Три категории типов данных столбцов субд MySql. Сравнить типы данных char и varchar.
- •14)Три категории типов данных столбцов субд MySql. Сравнить типы данных set и enum.
- •15)Три категории типов данных столбцов субд MySql. Сравнить типы данных blob и text.
- •16)Типы данных даты и времени субд MySql.
- •17)Запись данных в таблицу субд MySql. Ввод данных из файла.
- •5.1. Запись данных в таблицы
- •18)Синтаксис оператора select. Выборка данных с помощью условия. Примеры для субд MySql.
- •19)Синтаксис оператора select. Операторы in и between.
- •Операторы in и between
- •20)Агрегатные функции MySql. Примеры для субд MySql.
- •Поиск минимального и максимального значений столбца.
- •21)Синтаксис оператора select. Ограничение количества извлекаемых данных. Упорядочивание данных.
- •Упорядочивание данных order by
- •22)Вложенные запросы. Синтаксис. Изменение записей update.
- •23) Основные функции для работы с датой и временем в MySql (текущая дата, выделение части даты). Представление даты. Примеры.
- •24) Основные функции для работы со строками в MySql. Сравнение строк, длина строки, приведение к нижнему и верхнему регистрам. Примеры.
- •Insert(строка, позиция, длина, новая_строка)
- •25) Компоненты ms sql Server. Системные базы данных.
- •26)Типы данных ms sql Server. Пользовательские типы данных. Пример создания.
- •27)Типы данных ms sql Server. Пространственные и специальные типы данных.
- •28)Конструкции Transact-sql. Переменные.
- •Управляющие конструкции Transact-sql:
- •1.С входным выражением:
- •29) Физическая организация базы данных ms sql Server. Типы файлов баз данных. Файловые группы.
- •30)Физическая структура файлов данных. Экстенты.
- •31)Физическая структура файлов данных. Типы страниц.
- •32) Индексы. Виды индексов ms sql Server.
- •33)В-деревья. Примеры.
- •34) Создание, изменение индекса в ms sql Server. Сравнение кластеризованных и некластеризованных индексов.
- •35) Секционирование таблиц.
- •36)Выборка данных из нескольких таблиц. Конструкция join. Виды соединений.
- •37) Объединение нескольких наборов результатов union. Примеры.
- •38) Виды соединений. Примеры.
- •39)Агрегатные функции. Примеры.
- •40)Подзапросы. Примеры.
- •41) Безопасность в ms sql Server. Роли сервера. Учетные записи для входа.
- •Роли сервера
- •Управление учетными записями для входа
- •42)Безопасность в ms sql Server. Роли базы данных. Предоставление доступа к бд.
- •43)Представления. Примеры.
- •Создание представлений
- •44)Курсор. Виды курсоров. Управление курсорами.
- •Управление курсором в среде ms sql Server
- •45)Пользовательские функции и хранимые процедуры.
- •46)Сценарии и пакеты в ms sql Server. Схемы бд.
- •47)Триггеры.
- •48)Ограничение check.
- •49)Реляционная алгебра Кодда. Основные операторы.
- •Основные операторы реляционной алгебры
- •50)Нормализация бд. Нормальные формы.
- •51) Этапы проектирования бд.
46)Сценарии и пакеты в ms sql Server. Схемы бд.
Сценарием считается совокупность операторов, хранящихся в виде отдельного файла, который может вызываться на выполнение и использоваться повторно. Сценарии SQL хранятся в виде текстовых файлов. В обычных условиях сценарий либо выполняется полностью либо не выполняется вообще. В сценариях могут использоваться и системные, и локальные переменные.
Пакет – это средство группирования операторов T-SQL в виде одной логической единицы. Все операторы, которые содержатся в пакете, объединяются в один план выполнения, поэтому в процессе синтаксического анализа рассматриваются все операторы и все они успешно должны пройти проверку синтаксиса, так как в противном случае не будет выполнен ни один из операторов.
Чтобы разделить сценарий на несколько пакетов, можно воспользоваться оператором GO.
Оператор GO характеризуется описанными ниже особенностями.
оператор должен находиться на отдельной строке (на той же строке не должно быть больше ничего, за исключением комментариев);
оператор GO вызывает компиляцию всех операторов от начала сценария или от предыдущего оператора GO (в зависимости от того, что ближе), после чего полученный план выполнения передается на сервер независимо от всех других пакетов.
Каждый пакет обрабатывается независимо от других пакетов, поэтому ошибка при выполнении одного пакета не исключает возможности успешного выполнения другого пакета.
Рассмотрим сценарий, в котором создается база данных вместе с некоторыми таблицами:
CREATE DATABASE Test
USE Test
CREATE TABLE TestTable
(coll int, col2 int)
Пакеты имеют несколько назначений, но все области их применения имеют общую особенность - пакеты используются для выполнения каких-либо действий, которые должны быть осуществлены либо заблаговременно, либо отдельно от всех прочих действий в сценарии.
Схема формально определяется как набор объектов в базе данных, объединенных общим пространством имен.
Оператор CREATE SCHEMA
Данный оператор может создавать схему, создавать таблицы и представления, которые содержит эта схема, а так же предоставлять или отменять полномочия по управлению безопасностью в одном операторе.
Оператор ALTER SCHEMA
Данный оператор перенаправляет объект между различными схемами в одной и той же базе данных. Синтаксис оператора ALTER SCHEMA имеет следующий вид:
ALTER SCHEMA schema_name TRANSFER object_name
Оператор DROP SCHEMA удаляет схему из базы данных.
47)Триггеры.
Триггер - это хранимая процедура особого типа, вызываемая на выполнение в ответ на определенные события .
Триггеры подразделяются на два основных типа:
триггеры языка определения данных (Data Definition Language - DDL) и
триггеры языка манипулирования данными (Data Manipulation Language - DML).
Триггеры DDL активизируются в ответ на внесение каких-либо изменений в структуру базы данных теми или другими пользователями (под этим подразумеваются изменения, осуществляемые с помощью операторов CREATE, ALTER, DROP и т.п.). Триггеры этого типа были впервые введены в версии SQL Server 2005. Чаще всего триггеры DDL используются, если есть необходимость чрезвычайно строго следить за внесением изменений в структуру базы данных и регистрировать хронологию этих изменений.
Триггеры DML представляют собой фрагменты кода, которые закрепляются за конкретной таблицей или представлением.
В отличие от хранимых процедур, при использовании которых необходимо явно вызывать на выполнение определенный код, триггеры вызываются на выполнение автоматически при обнаружении события (событий), связанного с выполнением операций над таблицей, за которой закреплен триггер.
В языке SQL предусмотрены три типа запросов, предназначенных для внесения изменений в данные. В связи с этим предусмотрены три основных типа триггеров, а также дополнительные типы, создаваемые с учетом одновременного возникновения и совпадения событий, обусловленных выполнением запросов этих типов:
Триггеры INSERT,
Триггеры DELETE,
Триггеры UPDATE
Триггеры, создаваемые с учетом одновременного возникновения и совпадения событий.
Синтаксис операторов создания триггеров во многом напоминает синтаксис всех прочих операторов CREATE, за одним исключением - в этом операторе должна быть указана таблица, за которой закрепляется триггер, поскольку триггер не может применяться отдельно от таблицы.
Синтаксис оператора CREATE TRIGGER:
CREATE TRIGGER <trigger name>
ON [<schema name>.]<table or view name>
