- •Вопросы к экзамену с ответами
- •6. Приведите классификацию субд.
- •3. По способу доступа к бд Файл-серверные
- •7. Перечислите функции администратора базы данных
- •8.Что представляет собой вычислительная система?
- •9.Назовите основные способы работы пользователя с базой данных при решении прикладных задач.
- •10.Укажите технологии создания приложений работы с базами данных.
- •11.Охарактеризуйте способы выполнения приложений работы с базами данных.
- •13.Перечислите основные модели жизненного цикла бд.
- •14.Перечислите основные признаки фактографических и документальных бд.
- •15.Укажите достоинства и недостатки иерархической модели данных.
- •16.Охарактеризуйте сетевую модель данных.
- •17.Охарактеризуйте реляционную модель данных.
- •18.В чем отличие реляционной и постреляционной модели данных?
- •20.Назовите и поясните смысл операций выполняемых над данными в случае многомерной модели.
- •21.Перечислите основные принципы, на которых основаны временные бд.
- •22.Охарактеризуйте методы обработки транзакций в активных базах данных.
- •23.В чем основные особенности архитектуры клиент-сервер? Особенности архитектуры клиент/сервер
- •24.Какие стандарты разработаны для архитектуры клиент-сервер?
- •25.В чем особенность создания приложений в архитектуре клиент-сервер?
- •26.Какова типичная распределенная система баз данных?
- •27.В чем состоят преимущества использования распределенных бд?
- •28.Перечислите основные принципы организации распределенных бд
- •29.Что представляет собой фрагментация данных?
- •31.В чем состоит проблема обновления в распределенных системах?
- •32.Дайте определение хранилищ данных.
- •33.Какие свойства присущи хранилищам данных?
- •34.Какие задачи требуется решать при создании хранилищ данных?
- •35.Перечислите основные компоненты хранилищ данных.
- •36.Какие модели данных используются для построения хранилищ?
- •37.Опишите процесс загрузки данных в хранилище.
- •38.Какие задачи решают средства анализа данных в системах поддержки принятия решений?
- •39.Дайте определение транзакции.
- •Isolation — Изолированность
- •41.Назовите три проблемы параллелизма.
- •42.Что представляет собой блокировка?
- •43.Какие типы блокировок могут существовать в системе? Типы блокировок
- •Автоматическая блокировка
- •Полная блокировка таблицы и блокировка изменений
- •Блокировка таблицы
- •Блокировка записей
- •44.Что представляет собой тупиковая ситуация и каким образом она разрешается?
- •45.Что представляет собой задача обеспечения безопасности в бд?
- •46.Какие типы управления доступом поддерживаются субд?
- •47.Перечислите известные вам правила безопасности.
- •48.Дайте определение целостности данных.
- •49.Каковы основные виды ограничений целостности данных, которые должны поддерживаться в субд?
- •I этап. Постановка задачи.
- •II этап. Анализ объекта.
- •III этап. Синтез модели.
- •IV этап. Выбор способов представления информации и программного инструментария.
- •V этап. Синтез компьютерной модели объекта.
- •VI этап. Работа с созданной базой данных.
- •51.Модели данных. Классификация моделей данных.
- •53.Иерархическая модель данных. Основные понятия. Область применения. Достоинства и недостатки.
- •55.Реляционная модель данных. Основные понятия. Область применения. Достоинства и недостатки.
- •2.4.2. Свойства отношений
- •2.4.3. Достоинства и недостатки рмд
- •56.Операции реляционной алгебры.
- •2.4.5. Преобразования операций реляционной алгебры
- •57.Нормальные формы схем отношений. Первая нормальная форма. Вторая нормальная форма.
- •2. Первая нормальная форма (1nf)
- •3. Вторая нормальная форма (2nf)
- •58.Нормальные формы схем отношений. Третья нормальная форма.
- •59.Нормальные формы схем отношений. Нормальная форма Бойса-Кодда
- •61.Структурированный язык запросов sql. Многотабличные запросы.
- •62.Структурированный язык запросов sql. Операции изменения и обновления базы данных.
- •Предложение update.
- •Обновление единственной записи
- •Обновление множества записей
- •Обновление с подзапросом
- •Обновление нескольких таблиц
- •Предложение commit или rollback
- •Вставка единственной записи
- •Вставка единственной записи с опущенными именами полей
- •Заключение.
- •63.Структурированный язык запросов sql. Формирование запросов.
- •64.Структурированный язык запросов sql. Использование псевдонимов.
- •65.Каким образом можно создавать таблицы баз данных в ms Access?
- •66.Каким образом осуществляется связывание таблиц?
- •67.Опишите технологию создания запросов в ms Access.
- •68.Что представляют собой макросы в ms Access и как они создаются?
- •69.Укажите особенности построения sql-запросов.
- •70.Опишите технологию создания приложений в ms Access.
23.В чем основные особенности архитектуры клиент-сервер? Особенности архитектуры клиент/сервер
Что же представляет собой архитектура клиент/сервер? В определенной степени ее можно назвать возвратом к модели "хост-компьютер+терминалы", так как ядром такой системы является сервер баз данных, представляющий собой приложение, осуществляющее комплекс действий по управлению данными - выполнение запросов, хранение и резервное копирование данных, отслеживание ссылочной целостности, проверку прав и привилегий пользователей, ведение журнала транзакций. При этом в качестве рабочего места может быть использован обычный персональный компьютер, что позволяет не отказываться от привычной рабочей среды.
Рис.5. Этап 4: обработка данных в архитектуре клиент/сервер
В чем преимущества клиент-серверных информационных систем по сравнению с их аналогами, созданными на основе сетевых версий настольных СУБД?
Одним из важнейших преимуществ является снижение сетевого трафика при выполнении запросов Например, при необходимости выбора пяти записей из таблицы, содержащей миллион, клиентское приложение посылает серверу запрос, который сервером компилируется и выполняется, после чего результат запроса (те самые пять записей, а вовсе не вся таблица) передается обратно на рабочую станцию (если, конечно, клиентское приложение корректно формулирует запросы к серверу, о чем мы поговорим в следующих статьях цикла).
Вторым преимуществом архитектуры клиент/сервер является возможность хранения бизнес-правил на сервере, что позволяет избежать дублирования кода в различных приложениях, использующих общую базу данных. Кроме того, в этом случае любое редактирование данных, в том числе и редактирование нештатными средствами, может быть произведено только в рамках этих правил.
Кроме того, для описания серверных бизнес-правил в наиболее типичных ситуациях (как в примере с заказчиками и заказами) существуют весьма удобные инструменты - так называемые CASE-средства (CASE означает Computer-Aided System Engineering), позволяющие описать подобные правила, и создавать реализующие их объекты базы данных (индексы, триггеры), буквально рисуя мышью связи между таблицами без какого бы то ни было программирования. В этом случае клиентское приложение будет избавлено от значительной части кода, связанного с реализацией бизнес-правил непосредственно в приложении. Отметим также, что часть кода, связанного с обработкой данных, также может быть реализована в виде хранимых процедур сервера, что позволяет еще более "облегчить" клиентское приложение, а это означает, что требования к рабочим станциям могут быть не столь высоки. Это в конечном итоге удешевляет стоимость информационной системы даже при использовании дорогостоящей серверной СУБД и мощного сервера баз данных.
Помимо перечисленных возможностей, современные серверные СУБД обладают широкими возможностями управления пользовательскими привилегиями и правами доступа к различным объектам базы данных, резервного копирования и архивации данных, а нередко и оптимизации выполнения запросов. Они также, как правило, предоставляют возможность параллельной обработки данных, особенно в случае использования многопроцессорных компьютеров в качестве сервера баз данных.
Итак, клиент-серверная информационная система состоит в простейшем случае из трех основных компонентов:
сервер баз данных, управляющий хранением данных, доступом и защитой, резервным копированием, отслеживающий целостность данных в соответствии с бизнес-правилами и, самое главное, выполняющий запросы клиента;
клиент, предоставляющий интерфейс пользователя, выполняющий логику приложения, проверяющий допустимость данных, посылающий запросы к серверу и получающий ответы от него;
сеть и коммуникационное программное обеспечение, осуществляющее взаимодействие между клиентом и сервером посредством сетевых протоколов.
Есть и более сложные реализации архитектуры клиент/сервер, например, трехуровневые информационные системы с использованием серверов приложений, но это уже тема отдельного разговора.
