![](/user_photo/2706_HbeT2.jpg)
- •1. Распределенные и централизованные базы данных. Архитектура файл-сервер. Архитектура клиент-сервер.
- •2. Иерархическая и сетевая модели данных.
- •3. Реляционная модель данных. История развития. Основные понятия (тип данных, домен, отношение, кортеж, атрибут, ключ).
- •4. Реляционная база данных.
- •5. Функции системы управления базами данных (субд): управления данными во внешней памяти, управление буферами оперативной памяти, управление транзакциями.
- •6. Функции системы управления базами данных: журнализация, поддержка языков баз данных.
- •7. Типовая организация современной субд.
- •8. Базовые средства манипулирования реляционными данными.
- •9. Реляционная алгебра. Общая интерпретация реляционных операций.
- •10. Особенности теоретико-множественных операций реляционной алгебры.
- •11. Реляционное исчисление.
- •12. Целостность сущностей и ссылок.
- •13. Субд в архитектуре клиент-сервер. Открытые системы.
- •14. Клиенты и серверы локальных сетей.
- •15. Системная архитектура клиент-сервер. Удаленный вызов процедур.
- •16. Сервера баз данных
- •17. Типичные распределения функций между клиентами и серверами
- •18. Разновидности распределенных систем
- •19. Распределенная компиляция запросов
- •20. Язык реляционных баз данных Transact-sql (t-sql). История развития. Идентификаторы в t-sql.
- •21. Язык t-sql. Выражения.
- •22. Язык t-sql. Числовые и денежные типы данных. Типы данных для хранения информации о времени.
- •1) Числовые целые типы данных
- •2)Нецелочисленные типы данных
- •3)Денежные типы данных.
- •4) Типы данных для хранения информации о времени.
- •23. Язык t-sql. Символьные и текстовые типы данных.
- •7)Текстовые типы данных
- •24. Язык t-sql. Специальные типы данных. Конвертирование типов данных.
- •25. Управляющие конструкции t-sql.
- •26. Процесс проектирования таблиц в реляционной базе данных. Определение идентификационной колонки.
- •27. Создание таблиц средствами t-sql.
- •28. Изменение структуры таблицы средствами t-sql. Удаление таблиц.
- •29. Добавление данных в таблицу средствами t-sql. Использование insert и select…into.
- •30. Извлечение данных средствами t-sql. Команда select. Разделы select и into.
- •Раздел into для сохранения результата, выполняет запрос в заданной таблице.
- •31. Извлечение данных средствами t-sql. Команда select. Раздел from (глава 25 – Управление данными; Раздел «Извлечение данных»; Подраздел «Раздел from» с.772-776).
- •32. Извлечение данных средствами t-sql. Команда select. Разделы where, group by, having, order by.
- •33. Изменение данных в таблице средствами t-sql. Команда update.
- •34. Удаление данных средствами t-sql. Команда delete. (глава 25 – Управление данными; Раздел «Удаление данных» с.800-801)
- •35. Хранимые процедуры. Этапы создания (Глава 26 – Хранимые процедуры; Раздел «Создание хранимых процедур» с. 803-804).
- •36. Создание, модификация и удаление хранимых процедур средствами t-sql.
- •37. Использование индексов. Планирование использования индексов. Типы индексов: кластерные, некластерные и уникальные индексы.
- •38. Создание и удаление индексов средствами t-sql.
- •39. Создание, изменение и удаление представлений средствами t-sql.
- •40. Типы и поведение курсоров. Управление курсорами.
- •41. Создание курсора. Открытие курсора. Считывание данных. Изменение и удаление данных с помощью курсора.
- •42. Предоставление, запрещение и неявное отклонение доступа пользователей к объектам базы данных.
6. Функции системы управления базами данных: журнализация, поддержка языков баз данных.
4) Журнализация.
Одним из основных требований к СУБД является возможность хранения данных во внешней памяти. Под надежностью хранения понимается то, что СУБД должна быть в состоянии восстановить последнее согласованное состояние БД после любого аппаратного или программного сбоя. Обычно рассматриваются два возможных вида аппаратного сбоя: мягкие, которые можно трактовать как внезапную остановку работы компьютера (выключение питания) и жесткие сбои, которые характерны потерей информации на носителях внешней памяти. Примерами программных сбоев могут быть: аварийное завершение работы СУБД по причине ошибки в программе или в результате аппаратного сбоя или аварийное завершение пользователем программы, в результате чего некоторая транзакция остается незавершенной. В любом случае для восстановления БД нужно располагать некоторой дополнительной информацией, т. е. поддержанием надежности хранения данных, а БД требует избыточности хранения данных. Причем та часть, которая используется для восстановления, должна хранится довольно надежно. Наиболее распространенным способом поддержания избыточного хранения информации является введение журнала изменения БД. Журнал- это особая часть БД, недоступная пользователям СУБД, поддерживаемая с особой тщательностью, в которую поступают записи обо всех изменениях основной части БД. В разных СУБД изменения БД журнализируются на разных уровнях. Иногда запись о журнале соответствует некоторой логической операции изменения БД. Например, операция удаления строки у таблицы, иногда минимальные внутренние операции, модификации страницы внешней памяти.
В некоторой системе одновременно используются оба подхода, во всех случаях придерживаются стратегии упреждающей записи в журналах (Write Ahead Log) .Заключается в том, что запись об изменении любого объекта в БД должна попасть во внешнюю память основной БД. Если СУБД корректно соблюдает этот протокол, то с помощью журнала можно решить все проблемы восстановления БД после любого сбоя. Самая простая ситуация восстановления - индивидуальный откат транзакции. Для этого не требуется общесистемный журнал БД. Достаточно для каждой транзакции поддерживать локальный журнал модификации БД. Производить откат транзакции путем выполнения обратных операций, следуя от конца локального журнала. При мягком сбое во внешней памяти в основной части БД могут находиться объекты, модифицированные транзакциями, не заканчивающимися к моменту сбоя, и могут отсутствовать объекты модифицированных транзакциями, которые к моменту сбоя успешно завершились. Это обусловлено использованием буферов оперативной памяти, содержимое которых при мягком сбое пропадает. При соблюдении протокола Write Ahead Log во внешней памяти журнала должны гарантированно находиться записи, относящиеся к операциям модификации обоих видов объектов. Целью процесса восстановления после мягкого сбоя является состояние внешней памяти основной части БД, которое возникло бы при фиксации во внешней памяти изменений всех завершившихся транзакций и которое не содержало бы никаких следов незаконченных транзакций. Для того чтобы этого добиться, сначала производят откат незавершенных транзакций, потом повторно воспроизводят те операции завершившихся транзакций, результаты которых не отображены во внешней памяти. Для восстановления БД после жесткого сбоя используют журнал и архивную копию БД.
Архивная копия БД – это полная копия баз данных к моменту начала заполнения журнала. Восстановление БД состоит в том, что, исходя из архивной копии, по журналу воспроизводится работа всех транзакций, которые закончились к моменту сбоя. Можно также воспроизвести работу незавершенных транзакций и продолжить их работу после завершения восстановления, однако в реальных системах этого обычно не делается.
5) Поддержка языков баз данных.
Для работы с базами данных используются специальные языки, имеющие общее название – языки баз данных. В ранних СУБД поддерживались несколько специализированных по своим функциям языков. Чаще всего выделялось два языка: язык определения схемы, язык манипулирования данными. В современных СУБД обычно поддерживается единый интегрированный язык, содержащий все необходимые средства для работы с БД. Стандартным языком наиболее распространенных СУБД является SQL.