close

Вход

Забыли?

вход по аккаунту

...экзаменационных билетов по дисциплине Базы данных гр

код для вставкиСкачать
Перечень тем представленных в теоретическом вопросе
1. Обоснование концепции БД (причины, вызвавшие переход к
концепции БД). Основные положения концепции баз данных.
Архитектура представления информации в концепции баз данных.
Понятие схемы и подсхемы в концепции баз данных.
2. Структуры данных. Линейная, иерархическая и сетевая структуры
данных. Основные положения (признаки) иерархической структуры
данных.
3. Реляционная модель данных. Основные понятия, нормализация
отношений. Операции реляционной алгебры.
4. Основные этапы проектирования баз данных.
5. SQL. Команды Select и Create Table
6. Распределенная обработка (технологии клиент сервер и файл сервер,
понятие транзакции, варианты распределения БД, особенности
распределенной обработки)
7. Понятие хранилищ данных и OLAP обработки.
1
1. Обоснование концепции БД (причины, вызвавшие переход к концепции БД).
Основные положения концепции баз данных. Архитектура представления
информации в концепции баз данных. Понятие схемы и подсхемы в концепции баз
данных.
Активная деятельность по отысканию приемлемых способов обобществления
непрерывно растущего объема информации привела к созданию в начале 60-х
годов специальных программных комплексов, называемых "Системы управления
базами данных" (СУБД). Стремление увеличить возможности файловых систем в
соответствии с указанными и некоторыми другими пользовательскими
потребностями, стремление стандартизировать программные средства для
моделирования различных ПО привело к возникновению концепции баз данных.
Основная особенность СУБД – это наличие процедур для ввода и хранения не
только самих данных, но и описаний их структуры. Файлы, снабженные описанием
хранимых в них данных и находящиеся под управлением СУБД, стали называть
банки данных, а затем "Базы данных" (БД).
Основные черты концепции БД:
 данные отделяются от ПП(прикладной программы), появляется специальная
программная надстройка для управления данными, называемая системой
управления базами данных (СУБД); СУБД управляет данными и служит
посредником между ними и ПП; ПП упрощаются, освобождаются от функций
структуризации, хранения и поиска данных;
 появляются стандартизированные данные о фактографических данных –
метаданные, управляемые СУБД; метаданные описывают информационные
параметры и взаимосвязи фактографических данных о ПО;
 СУБД совместно с метаданными представляет собой стандартизированное
инструментальное средство для моделирования ПО различной природы;
 происходит централизация (интеграция) данных, их многоаспектное
использование для различных приложений, что сокращает избыточность данных,
позволяет обеспечить более высокий уровень достоверности данных и
оптимизировать различные процедуры ведения и использования БД.
Основные положения концепции БД:
 Автономное, без избыточное хранение данных сложной структуры и
значительного объема.
 Комплексное использование хранимой информации.
 Независимость программ обработки от физической структуры исходных
данных.
Дополнительные положения концепции БД:
 БД – есть отображение информационной модели предметной области.
 Однократный ввод первичной информации.
2
 Защита данных (авторизованный доступ, от катастрофического разрушения,
криптография, ограничения целостности).
 Реорганизация БД (развитие) по мере необходимости с минимальным влиянием
на действующие программы.
Архитектура СУБД обеспечивает потребности различных пользователей,
выполнение их запросов, а также внутренние потребности, связанные с
представлением данных в файлах и доступом к ним. Общепринятым в настоящее
время является подход, обеспечивающий трехуровневое представление данных:
 на уровне внешних моделей соответствующих различным запросам различных
пользователей;
 на логическом уровне, соответствующем интегральному взгляду на данные
администратора ПО и администратора БД;
 на внутреннем уровне, соответствующем взгляду на данные системных
программистов.
СУБД поддерживает различные описания данных на всех уровнях и их
преобразования из одних видов представления в другие.
Внешние представления
...
Концептуальное
представление
Физическое
представление
 Концептуальное представление - логическая структура БД в целом в
ограничениях СУБД по структуре данных. Это то, как «видит» БД потенциальный
пользователь;
 Физическое представление - конкретное размещение значений данных в памяти
(во внешней и в оперативной), способы и средства представления структурных
характеристик (имен, размеров, адресов), установления связей между элементами
структуры БД;
 Внешнее представление - часть структуры БД, используемая в конкретном
приложении (запрос, программа получения каких-то документов и т.п.).
3
Система управления базами данных (СУБД) обеспечивает возможность хранения
описания всех этих представлений.
Понятие схемы и подсхемы
Описание концептуального и соответствующего ему физического представления
(описание структуры БД) хранится автономно, называется схемой БД и создается до
того, как начнет наполняться БД.
Описание подмножества концептуального представления, которое соответствует
внешнему представлению для некоторого приложения (описание части структуры
БД, доступной программе обработки), называется подсхемой.
Используя подсхему и схему, СУБД обеспечивает настройку приложения на работу с
физической базой данных. Тем самым достигается универсализм СУБД по
отношению соответствия внешнего представления – физическому, а значит,
обеспечивается принцип независимости программ обработки от физической
структуры БД.
С другой стороны, программа обработки может получить только те данные и
выполнять только те процедуры (чтения, а возможно обновления данных), которые
указаны в ее подсхеме. Тем самым обеспечивается защита БД от
несанкционированного доступа.
4
2. Структуры данных. Линейная, иерархическая и сетевая структуры данных.
Основные положения (признаки) иерархической структуры данных.
Понятие структуры данных появилось в конце 60-х годов и связано с понятием базы
данных. В свою очередь, понятие базы данных было связано с понятием
автоматизированной системы управления (АСУ), используемой в сфере экономики и
являющейся, по существу, информационной системой фактографического типа.
Под структурой данных будем понимать совокупность информационных элементов
и связей между ними.
Под моделью данных будем понимать соответствующий тип структуры данных и
типовые операции по управлению данными.
Следует также заметить, что когда говорят о структуре данных как о модели данных,
то имеют в виду логическую структуру, под которой понимают представление
информационных элементов и связей между ними вне зависимости от способа их
размещения в памяти компьютера.
В противовес этому под физической структурой понимают представление
информационных элементов и связей между ними в памяти компьютера, вплоть до
представления символов, а возможно, и указателей связи битовыми кодами.
Линейная модель данных
Свойства линейной структуры:
• элементами линейной структуры являются простые данные. Простыми считаем
данные, разделение которых на составляющие не имеет смысла;
• каждое данное имеет имя (идентификатор) и множество возможных значений,
задаваемое словарем, диапазоном или правилом формирования;
• множество данных, составляющих линейную структуру, описывает множество
однотипных объектов;
• все экземпляры линейной структуры (записи) однородны в том смысле, что:
 порядок следования данных во всех экземплярах структуры один и тот же;
 размер и тип данных одного имени во всех экземплярах структуры одинаковы.
Разные данные могут иметь различные размеры и типы;
Линейной структуре в информационных системах соответствует файл однотипных
записей.
Отметим особо, что связь между элементами (данными) состоит в определенном
порядке их следования в экземплярах структуры (в записях).
• среди элементов можно выделить так называемые ключевые данные, которыми
являются одно либо несколько данных, значения которых однозначно определяют
каждый экземпляр структуры, или в структуре нет двух экземпляров с одинаковым
значением ключа.
5
Учитывая, что все данные также будут являться ключом, речь идет о минимальном
числе данных, сохраняющем свойство ключа. Такой ключ называют также
первичным.
Типовые операции по управлению данными линейной структуры:
• вставка – включение новых экземпляров (записей) в структуру;
• удаление – удаление определенных экземпляров из структуры;
• замена – изменение значений некоторых данных в определенных экземплярах
структуры;
• выборка – чтение экземпляров для обработки.
При удалении или замене соответствующие записи вначале должны быть найдены.
Иерархическая древовидная структура данных - это структура, удовлетворяющая
следующим требованиям:
 элементами являются линейные структуры различных типов (различные
линейные структуры);
 связанные между собой элементы относятся так, что каждому экземпляру одного
из них можно поставить в соответствие несколько экземпляров второго. Первый
элемент называется старшим (исходным, «родителем»), второй - подчиненным
(порожденным, «ребенком»);
 каждый подчиненный в одной связи может быть старшим в связи с другим
элементом;
 один старший может иметь несколько подчиненных различных типов;
 в древовидной структуре любой подчиненный имеет не более одного старшего,
корневой элемент не имеет старшего;
 связь между непосредственно связанными элементами формально определяется
как «один к многим» или 1 : М;
Элементы в иерархической древовидной структуре имеют следующие названия:
 единственный элемент, не имеющий своего старшего, называется корневым;
 элементы, не имеющие подчиненных - называются концевыми или листьями;
 множество элементов, расположенных на одном пути от корневого до концевого
элемента, называется ветвью;
 максимальное число элементов в ветви (среди всех ветвей) называется рангом
иерархической структуры.
В иерархической модели данных определены следующие типовые операции по
управлению данными:
 вставка – аналогична соответствующей операции линейных структур данных с
тем лишь отличием, что в случае жесткой иерархии невозможно вставить
экземпляр элемента, не имеющего соответствующего старшего;
 замена - имеет особенности для ключевых данных, т.к. требуется произвести
аналогичные изменения соответствующих данных в ключах подчиненных (если
ключ старшего присутствует в ключе подчиненного, как это было в связи Студент
- Семестр) либо перезаписать все подчиненное поддерево на другое место в
6
структуре в соответствии с изменившимся значением ключевого данного
старшего элемента. По этой причине иерархические СУБД часто не допускают
изменения значения ключевого данного, требуя замены его на операции вставки
всех подчиненных на новое место и последующего удаления поддерева на
прежнем месте;
 удаление – также имеет соответствующую специфику в жесткой иерархии –
удаление экземпляра старшего ведет к удалению и всех его подчиненных;
 выборка – имеет несколько разновидностей:
 выборка следующего подобного, т.е. чтение следующего экземпляра того же
