Mainframe Programmierung - Exam.pdf

Mainframe Programmierung - Exam
Mainframe Programmierung - Exam Aufgabe 1) Kontext: Ein international operierendes Unternehmen plant, die Performance und Zuverlässigkeit ihres Rechenzentrums zu verbessern und erwägt die Einführung eines neuen Mainframe-Systems. Das Unternehmen setzt seine Hoffnung auf die beispiellose Leistungsfähigkeit und Zuverlässigkeit von Mainframe-Computern und benötigt eine genauere Analyse über die grund...

© StudySmarter 2024, all rights reserved.

Mainframe Programmierung - Exam

Aufgabe 1)

Kontext: Ein international operierendes Unternehmen plant, die Performance und Zuverlässigkeit ihres Rechenzentrums zu verbessern und erwägt die Einführung eines neuen Mainframe-Systems. Das Unternehmen setzt seine Hoffnung auf die beispiellose Leistungsfähigkeit und Zuverlässigkeit von Mainframe-Computern und benötigt eine genauere Analyse über die grundlegenden Bestandteile eines Mainframes, um eine informierte Entscheidung treffen zu können. Als IT-Manager wurdest Du damit beauftragt, eine detaillierte Bewertung vorzubereiten.

a)

Beschreibe die Rolle der CPU in einem Mainframe-System und erkläre, warum sie für die Ausführung von Programmen von entscheidender Bedeutung ist. Gehe insbesondere auf Aspekte wie Multitasking und parallele Verarbeitung ein.

Lösung:

Rolle der CPU in einem Mainframe-System:

  • Die CPU (Central Processing Unit) ist das zentrale Gehirn eines Mainframe-Systems. Sie führt alle wichtigen Rechenoperationen durch und steuert die Ausführung von Programmen.
  • Eine der entscheidenden Eigenschaften der CPU in einem Mainframe ist ihre Fähigkeit zum Multitasking. Das bedeutet, dass die CPU mehrere Aufgaben gleichzeitig bearbeiten kann, was entscheidend für die Effizienz eines Rechenzentrums ist.
  • In einem Mainframe-System wird das Multitasking durch einen Prozess namens Zeitmultiplexing erreicht. Dabei teilt die CPU ihre Zeit in sehr kleine Intervalle auf und wechselt schnell zwischen verschiedenen Aufgaben, um den Eindruck zu erwecken, dass sie alle Aufgaben gleichzeitig bearbeitet.
  • Parallele Verarbeitung ist ein weiterer wichtiger Aspekt. Mainframes verfügen in der Regel über mehrere CPUs oder Kerne, die es ermöglichen, große Mengen von Daten gleichzeitig zu verarbeiten. Dies ist besonders wichtig für unternehmenskritische Anwendungen, bei denen hohe Verfügbarkeit und schnelle Verarbeitung erforderlich sind.
  • Durch die Nutzung von Multitasking und paralleler Verarbeitung kann ein Mainframe-System eine große Anzahl von Benutzern und Anwendungen gleichzeitig unterstützen, ohne dass es zu Leistungseinbußen kommt.
  • Zusammenfassend ist die CPU das Herzstück eines Mainframe-Systems. Ihre Fähigkeit, mehrere Aufgaben gleichzeitig auszuführen und große Datenmengen parallel zu verarbeiten, macht sie zu einem unverzichtbaren Bestandteil für die Zuverlässigkeit und Leistungsfähigkeit des Rechenzentrums.

b)

Erkläre die Bedeutung des Hauptspeichers (RAM) in einem Mainframe. Warum ist er als flüchtiger Speicher von Bedeutung, und wie beeinflusst seine Kapazität die Systemleistung?

Lösung:

Bedeutung des Hauptspeichers (RAM) in einem Mainframe:

  • Flüchtiger Speicher: RAM (Random Access Memory) ist ein Hauptspeicher, der als flüchtiger Speicher bezeichnet wird. Das bedeutet, dass die Daten im RAM nur temporär gespeichert werden und verloren gehen, sobald das System ausgeschaltet wird. Diese Eigenschaft macht den RAM ideal für die Speicherung laufender Programme und aktueller Daten, die schnell und häufig abgerufen werden müssen.
  • Geschwindigkeit und Effizienz: Die Hauptaufgabe des RAM in einem Mainframe besteht darin, schnellen Speicherzugriff zu ermöglichen. Im Vergleich zu Festplattenspeichern ist der RAM weitaus schneller, was bedeutet, dass Programme schneller auf Daten zugreifen können, wenn diese im RAM gespeichert sind. Dies minimiert die Wartezeit und erhöht die Effizienz der Verarbeitung.
  • Kapazität und Systemleistung: Die Kapazität des RAM spielt eine entscheidende Rolle für die Gesamtleistung des Mainframe-Systems. Ein größerer RAM-Speicher ermöglicht es, mehr Daten und Programme gleichzeitig im schnellen Speicher zu halten, was die Systemleistung erheblich verbessert. Dies ist besonders wichtig für Multitasking-Operationen und parallele Verarbeitung, die charakteristisch für Mainframe-Systeme sind.
  • Zwischenspeicherung und Cache: Im Zusammenhang mit dem RAM ist auch der Einsatz von Cache-Speicher bedeutend. Cache ist eine spezielle Art von schnellerem RAM, die häufig verwendete Daten zwischenspeichert, um den Zugriff auf diese Daten weiter zu beschleunigen. Ein effektives Caching-System kann die Leistung des Hauptspeichers und somit des gesamten Mainframes steigern.
  • Zuverlässigkeit und Verfügbarkeit: Ein ausreichender Hauptspeicher ist auch für die Zuverlässigkeit und Verfügbarkeit des Systems von Bedeutung. Durch genügend RAM können Mainframes anspruchsvolle, unternehmenskritische Anwendungen ausführen, ohne dass es zu Engpässen oder Abstürzen kommt.
Zusammenfassend:
  • Der Hauptspeicher (RAM) ist entscheidend für die schnelle und effiziente Verarbeitung von Daten in einem Mainframe.
  • Als flüchtiger Speicher hält er temporäre Daten, die für laufende Prozesse wichtig sind.
  • Eine höhere Kapazität des RAM verbessert die Systemleistung insbesondere bei Multitasking und paralleler Verarbeitung.

c)

Das Unternehmen möchte insbesondere die langfristigen Datensicherungsstrategien verbessern. Gib eine detaillierte Erklärung der Rolle des Festplattenspeichers in einem Mainframe und diskutiere, wie verschiedene RAID-Methoden (z.B. RAID 1, RAID 5) zur Datensicherheit und Performance beitragen können.

Lösung:

Rolle des Festplattenspeichers in einem Mainframe:

  • Dauerhafte Datenspeicherung: Der Festplattenspeicher in einem Mainframe-System spielt eine zentrale Rolle bei der dauerhaften Speicherung großer Mengen an Daten. Im Gegensatz zum flüchtigen RAM, der nur temporär Daten hält, speichern Festplatten Daten auch bei ausgeschaltetem System.
  • Datensicherung und Verfügbarkeit: In einem Mainframe-System sind Festplatten entscheidend für die Datensicherung und die Sicherstellung kontinuierlicher Verfügbarkeit. Da Mainframes häufig für geschäftskritische Anwendungen genutzt werden, ist die Verlässlichkeit des Festplattenspeichers essenziell.
  • Speicherkapazität: Festplattenspeicher bietet hohe Speicherkapazitäten, die notwendig sind, um umfangreiche Datenbanken und riesige Datenmengen zu handhaben, die ein internationales Unternehmen generiert und nutzt.
  • Geschwindigkeit und Leistung: Moderne Festplattenspeicher, insbesondere SSDs (Solid State Drives), bieten signifikante Verbesserungen in der Lese- und Schreibgeschwindigkeit, was sich positiv auf die Performance des gesamten Systems auswirkt.
