КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Квантификация (поиск последовательностей).
Квантификатор после символа, символьного класса или группы определяет, сколько раз предшествующее выражение может встречаться. Следует учитывать, что квантификатор может относиться более чем к одному символу в регулярном выражении, только если это символьный класс или группа. Представление Число повторений {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 – по существу, представляет собой тип узла. Может принимать следующие значения:
|