типа элемента. Это аналогично операции выборки в линейной структуре;
 выборка подобного в пределах исходного. Такая выборка может быть
осуществлена только после выборки экземпляра старшего элемента, а
читаются последовательно однотипные подчиненные, но только связанные с
выбранным «старшим».
 выборка следующего в иерархической последовательности, т.е. выборка
возможно разнотипных элементов в соответствии со структурой по правилу
«сверху вниз – слева направо».
 в процессе выполнения операции выборки экземпляров элементов (записей)
некорневого уровня к выбираемому экземпляру могут быть присоединены
ключи вышестоящих уровней или даже полные связанные экземпляры
элементов старших уровней.
Сетевая структура данных удовлетворяет следующим требованиям:
- элементами являются линейные структуры различных типов;
- такие же связи как и иерархической древовидной структуре;
- между двумя элементами (типами записей) может быть более 1 связи (а);
- у одного элемента может быть более одного старшего (б);
- возможны несколько связей внутри линейной структуры (петли);
- возможны циклические подструктуры (в);
- связи типа N : M
7
3. Реляционная модель данных. Основные понятия, нормализация отношений.
Операции реляционной алгебры.
Согласно Дейту, реляционная модель состоит из трех частей:
 Структурной части
 Целостной части
 Манипуляционной части
Структурная часть описывает, какие объекты рассматриваются реляционной
моделью. Постулируется, что единственной структурой данных, используемой в
реляционной модели, являются нормализованные n-арные отношения.
Целостная часть описывает ограничения специального вида, которые должны
выполняться для любых отношений в любых реляционных базах данных. Это
целостность сущностей и целостность внешних ключей.
Манипуляционная часть описывает два эквивалентных способа манипулирования
реляционными данными - реляционную алгебру и реляционное исчисление.
В основе реляционной модели данных лежит понятие отношения.
Отношение представляется в виде двумерной таблицы, на которую накладываются
определенные ограничения.
Столбец таблицы соответствует понятию атрибута отношения, строка – понятию
кортежа отношения.
Множество возможных значений, которые могут появляться в столбце таблицы понятию домена, на котором определен соответствующий атрибут.
Ключ отношения – один или несколько атрибутов, значения которых однозначно
идентифицируют любой кортеж отношения.
В реляционной модели данных акцентируется понятие функциональной
зависимости не ключевых атрибутов отношения от ключа в том смысле, что для
определенного значения ключевых атрибутов каждый не ключевой атрибут имеет
вполне определенное, единственное значение.
Обязательность наличия ключа приводит к важному свойству – в отношении не
может быть двух одинаковых кортежей.
Отношения должны быть нормализованы:
 должны быть исключены составные атрибуты;
 атрибуты не должны иметь множественное значение в одном кортеже;
 должны быть исключены частичные, транзитивные и другие специфические
зависимости между не ключевыми атрибутами, между не ключевыми атрибутами
и ключом.
Нормализация отношения это:
 исключение частичных зависимостей атрибутов внутри отношения;
8
 преобразование отношения путем разбиения на более простые с целью
исключения зависимостей, вызывающих проблемы с однозначным определением
значений атрибутов;
Требование нормализации отношений направлено на обеспечение такой их
структуры, которая исключает некорректное обновление значений некоторых
атрибутов (аномалия обновления) и ошибки в выполнении определенных операций
выборки.
ПЕРВАЯ НОРМАЛЬНАЯ ФОРМА (1НФ)
Отношение удовлетворяет первой нормальной форме (1НФ), если все его атрибуты
атомарны (неделимы), т.е. среди атрибутов нет составных или с множественными
значениями.
ВТОРАЯ НОРМАЛЬНАЯ ФОРМА (2НФ)
Отношение удовлетворяет второй нормальной форме (2НФ), если оно удовлетворяет
1НФ и не содержит атрибутов, зависящих от части ключа.
Или
Отношение удовлетворяет второй нормальной форме (2НФ), если все его не
ключевые атрибуты функционально полно зависят от ключа.
ТРЕТЬЯ НОРМАЛЬНАЯ ФОРМА (3НФ)
Отношение удовлетворяет третьей нормальной форме (3НФ), если оно
удовлетворяет 2НФ, и среди его не ключевых атрибутов нет зависящих от другого
не ключевого атрибута (нет атрибутов, транзитивно зависящих от ключа).
Операциям реляционной алгебры соответствуют простые типовые задачи по
обработке данных и при наличии СУБД, реализующих эти операции, программистам
облегчается задача проектирования приложений, а при создании соответствующего
интерфейса даже конечные пользователи могут непосредственно обращаться к
реляционным базам данных с простыми информационными запросами.
Восемь основных операций над отношениями реализуются в реляционной модели
данных:
 пять традиционных операций над множествами - объединение, пересечение,
разность, декартово произведение, деление;
 три специальные реляционные операции – проекции, выбора (селекции) и