RAID-Methoden zur Datensicherung und Performance:
  • RAID 1 (Spiegelung):
    • Sicherheit: RAID 1 speichert eine exakte Kopie (Spiegelung) der Daten auf zwei oder mehr Festplatten. Fällt eine Festplatte aus, sind alle Daten auf der Spiegelplatte weiterhin verfügbar, was eine hohe Datensicherheit gewährleistet.
    • Leistung: Während die Leseleistung verbessert wird, da Daten von beiden Festplatten gleichzeitig gelesen werden können, bleibt die Schreibperformance im Allgemeinen unverändert, da die Daten auf beide Platten gleichzeitig geschrieben werden müssen.
  • RAID 5 (Striping mit Paritätsinformationen):
    • Sicherheit: RAID 5 verteilt die Daten blockweise (Striping) auf mehreren Platten und speichert Paritätsinformationen. Bei einem Festplattenausfall ermöglicht die Parität die Wiederherstellung der Daten.
    • Leistung: RAID 5 bietet eine gute Balance zwischen Leistung und Sicherheit. Lesevorgänge sind schnell, und auch Schreibvorgänge sind dank der verteilten Parität effizient.
    • Effizienz: RAID 5 bietet Speicherplatz effizienter als RAID 1, da keine vollständigen Duplikate der Daten gespeichert werden müssen.
  • RAID 6 (Doppelte Parität):
    • Sicherheit: Ähnlich wie RAID 5, speichert RAID 6 jedoch zwei Paritätsblöcke, wodurch es auch bei Ausfall von zwei Festplatten robust bleibt.
    • Leistung: Lesevorgänge sind schnell, während Schreiboperationen etwas langsamer sein können, da zwei Paritätsinformationen berechnet und geschrieben werden müssen.
Zusammenfassend:
  • Der Festplattenspeicher in einem Mainframe ist essenziell für die dauerhafte Datenspeicherung, Datensicherung und Systemleistung.
  • RAID-Methoden wie RAID 1, RAID 5 und RAID 6 verbessern die Datensicherheit und Performance, wobei jede Methode spezifische Vorteile bietet, die auf die Anforderungen des Unternehmens abgestimmt werden können.

d)

Analysiere die Funktion des E/A-Controllers innerhalb eines Mainframe-Systems und diskutiere, wie er die Kommunikation mit externen Geräten ermöglicht. In diesem Zusammenhang: Berechne, unter der Annahme, dass die durchschnittliche Übertragungsrate eines E/A-Controllers 400 MB/s beträgt, die Zeit, die benötigt wird, um 20 GB Daten zu übertragen.

Lösung:

Funktion des E/A-Controllers in einem Mainframe-System:

  • Steuerung der Ein- und Ausgabegeräte: Der E/A-Controller (Ein-/Ausgabe-Controller) ist ein spezialisiertes Hardware-Modul, das die Kommunikation zwischen dem Mainframe und externen Geräten wie Festplatten, Druckern, Netzwerkschnittstellen und weiteren Peripheriegeräten steuert.
  • Protokolle und Schnittstellenmanagement: Der E/A-Controller verwaltet verschiedene Kommunikationsprotokolle und Schnittstellen, um sicherzustellen, dass Daten zwischen dem Mainframe und den externen Geräten korrekt und effizient übertragen werden.
  • Datentransfer: Er ermöglicht den bidirektionalen Datentransfer, indem er Eingaben von externen Geräten entgegennimmt und Ausgaben an diese sendet. Dies ist entscheidend für die Gesamtleistung und die Zuverlässigkeit des Mainframe-Systems.
  • Entlastung der CPU: Der E/A-Controller entlastet die CPU, indem er die aufwendigen Aufgaben des Datentransfers übernimmt. So kann sich die CPU auf die Bearbeitung von Anwendungsprogrammen und andere Systemaufgaben konzentrieren.
  • Fehlerkorrektur und Pufferspeicherung: Viele E/A-Controller enthalten Mechanismen zur Fehlerkorrektur und Pufferspeicherung, um Datenintegrität und -konsistenz während der Übertragung zu gewährleisten.
Berechnung der Übertragungszeit:
  • Gegeben:
    • Durchschnittliche Übertragungsrate des E/A-Controllers = 400 MB/s
    • Zu übertragende Datenmenge = 20 GB
  • Umrechung der Datengröße: (1 GB = 1024 MB)
    • 20 GB = 20 * 1024 MB = 20480 MB
  • Übertragungszeit: ewline ewline
    • Zeit = zu übertragende Datenmenge / Übertragungsrate
    • Zeit = 20480 MB / 400 MB/s
    • Zeit = 51,2 Sekunden
