2009-08-23 4 views
2

Ich las über ORMs und eine der Beschreibungen, die ich las, sagte, dass das ORM mit Metadaten der Datenbank interagiert.Welchen Nutzen hat ein ORM für Datenbankmetadaten?

Warum ist das wichtig oder relevant?

Metadaten, wie ich verstehe, ist nur eine Möglichkeit zu beschreiben, was die Datenbank enthält. So kann die Datenbank beispielsweise eine interne Tabelle enthalten, die auflistet, welche Benutzertabellen erstellt wurden. Warum sollte so etwas für ein ORM nützlich sein?

+1

Das ist keine Hausaufgabenfrage! – Soviut

+0

Wenn dies eine Hausaufgabenfrage ist, möchte ich wissen, wo Mihai zur Schule geht. Ich wurde in der Schule nie mit solchen Konzepten vertraut gemacht. :) – klabranche

+0

Die Anklage ist jenseits lächerlich. – mihai

Antwort

3

Das ORM verwendet die Metadaten, um den Code zu generieren, der für den Zugriff auf die Tabellen verwendet wird. Wenn es sich beispielsweise um eine Datumsspalte handelt, wird der Code generiert, der diese Spalte als Datum behandelt.

Es liest Fremdschlüssel und Primärschlüssel zum Erstellen von Beziehungen im Code sowie zum Generieren der richtigen SQL-Syntax.

Dies sind nur einige der Möglichkeiten, wie die Metadaten verwendet werden.

+1

Ich verstehe. Wie in Ihrem Beispiel einer Datumsspalte benötigt das ORM die Metadaten, um genau zu bestimmen, welcher "Typ" der Datumsspalte das Domänenmodell in z. DateTime, Date, Timestamp. – mihai

+0

Genau! Du hast es. :) – klabranche

+0

@mihai +1 für dich. :) Glückliches Lernen! – klabranche

3

Dies bedeutet, dass das ORM das Schema oder die Struktur der Datenbank Objekten zuordnet. In der Regel bedeutet dies, Tabellen auf Klassen zuzuordnen (Benutzertabelle auf Benutzerklasse), Felder auf Attribute (Alter Feld auf User.Age Attribut), und jeder Datensatz stellt dann eine Instanz dieses Objekts.

+1

Rechts. Im Fall von field-to-attribute wird also, ob es ein VARCHAR oder INTEGER ist, der Typ des Attributs bestimmt, wenn es für die entsprechende Klasseninstanz übersetzt wird. – mihai