соединения.
Объединением двух совместимых по объединению отношений R1 и R2 является
отношение R3, содержащее множество всех кортежей, принадлежащих или R1, или
R2, или обоим вместе.
Пересечением двух совместимых по объединению отношений R1 и R2 является
отношение R3, содержащее кортежи, принадлежащие как R1, так и R2.
9
Разностью двух совместимых по объединению отношений R1 и R2 является
отношение R3, кортежи которого принадлежат R1, но не принадлежат R2 (т.е.
кортежи из R1, которых нет в R2).
Декартовым произведением отношения А со схемой ( A1 , A 2 , ..., A n ) и отношения В
( B1 , B 2 , ..., B m )
со
схемой
является
отношение
С,
со
схемой
( A1 , A 2 , ..., A n , B1 , B 2 , ..., B m ) равной объединению схем отношений А и В, кортежи
которого получены путем конкатенации (присоединения) каждого кортежа
отношения В с каждым кортежем отношения А.
Операция деления одного отношения (делимого) на другое отношение (делитель)
может быть выполнена, если все множество атрибутов схемы делителя является
подмножеством атрибутов схемы делимого.
Результирующее отношение содержит только те атрибуты делимого, которых нет в
делителе.
В него включаются только те кортежи, декартово произведение которых с делителем
содержится в делимом (является подмножеством делимого).
Проекция – это операция построения нового отношения путем выбора одних и
исключения других атрибутов из исходного отношения.
Выбор (селекция) – операция получения нового отношения с той же схемой, что и
исходное отношение, но, кортежи которого являются подмножеством кортежей
исходного. В него включаются только те кортежи исходного отношения, значения
определенных атрибутов которых удовлетворяют заданным ограничениям.
Соединением отношения А по атрибуту Х с отношением В по атрибуту Y называется
множество всех кортежей, являющихся конкатенацией таких кортежей а  А и
кортежей b  В, для которых выполняется условие Х  Y (под  понимается одна из
операций сравнения , , , , , ). Х и Y должны быть определены на одном и
том же домене.
10
4. Основные этапы проектирования баз данных.
Процесс проектирования БД можно представить в виде 3 этапов:
 Анализ
предметной области и определение ее концептуальной
информационной модели.
 Выбор СУБД, в среде которой физически будет реализована база данных.
 Проектирование физической структуры баз данных.
Внешнее представление (внешняя схема) данных является совокупностью
требований к данным со стороны некоторой конкретной функции, выполняемой
пользователем. Концептуальная схема является полной совокупностью всех
требований к данным, полученной из пользовательских представлений о реальном
мире. Внутренняя схема - это сама база данных.
Отсюда вытекают основные этапы, на которые разбивается процесс проектирования
базы данных информационной системы:
Концептуальное проектирование - сбор, анализ и редактирование требований к
данным. Для этого осуществляются следующие мероприятия:
 обследование предметной области, изучение ее информационной структуры;
 выявление всех фрагментов, каждый из которых харакетризуется
пользовательским представлением, информационными объектами и связями
между ними, процессами над информационными объектами;
 моделирование и интеграция всех представлений.
По окончании данного этапа получаем концептуальную модель, инвариантную к
структуре базы данных. Часто она представляется в виде модели "сущность-связь".
Логическое проектирование - преобразование требований к данным в структуры
данных. На выходе получаем СУБД-ориентированную структуру базы данных и
спецификации прикладных программ. На этом этапе часто моделируют базы данных
применительно к различным СУБД и проводят сравнительный анализ моделей.
Физическое проектирование - определение особенностей хранения данных,
методов доступа и т.д.
Построение концептуальной модели самый сложный и трудно формализуемый
процесс. Отсутствуют конструктивные методики, процесс структуризации по
существу является искусством, опирающимся на опыт проектировщика и участие
профессионала – работника моделируемой предметной области.
Традиционно для отражения процесса определения концептуальной модели данных
используется понятие моделирование данных.
Моделирование данных - это процесс определения базы данных с целью
правдоподобно отразить в ней функционирование (в т.ч. состояние) организации.
Задача, следовательно, состоит в том, чтобы надежно собирать и сохранять данные о
различной деятельности, которую организация хочет планировать, контролировать
или оценивать.
11
Концептуальная схема данных получается в результате проектирование
семантической модели данных.
Моделирование данных – это процесс создания логического представления
структуры базы данных. Правильно сконструированная модель данных должна
поддерживать все пользовательские представления данных.
Концептуальное проектирование баз данных – это процесс создания модели,
используемой информации, не зависящей от любых физических аспектов её
представления – создание концептуального представления базы данных, включающее
определение типов важнейших сущностей и существующих между ними связей и
атрибутов. Далее этап логического проектирования.
В целом, это представление некоторой предметной области в виде
информационной модели, которую просто использовать далее для
проектирования баз данных.
Можно выделить два подхода к моделированию данных (проектированию
концептуальной модели данных):
 в результате системного анализа предметной области (называют также
семантическим моделированием) – наиболее распространенный, по крайней
мере, в известных работах.
 в результате анализа информационных потребностей пользователей - часто его
