- •21. Об’єкти реляційної бази даних. Їх створення та модифікація засобами sql. Приклад реалізації за допомогою Data Definition Language.
- •22. Обмеження реляційної бази даних. Їх створення та модифікація засобами sql. Приклад реалізації Data Definition Language.
- •23.Операції реляційної алгебри та їх реалізація на мові sql.
- •24.Нормальні форми реляційної бази даних. Приклад структури бд та аномалії зміни даних.
- •Аномалии модификации данных
- •25.Теорія множин та реляційні бази даних. Поняття відношення. Особенности теоретико-множественных операций реляционной алгебры
- •Операции объединения, пересечения, взятия разности. Совместимость по объединению
- •Основные понятия
- •26.Поняття транзакції, властивості транзакцій.
- •5.1. Механизм транзакций
- •27.Ізоляція транзакцій. Проблеми паралельної роботи та механізми блокування. Уровни изоляции транзакций
- •5.4. Блокировки
- •28.Ізоляція транзакцій. Визначення графіку виконання та правильного графіку виконання транзакції. Уровни изоляции транзакций
- •29.Ізоляція транзакцій. Рівні ізоляції та управління рівнем ізоляції транзакції в sql сервері. Уровни изоляции
- •Синтаксис операторов sql, определяющих уровни изоляции
- •30.Типи даних та функції для роботи з ними в реляційних базах даних. Приклади використання.
- •31.Представлення (view). Приклади використання.
- •Способ создания и содержимое представлений
- •Использование
- •Команда create view
- •32.Управління доступом до даних в реляційних базах даних. Ролі, користувачі та їх права доступу. Аутентификация и авторизация
- •Методы аутентификации
- •33.Мова xml. Мова xPath. Приклади xml документу та xPath виразів.
- •Синтаксис xPath
- •34.Поняття Web сервісу, стек протоколів ws.
- •Стек протоколов Web Services
- •35. Мови html та css. Приклад html сторінки.
- •Структура html-документа
- •Структура html страницы
- •36. Реалізація ієрархічних структур на ms sql Server. Приклади знаходження елементу структури та всіх його потомків із строки, що містить шлях до елементу Иерархические данные (sql Server)
- •Родители-потомки
- •37.Оператор select. Групові операції. Приклади використання агрегатних функцій.
- •Синтаксис оператора select
- •Групповые функции в операторе select
- •Что такое агрегатные функции ?
- •Как использовать агрегатные функции ?
- •Специальные атрибуты count
- •Использование distinct
- •38.Витяг даних з кількох таблиць. Приклади використання inner join, left(right) outer join, exists, any. Выборка из нескольких таблиц.
- •Специальные операторы any или some
- •Много-столбцовые внешние ключи
- •Ограничение foreign key
- •Манипулирование реляционными данными
- •Целостность в реляционной модели данных
- •Предложение create procedure
- •Предложение alter procedure
- •40.Мова xml. Визначення схеми документу за допомогою xsd. Приклад схеми та документу, що задовольняє цій схемі. Приклад програмної валідації xml документу.
23.Операції реляційної алгебри та їх реалізація на мові sql.
Основная идея реляционной алгебры состоит в том, что поскольку отношения являются множествами, средства манипулирования отношениями могут базироваться на традиционных теоретико-множественных операциях, дополнительно к некоторым специальных операций, специфических для баз данных. Набор основных алгебраичних операций, предложен Коддом, состоит из восьми операций, которые делятся на два класса - теоретико-множественные операции и специальные реляционные операции. В состав теоретико-множественных операций входят операции:
объединения отношений; пересечение отношений; взятия разности отношений; Декартово произведение отношений.
Специальные реляционные операции включают: ограничение отношения; проекция отношения; соединение отношений; деление отношений.
Кроме того, в состав алгебры входит операция присваивания, позволяющая сохранять в базе данных результаты вычисления алгебраических выражений, и операция переименования атрибутов, дающая возможность корректно сформировать заголовок (схему) результирующего отношения.
Результат операций: отношения. При выполнении этой операции необходимо помнить о совместимости отношений по объединению: два отношения совместимы по объединению в том и только в том случае, когда обладают одинаковыми заголовками. Более точно, это означает, что в заголовках обоих отношений содержится один и тот же набор имен атрибутов, и одновременно атрибуты определены на одном и том же домене. Если два атрибуты совместимы по объединению, то при обычном выполнении над ними операций объединения:
SELECT * FROM A UNION SELECT * FROM B,
пересечения
SELECT * FROM A INTERSECT SELECT * FROM B,
и взятия разности
SELECT * FROM A EXCEPT SELECT * FROM B
в языке SQL результатом операции является отношением является отношение с корректно определенным заголовком, совпадающим с заголовком каждого из отношений операндивв. Заметим, что привлечение в состав операций реляционной алгебры трех операций объединения, пересечения и разности является избыточным, поскольку любая из этих операций выражается через две другие. Тем не менее, Кодд в свое время решил включить все три операции, исходя из интуитивных потребностей потенциального пользователя системы реляционных БД, далекого от математики.
Пример:
SELECT P.P #
FROM P
WHERE P.WEIGHT> 16.0
UNION
SELECT SP.P #
FROM SP
WHERE SP.P # = 'S2';
Выборка (ограничение). Результатом ограничения отношения по некоторому условию является отношение, содержащее кортежи отношения-операнда, удовлетворяющее этому условию.
Пусть имеем отношение А с атрибутами Х и У., а символ означает оператор сравнения (=,>,> = и др.)., Так что условие Х У при заданных Х и У дает значение истина или ложь. Тогда-то выборке по отношению А по атрибутам Х и У называется отношение, имеющее тот же заголовок, что и отношение А и тело, содержащее множество всех кортежей t отношения А, для которых проверка условия Х У дает значение истина. Условие чаще задается с помощью ключевого слова WHERE.
SELECT *
FROM S
WHERE S # = 'S1';