Zusammenfassend:
  • Der E/A-Controller ist entscheidend für die Verwaltung der Kommunikation zwischen dem Mainframe und externen Geräten, die Entlastung der CPU, die Fehlerkorrektur und die Pufferspeicherung.
  • Bei einer durchschnittlichen Übertragungsrate von 400 MB/s benötigt der E/A-Controller ca. 51,2 Sekunden, um 20 GB Daten zu übertragen.

Aufgabe 2)

Du arbeitest als Softwareentwickler und hast die Aufgabe, ein neues COBOL-Programm zu schreiben, das eine einfache Gehaltsabrechnung durchführt. Das Programm muss die folgenden Anforderungen erfüllen:

  • Das Programm soll die Identifikations-, Umwelt-, Daten- und Prozedurdivisionen korrekt nutzen.
  • Es soll Daten zur Mitarbeiter-ID, Stundenlohn und gearbeiteten Stunden vom Nutzer einlesen.
  • Es muss das Gehalt berechnen und anzeigen.
  • Jede Division des Programms soll einen spezifischen Zweck erfüllen und korrekt strukturiert sein.
  • Verwende Kommentare, um die Struktur des Programms zu erläutern.

a)

Definiere eine IDENTIFICATION DIVISION und eine ENVIRONMENT DIVISION für das oben beschriebene COBOL-Programm. In der IDENTIFICATION DIVISION sollen grundlegende Informationen wie der Programmname enthalten sein. In der ENVIRONMENT DIVISION sollen die Umgebungsspezifikationen festgelegt werden, welche in diesem Fall einfach gehalten werden können.

'IDENTIFICATION DIVISION.PROGRAM-ID.                 ________.AUTHOR.                   ________.*----------------------------ENVIRONMENT DIVISION.CONFIGURATION SECTION.SOURCE-COMPUTER.          ________.OBJ-COMPUTER.             ________.*INPUT-OUTPUT SECTION.FILE-CONTROL.LABEL RECORD IS ________.'

Lösung:

Hier ist die Definition der IDENTIFICATION DIVISION und der ENVIRONMENT DIVISION für das COBOL-Programm:

IDENTIFICATION DIVISION.PROGRAM-ID.                 GEHALTSABRECHNUNG.AUTHOR.                    DEIN_NAME.**----------------------------*ENVIRONMENT DIVISION.CONFIGURATION SECTION.SOURCE-COMPUTER.          IBM-370.OBJ-COMPUTER.             IBM-370.*INPUT-OUTPUT SECTION.FILE-CONTROL.LABEL RECORD IS STANDARD.

b)

Erstelle die DATA DIVISION und die PROCEDURE DIVISION des Programms. In der DATA DIVISION sollen alle notwendigen Felder definiert werden: Mitarbeiter-ID, Stundenlohn und die Anzahl der gearbeiteten Stunden. In der PROCEDURE DIVISION soll die Berechnung des Gehalts durchgeführt und das Ergebnis angezeigt werden.

'DATA DIVISION.WORKING-STORAGE SECTION.01 WS-MA-ID            PIC 9(5).01 WS-STUNDENLOHN      PIC 9V99.01 WS-GEARBEITETE-STUNDEN PIC 9(2).01 WS-GEHALT           PIC 9(5)V99.*PROCEDURE DIVISION.MAIN-PARA.    DISPLAY 'Geben Sie die Mitarbeiter-ID ein: '.    ACCEPT WS-MA-ID.    DISPLAY 'Geben Sie den Stundenlohn ein: '.    ACCEPT WS-STUNDENLOHN.    DISPLAY 'Geben Sie die Anzahl der gearbeiteten Stunden ein: '.    ACCEPT WS-GEARBEITETE-STUNDEN.    COMPUTE WS-GEHALT = WS-STUNDENLOHN * WS-GEARBEITETE-STUNDEN.    DISPLAY 'Das Gehalt betraegt: ' WS-GEHALT.    STOP RUN.'

Lösung:

Hier ist die Definition der DATA DIVISION und der PROCEDURE DIVISION für das COBOL-Programm:

