Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемРуслан Эрастов
1 SELECT,,,,,, UNION ALL SELECT ,+CompanyName+,+CustomerID+, FROM Customers UNION ALL SELECT,,,,,, ИСПОЛЬЗОВАНИЕ HTML В SQL
2 HTML не расширяем. Каждый браузер поддерживает фиксированный набор тегов, и возможности добавить новые теги не существует Язык ориентирован на форматирование данных. Если изменится формат данных, которые считывает некоторая программа, то она, скорее всего, перестанет работать Язык статичен. DHTML и подобные технологии смягчают этот момент, но HTML никогда не предназначался для работы с изменяющимися данными HTML HTML HTML ПРОБЛЕМЫ HTML
3 HTML дает только одно представление данных. Изменение представления данных оказывается более сложным, чем следует. Мало семантики. Нет возможности для представления данных отличным от отображения способом Создан для решения проблем, связанных с ограничениями HTML. Это метаязык предназначенный для определения новых языков, которые можно использовать для обмена данными HTML HTML XML ПРОБЛЕМЫ HTML И XML
4 "Заметки об XSL" "Заметки об XSL" Леонов Игорь Васильевич Леонов Игорь Васильевич ПРОСТОЙ ПРИМЕР XML
5 ПРАВИЛЬНО ОФОРМЛЕННЫЙ XML-ДОКУМЕНТ Правило 1 Все элементы должны корректно открываться, закрываться и быть вложенными. Например, это корректно: Jane Main Street Jane Main Street Это не корректно: Jane 123 Main Jane 123 Main Как и это: Jane 123 Main Jane 123 Main
6 ПРАВИЛЬНО ОФОРМЛЕННЫЙ XML-ДОКУМЕНТ Правило 2 XML не позволяет иметь незакрытые элементы. Так, если элементу не нужен закрывающий тэг (как в случае при отсутствии содержимого), это следует отражать при определении открывающего тэга элемента. Это можно сделать, завершая тэг символом "/". Почему это правило необходимо? XML-документам не нужно Определение Типа Документа (DTD – Document Type Definition). Без DTD процессор не может понять, нужен элементу закрывающий тэг или нет, так что по умолчанию каждый элемент должен быть закрыт тем или иным способом.
7 ПРАВИЛЬНО ОФОРМЛЕННЫЙ XML-ДОКУМЕНТ Правило 3 Все значения атрибутов должны заключаться в кавычки. (В конце концов, существует стандарт.) Это верно: Это неверно:
8 ПРАВИЛЬНО ОФОРМЛЕННЫЙ XML-ДОКУМЕНТ Правило 4 XML чувствителен к регистру. Можно пользоваться любым регистром, но следует быть последовательным. в нашем примере допустимо, в нашем примере допустимо, в то время как или нет.
9 ПРАВИЛЬНО ОФОРМЛЕННЫЙ XML-ДОКУМЕНТ Правило 5 Свободное место не игнорируется. Следующие два примера будут интерпретироваться по-разному. The mysterious mathematician The mysterious mathematician The mysterious mathematician The mysterious mathematician
10 ПРАВИЛЬНО ОФОРМЛЕННЫЙ XML-ДОКУМЕНТ Правило 6 На верхнем уровне XML-файла всегда находится один элемент.
11 ПРАВИЛЬНО ОФОРМЛЕННЫЙ XML-ДОКУМЕНТ Это базовые правила XML. Если документ отвечает этим требованиям, он считается правильно оформленным. Если документ этим требованиям не удовлетворяет он обработан не будет. Можно ли вообразить, что бы было, если бы это относилось и ко всем HTML-документам? Как видите, создать XML-документ предельно легко. Особенно, если уже знать HTML.
12 ЭЛЕМЕНТЫ ИЛИ АТРИБУТЫ? Необычность XML заключается в том, что этот язык предлагает два почти эквивалентных, хотя и не совсем, способа написания фразы: "это данные". Первый способ указания значения данных - поместить его во вложенный элемент, второй - присвоить значению атрибута. Поскольку очевидный ответ на вопрос, когда какой из этих двух подходов является наиболее походящим, как правило, отсутствует, XML не является полностью ортогональным (в теории программирования под этим термином понимается следующее: "каждая конструкция выполняет одну вещь, и никакая другая конструкция не делает то же самое").
13 ЭЛЕМЕНТЫ ИЛИ АТРИБУТЫ? PowerProduct PowerProduct PowerProduct PowerProduct......
14 ОПРЕДЕЛЕНИЕ ТИПА ДОКУМЕНТА DOCUMENT TYPE DEFINITION, ИЛИ DTD DTD позволяет указать, сколько элементов связано друг с другом. Например: Один элемент обозначен как главный, а остальные как подчиненные. Чтобы быть корректным, любой документ, содержащий эти элементы, должен поддерживать эти отношения. DTD ответственен за определение как этих отношений, так и дополнительных факторов порядка использования элементов, типа данных, которые могут в них содержаться и пр. PCDATA это резервное имя, описывающее базовые элементы и представляющее тип данных, содержащихся в элементе. Оно означает наличие символьных данных, которые могут быть подвергнуты грамматическому анализу. Есть и дополнительные способы определения содержания элемента, а также атрибутов, которые могут содержаться в элементе.
15 "Заметки об XSL" "Заметки об XSL" Леонов Игорь Васильевич Леонов Игорь Васильевич ПРОСТОЙ ПРИМЕР XML и XSL
16 "Заметки об XSL" "Заметки об XSL" Леонов Игорь Васильевич Леонов Игорь Васильевич ПРОСТОЙ ПРИМЕР XML и XSL
17 ЯВЛЯЕТСЯ ЛИ XML БАЗОЙ ДАННЫХ? Если строго придерживаться определения базы данных, то «XML» – в том случае, если под этим термином подразумевается XML-документ, – базой данных не является. Хотя XML-документ содержит данные, без дополнительного программного обеспечения, которое служит для обработки этих данных, он является базой данных не в большей степени, чем любой другой текстовый файл. Хотя XML-документ содержит данные, без дополнительного программного обеспечения, которое служит для обработки этих данных, он является базой данных не в большей степени, чем любой другой текстовый файл.
18 ЯВЛЯЕТСЯ ЛИ XML БАЗОЙ ДАННЫХ? Если говорить более широко, то есть, подразумевая под «XML» собственно XML-документ и сопровождающие XML инструменты и технологии – ответ будет звучать как «да, но». «Да», потому что XML предоставляет множество функций баз данных: хранение (XML-документ), схемы (DTDS, язык определения схем XML), язык запросов (XQL, XML-QL, QUILT и другие), интерфейсы для языков программирования (SAX, DOM) и так далее. «Но», потому что многие функции присущие классическим базам данных все же отсутствуют: эффективное хранение, индексация, обеспечение безопасности, обработка транзакций и поддержка целостности данных, многопользовательский доступ, триггеры, поддержка запросов ко многим документам и т.д.
19 XML И SQL ИНСТРУКЦИЯ SELECT FOR XML Этот оператор предназначен для представления результирующего набора строк в виде XML-документа. Рассмотрим его синтаксис: FOR XML { RAW | AUTO | EXPLICIT } [, XMLDATA ] [, XMLDATA ] [, ELEMENTS ] [, ELEMENTS ] [, BINARY BASE64 ] [, BINARY BASE64 ]
20 FOR XML RAW Каждая строка представляется в виде элемента. Название поля формирует название атрибута, а значение поля – значение атрибута
21 FOR XML AUTO Документ XML форматируется точно так же, как и при XML RAW, только название элемента, представляющего строку, заменяется на название таблицы. ПРЕДУПРЕЖДЕНИЕ SQL Server не позволяет использовать предикат GROUP BY совместно с FOR XML AUTO. ПРЕДУПРЕЖДЕНИЕ
22 FOR XML EXPLICIT Самый сложный и гибкий вариант для создания XML-документов. В этом режиме можно формировать документы практически любой формы, однако для этого сам запрос должен быть написан по определенным правилам.
23 FOR XML EXPLICIT В данном режиме можно формировать практически любые документы. Структура результирующего XML-документа определяется непосредственно в самом запросе. Запрос может принимать очень сложный вид. Первое поле всегда называется tag и представляет собой числовой идентификатор таблицы. Вы можете указывать для него любые числовые значения. В результирующем документе он не появляется, и нужен только, чтобы определить связи между таблицами для формирования иерархического документа. Второе поле называется parent и тоже может представлять любой числовой идентификатор. Он определяет родительскую таблицу для данной таблицы и в результирующем документе также не присутствует. Если родитель отсутствует, указывается 0 или NULL. Для иерархических выборок нужно использовать несколько запросов, объединенных с помощью оператора UNION ALL.
24 FOR XML EXPLICIT После двух обязательных полей tag и parent следуют поля, которые требуется выбрать из таблицы. Для них должен быть задан псевдоним, определяющий тип XML-узла, его название и другую информацию. Вот синтаксис этого псевдонима: ElementName ! TagNumber ! AttributeName ! Directive
25 FOR XML EXPLICIT ElementName ! TagNumber ! AttributeName ! Directive ElementName – имя элемента, в котором будет находится элемент данного поля. Обычно здесь указывается имя таблицы. ElementName – имя элемента, в котором будет находится элемент данного поля. Обычно здесь указывается имя таблицы. TagNumber – идентификатор таблицы, в которой находится данное поле. Одному и тому же ElementName всегда должен соответствовать один TagNumber. Он также не отображается ни в каком виде в результирующем документе, однако нужен для определения иерархических связей между таблицами. TagNumber – идентификатор таблицы, в которой находится данное поле. Одному и тому же ElementName всегда должен соответствовать один TagNumber. Он также не отображается ни в каком виде в результирующем документе, однако нужен для определения иерархических связей между таблицами. AttributeName – имя атрибута (или элемента), представляющего данное поле. AttributeName – имя атрибута (или элемента), представляющего данное поле.
26 FOR XML EXPLICIT ElementName ! TagNumber ! AttributeName ! Directive Directive – по существу, представляет собой тип узла. Может принимать следующие значения: element поле представляется в виде элемента xml То же самое, что element, но не выполняет трансформации текста. Например, символ меньше (
27 FOR XML EXPLICIT SELECT au_fname, au_lname, address FROM authors WHERE au_fname like 'M%' FOR XML RAW; SELECT au_fname, au_lname, address FROM authors WHERE au_fname like 'M%' FOR XML RAW; SELECT 1 as tag, 0 as parent, au_fname as 'authors!1!fname', au_fname as 'authors!1!fname', au_lname as 'authors!1!lname', au_lname as 'authors!1!lname', address as 'authors!1!address' address as 'authors!1!address' FROM authors WHERE au_fname like 'M%' FOR XML EXPLICIT; SELECT 1 as tag, 0 as parent, au_fname as 'authors!1!fname', au_fname as 'authors!1!fname', au_lname as 'authors!1!lname', au_lname as 'authors!1!lname', address as 'authors!1!address' address as 'authors!1!address' FROM authors WHERE au_fname like 'M%' FOR XML EXPLICIT;
28 Немного исправим запрос для демонстрации возможностей директивы FOR XML EXPLICIT. select 1 as tag, 0 as parent, au_fname as 'authors!1!fname', au_fname as 'authors!1!fname', au_lname as 'authors!1!lname!element', au_lname as 'authors!1!lname!element', address as 'authors!1!!cdata address as 'authors!1!!cdata from authors where au_fname like 'M%' for xml explicit select 1 as tag, 0 as parent, au_fname as 'authors!1!fname', au_fname as 'authors!1!fname', au_lname as 'authors!1!lname!element', au_lname as 'authors!1!lname!element', address as 'authors!1!!cdata address as 'authors!1!!cdata from authors where au_fname like 'M%' for xml explicit
29 Вот результат: Marjorie Marjorie Michael Michael Meander Meander Morningstar Morningstar Michel Marjorie Marjorie Michael Michael Meander Meander Morningstar Morningstar Michel
30 XMLDATA Иногда бывает полезно получить не только сами данные, но и их схему. Схема данных также записывается в формате XML. Она определяет типы элементов и атрибутов, накладывает ограничения на их значения, и вообще представляет метаинформацию, позволяющую проверить документ на действительность (validity). Существует несколько разновидностей (форматов) схем данных. SQL Server использует XDR-схемы (XML Data Reduced). Ключевое слово XMLDATA может быть использовано для всех трех режимов формирования XML-документа (raw, auto и explicit).
31 ELEMENTS Ключевое слово, использующееся только совместно с FOR XML AUTO. При его указании поля формируются как элементы: название поля соответствует названию элемента, а значение поля – значению элемента.
32 BINARY BASE64 Определяет, как будут выведены двоичные данные (binary data).
38 Установка вредоносного программного кода Демонтаж оборудования Порча оборудования Просмотр, изменение, удаление файлов
39 КОМПЬЮТЕРЫ
42 ЧЕЛОВЕЧКИ
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.