- •Вопросы к экзамену с ответами
- •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.
18.В чем отличие реляционной и постреляционной модели данных?
Классическая реляционная модель предполагает неделимость данных, хранящихся в полях записей таблиц. Это означает, что информация в таблице представляется в первой нормальной форме (подраздел 5.2). Существует ряд случаев, когда это ограничение мешает эффективной реализации приложений.
Постреляционная модель данных представляет собой расширенную реляционную модель, снимающую ограничение неделимости данных, хранящихся в записях таблиц. Постреляционная модель данных допускает многозначные поля - поля, значения которых состоят из подзначений. Набор значений многозначных полей считается самостоятельной таблицей, встроенной в основную таблицу.
В таблице 2.6 на примере информации о накладных и товарах для сравнения приведено представление одних и тех же данных с помощью реляционной (а) и постреляционной (б) моделей. Таблица INVOICES (накладные) содержит данные о номерах накладных (INVNO) и номерах покупателей (CUSTNO). В таблице INVOICE.ITEMS (накладные-товары) содержатся данные о каждой из накладных: номер накладной (INVNO), название товара (GOODS) и количество товара (QTY). Таблица INVOICES связана с таблицей INVOICE.ITEMS по полю INVNO.
Таблица 2.6. Структуры данных реляционной и постреляционной моделей
а) INVOICES |
|
INVOICE.ITEMS |
|
б) INVOICES |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
Как видно из таблицы, по сравнению с реляционной моделью в постреляционной модели данные хранятся более эффективно, а при обработке не требуется выполнять операцию соединения данных из двух таблиц. Это можно увидеть на примере операторов выбора данных всех полей базы для реляционной и постреляционной моделей:
А) SELECT INVOICES.INVNO, CUSTNO, GOODS, QTY FROM INVOICES, INVOICE.ITEMS
WHERE INVOICES.INVNO=INVOICE.1TEMS.INVNO
Б) SELECT INVNO, CUSTNO, GOODS, QTY FROM INVOICES
Помимо обеспечения вложенности полей постреляционная модель поддерживает ассоциированные многозначные поля (множественные группы). Совокупность ассоциированных полей называется ассоциацией. При этом в строке первое значение одного столбца ассоциации соответствует первым значениям всех других столбцов ассоциации. Аналогичным образом связаны все вторые значения столбцов и т. д.
На длину полей и количество полей в записях таблицы не накладывается требование постоянства. Это означает, что структура данных и таблиц имеют большую гибкость.
Поскольку постреляционная модель допускает хранение в таблицах ненормализованных данных, возникает проблема обеспечения целостности и непротиворечивости данных. Эта проблема решается включением в СУБД механизмов, подобных хранимым процедурам в клиент-серверных системах.
Для описания функций контроля значений в полях имеется возможность создавать процедуры (коды конверсии и коды корреляции), автоматически вызываемые до или после обращения к данным. Коды корреляции выполняются сразу после чтения данных, перед их обработкой. Коды конверсии, наоборот, выполняются после обработки данных.
Достоинством постреляционной модели является возможность представления совокупности связанных реляционных таблиц одной постреляционной таблицей. Это обеспечивает высокую наглядность представления информации и повышение эффективности ее обработки.
Недостатком постреляционной модели является сложность решения проблемы обеспечения целостности и непротиворечивости хранимых данных.
Рассмотренная нами постреляционная модель данных поддерживается СУБД uniVers. К числу других СУБД, основанных на постреляционной модели данных, относятся также системы Bubba и Dasdb.
19.Охарактеризуйте многомерную модель данных.
Многомерный подход к представлению данных в базе появился практически одновременно с реляционным, но реально работающих многомерных СУБД (МСУБД) до настоящего времени было очень мало. С середины 90-х годов интерес к ним стал приобретать массовый характер.
Толчком послужила в 1993 году программная статья одного из основоположников реляционного подхода Э. Кодда. В ней сформулированы 12 основных требований к системам класса OLAP (Online Analytical Processing - оперативная аналитическая обработка), важнейшие из которых связаны с возможностями концептуального представления и обработки многомерных данных. Многомерные системы позволяют оперативно обрабатывать информацию для проведения анализа и принятия решения.
В развитии концепций ИС можно выделить следующие два направления:
системы оперативной (транзакционной) обработки;
системы аналитической обработки (системы поддержки принятия решений).
Реляционные СУБД предназначались для информационных систем оперативной обработки информации и в этой области были весьма эффективны. В системах аналитической обработки они показали себя несколько неповоротливыми и недостаточно гибкими. Более эффективными здесь оказываются многомерные СУБД (МСУБД).
Многомерные СУБД являются узкоспециализированными СУБД, предназначенными для интерактивной аналитической обработки информации. Раскроем основные понятия, используемые в этих СУБД: агрегируемость, историчность и прогнозируемость данных.
Агрегируемостъ данных означает рассмотрение информации на различных уровнях ее обобщения. В информационных системах степень детальности представления информации для пользователя зависит от его уровня: аналитик, пользователь-оператор, управляющий, руководитель.
Историчность данных предполагает обеспечение высокого уровня статичности (неизменности) собственно данных и их взаимосвязей, а также обязательность привязки данных ко времени.
Статичность данных позволяет использовать при их обработке специализированные методы загрузки, хранения, индексации и выборки.
Временная привязка данных необходима для частого выполнения запросов, имеющих значения времени и даты в составе выборки. Необходимость упорядочения данных по времени в процессе обработки и представления данных пользователю накладывает требования на механизмы хранения и доступа к информации. Так, для уменьшения времени обработки запросов желательно, чтобы данные всегда были отсортированы в том порядке, в котором они наиболее часто запрашиваются.
Прогнозируемость данных подразумевает задание функций прогнозирования и применение их к различным временным интервалам.
Многомерность модели данных означает не многомерность визуализации цифровых данных, а многомерное логическое представление структуры информации при описании и в операциях манипулирования данными.
По сравнению с реляционной моделью многомерная организация данных обладает более высокой наглядностью и информативностью. Для иллюстрации в таблице 2.8 приведены реляционное (а) и многомерное (б) представления одних и тех же данных об объемах продаж автомобилей.
Таблица 2.8. Реляционное (а) и многомерное (б) представление данных
А) |
|
|
Б) |
|
Если речь идет о многомерной модели с мерностью больше двух, то не обязательно визуально информация представляется в виде многомерных объектов (трех-, четырех- и более мерных гиперкубов). Пользователю и в этих случаях более удобно иметь дело с двухмерными таблицами или графиками. Данные при этом представляют собой "вырезки" (точнее, "срезы") из многомерного хранилища данных, выполненные с разной степенью детализации.
Рассмотрим основные понятия многомерных моделей данных, к числу которых относятся измерение и ячейка.
Измерение (Dimension) - это множество однотипных данных, образующих одну из граней гиперкуба. Примерами наиболее часто используемых временных измерений являются Дни, Месяцы, Кварталы и Годы. В качестве географических измерений широко употребляются Города, Районы, Регионы и Страны. В многомерной модели данных измерения играют роль индексов, служащих для идентификации конкретных значений в ячейках гиперкуба.
Ячейка (Cell) или показатель - это поле, значение которого однозначно определяется фиксированным набором измерений. Тип поля чаще всего определен как цифровой. В зависимости от того, как формируются значения некоторой ячейки, обычно она может быть переменной (значения изменяются и могут быть загружены из внешнего источника данных или сформированы программно) либо формулой (значения, подобно формульным ячейкам электронных таблиц, вычисляются по заранее заданным формулам).
В примере таблицы 2.8(б) каждое значение ячейки Объем продаж однозначно определяется комбинацией временного измерения Месяц продаж и Модель автомобиля. На практике зачастую требуется большее количество измерений.
В существующих МСУБД используются два основных варианта (схемы) организации данных: гиперкубическая и поликубическая.
В поликубической схеме предполагается, что в БД может быть определено несколько гиперкубов с различной размерностью и с различными измерениями в качестве граней. Примером системы, поддерживающей поликубический вариант БД, является сервер Oracle Express Server.
В случае гиперкубической схемы предполагается, что все показатели определяются одним и тем же набором измерений. Это означает, что при наличии нескольких гиперкубов БД все они имеют одинаковую размерность и совпадающие измерения. Очевидно, в некоторых случаях информация в БД может быть избыточной (если требовать обязательное заполнение ячеек).
В случае многомерной модели данных применяется ряд специальных операций, к которым относятся: формирование "среза", "вращение", агрегация и детализация.
"Срез" (Slice) представляет собой подмножество гиперкуба, полученное в результате фиксации одного или нескольких измерений. Формирование "срезов" выполняется для ограничения используемых пользователем значений, так как все значения гиперкуба практически никогда одновременно не используются. Например, если ограничить значения измерения Модель автомобиля в гиперкубе маркой "Жигули", то получится двухмерная таблица продаж этой марки автомобиля различными менеджерами по годам.
Операция "вращение" (Rotate) применяется при двухмерном представлении данных. Суть ее заключается в изменении порядка измерений при визуальном представлении данных. Так, "вращение" двумерной таблицы, показанной в табл. 2.8(б), приведет к изменению ее вида таким образом, что по оси Х будет марка автомобиля, а по оси Y - время.
Операцию "вращение" можно обобщить и на многомерный случай, если под ней понимать процедуру изменения порядка следования измерений. В простейшем случае, например, это может быть взаимная перестановка двух произвольных измерений.
Операции "агрегация" (Drill Up) и "детализация" (Drill Down) означают соответственно переход к более общему и к более детальному представлению информации пользователю из гиперкуба.
Основным достоинством многомерной модели данных является удобство и эффективность аналитической обработки больших объемов данных, связанных со временем. При организации обработки аналогичных данных на основе реляционной модели происходит нелинейный рост трудоемкости операций в зависимости от размерности БД и существенное увеличение затрат оперативной памяти на индексацию.
Недостатком многомерной модели данных является ее громоздкость для простейших задач обычной оперативной обработки информации.
Примерами систем, поддерживающими многомерные модели данных, являются Essbase (Arbor Software), Media Multi-matrix (Speedware), Oracle Express Server (Oracle) и Cache (InterSystems). Некоторые программные продукты, например Media/ MR (Speedware), позволяют одновременно работать с многомерными и с реляционными БД. В СУБД Cache, в которой внутренней моделью данных является многомерная модель, реализованы три способа доступа к данным: прямой (на уровне узлов многомерных массивов), объектный и реляционный.