DATA DIVISION.WORKING-STORAGE SECTION.    01 WS-MA-ID            PIC 9(5).    01 WS-STUNDENLOHN      PIC 9V99.    01 WS-GEARBEITETE-STUNDEN PIC 9(2).    01 WS-GEHALT           PIC 9(5)V99.*PROCEDURE DIVISION.MAIN-PARA.    DISPLAY 'Geben Sie die Mitarbeiter-ID ein: '.    ACCEPT WS-MA-ID.    DISPLAY 'Geben Sie den Stundenlohn ein: '.    ACCEPT WS-STUNDENLOHN.    DISPLAY 'Geben Sie die Anzahl der gearbeiteten Stunden ein: '.    ACCEPT WS-GEARBEITETE-STUNDEN.    COMPUTE WS-GEHALT = WS-STUNDENLOHN * WS-GEARBEITETE-STUNDEN.    DISPLAY 'Das Gehalt betraegt: ' WS-GEHALT.    STOP RUN.

Aufgabe 3)

Angenommen, Du arbeitest als Mainframe-Entwickler für ein großes Unternehmen, das große Batch-Jobs zur Abwicklung seiner Datenverarbeitungsprozesse einsetzt. Dein Vorgesetzter hat Dich damit beauftragt, einen neuen Batch-Job zu erstellen und zu verwalten, der Kundendaten verarbeitet und in eine Datenbank schreibt. Du musst diesen Batch-Job unter Einbeziehung der Hauptkomponenten von JCL (JOB, EXEC, und DD Statements) erstellen. Nutze die Syntaxregeln und relevanten Parameter korrekt, um sicherzustellen, dass der Job einwandfrei läuft.

a)

Schreibe ein JCL-Skript, das einen neuen Job mit dem Namen KUNDENJOB erstellt. Der Job soll ein Programm (nennen wir es VERARBEITEKUNDEN) ausführen, das im Schritt VER_SCHRITT definiert wird. Der Job soll die Klasse A haben, Nachrichten der Klasse H nutzen, und ein Zeitlimit von 5 Minuten haben. Die Eingabedatei befindet sich im Dataset mit dem Namen KUNDENDATEN.INPUT und die Ausgabedatei soll in das Dataset KUNDENDATEN.OUTPUT geschrieben werden.

Lösung:

Hier ist ein Beispiel für ein JCL-Skript, das den Job KUNDENJOB erstellt und die gestellten Anforderungen erfüllt:

  //KUNDENJOB JOB (ACCT),'KUNDEN AUFTRAG',CLASS=A, //             MSGCLASS=H,TIME=(,5) //VER_SCHRITT EXEC PGM=VERARBEITEKUNDEN //INFILE   DD DSN=KUNDENDATEN.INPUT,DISP=SHR //OUTFILE  DD DSN=KUNDENDATEN.OUTPUT, //             DISP=(NEW,CATLG,DELETE), //             SPACE=(TRK,(100,50),RLSE), //             DCB=(RECFM=FB,LRECL=80,BLKSIZE=0)  
  • //KUNDENJOB JOB...: Definiert den Job mit dem Namen KUNDENJOB.
  • //VER_SCHRITT EXEC PGM=VERARBEITEKUNDEN: Definiert den Schritt namens VER_SCHRITT, der das Programm VERARBEITEKUNDEN ausführt.
  • //INFILE DD...: Definiert die Eingabedatei, die sich im Dataset KUNDENDATEN.INPUT befindet.
  • //OUTFILE DD...: Definiert die Ausgabedatei, die in das Dataset KUNDENDATEN.OUTPUT geschrieben wird. Die Datei wird neu erstellt, katalogisiert, und im Fehlerfall gelöscht. Außerdem werden die Speicherplatzanforderungen und Datensatzbeschreibungssteuerung (DCB) festgelegt.

b)

Analysiere das folgende JCL-Skript und beschreibe, ob es Fehler enthält und wie diese korrigiert werden können.

//VERARBEITUNG  JOB (ACCT),'KUNDEN VER.',CLASS=A,MSGCLASS=H,REGION=4M,TIME=(,5)//STEP1       EXEC PGM=VERARBEITEKUNDEN//IN1        DD DSN=KUNDENDATEN.INPUT,DISP=SHR//OUT1       DD DSN=KUNDENDATEN.OUTPUT,DISP=(NEW,CATLG,DELETE),UNIT=SYSDA,//           SPACE=(CYL,(50,5)),DCB=(RECFM=FB,LRECL=80,BLKSIZE=8000)

Lösung:

Das gegebene JCL-Skript hat einige kleine Fehler und potenzielle Optimierungsmöglichkeiten. Hier ist eine detaillierte Analyse und die entsprechenden Korrekturen:

 //VERARBEITUNG  JOB (ACCT),'KUNDEN VER.',CLASS=A,MSGCLASS=H,REGION=4M,TIME=(,5) //STEP1       EXEC PGM=VERARBEITEKUNDEN //IN1        DD DSN=KUNDENDATEN.INPUT,DISP=SHR //OUT1       DD DSN=KUNDENDATEN.OUTPUT,DISP=(NEW,CATLG,DELETE),                UNIT=SYSDA,                SPACE=(CYL,(50,5)),                DCB=(RECFM=FB,LRECL=80,BLKSIZE=8000) 

Analyse:

  • //VERARBEITUNG JOB...: Dieser Satz erstellt den Job mit dem Namen VERARBEITUNG. Die Parameter sind korrekt gesetzt.
  • //STEP1 EXEC PGM=VERARBEITEKUNDEN: Definiert den Schritt STEP1, der das Programm VERARBEITEKUNDEN ausführt. Dieser Satz ist korrekt.
  • //IN1 DD...: Definiert die Eingabedatei. Dieser Satz ist korrekt.
  • //OUT1 DD...: Definiert die Ausgabedatei. Folgende Probleme wurden gefunden:
    • Es ist keine Fehlerquelle, aber es ist eine gute Praxis, Parameter ordentlich auszurichten und Einrückungen zu verwenden, um die Lesbarkeit zu erhöhen.
    • Es gibt keinen offensichtlichen Fehler in deinem JCL-Skript, aber die Parameter für die Ausgabedatei könnten besser strukturiert und erklärt werden.

Korrekturen und Optimierungen:

  //VERARBEITUNG  JOB (ACCT),'KUNDEN VER.',CLASS=A,MSGCLASS=H,REGION=4M,TIME=(,5) //STEP1       EXEC PGM=VERARBEITEKUNDEN //IN1        DD DSN=KUNDENDATEN.INPUT,DISP=SHR //OUT1       DD DSN=KUNDENDATEN.OUTPUT, //           DISP=(NEW,CATLG,DELETE), //           UNIT=SYSDA, //           SPACE=(CYL,(50,5)), //           DCB=(RECFM=FB,LRECL=80,BLKSIZE=8000)  
  • Die Parameter wurden für eine bessere Lesbarkeit und Struktur ein wenig umformatiert.

Aufgabe 4)

SQL in Mainframe-DatenbankenDu arbeitest in einem Unternehmen, das DB2 auf einem Mainframe verwendet, um große Datenmengen zu verwalten. Du bist dafür verantwortlich, Datenbankabfragen zu schreiben, Daten zu manipulieren und die Leistung der DB2-Datenbank zu optimieren. Außerdem musst du dafür sorgen, dass alle Daten sicher und nur für autorisierte Benutzer zugänglich sind. Das Unternehmen möchte eine neue Datenbanktabelle erstellen, Daten in diese Tabelle einfügen, einige Abfragen darauf ausführen und die Sicherheit sowie die Performance der Datenbank überprüfen.

a)

  • Erstelle die SQL-Befehle, um eine neue Tabelle namens „Mitarbeiter“ mit den folgenden Spalten zu erstellen: ID (INTEGER, Primärschlüssel), Name (VARCHAR(100)), Abteilung (VARCHAR(100)), und Gehalt (DECIMAL(10, 2)).

Lösung:

  • SQL in Mainframe-DatenbankenDu arbeitest in einem Unternehmen, das DB2 auf einem Mainframe verwendet, um große Datenmengen zu verwalten. Du bist dafür verantwortlich, Datenbankabfragen zu schreiben, Daten zu manipulieren und die Leistung der DB2-Datenbank zu optimieren. Außerdem musst du dafür sorgen, dass alle Daten sicher und nur für autorisierte Benutzer zugänglich sind. Das Unternehmen möchte eine neue Datenbanktabelle erstellen, Daten in diese Tabelle einfügen, einige Abfragen darauf ausführen und die Sicherheit sowie die Performance der Datenbank überprüfen.
