Community
    • Categories
    • Recent
    • Popular
    • Users
    • Search
    • Register
    • Login

    Datenbanken dokumentieren

    Scheduled Pinned Locked Moved Betrieb
    18 Posts 3 Posters 3.0k Views 1 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • dkirstenD Offline
      dkirsten administrators
      last edited by

      Hi,

      grundsätzlich sind die einzelnen Datenbankinstallationen jeweils ein DBMS (Datenbankmanagementsystem).
      Als Anwendung würde ich das DBMS nur dokumentieren, wenn im konkreten Fall anwendungsspezifische Informationen wie Version oder Lizenzzuweisung o.Ä. von Belang sind und nicht die Abbildung der Datenbanken, Tabellen etc.

      Aufbauend auf die DBMS gibt es die Instanzen. Eine Instanz ist je nach Datenbanksystem unterschiedlich zu verstehen, es gibt hier keine herstellerunabhängige Sichtweise. Bei Oracle kann man mehrere Instanzen pro DBMS anlegen (und damit im Normalfall mehrere Listener). Bei MySQL / MariaDB / Postgres beispielsweise geht das nicht. Da ist jeweils ein DBMS immer zwingend eine Instanz. Trotzdem würde ich in i-doit, um ein einheitliches Modell zu haben, für MySQL jeweils eine Dummy Instanz anlegen!

      Als letztes kommt auf den Listener aufbauend die Datenbankschemata. Das ist letztendlich das Objekt,w as landläufig als "die Datenbank" bezeichnet wird. Davon wiederum können X Objekte auf einer Instanz angelegt sein. Innerhalb eines Datenbankschema Objekts können die einzelnen Tabellen, Views, Datenbanklinks etc. dokumentiert werden.

      Über die Kategorie Datenbankzugriff wird dann optional dokumentiert, wer die einzelnen Schemata eigentlich benutzt.

      Ich hoffe, ich konnte mit der Erklärung helfen. Anbei noch ein Bild zur Verdeutlichung aus unserer Demodatenbank.

      waterfox_2016-11-08_08-57-19.png

      Viele Grüße,

      Daniel

      M 1 Reply Last reply Reply Quote 0
      • T Offline
        twallutis
        last edited by

        Hi,

        das hilt mir weiter; danke dafür!

        Also wäre eine vollständige Dokumentation:

        • Anwendung mit Lizenz; also z.B. MS SQL 2012 mit Lizenz-Key
        • DBMS; also nur MSSQL (reicht ein DBMS für alle Versionen?)
        • Instanz
        • Schema (also eine oder mehrere DBs)
        • Datenbankzugriff (also z.B. die darauf aufsetzende Applikation)

        Korrekt?

        Bis denn

        Thomas

        1 Reply Last reply Reply Quote 0
        • dkirstenD Offline
          dkirsten administrators
          last edited by

          Nicht ganz,

          ich würde das Anwendungsobjekt nur anlegen, wenn ausschließlich Informationen zur Software Version und Lizensierung relevant sind. Also entweder:

          • Nur ein Anwendungsobjekt MS SQL mit Version und Lizenz

          ODER

          • DBMS Objekt, Instanz Objekt, Schemata Objekte, Datenbankzugriffe

          Im zweiten Fall können ja noch beliebige Kategorien dem DBMS Objekt zugeordnet werden, wenn Informationen fehlen.

          Viele Grüße,

          Daniel

          1 Reply Last reply Reply Quote 0
          • T Offline
            twallutis
            last edited by

            Hi,

            na ja, gerade wenn man mit Microsoft Software zu tun hat kann es sinnvoll sein, Beides einzutragen;-)

            Für mich war wichtig zu versehen, dass ich zwar mehrere MS SQL Versionen habe, aber nur einen Eintrag in DBMS brauche.

            Bis denn

            Thomas Wallutis

            1 Reply Last reply Reply Quote 0
            • T Offline
              twallutis
              last edited by

              Hi,

              da wir gerade so schön plaudern: die i-doit Installation hier läuft ja nun schon etwas länger und hat auch den Sprung auf 1.7 mitgemacht (also die Umstellung auf MariaDB).

              Was muss ich nun unter "Anwendung" bzw. "DBMS" eintragen? MySQL oder MariaDB?

              Bis denn

              Thomas Wallutis

              Nachtrag: sofern ich den Wikipedia-Eintrag richtig verstehe, dann müsste ich an beiden Stellen MariaDB eintragen, obwohl MySQL (scheinbar) weiter installiert ist und die Prozesse auch noch mysql lauten (ps ax | grep mysql).

              1 Reply Last reply Reply Quote 0
              • dkirstenD Offline
                dkirsten administrators
                last edited by

                MariaDB ist richtig. MariaDB ist ein Fork von MySQL und sieht nach außen hin quasi wie MySQL aus, um maximale Kompatibilität zu bieten.

                Viele Grüße,

                Daniel

                1 Reply Last reply Reply Quote 0
                • T Offline
                  twallutis
                  last edited by

                  Hi,

                  noch mal eine Frage zum Bild: sehe ich es richtig, das alle drei i-doit Installationen auf eine DB zugreifen?

                  Bis denn

                  Thomas Wallutis

                  1 Reply Last reply Reply Quote 0
                  • dkirstenD Offline
                    dkirsten administrators
                    last edited by

                    Ja. Das ist natürlich nur ein Beispiel… in der Realität eher unwahrscheinlich.

                    Viele Grüße,

                    Daniel

                    1 Reply Last reply Reply Quote 0
                    • T Offline
                      twallutis
                      last edited by

                      Hi,

                      ich habe jetzt mal auf dem Kundensystem nachgeschaut (show databases). Dabei werden mir angezeigt:

                      idoit_data
                      idoit_system
                      information_schema
                      mysql
                      performance_schema

                      Das wären dann meine 5 Instanzen?

                      Also:

                      DBMS                    Instanz                                    Schema
                      ======                ================            ================
                      MariaDB                MariaDB auf Server01              idoit_data
                                                                                                    idoit_system
                                                                                                    information_schema
                                                                                                    mysql
                                                                                                    performance_schema

                      Bis denn

                      Thomas Wallutis

                      1 Reply Last reply Reply Quote 0
                      • T Offline
                        twallutis
                        last edited by

                        Hi,

                        Mir ist gerade aufgefallen, dass bei dem Objekttyp "Datenbankinstanz" in der Übersicht auch der Punkt "Name (Instanz/ORACLE Datenbank) auftaucht. Was trägt man denn da ein? Das sieht jetzt irgendwie redundant aus.

                        Bis denn

                        Thomas Wallutis

                        1 Reply Last reply Reply Quote 0
                        • T Offline
                          twallutis
                          last edited by

                          Hi,

                          und noch was: unter "DBMS" kann ich unter "Installation" das System aussuchen, auf dem die DB läuft. Allerdings kann ich bei "Datenbankschema" nur einen Eintrag machen, was ja wiederum der Definition von Datenbankschema widersoricht (oder ich habe es imemr noch nicht verstanden).

                          Bis denn

                          Thomas Wallutis

                          1 Reply Last reply Reply Quote 0
                          • dkirstenD Offline
                            dkirsten administrators
                            last edited by

                            Also nochmal im Detail:

                            DBMS anlegen

                            • Ich lege ein Objekt vom Typ "DBMS" an, Name "MariaDB"
                            • Ich gehe in das Objekt "MariaDB" (Typ "DBMS") in die Kategorie "DBMS"/"Installation" und füge dort eine Installation hinzu auf "Server XYZ"

                            Instanz Anlegen

                            • Ich lege ein Objekt vom Typ Datenbankinstanz an, Name "Default-Instanz"

                            a) - Ich gehe in das Objekt "Default Instanz" (Typ Datenbankinstanz) in die Kategorie "Instanz/Oracle Datenbank" und weise in dem Feld "DBMS" das Objekt "Server XYZ auf mir läuft MariaDB" (Typ Beziehung) zu
                            Alternativ
                            b) - Ich gehe in das Objekt "Default Instanz" (Typ Datenbankinstanz) in die Kategorie "Instanz/Oracle Datenbank" und weise in dem Feld "DBMS" das Objekt "MariaDB" (Typ DBMS) zu

                            Schemata anlegen

                            • Ich lege ein Objekt vom Typ Datenbankschema an, Name "idoit_system"
                            • Ich gehe in das Objekt "idoit_system" (Typ Datenbankschema) in die Kategorie "Datenbankschema" (auf den Ordner klicken) und weise in dem Feld "Datenbankinstanz" das Objekt "Default Instanz" (Typ Datenbankinstanz) zu
                            • Ich lege ein Objekt vom Typ Datenbankschema an, Name "idoit_data"
                            • Ich gehe in das Objekt "idoit_data" (Typ Datenbankschema) in die Kategorie "Datenbankschema" (auf den Ordner klicken) und weise in dem Feld "Datenbankinstanz" das Objekt "Default Instanz" (Typ Datenbankinstanz) zu

                            Viele Grüße,

                            Daniel

                            1 Reply Last reply Reply Quote 0
                            • T Offline
                              twallutis
                              last edited by

                              Hi,

                              bei der zweiten Variante für "Instanz" sehe ich dann aber doch nicht mehr (direkt), auf welchem Server die Instanz läuft, oder?

                              Und ich habe meinem Verständnis nach ein DBMS namens MariaDB, ein oder mehrere Installationen auf verschiedenen Servern und dann pro Instanz ein oder mehrere Datenschemata (also Datenbanken), wobei auf verschiedenen Instanzen es durchaus auch gleichlautende Datenbankschemata gibt. Korrekt?

                              Bis denn

                              Thomas Wallutis

                              1 Reply Last reply Reply Quote 0
                              • dkirstenD Offline
                                dkirsten administrators
                                last edited by

                                Korrekt.

                                Viele Grüße,

                                Daniel

                                1 Reply Last reply Reply Quote 0
                                • T Offline
                                  twallutis
                                  last edited by

                                  Hi,

                                  ich muss noch mal nachhaken…

                                  Ich habe MySQl als Anwendung eingetragen. Weise ich nun einem Server diese Anwendung zu, dann kann ich zwar ein Datenbankschema zuordnen; aber eben nur eins.

                                  Gemäß der Anmerkung oben gilt aber Datenbankschema = Datenbank. Und davon kann es ja Mehrere geben.

                                  Das verwirrt jetzt etwas...

                                  Bis denn

                                  Thomas Wallutis

                                  1 Reply Last reply Reply Quote 0
                                  • dkirstenD Offline
                                    dkirsten administrators
                                    last edited by

                                    Ja,

                                    weil in der der Anwendungszuweisung nur dokumentiert wird, auf welches Datenbankschema eine Anwendung zugreift. Für die Art der Dokumentation, welche Datenbankschemata auf einem DBMS laufen, muss mit der Datenbankinstanz und dem DBMS gearbeitet werden - nicht mit der Anwendungszuweisung.

                                    Viele Grüße,

                                    Daniel

                                    1 Reply Last reply Reply Quote 0
                                    • M Offline
                                      meganie @dkirsten
                                      last edited by

                                      This post is deleted!
                                      1 Reply Last reply Reply Quote 0
                                      • First post
                                        Last post