
- •Понятия «данные», «информация», «база данных», «субд», «банк данных». Классификация субд
- •Функции субд.
- •Архитектура субд: централизованная архитектура, архитектура «файл-сервер»
- •Архитектура субд: архитектура «клиент-сервер», трехзвенная архитектура
- •Уровни представления баз данных
- •Модели данных субд: иерархическая модель
- •Модели данных субд: сетевая модель
- •Модели данных субд: реляционная модель
- •Реляционная модель данных
- •Модели данных субд: постреляционная модель
- •Модели данных. Инфологические модели: семантическая сеть, графовые модели, модель «сущность-связь».
- •«Сущность-связь»
- •Инфологическая модель «Сущность-связь»: сущность, связь, типы связей, атрибут, уникальный идентификатор, полная и неполная идентификация, возможный ключ сущности.
- •Методология проектирования idef1x: зависимые и независимые сущности, степень связи, типы связи, внешние ключи, правила построения диаграмм
- •Реляционная модель данных: классы отношений, типы связей между отношениями
- •Манипулирование реляционными данными: базовые теоретико-множественные операции реляционной алгебры (объединение, разность, пересечение, произведение).
- •Манипулирование реляционными данными: специальные операции реляционной алгебры (селекция, проекция, соединение, деление)
- •Реляционная модель данных: аномалии обновления, нормализация, первая нормальная форма
- •Реляционная модель данных: функциональные зависимости, вторая нормальная форма
- •Реляционная модель данных: третья нормальная форма, алгоритм нормализации
- •Реляционная модель данных: сравнение нормализованных и ненормализованных моделей
- •Целостность реляционных данных: Null-значения, потенциальные ключи, простой ключ, составной ключ, первичный ключ, альтернативный ключ
- •Целостность реляционных данных: целостность сущностей, внешний ключ, целостность внешних ключей
- •Целостность реляционных данных: операции, которые могут нарушить ссылочную целостность
- •Целостность реляционных данных: стратегии поддержания ссылочной целостности.
- •Основы языка sql: синтаксис операторов определения объектов базы данных (create table, alter table, drop table) create table - создать таблицу
- •Определение первичных и альтернативных ключей с помощью оператора alter
- •Операторы drop
- •Основы языка sql: синтаксис операторов манипулирования данными (select, order by, встроенные функции, group by)
- •Сортировка результатов
- •Встроенные функции sql
- •Основы языка sql: чтение данных из нескольких таблиц с применением вложенных запросов
- •Основы языка sql: чтение данных из нескольких таблиц с помощью операции соединения
- •Основы языка sql: средства модификации данных языка sql
- •Представления. Применение представлений. Обновление представлений.
- •Обновление представлений
- •Триггеры. Типы триггеров. Применение.
- •Применения триггеров
- •Хранимые процедуры. Преимущества использования хранимых процедур
- •Преимущества хранимых процедур
- •Большая безопасность и меньший сетевой трафик.
- •Sql можно оптимизировать
- •Совместное использование кода:
- •Физическая организация бд: структура памяти эвм, представление экземпляра логической записи в памяти эвм
- •Структура памяти эвм
- •Представление экземпляра логической записи
- •Физическая организация бд: организация обмена между оперативной и внешней памятью
- •Физическая организация бд: размещение физических записей в виде списковой структуры (реализация операций поиска, чтения, редактирования, удаления и добавления логических записей)
- •Физическая организация бд: использование индексов (реализация операций поиска, чтения, редактирования, удаления и добавления логических записей)
- •Физическая организация бд: использование сбалансированного дерева (реализация операций поиска, чтения, редактирования, удаления и добавления логических записей)
- •Физическая организация бд: использование хеширования (реализация операций поиска, чтения, редактирования, удаления и добавления логических записей)
- •Параллельная обработка данных: необходимость в атомарных транзакциях
- •Параллельная обработка данных: проблема потерянного обновления, проблема несогласованного чтения
- •Блокировка ресурсов. Неявные и явные блокировки. Глубина детализации блокировки. Монопольная и коллективная блокировки
- •Блокировка ресурсов: сериализуемые транзакции
- •Блокировка ресурсов: взаимная блокировка
- •Блокировка ресурсов: оптимистическая и пессимистическая блокировки
- •Блокировка ресурсов: объявление характеристик блокировки
- •Свойства транзакций: атомарность, долговечность, согласованность
- •Свойства транзакций: изолированность транзакции, уровни изоляции
- •Курсор. Типы курсоров
- •Управление параллельной обработкой в ms sql Server
- •Xml как язык разметки. Общие черты и различия html и xml. Разделение между структурой документа, его содержимым и материализацией
- •Описание содержимого xml-документа с помощью dtd.
- •Описание содержимого xml-документа с помощью xml-схемы.
- •Материализация хмl-документов с помощью xslt.
- •Плоские и структурированные xml-схемы. Глобальные элементы
- •Создание хмl-документов на основе информации из базы данных
- •Select...For xml для нескольких таблиц
- •Понятие и архитектура системы поддержки принятия решений
- •Понятие хранилища данных
- •Физические и виртуальные хранилища данных
- •Проблематика построения хранилищ данных
- •Витрины данных
- •Понятие olap. Категории данных в хд. Информационные потоки в хд
- •Категории данных в хд
- •Информационные потоки в хд
- •Структура olap-куба. Иерархия измерений olap-кубов
- •Иерархия измерений olap-кубов
- •Операции, выполняемые над гиперкубом
- •Архитектура olap-систем
- •Слой извлечения, преобразования и загрузки данных
- •Слой хранения данных
- •Слой анализа данных
- •Клиентские и серверные olap-средства
- •Клиентские olap-средства
- •Серверные olap-средства
- •Технические аспекты многомерного хранения данных: molap, holap
- •Технические аспекты многомерного хранения данных: rolap, схема «звезда», схема «снежинка»
- •Основные характеристики системы Notes. Инфраструктура Lotus Domino. Типы клиентов. Основные характеристики системы No
- •Основные характеристики системы Notes [1]:
- •Инфраструктура Lotus Domino
- •Клиенты
- •Структура баз данных Lotus Domino. Типы документов Структура баз данных Lotus Domino
- •Типы документов
- •Механизм репликации в Lotus Domino.
- •Что происходит во время репликации
- •Некоторые соображения по поводу репликации
-
Материализация хмl-документов с помощью xslt.
В XML-документе из листинга 1 определены структура и содержимое. Однако ничто в документе не указывает на то, как его следует материализовывать. Разработчики XML обеспечили четкое разделение структуры, содержимого и формата. Наиболее популярный способ материализации XML заключается в использовании XSLT (Extensible Style Language for Transformations, расширяемый язык стилей для преобразований). XSLT — это мощный и надежный язык преобразований. Его можно использовать для материализации XML-документов в HTML, а также для множества других целей. Одно из популярных применений XSLT — преобразование XML-документа из одного формата в другой. Например, с помощью XSLT компания может преобразовать накладную, представляющую собой XML-документ в некотором внутреннем формате, в эквивалентный XML-документ в формате клиента.
Язык XSLT является, во-первых, декларативным, а во-вторых, преобразовательным. Декларативным он является потому, что вместо указания процедуры материализации элементов документа вы создаете набор правил, которые определяют, как будет материализоваться документ. Преобразовательным же он является потому, что с его помощью документ, задаваемый на входе, преобразуется в другой документ.
Листинг 3 содержит DTD документа, представляющего собой список клиентов, а листинг 4 – XML-документ, соответствующий этому DTD. Оператор DOCTYPE в листинге 4 указывает на файл, содержащий DTD (см. листинг 3). Следующий оператор в XML-документе указывает местоположение еще одного документа, называемого таблицей стилей (stylesheet). Таблица стилей изображена в листинге 5. Таблицы стилей указывают программе-обработчику XSLT правила, по которым элементы XML-документа должны преобразовываться в другой формат; в данном случае исходный документ будет преобразован в HTML-документ, пригодный для отображения в браузере.
Программа-обработчик XSLT копирует элементы таблицы стилей, пока не встретит команду в формате {шаблон, действие}. Обнаружив такую команду, программа ищет в документе фрагменты, удовлетворяющие заданному шаблону, и для каждого из найденных фрагментов осуществляет указанное действие. Так, первый оператор xsl
<xsl : for-each select="customerlist/customer"/>
инициирует поиск в документе элемента, обозначенного как customerlist. Найдя такой элемент, программа ищет внутри него элемент с именем customer. Если он найдется, будут выполнены действия, указанные в цикле, завершающемся оператором </xsl:for-each> (третий снизу оператор в таблице стилей).
В этом цикле всем элементам документа customerlist присваиваются стили. Результат применения таблицы стилей из листинга 5 к исходному XML-документу из листинга 4 показан в листинге 6. Проанализируйте документ и таблицу стилей и поймите, как получаются результаты.
Программы-обработчики XSLT являются контекстно-ориентированными – каждый оператор выполняется в контексте найденного соответствия шаблону поиска. Так, оператор
<xsl :value-of select="name/lastname"/>
действует в контексте вхождения шаблона customerlist/customer, найденного в документе. Нет необходимости писать
<xsl:select-"customerlist/customer/name/lastname"/>
поскольку контекст customerlist/customer уже задан. На самом деле, если бы оператор select был записан так, то ничего бы не было найдено. Аналогичным образом, поиск <xsl:select="lastname"/> ничего бы не обнаружил, поскольку элемент lastname появляется только в контексте customerlist/customer/name, но не в контексте customerlist/customer.
Эта ориентация на контекст объясняет необходимость в операторе
<xsl:value-of select="node()"/>
(в середине таблицы стилей). Этот оператор находится в контексте customerlist/customer/address/street. Таким образом, текущим узлом (node) является элемент street, и данное выражение предписывает выдать значение этого элемента.
Обратите также внимание на то, что таблицей стилей было произведено небольшое преобразование. В исходном документе элемент lastname следовал за firstname, а в выходном потоке они расположены в обратном порядке.
Большинство современных браузеров имеют встроенный обработчик XSLT. Таким образом, достаточно предоставить браузеру документ и таблицу стилей, а он уже сам выполнит преобразование с использованием этой таблицы и автоматически отобразит результаты, как на рис. 1.