Führe die folgende Teilübung aus:
  • Erstelle die SQL-Befehle, um eine neue Tabelle namens „Mitarbeiter“ mit den folgenden Spalten zu erstellen: ID (INTEGER, Primärschlüssel), Name (VARCHAR(100)), Abteilung (VARCHAR(100)), und Gehalt (DECIMAL(10, 2)).
CREATE TABLE Mitarbeiter (  ID INTEGER PRIMARY KEY,  Name VARCHAR(100),  Abteilung VARCHAR(100),  Gehalt DECIMAL(10, 2));

b)

  • Verwende SQL-DML-Befehle, um drei Datensätze in die Tabelle „Mitarbeiter“ einzufügen. Die Datensätze sollen folgende Werte haben:
    • 1, 'Hans Müller', 'IT', 60000.00
    • 2, 'Petra Schmidt', 'HR', 55000.00
    • 3, 'Karl Meyer', 'Finance', 70000.00

Lösung:

  • SQL in Mainframe-DatenbankenDu arbeitest in einem Unternehmen, das DB2 auf einem Mainframe verwendet, um große Datenmengen zu verwalten. Du bist dafür verantwortlich, Datenbankabfragen zu schreiben, Daten zu manipulieren und die Leistung der DB2-Datenbank zu optimieren. Außerdem musst du dafür sorgen, dass alle Daten sicher und nur für autorisierte Benutzer zugänglich sind. Das Unternehmen möchte eine neue Datenbanktabelle erstellen, Daten in diese Tabelle einfügen, einige Abfragen darauf ausführen und die Sicherheit sowie die Performance der Datenbank überprüfen.
Führe die folgende Teilübung aus:
  • Verwende SQL-DML-Befehle, um drei Datensätze in die Tabelle „Mitarbeiter“ einzufügen. Die Datensätze sollen folgende Werte haben:
    • 1, 'Hans Müller', 'IT', 60000.00
    • 2, 'Petra Schmidt', 'HR', 55000.00
    • 3, 'Karl Meyer', 'Finance', 70000.00
INSERT INTO Mitarbeiter (ID, Name, Abteilung, Gehalt)VALUES(1, 'Hans Müller', 'IT', 60000.00),(2, 'Petra Schmidt', 'HR', 55000.00),(3, 'Karl Meyer', 'Finance', 70000.00);

c)

  • Schreibe eine SQL-Abfrage, um alle Mitarbeiter mit einem Gehalt von über 60000.00 anzuzeigen. Erkläre, welche Schritte du unternehmen würdest, um sicherzustellen, dass diese Abfrage in Bezug auf die Leistung optimiert ist.

Lösung:

  • SQL in Mainframe-DatenbankenDu arbeitest in einem Unternehmen, das DB2 auf einem Mainframe verwendet, um große Datenmengen zu verwalten. Du bist dafür verantwortlich, Datenbankabfragen zu schreiben, Daten zu manipulieren und die Leistung der DB2-Datenbank zu optimieren. Außerdem musst du dafür sorgen, dass alle Daten sicher und nur für autorisierte Benutzer zugänglich sind. Das Unternehmen möchte eine neue Datenbanktabelle erstellen, Daten in diese Tabelle einfügen, einige Abfragen darauf ausführen und die Sicherheit sowie die Performance der Datenbank überprüfen.
Führe die folgende Teilübung aus:
  • Schreibe eine SQL-Abfrage, um alle Mitarbeiter mit einem Gehalt von über 60000.00 anzuzeigen. Erkläre, welche Schritte du unternehmen würdest, um sicherzustellen, dass diese Abfrage in Bezug auf die Leistung optimiert ist.
SELECT * FROM Mitarbeiter WHERE Gehalt > 60000.00;
Schritte zur Leistungsoptimierung:
  • Index-Erstellung: Erstelle einen Index auf der Spalte Gehalt. Dies verbessert die Suchgeschwindigkeit erheblich.
  • Statistik-Analyse: Stelle sicher, dass die Datenbankstatistiken aktuell sind. Dies hilft dem Abfrageplaner, den optimalen Weg zur Ausführung der Abfrage zu wählen.
  • Partitionierung: Wenn die Tabelle sehr groß ist, könnte eine Partitionierung nach Gehalt-Bereich sinnvoll sein. Dies würde die Datenmenge, die gelesen werden muss, reduzieren.
  • Speicheroptimierung: Überprüfe, ob genügend Speicher für die Abfrage vorhanden ist, um Paginierung und I/O-Operationen zu minimieren.
  • Verwendung von EXPLAIN: Verwende die EXPLAIN-Anweisung, um den Ausführungsplan der Abfrage zu überprüfen und potenzielle Leistungsengpässe zu identifizieren.

