
- •2. Основы sql: стандарты, группы операторов и их назначение.
- •3. Основные принципы работы sql Server: клиент, сервер, буферный кэш, журнал транзакций, службы, аутентификация, авторизация, страницы дисковой памяти.
- •4. Sql ddl: операторы назначение, применение.
- •5. Sql dml: операторы назначение, применение.
- •6. Sql dcl: операторы назначение, применение.
- •7. Sql tcl: операторы назначение, применение.
- •8. Ограничения целостности, констрейнты.
- •9. Оператор select: секции оператора и их применение.
- •10. Операторы delete, update: секции операторов и их применение.
- •11. Группировка в операторе select, применение секции having.
- •Примеры
- •12. Применение group with cube, group with rollup
- •13. Применение compute, compute by
- •14. Sql-команды: union (all, order by), intersect, except.
- •15. Внутреннее соединение таблиц: естественное, inner join, многотабличный запрос.
- •Inner join
- •16. Внешнее соединение таблиц: outher join (left, right, full, cross).
- •17. Подзапросы: (not)in, (not)exists, all, any, some.
- •18. Представления: создание, применение, order by в представлении, with check option, dml-операции c представлениями.
- •19. Агрегатные функции: sum, count, avg.
- •21. Временные таблицы: локальные, глобальные, работа с временными таблицами.
- •23. Процедуры t-sql: параметры, создание, вызов, возврат значения, системные процедуры.
- •24. Функции: типы, параметры, создание, вызов, возврат значения, принципы применения.
- •26. Транзакции: определение, назначение, свойства acid, уровни изоляции, операторы tcl и их применение.
- •27. Индексы: определение, типы, назначение, создание и применение.
- •Синтаксис sql create index
- •Синтаксис sql create unique index
- •Пример create index
- •28. Создание базы данных: системные базы данных, оператор создания базы данных, файловые группы, файлы, журнал транзакций, основные параметры базы данных.
- •29. Секционирование таблиц: определение, назначение, функция секционирования, схема секционирования,ограничения.
- •30. Моментальные снимки базы данных (snapshot): определение, назначение, создание, применение, технология copy-on-write.
6. Sql dcl: операторы назначение, применение.
Операторы определения доступа к данным (Data Control Language, DCL):
GRANT - предоставляет пользователю (группе) разрешения на определенные операции с объектом
GRANT INSERT, UPDATE, SELECT ON customers TO joe, mary
GRANT CREATE TABLE TO joe
REVOKE - отзывает ранее выданные разрешения,
DENY UPDATE ON customers TO joe
DENY - задает запрет, имеющий приоритет над разрешением;
DENY DELETE ON customers TO joe, mary
7. Sql tcl: операторы назначение, применение.
Операторы управления транзакциями (англ. Transaction Control Language, TCL) компьютерный язык и часть SQL, используемый для обработки транзакций. Примеры TCL команд:
COMMIT применяет транзакцию.
ROLLBACK «откатывает» все изменения, сделанные в контексте текущей транзакции.
SAVEPOINT делит транзакцию на более мелкие участки.
BEGIN TRANSACTION;
BEGIN try
DELETE FROM production.product
WHERE productid = 980;
END try
BEGIN catch
SELECT Error_number() AS ErrorNumber,
IF @@TRANCOUNT > 0
ROLLBACK TRANSACTION;
END catch;
IF @@TRANCOUNT > 0
COMMIT TRANSACTION;
go
8. Ограничения целостности, констрейнты.
Ссылочная целостность – это ограничение базы данных, гарантирующее, что ссылки между данными являются действительно правомерными и неповрежденными. Ссылочная целостность является фундаментальным принципом теории баз данных и проистекает из той идеи, что база данных должна не только сохранять данные, но и активно содействовать обеспечению их качества.
Foreign – внешний, Reference – зависимость, ссылка.
В таблице Primary KEY:
всегда можно выполнять insert кроме нарушения primary key
update строки возможен только в том случае если на неё не ссылается строка из таблицы со вторичным ключом
удаление строки возможно только при отсутствии ссылки на неё. Удаление таблицы возможно только если ни на одну из её строк нет ссылок из других таблиц.
В таблице Foreign KEY:
можно вставить строку только со значением, содержащимся в таблице первичного ключа
update строки возможен только на значение, содержащееся в таблице первичного ключа
удаление строк как и всей таблицы возможно всегда.
Зарезервированное слово Constraint языка SQL служит для работы с ограничениями ссылочной целостности создаваемых в базе данных таблиц. Ограничения ссылочной целостности бывают двух уровней: ограничения, накладываемые на отдельный столбец, и ограничения, накладываемые на всю таблицу. Одноименный оператор Constraint служит для работы с ограничениями ссылочной целостности, накладываемых на таблицу. Оператор ограничения ссылочной целостности Constraint не употребляется самостоятельно, а выполняется в рамках операторов CREATE TABLE и ALTER TABLE.
9. Оператор select: секции оператора и их применение.
SELECT ("селект") — оператор DML языка SQL, возвращающий набор данных (выборку) из базы данных, удовлетворяющих заданному условию.
Синтаксис оператора SELECT
SELECT column_list FROM table_name [WHERE условие] [GROUP BY условие] [HAVING условие] [ORDER BY условие]
SELECT Ключевое слово, которое сообщает базе данных о том, что оператор является запросом. Все запросы начинаются с этого слова, за ним следует пробел.
Column_list - Это список столбцов таблицы, которые выбираются запросом. Столбцы, не указанные в операторе, не будут включены в результат. Если необходимо вывести данные всех столбцов, можно использовать сокращенную запись. Звездочка (*) означает полный список столбцов.
FROM table_name Ключевое слово, которое должно присутствовать в каждом запросе. После него через пробел указывается имя таблицы, являющейся источником данных. Код в скобках является не обязательным в операторе SELECT. Он необходим для более точного определения запроса. Также необходимо сказать, что SQL код является регистронезависимым. Это означает, что запись SELECT можно написать как select. СУБД не отличит эти две записи, однако советуют все операторы SQL писать прописными буквами, чтобы его легко можно было отличить от другого кода.
WHERE— используется для определения, какие строки должны быть выбраны или включены в GROUP BY.
GROUP BY— используется для объединения строк с общими значениями в элементы меньшего набора строк.
HAVING— используется для определения, какие строки после GROUP BY должны быть выбраны. ORDER BY— используется для определения, какие столбцы используются для сортировки результирующего набора данных.