- •1. Три ланкова архітектура системи баз даних
- •2. Моделі даних у системах баз даних
- •3. Етапи проектування автоматизованих інформаційних систем.
- •4. Проектування концептуальної моделі предметної області з використанням er – діаграми.
- •5. Структура даних і обмеження реляційної моделі.
- •6. Нормалізація відношень і теорія нормальних форм.
- •7. Алгоритм приведення відношень до третьої нормальної форми.
- •8. Використання операцій реляційної алгебри для створення мови запитів.
- •9. Використання реляційного числення для створення мови запитів
- •10. Призначення й структура мови sql.
- •Типы данных
- •11. Структура запитів мови sql.
- •12. Формування вкладених запитів в sql.
- •13. Концептуальне і фактичне виконання запитів у мові sql.
- •14. Мова маніпулювання даними sql.
- •Добавление строк.
- •Удаление строк.
- •Изменение данных.
- •15. Мова визначення даних sql.
- •16. Надання прав доступу в sql.
- •17. Архітектура бд клієнт – сервер.
- •18. Проектування застосівників до бд у системі клієнт-сервер.
- •Проектирование отчетов.
- •Тестирование приложения.
- •19. Способи доступу до бд із застосівників.
- •20. Повнота реляційної субд (правила Кодда).
- •21. Розподілені бд (правила Дейта).
- •22. Керування транзакціями.
- •23. Рівні ізоляції транзакцій.
- •24.Збережені процедури в tsql.
- •25. Функції користувача в tsql.
- •26. Представлення в tsql.
- •27.Тригери в tsql.
- •28. Курсори в tsql.
- •29. Створення індексів в tsql.
- •30. Команди керування даними в tsql.
21. Розподілені бд (правила Дейта).
Основные правила организации распределенных БД (12 правил Дейта).
Локальная автономия. Узлы в локальной сети автономны, т.е. операции на данном узле управляют этим узлом и не зависят от управления в других узлах. Вопросы целостности, безопасности, владения и хранения остаются под контролем данного узла. При этом все узлы рассматриваются как равноправные. В действительности локальная автономия достигается не полностью, а в максимально возможной степени.
Независимость от центрального узла. При обработке запросов управления транзакциями зависимость от центрального узла не желательна, поскольку центральный узел может стать узким местом. Кроме того система будет уязвима при повреждении центрального узла.
Непрерывное функционирование. Преимуществом распределенной системы есть надежность и доступность. Надежность означает вероятность того, что система работает в любой момент времени. В распределенной системе надежность повышается благодаря тому, что система может работать при выходе из строя отдельных узлов. Доступность - это вероятность того, что система работает в течение определенного промежутка времени. Доступность повышается благодаря дублированию данных в отдельных узлах, которые включены в разное время.
Независимость от расположения. Пользователю нужно обеспечить такой режим работы, при котором создается впечатление, что данные хранятся на его узле. При этом данные могут перемещаться от узла к узлу, не влияя на приложение.
Независимость от фрагментации. Фрагментацией называется разделение отдельной таблицы на части, которые хранятся в разных узлах. Существует два типа фрагментации: горизонтальная и вертикальная
которые связаны с операциями выбора и проекции в реляционной алгебре. При фрагментации вводятся следующие допущения:
Все фрагменты данной таблицы независимы. Проекции не должны допускать потери информации, т.е. должно быть обеспечено соединение без потерь. Прозрачность фрагментации означает, что пользователю каждая фрагментированная таблица должна казаться целой. При этом системный оптимизатор СУБД сам определяет, какая операция соединения должна выполняться для данного запроса.
Независимость от репликаций. Говорят, что система поддерживает независимость от репликаций, если таблицы или фрагменты могут быть представлены различными копиями (реплики), хранящиеся на нескольких узлах. Благодаря независимости от репликаций достигается большая производительность, т.к. нет обмена с удаленными узлами. Основная сложность для репликаций - это обновление всех копий при модификации данных - это проблема распределения
22. Керування транзакціями.
В SQL сервере начало транзакции отмечается:BEGIN TRAN
Существует 2 вида транзакций:
1) явные (отмечается начало, конец и точки возврата) – они работают поверх остальных.
2) автоматические – SET_IMPLICIT_TRANSACTION OFF/ON – новая транзакция начинается сразу же после завершения предыдущей. Завершение транзакций может быть осуществлено следующими способами:
1. Оператор COMMIT - успешное завершение транзакций.
2. Оператор ROLL BACK - отменяет завершение транзакций.
3. Транзакция заканчивается после успешного завершения программы.
4. Неуспешное завершение программы (автоматически происходит откат).
Для управления транзакциями применяется два подхода: оптимистическая и пессимистическая блокировки. При оптимистическом подходе специально записи не блокируются, а все блокировки возлагаются на СУБД. При пессимистическом подходе механизм блокировок реализуется приложением. При оптимистическом подходе необходимо:
1.Минимизировать время выполнения отдельных транзакций. Это осуществляется ограничением кода.
2.Не блокировать лишние записи.
3.Устанавливать одинаковый порядок чтения и обновления данных в различных приложениях, которые работают с одной и той же БД.
Информацию о блокировках можно получить с помощью системной процедуры SP_LOCK.