называют подходом, основанном на нормализации (на основе нормализации
сущностей, соответствующих анализируемым информационным потребностям).
С учетом специфики назовем такой подход декомпозиционным и отметим
сложность его реализации (необходимо активное участие руководителей различных
уровней) и потребность в серьезном теоретическом обосновании.
Достоинством такого подхода (при применении качественной методики системного
анализа) является возможность получения детальной информационной модели
предметной области, отражающая не только сиюминутные потребности
пользователей.
Декомпозиционный подход (семантическое моделирование)
Семантическое моделирование наиболее распространено и базируется на подходе,
определенном Ченом примерно в 1976г.
Любой фрагмент предметной области в рассматриваемом подходе может быть
представлен как множество сущностей, между которыми существует некоторое
множество связей.
Сущность – это некоторый объект, идентифицируемый в рабочей среде
пользователей, нечто такое, за чем пользователь хотел бы наблюдать.
Сущность (entity) - это объект, который может быть идентифицирован неким
способом, отличающим его от других объектов. Примеры: конкретный человек,
предприятие, событие и т.д.
12
Сущностью называется
имеющее
особый
смысл,
существующее в
действительности или явление воображаемое или объект, информация о
котором подлежит запоминанию или выяснению.
Набор сущностей (entity set) - множество сущностей одного типа (обладающих
одинаковыми свойствами). Примеры: все люди, предприятия, праздники и т.д.
Наборы сущностей не обязательно должны быть непересекающимися. Например,
сущность, принадлежащая к набору МУЖЧИНЫ, также принадлежит набору
ЛЮДИ.
13
5. SQL. Команды Select и Create Table
SQL (Structured Query Language — «язык структурированных запросов») —
универсальный компьютерный язык, применяемый для создания, модификации и
управления данными в реляционных базах данных.
SQL основывается на реляционной алгебре.
SQL
является,
прежде
всего,
информационно-логическим
языком,
предназначенным для описания хранимых данных, для извлечения хранимых
данных и для модификации данных. SQL не является языком программирования.
(Вместе с тем стандарт языка спецификацией SQL/PSM предусматривает
возможность его процедурных расширений.)
Изначально, SQL был основным способом работы пользователя с базой данных и
представлял собой небольшую совокупность команд (операторов) допускающих
создание таблиц, добавление в таблицы новых записей, извлечение записей из
таблиц (в соответствии с заданным условием), удаление записей и изменение
структур таблиц. В связи с усложнением язык SQL стал более прикладным языком
программирования, а пользователи получили возможность использовать визуальные
построители запросов.
Язык SQL представляет собой совокупность операторов.
Операторы SQL делятся на:
 операторы определения данных (Data Definition Language, DDL)
 операторы манипуляции данными (Data Manipulation Language, DML)
 операторы определения доступа к данным (Data Control Language, DCL)
 операторы управления транзакциями (Transaction Control Language, TCL)
