DeepEdit!

Программирование баз данных на Oracle, техническая документация, литература, статьи и публикации

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта

Модель именования

В главе 2 мы говорили об иерархических структурах. Давайте еще раз обратимся к иерархической схеме корпорации XYZ, показанной на рис. 5.2. По сравнению с рис. 2.5 здесь выполнено лишь одно небольшое изменение — добавлена запись верхнего уровня "XYZCORP". Остальная часть этой схемы вам уже знакома.
Хотя это и не Требуется протоколом, записи в модели именования LDAP обычно образуют дерево, отражающее географическую или организационную структуру. Рис. 5.2 дает пример такой структуры. Записи именуются в соответствии с их положением в иерархии; каждая запись имеет отличительное имя (Distinguished Name, DN). Каждый компонент этого имени называется относительным отличительным именем (Relative Distinguished Name, RDN). RDN может состоять из одного или нескольких атрибутов записи.

Модель именования LDAP будет проще понять, если рассмотреть организацию именования в файловой системе UNIX или Windows NT. RDN можно уподобить имени файла, a DN полному пути к этому файлу. Возьмем, например, такое имя: D:\Ora816\Oracle\Nctwork\Admin \trace_010500.trc. Где здесь DN, а где - RDN? Подумайте над ответом, а пока продолжим рассказ об именовании в LDAP.
Точно так же, как два файла в одном каталоге не могут иметь одинаковые имена, записи каталога LDAP с общей родительской записью должны называться        В структуре LDAP информацию могут содержать как узлы-листья, так и родительские узлы. Последовательность местонахождений, составляющих полный путь к нужной информации, называется пространством имен (namespace). В файловой структуре операционной системы пространство имен начинается от корня или наиболее значащего компонента и простирается до имени файла. Примером такого пространства имен служит путь D:\Oracle\Ora81\network\admin: чтобы добраться до файла в каталоге admin, вам нужно начать с диска D: и пройти через все промежуточные каталоги. В структуре LDAP пространство имен с наименее значащего компонента имени и простирается до корня. Таким образом, при работе с пространством имен LDAP вы начинаете с общего имени и продвигаетесь по направлению к корню. Перед тем как переходить к конкретным примерам, обратите внимание на используемые разделители.
В приведенном выше имени файла разделителем служил обратный слэш (\), хотя это может быть и прямой слэш (/), в зависимости от того, какая операционная система используется — UNIX или Windows NT.
В компоненты имени разделяются запятыми (,). Например, запись LDAP может называться
где Orders — это общее имя, Vienna — подразделение, Virginia — штат, XYZCORF — организация, a US — страна. Относительными отличительными именами в этом примере являются
и "o=XYZCORP", а отличительным именем - "o=XYZCORP,c=US". Кстати, ответ на заданный выше вопрос таков: "D:\Ora816\Oracle\Network \Admin" - это DN, a "trace_010500.trc" - RDN.
Кажется, такой ответ может немного запутать, поэтому разберем пример с именем файла более подробно. Полный путь к файлу можно рассматривать как эквивалент отличительного имени. Допустим, что у нас есть компонент pathname, обозначаемый как "рп". Следуя методу имено-LDAP, полный путь можно рассматривать как один компонент: pn=D:\Ora816\Oracle\Network\Admin. Имя файла станет общим именем: cn=trace_010500.trc. Если мы решим разбить компонент рп на отдельные части, то каждая часть ниже корня станет RDN, а их комбинация, ведущая к интересующей нас области, станет DN. Смысл именования в том, чтобы обеспечить однозначность в определении местонахождения информации в пределах структуры LDAP.
Отличительное имя состоит из последовательности относительных отличительных имен, разделяемых запятой (,) или точкой с запятой (;).
Каждый компонент        представляет собой множество пар "атрибут-значение", разделяемых знаком плюса (+). Но как быть, если символ-разделитель содержится в самом значении? В таком случае значение должно быть заключено в двойные кавычки или же символу-разделителю должен предшествовать escape-символ. В качестве escape-символа используется обратный слэш (\). А если значение тоже содержит двойные кавычки или обратный слэш? Тогда перед каждым из этих специальных символов необходимо ставить обратный слэш. Согласно этимправилам, запись        будет представлена как cn=http:\\\\mywebaddress.com. Каждый обратный слэш в общем имени i должен предваряться escape-символом, то есть тем же самым обратным слэшем. Поскольку в результате имена могут сильно усложняться, лучше всего отказаться от многозначных RDN, а в качестве разделителей использовать запятые.
Разумеется, здесь рассказано далеко не все о формате отличительного имени, но приведенной информации должно быть достаточно, чтобы понимать, о чем пойдет речь далее, при описании Oracle-реализации сервера каталога LDAP.
 


уроки вождения автомобиля







jAntivirus