- •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. Предоставление, запрещение и неявное отклонение доступа пользователей к объектам базы данных.
7. Типовая организация современной субд.
В современных СУБД логически можно выделить следующие основные компоненты:
─ ядро СУБД;
─ компилятор языка БД;
─ подсистема поддержки времени выполнения;
─ набор утилит.
Ядро СУБД отвечает за управление данными во внешней памяти, управление буферами оперативной памяти, управление транзакциями и журнализацию. Соответственно можно выделить такие компоненты ядра как менеджер данных, менеджер буферов, менеджер транзакций, менеджер журнала.
Функции всех компонентов ядра взаимосвязаны и для обеспечения корректной работы СУБД все эти компоненты должны взаимодействовать по тщательно продуманным и проверенным протоколам. Ядро СУБД обладает собственным интерфейсом, недоступным пользователям напрямую и используемым в программах, созданных средствами SQL, а также в утилитах БД. При использовании архитектуры клиент-сервер ядро является основным составляющим серверной части системы. Основной функцией компилятора языка БД является компиляция операторов языка БД в некоторую управляемую программу. Основной проблемой реляционной СУБД является то, что языки этих систем являются непроцедурными, поэтому компилятор должен решить, каким образом выполнить оператор языка, прежде чем воспроизвести программу. Результатом компиляции является выполняемая программа, представляемая в некоторых системах в машинных кодах, но более часто в выполняемом внутреннем машинонезависимом коде. В последнем случае реальное выполнение оператора производится с привлечением подсистемы поддержки времени выполнения, которая представляет собой интерпретатор внутреннего языка СУБД. В отдельные утилиты БД обычно выделяют такие процедуры, которые слишком накладно выполнять с использованием языка баз данных. Например, загрузка и выгрузка баз данных, сбор статистики, глобальная проверка целостности БД и т.д. Утилиты программируются с использованием интерфейса ядра СУБД, а в некоторых случаях с проникновением внутрь ядра.
8. Базовые средства манипулирования реляционными данными.
Выделяют два базовых механизма манипулирования реляционными данными: реляционная алгебра и реляционное исчисление. Они обладают одним важным свойством: замкнуты относительно понятия «отношение». Это означает, что выражения «реляционная алгебра» и «формулы реляционного исчисления» определяются над отношениями баз данных и результатом вычислений также является отношение. В результате любое выражение или формула может интерпретироваться как отношение, что позволяет использовать их в других выражениях и формулах. Реляционная алгебра и реляционное исчисление обладают большой выразительной мощностью. Сложные запросы в базах данных могут быть выражены с помощью одного выражения реляционной алгебры или одной формулы реляционного исчисления, по этой причине эти механизмы включены в реляционную модель данных. Язык манипулирования реляционными данными называется реляционным, если любой запрос, выражаемый с помощью одного выражения реляционной алгебры или одной формулы реляционного исчисления, может быть выражен с помощью одного оператора этого языка. Механизмы реляционной алгебры и реляционного исчисления эквивалентны, то есть для любого допустимого выражения в реляционной алгебре можно построить эквивалентную, то есть производящую такой же результат, формулу реляционного исчисления и наоборот.
Присутствие в реляционной модели данных обоих механизмов обусловлено различным уровнем процедурности реляционной алгебры и реляционного исчисления. Выражения реляционной алгебры строятся на основе алгебраических операций, и подобно тому, как интерпретируются арифметические и логические выражения, выражения реляционной алгебры также имеют процедурную интерпретацию. Другими словами, запрос представленный на языке реляционной алгебры, может быть вычислен на основе элементарных алгебраических операций с учетом их старшинства и возможного наличия скобок. Для формулы реляционного исчисления однозначная интерпретация отсутствует. Формула только ставит условия, которым должны удовлетворять кортежи результирующего отношения, поэтому языки реляционного исчисления являются непроцедурными (декларативными).