Zum Inhalt springen

Was ist das Dictionary von Datenbanken ?


Boro

Empfohlene Beiträge

Hallo,

kann mir jemand sagen was das Dictionary von Datenbanken ist ?

Ich habe derzeit folgende Beschreibung:

"....Get informationen about a specific field - what table it belongs to, what is it´s internal id, what type of field, how long is it ans so on."

Zusätzlich habe ich auch ein Code Beispiel, hier ein Auschnitt:

---------------------------------------------------------------------------------------------

if IsObject(objDB) Then

objDB.Login "petra", "" ' Log in to the database

msg = msg & "Contact.name fieldId= " & objDB.Dictionary.GetFieldId("contact.name") & vbCrLf

msg = msg & "Contact.name field length= " & objDB.Dictionary.GetFieldLength(1281) & vbCrLf

msg = msg & "FieldName of fieldid 1281= " & objDB.Dictionary.GetFieldName(1281) & vbCrLf

msg = msg & "FieldType of fieldid 1281= " & objDB.Dictionary.GetFieldType(1281) & vbCrLf

msg = msg & "FullName of fieldid 1281= " & objDB.Dictionary.GetFullName(1281) & vbCrLf

msg = msg & "TableID of fieldid 1281= " & objDB.Dictionary.GetTableIdFromFieldId(1281) & vbCrLf

msg = msg & "Tablename of fieldid 1281= " & objDB.Dictionary.GetTableName(1281) & vbCrLf

msg = msg & "Dictionary revision= " & objDB.Dictionary.Revision & vbCrLf

msg = msg & "Dictionary version= " & objDB.Dictionary.Version & vbCrLf

msgbox msg, vbInformation + vbOkOnly, "SODictionary"

else

MsgBox "Unable to connect to database"

end if

--------------------------------------------------------------------------------------------------

Dieses Script funktioniert auch und gibt Informationen (z.b. eine Feldlänge) für eine Tabelle "Contact" aus.

Allerdings verstehe ich nicht woher diese Informationen kommen und welchen Nutzen sie mir bringen. Deswegen suche ich derzeit Informationen über das Dictionary von Datenbanken.

Danke im voraus !

Gruß

Feivel

Link zu diesem Kommentar
Auf anderen Seiten teilen

Welche DBMS?

Im Dictionary stehen die Informationen über die Tabellen. Oracle hat z.B. über 100 Tabellen die informationen über die Datenbank selber haben. Die können auch ohne Probleme (wenn man die entsprechenden Rechte hat) abgefragt werden.

z.B. select * from dba_objects; enthält alle Infos über alle Objekte in der Datenbank.....

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo !

Danke erstmal !

Das Datenbanksystem ist o.g. Beispiel ein MS SQL Server 2000.

Also sind die Datenbanken Master & Model schon das Dictionary und wenn ich die entsprechende ID der Tabelle kenne kann ich nun mit Hilfe des Scripts abfragen welche Attribute die Felder innerhalb der Tabelle haben ?

Hm, hört sich praktisch an, aber welchen Nutzen hab ich momentan davon ?

Ich wundere mich deswegen weil mir das als neues bzw. zusätzliches Features dargestellt wurde.

Gruß

Feivel

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ob das ein neues Feature im sql-Server ist weiß ich nicht, aber das ganze ist z.B. sehr praktisch um Datenbanken zu vergleichen. Wir haben z.B. eine Entwicklungsdb und eine Produktivumgebung. Ca. alle 1/2 Jahr kommt eine neue Version unserer Applikation heraus. Evt. nötige DB-änderungen sind im Entwicklungssystem während des Entwickelns angelegt worden. Nun ist es mein job beim Relaisewechsel alle die Änderungen auch im Produktivsystem nachzufahren und da ich mir nicht sicher sein kann, das alle Entwickler mir immer alle kleinen Änderungen mitgeteilt haben prüfe ich mit dem Datadictionary die Unterschiede der Datenbanken......

Grüße

mme

Link zu diesem Kommentar
Auf anderen Seiten teilen

@Feivel,

jein

Master & Model sind nicht das Dictionary unter MS-SQL

Model ist einfach eine MODEL-DB zum anlegen neuer DaBas mithilfe des Assistenten. Änderungen die Du dort vornimmst. Z.B. Nutzerrechte verteilen oder Tabellen anlegen, wirken sich darauf aus, wie eine danach angelegte Datenbank aussieht.

Master ist ein Teil des Dictinarys. Hier stehen alle infos drin, die MS-SQL braucht um die einzelnen Instanzen zukennen.

Innerhalb einer jeden Instanz gibt es trotzdem einige Tabellen sys_ die dort dem sys gehören. Die sind dann der zweite Teil des Dictionarys.

sys_user z.B. enthält die Infos welche User welche Rechte auf diese Instanz haben.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...