- •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. Предоставление, запрещение и неявное отклонение доступа пользователей к объектам базы данных.
4. Реляционная база данных.
Реляционная база данных- это совокупность отношений, содержащих всю информацию, которая должна хранится в базе данных т.е. реляционная база данных представляет собой набор таблиц необходимых для хранения всех данных. Таблицы реляционных баз данных логически связаны между собой. Требования к проектированию реляционных баз данных в общем виде можно свести к нескольким правилам: 1) каждая таблица имеет в БД имя, состоит из однотипных строк; 2) каждая таблица состоит из фиксированного числа клеток и значений. В одной колонке строки не может быть сохранено больше одного значения; 3) ни в какой момент времени в таблице не найдется двух строк, дублирующих друг друга. Строки должны отличатся хотя бы одним значением, чтобы была возможность однозначно идентифицировать любую строку таблицы. Каждой колонке присваивается уникальное в пределах таблицы имя. Для нее устанавливается конкретный тип данных, чтобы в этой колонке размещались однотипные значения. Полное информационное содержание БД представляется в виде явных значений самих данных и такой метод представления является единственным; 4) при выполнении обработки данных можно свободно обращаться к любой строке или колонке таблицы. Значение, хранимое в таблице, не накладывает никаких ограничений на порядок обращения данных.
Описание колонок, которое составляет разработчик принято называть макетом таблицы.
5. Функции системы управления базами данных (субд): управления данными во внешней памяти, управление буферами оперативной памяти, управление транзакциями.
Традиционность возможностей файловых систем оказывается недостаточным для построения простых информационных систем. Считается, что если прикладная информация систем опирается на некоторую систему управления данными, то эта система управления данными является СУБД, при условии, что она выполняет следующие функции:
1) Непосредственное управление данными во внешней памяти.
Эта функция включает обеспечение необходимых структур внешней памяти как для хранения данных непосредственно входящих в БД так и для служебных целей. Пример, для ускорения доступа к данным. В некоторых реализациях СУБД используются возможности существования файловых систем, в других работа производится вплоть до уровня устройств внешней памяти. В развитых СУБД пользователи не обязаны знать, используют ли СУБД файловую систему и если используют, то как организованны файлы.
2) Управление буферами, оперативной памяти.
СУБД обычно работает с БД значительных размеров, которые обычно существенно больше доступного объема оперативной памяти. Если при обращении к любому элементу данных будет производится обмен с внешней памятью, то вся система будет работать со скоростью устройства внешней памяти. Практически единственным способом реального увеличения этой скорости является буферизация данных в оперативную память. При этом даже если операционная система производит общесистемную буферизацию этого не достаточно для цели СУБД, которая располагает гораздо большей информацией той или иной части БД. Поэтому в различных СУБД поддерживается собственный набор буферов оперативной памяти и собственной дисциплиной их замены.
3) Управление транзакциями.
Транзакция - последовательность операций по БЖ, рассматриваемых СУБД как единое целое. Либо транзакция успешно выполняется и СУБД фиксирует изменения БД, производя транзакцию во внешней памяти, либо ни одно из изменений никак не отражается на состоянии БД. Понятие транзакции необходимо для поддержания логической целостности БД. Поддержание минимума является обязательным условием даже для однопользовательских СУБД. То свойство, что каждая транзакция начинается при целостном состоянии СУБД и оставляет это состояние целостным после его завершения делает очень удобным состояние транзакции как единице активности пользователя по отношению к БД.
При соответствующем управлении параллельно выполняющимися транзакциями со стороны СУБД каждый пользователь может ощущать себя единственным пользователем СУБД. Управление транзакциями многопользовательских СУБД связаны с понятием сериализации транзакции и сериального плана выполнения транзакции. Под сериалазацией параллельного выполнения транзакции понимается такой порядок планирования их работы, при которой суммарный эффект смеси транзакции эквивалентен эффекту их некоторому последовательному выполнению. Сериальный план выполнения смеси транзакций - это такой план, который приводит к сериализации транзакции. Если удается добиться сериального выполнения смеси транзакций, что для каждого пользователя, по инициативе которого образуется транзакции, присутствие других транзакций будет незаметно, если не считать некоторого замедления работы по сравнению с однопользовательским режимом. Существует несколько базовых алгоритмов сериализации транзакций. В централизованных СУБД наиболее распространены объекты, основанные на синхронизационных захватах объектов БД.
При использовании любого алгоритма сериализации возможны ситуации конфликтов между двумя или более транзакциями по доступам к объектам БД. В этом случае для поддержания сериализации необходимо выполнить откат одной или более транзакций, чтобы ликвидировать все изменения, произведенные в БД. Это один из случаев, когда пользователь многопользовательской СУБД может реально ощутить присутствие в системе транзакции других пользователей.