SELECT
Команда SELECT предназначена для извлечения строк данных из одной или
нескольких таблиц и имеет в общем случае следующий синтаксис:
SELECT column,...
[FROM table WHERE definition]
[ORDER BY col_name [ASC | DESC], ...]
[LIMIT [offset], rows]
Здесь column - имя выбираемого столбца. Можно указать несколько столбцов через
запятую. Если необходимо выбрать все столбцы можно просто указать знак
звёздочки *. Ключевое слово FROM указывает таблицу table из которой извлекаются
записи. Ключевое слово WHERE определяет, так же как и в операторе DELETE
определяет условия отбора строк. Ключевое слово ORDER BY сортирует строки
запросов по столбцу col_name в прямом (ASC) или обратном порядке (DESC).
Ключевое слово LIMIT сообщает MySQL об выводе только rows запросов начиная с
позиции offset.
14
Оператор LIMIT используется для ограничения количества строк, возвращенных
командой SELECT.
CREATE TABLE
Команда CREATE TABLE создает новую таблицу в выбранной базе данных и
которая в простейшем случае имеет следующий синтаксис:
CREATE TABLE table_name [(create_definition, ...)]
Здесь table_name - имя создаваемой таблицы.
Создадим первую таблицу базы данных forum, которая называется authors и содержит
различные данные об зарегистрированных посетителях форума: ник (name), пароль
(passw), e-mail (email), Web-адрес сайта посетителя (url), номер ICQ (iсq), сведения об
посетителе (about), строку содержащую путь к файлу фотографии посетителя (photo),
время добавления запроса (time), последнее время посещения форума (last_time),
статус посетителя - является ли он модератором, администратором или обычным
посетителем (statususer). Кроме перечисленных полей в таблице имеется поле
id_author, являющийся первичным ключом таблицы. SQL-запрос, создающий эту
таблицу приведен в листинге:
mysql> CREATE TABLE authors (
id_author int(6) NOT NULL auto_increment,
name text,
passw text,
email text,
url text,
iсq text,
about text,
photo text,
time datetime default NULL,
last_time datetime default NULL,
themes int(10) default NULL,
statususer int(2) default NULL,
PRIMARY KEY (id_author)
) TYPE=MyISAM;
Выполнив SQL-команду SHOW TABLES, можно убедиться, что таблица authors
успешно создана.
15
6. Распределенная обработка (технологии клиент-сервер и файл-сервер, понятие
транзакции, варианты распределения БД, особенности распределенной обработки)
Пользователь БД — программа или человек, обращающийся к БД на ЯМД.
Запрос — процесс обращения пользователя к БД с целью ввода, получения или
изменения информации в БД.
Транзакция — последовательность операций модификации данных в БД,
переводящая БД из одного непротиворечивого состояния в другое непротиворечивое
состояние.
Логическая структура БД — определение БД на физически независимом уровне,
ближе всего соответствует концептуальной модели БД.
Топология БД — Структура распределенной БД - схема распределения физической
БД по сети.
Локальная автономность — означает, что информация локальной БД и связанные с
ней определения данных принадлежат локальному владельцу и им управляются.
Удаленный запрос — запрос, который выполняется с использованием модемной
связи.
Возможность реализации удаленной транзакции обработка одной транзакции,
состоящей из множества SQL-запросов на одном удаленном узле.
Поддержка распределенной транзакции допускает обработку транзакции,
состоящей из нескольких запросов SQL, которые выполняются на нескольких узлах
сети (удаленных или локальных), но каждый запрос в этом случае обрабатывается
только на одном узле, то есть запросы не являются распределенными. При обработке
одной распределенной транзакции разные локальные запросы могут обрабатываться
в разных узлах сети.
Распределенный запрос — запрос, при обработке которого используются данные из
БД, расположенные в разных узлах сети.
Системы распределенной обработки данных в основном связаны с первым
поколением БД, которые строились на мультипрограммных операционных системах
и использовали централизованное хранение БД на устройствах внешней памяти
центральной ЭВМ и терминальный многопользовательский режим доступа к ней.
При этом пользовательские терминалы не имели собственных ресурсов — то есть
процессоров и памяти, которые могли бы использоваться для хранения и обработки
данных.
Первой
полностью
реляционной
системой,
работающей
в
многопользовательском режиме, была СУБД SYSTEM R, разработанная фирмой
IBM, именно в ней были реализованы как язык манипулирования данными SQL, так
и основные принципы синхронизации, применяемые при распределенной обработке
данных, которые до сих пор являются базисными практически во всех коммерческих
СУБД.
Модели "клиент-сервер" в технологии баз
данных
Вычислительная модель "клиент-сервер"
исходно связана с парадигмой открытых
16
систем, которая появилась в 90-х годах и быстро эволюционировала. Сам термин
"клиент-сервер" исходно применялся к архитектуре программного обеспечения,
которое описывало распределение процесса выполнения по принципу
взаимодействия двух программных процессов, один из которых в этой модели
назывался "клиентом", а другой - "сервером". Клиентский процесс запрашивал
некоторые услуги, а серверный процесс обеспечивал их выполнение. При этом
предполагалось, что один серверный процесс может обслужить множество
клиентских процессов.
Основной принцип технологии "клиент-сервер" применительно к технологии баз
данных заключается в разделении функций стандартного интерактивного
приложения на 5 групп, имеющих различную природу:
 функции ввода и отображения данных (Presentation Logic);
 прикладные функции, определяющие основные алгоритмы решения задач
приложения (Business Logic);
 функции обработки данных внутри приложения (Database Logic);
 функции управления информационными ресурсами (Database Manager System);
 служебные функции, играющие роль связок между функциями первых четырех
групп.
Презентационная логика (Presentation Logic) как часть приложения определяется
тем, что пользователь видит на своем экране, когда работает приложение. Сюда
относятся все интерфейсные экранные формы, которые пользователь видит или
заполняет в ходе работы приложения, к этой же части относится все то, что
выводится пользователю на экран как результаты решения некоторых
промежуточных задач либо как справочная информация. Поэтому основными
задачами презентационной логики являются:
 формирование экранных изображений;
 чтение и запись в экранные формы информации;
 управление экраном;
 обработка движений мыши и нажатие клавиш клавиатуры.
Бизнес-логика, или логика собственно приложений (Business processing Logic) —
это часть кода приложения, которая определяет собственно алгоритмы решения
конкретных задач приложения. Обычно этот код пишется с использованием
различных языков программирования, таких как C, C++, Cobol, SmallTalk, VisualBasic.
Логика обработки данных (Data manipulation Logic) — это часть кода приложения,
которая связана с обработкой данных внутри приложения. Данными управляет
собственно СУБД (DBMS). Для обеспечения доступа к данным используются язык
запросов и средства манипулирования данными стандартного языка SQL.
Процессор управления данными (Database Manager System Processing) — это
собственно СУБД, которая обеспечивает хранение и управление базами данных. В
17
идеале функции СУБД должны быть скрыты от бизнес-логики приложения, однако
для рассмотрения архитектуры приложения нам надо их выделить в отдельную часть
приложения.
В централизованной архитектуре (Host-based processing) эти части приложения
располагаются в единой среде и комбинируются внутри одной исполняемой
программы.
В децентрализованной архитектуре эти задачи могут быть по-разному
распределены между серверным и клиентским процессами. В зависимости от
характера распределения можно выделить следующие модели распределений:
 распределенная презентация (Distribution presentation, DP);
 удаленная презентация (Remote Presentation, RP);
 распределенная бизнес-логика (Remote business logic, RBL);
 распределенное управление данными (Distributed data management, DDM);
 удаленное управление данными (Remote data management, RDA).