d)

  • Beschreibe, welche Sicherheitsmaßnahmen du in DB2 anwenden würdest, um sicherzustellen, dass nur autorisierte Benutzer auf die Tabelle „Mitarbeiter“ zugreifen und Änderungen vornehmen können. Nenne mindestens zwei konkrete Maßnahmen.

Lösung:

  • SQL in Mainframe-DatenbankenDu arbeitest in einem Unternehmen, das DB2 auf einem Mainframe verwendet, um große Datenmengen zu verwalten. Du bist dafür verantwortlich, Datenbankabfragen zu schreiben, Daten zu manipulieren und die Leistung der DB2-Datenbank zu optimieren. Außerdem musst du dafür sorgen, dass alle Daten sicher und nur für autorisierte Benutzer zugänglich sind. Das Unternehmen möchte eine neue Datenbanktabelle erstellen, Daten in diese Tabelle einfügen, einige Abfragen darauf ausführen und die Sicherheit sowie die Performance der Datenbank überprüfen.
Führe die folgende Teilübung aus:
  • Beschreibe, welche Sicherheitsmaßnahmen du in DB2 anwenden würdest, um sicherzustellen, dass nur autorisierte Benutzer auf die Tabelle „Mitarbeiter“ zugreifen und Änderungen vornehmen können. Nenne mindestens zwei konkrete Maßnahmen.
Sicherheitsmaßnahmen in DB2:
  • Zuweisung von Benutzerrechten und Rollen: Einer der ersten Schritte besteht darin, spezifische Benutzerrechte und Rollen zu definieren, um den Zugriff auf die Tabelle „Mitarbeiter“ zu steuern. Das könnte zum Beispiel bedeuten, dass nur bestimmte Benutzer oder Benutzergruppen die Berechtigung haben, Daten in diese Tabelle einzufügen, zu aktualisieren oder zu löschen. Die SQL-Befehle dafür könnten wie folgt aussehen:
    GRANT SELECT, INSERT, UPDATE, DELETE ON Mitarbeiter TO bestimmte_benutzerrolle;
  • Verwendung von Authentifizierung und Verschlüsselung: Um sicherzustellen, dass nur autorisierte Benutzer Zugriff auf die Tabelle erhalten, sollte DB2 so konfiguriert sein, dass eine starke Authentifizierung notwendig ist. Dazu gehört die Verwendung von Benutzernamen und sicheren Passwörtern. Zusätzlich sollte die Datenübertragung zwischen dem Client und dem Server verschlüsselt werden, um Abhörversuche zu verhindern.
  • Auditing und Überwachung: Implementiere Auditing und Überwachungsmechanismen, um alle Zugriffe und Änderungen an der Tabelle „Mitarbeiter“ zu protokollieren. So kannst du nachvollziehen, welche Aktionen von welchen Benutzern durchgeführt wurden. Dies trägt nicht nur zur Sicherheit bei, sondern hilft auch dabei, eventuelle Sicherheitsvorfälle schnell zu erkennen und darauf zu reagieren. Ein Beispiel für die Aktivierung von Auditing könnte wie folgt aussehen:
    CREATE AUDIT POLICY MitarbeiterPolicy CATEGORIES ACCESS, FAILURE STATUS BOTH;CREATE AUDIT POLICY MitarbeiterChangesPolicy CATEGORIES EXECUTE, CHANGE STATUS BOTH;ENABLE AUDIT POLICY MitarbeiterPolicy FOR TABLE Mitarbeiter;
Sign Up

Melde dich kostenlos an, um Zugriff auf das vollständige Dokument zu erhalten

Mit unserer kostenlosen Lernplattform erhältst du Zugang zu Millionen von Dokumenten, Karteikarten und Unterlagen.

Kostenloses Konto erstellen

Du hast bereits ein Konto? Anmelden