- •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. Предоставление, запрещение и неявное отклонение доступа пользователей к объектам базы данных.
14. Клиенты и серверы локальных сетей.
В основе широкого распространения локальных компьютерных сетей лежит известная идея разделения ресурсов. Высокая пропускная способность локальных сетей обеспечивает эффективный доступ из одного узла локальной сети к ресурсам, находящимся в других узлах. Развитие идеи эффективного доступа с одного узла локальной сети к ресурсам другой привела к выделению компонентов сети, серверов и рабочих станций. При этом актуальной является задача не только доступа к ресурсам удаленного компьютера, но и подключения некоторого сервиса, который специфичен для ресурсов данного рода, и реализации ПО, обеспечивающего функциональность, которую нет необходимости дублировать в нескольких местах. Рабочая станция предназначена для непосредственной работы пользователя или категории пользователей и обладает ресурсами, соответствующими локальным потребностям соответствующего пользователя. Специфическими особенностями рабочей станции могут быть объем оперативной памяти, объем дисковой памяти и т.д. При необходимости пользователи с рабочих станций могут использовать ресурсы и услуги, предоставляемые сервером. Сервер локальной сети должен обладать ресурсами, соответствующими его функциональному назначению и потребностям сети. В связи с ориентацией подхода открытых систем правильнее говорить о логических серверах, имея в виду наборы ресурсов и программных средств, соответствующих функциональному назначению серверов и потребностям сети. Особенностью логического сервера в открытой системе является то, что если по соображениям эффективности сервер целесообразно переместить на отдельный компьютер, то это можно сделать как без изменения конфигурации его оборудования, так и без изменения использующих его прикладных программ.
Примерами серверов могут служить:
сервер телекоммуникаций, обеспечивающий услуги по связи данной локальной сети с глобальной компьютерной сетью;
вычислительный сервер, позволяющий производить вычисления, которые невозможно выполнить рабочим станциям;
дисковый сервер, обладающий расширенными ресурсами внешней памяти и предоставляющий их для использования рабочим станциям или другим серверам;
файловый сервер, поддерживающий общее хранение файлов для всех рабочих станций;
сервер баз данных, который фактически представляет собой обычную СУБД, которая принимает запросы от рабочей станции по локальной сети и возвращает результаты.
15. Системная архитектура клиент-сервер. Удаленный вызов процедур.
В общем случае, чтобы прикладная программа, выполняющаяся на рабочей станции, могла запросить услугу некоторого сервера, требуется, как минимум, некоторый интерфейсный программный слой, поддерживающий такого рода взаимодействия. Система разбивается на две части, которые могут выполняться в разных узлах сети, т.е. клиентскую и серверную части. Прикладная программа и конечный пользователь взаимодействуют с клиентской частью системы, которую в простейшем случае обеспечивает просто надсетевой интерфейс.
Клиентская часть системы по мере необходимости обращается по сети к серверной части. В развитых системах сетевое обращение серверной части может и не понадобиться при условии, что система может предугадывать потребности пользователя и в клиентской части содержаться данные, которые необходимы для выполнения запроса пользователя. Интерфейс серверной части определен и фиксирован, поэтому возможно создание новых клиентских частей существующей системы. Основной проблемой систем, основанных на архитектуре клиент-сервер, является то, что в соответствии с «Концепцией открытых систем» от них требуется мобильность в как можно более широком классе аппаратно-программных решений. Попытки создания систем, поддерживающих все возможные протоколы, приводят к перегрузке систем сетевыми деталями в ущерб их функциональности. Еще более сложный аспект этой проблемы связан с возможностью использования разных представлений данных в разных узлах неоднородной локальной сети. На разных компьютерах может существовать различная адресация, представление чисел, кодировка символов и т.д. Это особенно существенно для серверов высокого уровня, в том числе и серверов баз данных.
Общим решение проблемы мобильности систем, основанным на архитектуре клиент-сервер, является опора на программные пакеты, реализующие удаленный вызов процедур (Remote Procedure Call).
При использовании таких средств обращение к сервису в удаленном узле выглядит как обычный вызов процедуры. Средства RPC, в которых содержится вся информация от специфики аппаратуры локальной сети и сетевых протоколов переводят вызов процедур в последовательность сетевых взаимодействий, тем самым специфики сетевой среды и протоколов от программиста, занимающегося разработкой прикладных программ.
При вызове удаленной процедуры средства RPC производят преобразования форматов данных клиента в промежуточные машинонезависимые форматы, а затем в форматы данных серверов. При передаче конкретных параметров производятся конкретные преобразования. Если система реализована на основе стандартного пакета RPC,она может быть перенесена в любую открытую среду.