Модель удаленного управления данными. Модель файлового сервера.
Модель удаленного управления данными также называется моделью файлового
сервера (File Server, FS). В этой модели презентационная логика и бизнес-логика
располагаются на клиенте. На сервере располагаются файлы с данными и
поддерживается доступ к файлам. Функции управления информационными
ресурсами в этой модели находятся на клиенте.
В этой модели файлы базы данных хранятся на сервере, клиент обращается к серверу
с файловыми командами, а механизм управления всеми информационными
ресурсами, собственно база мета-данных, находится на клиенте.
Достоинства этой модели в том, что мы уже имеем разделение монопольного
приложения
на
два
взаимодействующих процесса. При
этом сервер (серверный процесс)
может
обслуживать
множество
клиентов, которые обращаются к
нему с запросами. Собственно СУБД
должна находиться в этой модели на
клиенте.
Запрос клиента формулируется в
командах ЯМД. СУБД переводит
этот запрос в последовательность
файловых команд. Каждая файловая
команда вызывает перекачку блока информации на клиента, далее на клиенте СУБД
анализирует полученную информацию, и если в полученном блоке не содержится
18
ответ на запрос, то принимается решение о перекачке следующего блока информации
и т. д.
Перекачка информации с сервера на клиент производится до тех пор, пока не будет
получен ответ на запрос клиента.
Недостатки:
 высокий сетевой трафик, который связан с передачей по сети множества блоков и
файлов, необходимых приложению;
 узкий спектр операций манипулирования с данными, который определяется
только файловыми командами;
 отсутствие адекватных средств безопасности доступа к данным (защита только на
уровне файловой системы).
Транзакция
Последовательность операций, производимых на БД и переводящих её (базу данных)
из одного непротиворечивого (согласованного) состояния в другое не
противоречивого (согласованного) состояния назвали транзакцией.
Для обеспечения возможности управления выполнением транзакции необходимо
отметить её начало и окончание.
В стандарте ANSI/ISO SQL началом транзакции считается первый оператор SQL ,
изменяющий текущее состояние БД (Insert, Update, Delete).
В большинстве СУБД явным оператором начала выполнения транзакции является
BEGIN TRANSACTION.
Завершение транзакции практически для всех СУБД идентифицируется операторами
COMMIT (COMMIT TRANSACTION) - удачное завершение и ROLLBACK
(ROLLBACK TRANSACTION) - не удачное завершение (оператор отката в
исходное состояние).
Для восстановления состояния на начало выполнения транзакции используется
журнал изменений базы данных (журнал транзакций). Обычно в процессе
выполнения транзакции все изменения заносятся в журнал (не в БД) и в случае её
удачного завершения (по оператору COMMIT) производится собственно
актуализация БД.
Для сложных транзакций могут использоваться точки сохранения и операторы SAVE
TRANSACTION A, где А - идентификатор точки сохранения, а откат может
осуществиться в эту точку по оператору ROLLBACK А.
При одновременном (параллельном) доступе нескольких приложений (запросов
пользователей) могут возникнуть проблемные ситуации и при успешном
завершении их транзакций.
19
Преодоление проблем параллельного выполнения транзакций.
Считается, что транзакция (Т) должна обладать 4 основными свойствами
(ACID)
Неразрывность (атомарность – Atomicity) – «всё или ничего» - любая Т
представляет собой неделимую единицу работы, которая может быть выполнена либо
вся целиком, либо не выполнена вообще
Согласованность (Consistency) – каждая Т переводит БД из одного согласованного
(корректного) состояния в другое согласованное состояние. Необходимо отличать не
согласованность, возникшую из-за некорректного параллельного выполнения Т, от
некорректного обновления, связанного с ошибкой в алгоритме программы.
Изолированность (Isolation) – все Т выполняются не зависимо друг от друга, т.е.
промежуточные результаты не завершенной Т не должны быть доступны для других
Т.
Устойчивость (Durability) – результаты успешно завершенной Т должны хранится в
БД и не должны быть утеряны в результате последующих сбоев (возможность
восстановления).
Под распределенной (Distributed DataBase - DDB) обычно подразумевают базу
данных, включающую фрагменты из нескольких баз данных, которые располагаются
на различных узлах сети компьютеров, и, возможно управляются различными СУБД.
Распределенная база данных выглядит с точки зрения пользователей и прикладных
программ как обычная локальная база данных. В этом смысле слово
"распределенная" отражает способ организации базы данных, но не внешнюю ее
характеристику («распределенность» базы данных невидима извне).
Распределенная БД – набор логически связанных между собой, но физически
распределенных на компьютерной сети подбаз данных.
Распределенная СУБД – программный комплекс, обеспечивающий управление
распределенными данными так, как будто бы это единая БД (прозрачный доступ
пользователей).
Способы разделения логической БД:
1. Горизонтальная фрагментация – разделение логической БД на фрагменты с
одинаковой схемой, но с различным составом записей.
Другими словами – разделение логической БД в соответствии с операцией селекция.
Тогда объединение фрагментов в единую БД м.б. осуществлено с помощью
операции объединение.
Пример горизонтальной фрагментации.
Информация об успеваемости студентов физически организуются на серверах
факультетов но в соответствии с единой схемой (одно и то же описание структуры схема).
20
2. Вертикальная фрагментация - разделение логической БД на фрагменты по
подмножеству атрибутов.
Другими словами – разделение логической БД в соответствии с операцией проекция.
Тогда объединение фрагментов в единую БД может осуществиться в соответствии с
операцией соединение.
Примеры вертикальной фрагментации.
Кадровая информация о сотрудниках, актуализируемая работниками отдела кадров
на центральном сервере, информация о военнообязанных актуализируется
работниками 2-го отдела на автономном сервере.
В обоих случаях возможно разделение:
 без дублирования записей и атрибутов соответственно – не реплицированная
