Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Квантификация (поиск последовательностей).




 

Квантификатор после символа, символьного класса или группы определяет, сколько раз предшествующее выражение может встречаться. Следует учитывать, что квантификатор может относиться более чем к одному символу в регулярном выражении, только если это символьный класс или группа.

Представление Число повторений

{n} Ровно n раз

{m,n} От m до n включительно

{m,} Не менее m

{,n} Не более n

Представление Число повторений Эквивалент

* Ноль или более {0,}

+ Одно или более {1,}

? Ноль или одно {0,1}

 

2) Как связаны различные типы зависимостей, процесс нормализации и отношения типа «сущность - связь»?

3) Напишите предложение SELECT для отыскания всех общих предков для двух наперёд заданных узлов иерархии в случае моделирования иерархии методом вспомогательной таблицы.

Теперь рассмотрим задачу отыскания ближайшего общего предка для двух заданных узлов. Пусть выбраны узлы I и K. Как видно на рис. 8, их бли-жайшим общим предком является узел B. Получим полный список общих предков для узлов I и K (рис. 79):

SELECT T_Base.Node, T_Helper.Level, T_Helper.ParentID

FROM T_Base, T_Helper

WHERE T_Base.ID=T_Helper.ParentID and

T_Helper.UID=(SELECT ID FROM T_Base WHERE Node='K') AND T_Helper.ParentID IN (

SELECT T_Helper.ParentID

FROM T_Base, T_Helper

WHERE T_Base.ID=T_Helper.ParentID and

T_Helper.UID=(

SELECT ID FROM T_Base WHERE Node='I'));

T_Base – базовая таблица, содержит узлы от А до Р. T_Helper –вспомогательная таблица(содержит супре длинные значения, мы их еще тогда вставляли и копировали 500 тысяч раз.) Потом ее заполняем данными – столбец ParentID. А вот эти длинные строчки в столбце UID.

 

Билет№30.1) Как получить результат выборки данных при помощи предложения SELECT в формате XML?

XML - Создан для решения проблем, связанных с ограничениями HTML. Это метаязык предназначенный для определения новых языков, которые можно использовать для обмена данными

• “XML – это стандартный язык, который используется для структурирования и определения данных в виде, приемлемом для различных приложений” *

1)XML – для данных, более структурирован

2)Имена XML элементов и аттрибутов вполне расширяемы, что делает XML предпочтительным для данных

Этот оператор предназначен для представления результирующего набора строк в виде XML-документа. Рассмотрим его синтаксис:

FOR XML { RAW | AUTO | EXPLICIT }

[ , XMLDATA ]

[ , ELEMENTS ]

[ , BINARY BASE64 ]

Каждая строка представляется в виде элемента <row/>.

Название поля формирует название атрибута, а значение поля – значение атрибута

FOR XML AUTO

Документ XML форматируется точно так же, как и при XML RAW, только название элемента, представляющего строку, заменяется на название таблицы.

FOR XML EXPLICIT

В данном режиме можно формировать практически любые документы. Структура результирующего XML-документа определяется непосредственно в самом запросе. Запрос может принимать очень сложный вид.

Первое поле всегда называется tag и представляет собой числовой идентификатор таблицы. Вы можете указывать для него любые числовые значения. В результирующем документе он не появляется, и нужен только, чтобы определить связи между таблицами для формирования иерархического документа. Второе поле называется parent и тоже может представлять любой числовой идентификатор. Он определяет родительскую таблицу для данной таблицы и в результирующем документе также не присутствует. Если родитель отсутствует, указывается 0 или NULL. Для иерархических выборок нужно использовать несколько запросов, объединенных с помощью оператора UNION ALL.

После двух обязательных полей tag и parent следуют поля, которые требуется выбрать из таблицы.

Для них должен быть задан псевдоним, определяющий тип XML-узла, его название и другую информацию.

Вот синтаксис этого псевдонима:

ElementName ! TagNumber ! AttributeName ! Directive

q ElementName – имя элемента, в котором будет находится элемент данного поля. Обычно здесь указывается имя таблицы.

q TagNumber – идентификатор таблицы, в которой находится данное поле. Одному и тому же ElementName всегда должен соответствовать один TagNumber. Он также не отображается ни в каком виде в результирующем документе, однако нужен для определения иерархических связей между таблицами.

q AttributeName – имя атрибута (или элемента), представляющего данное поле.

q Directive – по существу, представляет собой тип узла. Может принимать следующие значения:

element поле представляется в виде элемента
xml То же самое, что element, но не выполняет трансформации текста. Например, символ меньше (<) не превращается в ссылку &lt;
cdata значение поля обрамляется соответствующим образом. Имя атрибута указывать совместно с этим ключевым словом нельзя.
hide позволяет скрыть поле
id, idref, idrefs позволяют делать ссылки на другие элементы. Эти атрибуты имеют значение, только если создается схема данных.

Поделиться:

Дата добавления: 2015-04-18; просмотров: 74; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты