Namensraum

Namensräume gibt es sowohl im XML-Umfeld als auch unter SQL.


XML

Jedes XML-Dokument? kann seine Tags selber definieren. Eine Eindeutigkeit der Tags ist daher in der Regel nur lokal, d.h. innerhalb einer Datei möglich. Ein Namensraum ist ein Bereich, in dem ein Tag-Name eindeutig ist.

Eine Namensraumdeklaration besteht aus einem <xmlns: .....>-Tag mit dem Attribut/präfix="URI". Die URI muss nicht auf eine existierende URI verweisen, sondern ist nur als eindeutige Zeichenkette zu verstehen. Namensräume werden z.B. in XML-Schema-Dateien definiert.

Beispiel (mit präfix = fw):

 <xmlns:fw="http://www.gm.fh-koeln.de/~faeskorn">
 <fw:titel>

Oracle-SQL

Unter ORACLE-SQL gibt es mehrere Namensräume, einen für Tabellen, Sichten, Sequenzen, private Synonyme und benutzerdefinierte Datentypen innerhalb eines Schemas, einen anderen für Indizes und einen dritten Namensraum für Constraints. Innerhalb eines Namensraumes können zwei Objekte nicht gleich heißen, also z.B. eine Sicht nicht wie eine Tabelle. Das gilt nicht für Indizes oder Constraints und Tabellen, die jeweils den gleichen Namen haben können, da sie in unterschiedlichen Namensräumen liegen.

Spaltennamen müssen nur eindeutig je Tabelle sein. Ergibt sich dann aufgrund von Namensgleichheiten von Spalten verschiedener Tabellen z.B. in Anfragen (SELECT) Uneindeutigkeiten, so muss die Spalte zusammen mit dem Tabellennamen in Punktnotation angesprochen werden: Tabellenname.Spaltennamen.

Außerdem gibt es noch einen schemaunabhängigen Namensraum, in dem User, Rollen und öffentliche Synonyme abgelegt werden.

Kategorie: SQL, XML, N,