горизонтальная и вертикальная фрагментации;
 с дублируемыми записями или атрибутами – реплицированная горизонтальная
и вертикальная фрагментации.
21
7. Понятие хранилищ данных и OLAP обработки.
В идеале работа аналитиков и руководителей различных уровней должна быть
организована так, чтобы они могли
 иметь доступ ко всей интересующей их информации;
 пользоваться удобными и простыми средствами представления и работы с этой
информацией.
Именно на достижение этих целей и направлены информационные технологии,
объединяющиеся под общим названием хранилища данных и бизнес-анализа.
Для предоставления необходимой для принятия решений информации обычно
приходится собирать данные из нескольких транзакционных баз данных различной
структуры и содержания. Основная проблема при этом состоит в несогласованности
и противоречивости этих баз-источников, отсутствии единого логического взгляда на
корпоративные данные. Решением этой проблемы является хранилище данных. В
основе концепции хранилищ данных лежит важная идея интеграции ранее
разъединенных детализированных данных, содержащихся в исторических архивах,
накапливаемых в традиционных системах транзакционной обработки, поступающих
из внешних источников, в единую базу данных, их предварительное согласование и,
возможно, агрегация.
Хранилище данных - это "предметно-ориентированная, интегрированная,
содержащая исторические данные, неразрушаемая совокупность данных,
предназначенная для поддержки принятия управленческих решений". Одним из
первых это определение дал Уильям Инмон в своей монографии. Схему хранилища
данных можно представить следующим образом:
Данные из различных источников помещаются в хранилище, а их описания — в
репозиторий метаданных. Конечный пользователь с помощью различных
инструментов может анализировать данные в хранилище. Результатом является
информация в виде готовых отчетов, найденных скрытых закономерностей, какихлибо прогнозов. Так как средства работы конечного пользователя с хранилищем
данных могут быть самыми разнообразными, то теоретически их выбор не должен
влиять на структуру хранилища и функции его поддержания в актуальном состоянии.
Физическая реализация данной схемы может быть самой разнообразной.
Виртуальное хранилище данных, это система, предоставляющая доступ к обычной
регистрирующей системе, которая эмулирует работу с хранилищем данных.
Виртуальное хранилище можно организовать двумя способами. Можно создать ряд
22
"представлений" (view) в базе данных или использовать специальные средства
доступа к базе данных (например, продукты класса desktop OLAP).
Двухуровневая архитектура хранилища данных подразумевает построение витрин
данных (data mart) без создания центрального хранилища, при этом информация
поступает из регистрирующих систем и ограничена конкретной предметной
областью. При построении витрин используются основные принципы построения
хранилищ данных, поэтому их можно считать хранилищами данных в миниатюре.
Плюсы: простота и малая стоимость реализации; высокая производительность за
счет физического разделения регистрирующих и аналитических систем, выделения
загрузки и трансформации данных в отдельный процесс, оптимизированной под
анализ структурой хранения данных; поддержка истории; возможность добавления
метаданных.
Построение полноценного корпоративного хранилища данных обычно
выполняется в трехуровневой архитектуре. На первом уровне расположены
разнообразные источники данных — внутренние регистрирующие системы,
справочные системы, внешние источники (данные информационных агентств,
макроэкономические показатели). Второй уровень содержит центральное хранилище,
куда стекается информация от всех источников с первого уровня, и, возможно,
оперативный склад данных, который не содержит исторических данных и выполняет
две основные функции.
23
24
1/--страниц
Пожаловаться на содержимое документа