1. Funktionale Modellierung (10 Punkte)
Das folgende Datenflussdiagramm beschreibt eine Funktion, die die Wahrscheinlichkeit einen Herzinfarkt zu erleiden, aus den booleschen Variablen stress und übergewicht ermittelt (Es handelt sich hier natürlich um ein grob vereinfachtes Modell, da nur zwischen Stress oder Nicht-Stress, bzw. zwischen Übergewicht und Nicht-Übergewicht gewählt werden kann).
Wenn uebergewicht stress
Wenn
Wenn
62 % 18 %
15 % 5 %
1. Wandeln Sie das Datenflussdiagramm in einen Term um:
Wenn (uebergewicht; Wenn(stress; 62%; 18%); Wenn(stress; 15%; 5 %))
1 Beschreiben Sie in eigenen Worten das Verhalten der Funktion:
Zunächst überprüft die Funktion, ob Übergewicht vorliegt oder nicht. Wenn Übergewicht vorliegt, wird bei zusätzlichem
Vorliegen von Stress ein Herzinfarktrisiko von 62 % ansonsten eines von 18 % ausgegeben. Liegt kein Übergewicht vor, so wird bei Vorliegen von Stress das Herzinfarktrisiko mit 15 %,
ansonsten mit 5 % angegeben.
2 Datenbanksysteme: ER-Modellierung (13 Punkte)
In einer Datenbank sind die Daten von Lehrern, Schülern, Klassen und Fächer einer Schule gespeichert. Ein Lehrer hat dabei eine Personalnummer, einen Namen, eine Adresse und eine Gehaltsstufe. Schüler haben neben einer Identifikationsnummer einen Namen, eine Adresse und gehören einer einzigen Klasse an. Klassen sind eindeutig durch ihre Klassennummer bestimmt und ihnen ist jeweils genau ein Klassenraum zugeordnet; Fächer werden eindeutig durch ihre
Identifikationsnummer gekennzeichnet und sie haben einen Namen. Eine Klasse wird von genau einem Lehrer in einem Fach unterrichtet. Ein Lehrer kann dieselbe Klasse in unterschiedlichen Fächern unterrichten. Zusätzlich hat jeder Lehrer die Leitung maximal einer Klasse inne.
a. Vervollständigen Sie das angegebene Entity-Relationship-Diagramm! (Vergessen Sie nicht die Kardinalitäten!)
Lehrer
Klasse Schüler
Fach
ist Mitglied leitet
wird unterrichtet Gehaltstufe
Pers-nr. Name
Adresse
ID
Name
Adresse
Nr. Raum
ID Name
1
1 n
n m
1
1
b. Geben Sie zu dem ER-Diagramm aus Teilaufgabe a) das entsprechende Datenbankschema an!
Aus dem Diagramm ergibt sich folgendes Datenbankschema:
Lehrer(Pers-nr., Gehaltsstufe, Name, Adresse) Schüler(ID, Name, Adresse, Klassennummer) Klasse(Nr., Raum, Klassenleiter)
Fach(ID, Name)
wird_unterrichtet(Fach-ID, Nr, PersID)
(Bemerkung zur Umsetzung der Relation „leitet“: Anstatt den Klassenleiter bei
der Klasse aufzuführen, könnte auch die Klasse bei dem Lehrer aufgeführt
werden)
3
Datenbankabfragen [15 Punkte]
Sie sind Eigentümer(in) der Kinderboutique „Sonnenschein“. Die Einkäufe Ihrer Kunden - diese werden mittels Kundenkarte eindeutig identifiziert - werden mittels Scannerkasse und Datenbank detailliert erfasst, um später das Kaufverhalten analysieren zu können.
Nachfolgend sehen Sie als Ausschnitt der Datenbank die Datensätze der Access-Tabellen
„Artikelstamm“, „Kundenstamm“ und „Käufe“. Mittels der Tabelle „Käufe“ wird der Betrag dokumentiert, den ein Kunde jeweils bei einem Einkaufsvorgang für einen bestimmten Artikel ausgegeben hat.
Artikelstamm
EAN Artik
elbe zeic hnu ng12 34
Latzhose Bambina
7777 T-Shirt WWF 9876 Turnschuhe XXL
Käufe
lfdNr Kundennummer EAN Betrag Datum 1 007 1234 59,99 1.7.2005 2 008 1234 59,99 2.7.2005 3 007 7777 9,99 3.7.2005 4 007 1234 119,98 4.7.2005
Kundenstamm
Kundennummer Nachname Vorname 007 Bond Elvira 008 Müller Sandra
1. Teilaufgabe: Erläutern Sie den Begriff „Referentielle Integrität“ unter Bezugnahme auf die o.g. Tabellen „Käufe“ sowie „Artikelstamm“ und/oder „Kundenstamm“
2. Teilaufgabe: Ergänzen Sie die nachfolgende Access-Auswahlabfrage in der Weise, dass Ihnen alle Käufe der Kundin „Bond“ (Anzeige des Nachnamens) – unter Angabe der Artikelbezeichnung und des Betrages – ausgegeben werden, deren Betrag über 5 (Euro) liegt.
3. Teilaufgabe: Formulieren Sie die unter Punkt b) aufgeführte Abfrage als SQL-Abfrage (wahlweise mit oder ohne „Inner Join“)
Nachname Kundenstamm
X
=“Bond“
Artikelbezeichnung Artikelstamm
X
Betrag Käufe
X > 5
SELECT Kundenstamm.Nachname, Artikelstamm.Artikelbezeichnung, Käufe.Betrag FROM Kundenstamm, Artikelstamm, Käufe
WHERE (Artikelstamm.EAN=Käufe.EAN AND
Kundenstamm.Kundennummer=Käufe.Kundennummer AND Kundenstamm.Nachname="Bond" AND Käufe.Betrag>5);
Alternative SQL-Abfrage:
SELECT Kundenstamm.Nachname, Artikelstamm.Artikelbezeichnung, Käufe.Betrag
FROM Kundenstamm INNER JOIN (Artikelstamm INNER JOIN Käufe ON Artikelstamm.EAN
= Käufe.EAN) ON Kundenstamm.Kundennummer = Käufe.Kundennummer WHERE (((Kundenstamm.Nachname)="Bond") AND ((Käufe.Betrag)>5));
4
Normalisierung von Tabellen [10 Punkte]
1. Teilaufgabe: Verbessern Sie folgende Tabelle in der Weise, dass die 1. bis 3. Normalform erfüllt ist, indem Sie die betreffende(n) Tabelle(n) neu entwerfen (nur die Feldnamen in diese Tabelle(n) eintragen, nicht die Werte!).
2. Teilaufgabe: Erläutern Sie in Stichpunkten außerdem die nachfolgend aufgeführten Begriffe an der unten aufgeführten Tabelle bzw. an den von Ihnen neu entworfenen Tabellen
1., 2., 3. Normalform
Funktionale Abhängigkeit
Transitive Abhängigkeit
Feld- name n ->
KundenNr Kundenname PLZ Geburtsdatum Alter
9876 Pfahls, Holger 80123 1.1.1960 45
9999 Schreiber, W.H. 90100 1.1.1940 65
9876 Maxwell, M. 82159 1.1.1955 50
5
VBA [10 Punkte]
Viele Deutsche sind korpulent. Die oberbayrische Gesundheits- und Familienministerin Ursula von und zu Schmitt hat deshalb bei der Beratungsfirma „BodyCare“ eine Software zur Berechnung des BMI (Body-Mass-Index) in Auftrag gegeben. Der BMI berechnet sich wie folgt:
BMI = Körpergewicht / (Körpergröße)2
Erstellen Sie nachfolgend den VBA-Code zur Berechnung und Ausgabe des BMI.
1. Teilaufgabe: Vervollständigen Sie nachfolgenden rudimentären VBA-Code mittels geeigneter Schleifen und Kontrollstrukturen in der Weise, dass jede Eingabe kleiner oder gleich Null für das Körpergewicht und für die Körpergröße mit einer Fehlermeldung abgelehnt wird.
2. Teilaufgabe: Mittels der Funktion „BMIBerechnung“ soll der BMI berechnet werden.
Dieser soll mittels der bereits aufgeführten „MsgBox“ am Bildschirm anzeigt werden. Ergänzen Sie hierfür beide Prozeduren in geeigneter Weise.
Sub Figur()
Dim Koerpergewicht As Double, Koerpergroesse As Double, BMI As Double Do
Koerpergewicht = InputBox("Geben Sie Ihr Körpergewicht in kg ein") if Koerpergewicht <= 0 then
msgbox („Fehler“) end if
loop until Koerpergewicht > 0
analog oben!
……….…….= InputBox("Geben Sie Ihre Körpergrösse in Metern ein")
BMI = BMIBerechnung (Koerpergewicht, Koerpergroesse) MsgBox ("Es errechnet sich ein BMI von " & BMI) End Sub
Function BMIBerechnung(byval x as double, byval y as double) as double
BMIBerechnung = y/x^2………
End Function
Hinweis außerhalb der Prüfung: Der "Normal-BMI" liegt bei Frauen zwischen 19 und 24, bei Männern zwischen 20 und 25. Bei Männern und Frauen ab 65 Jahren gilt ein BMI zwischen 24 und 29 als "Normal"!
Doch bei all den Formeln muss beachtet werden, dass natürlich auch noch andere Faktoren z.B. Muskelmasse (Gewichtheber) eine Rolle spielen - und nichts desto trotz ist das
"Wohlfühlgewicht" das wichtigste!
6
HTML [10 Punkte]
Folgender HTML-Code beschreibt eine Tabelle in Verbindung mit einem Eingabeformular.
1. Erläutern Sie die im HTML-Code gekennzeichneten Tags.
2. Zeichnen Sie in dem dafür vorgesehenen (karierten) Bereich auf der folgenden Seite, der den Bildschirm darstellen soll, das Erscheinungsbild der Tabelle und der Eingabefelder für den Anwender. Geben Sie die Größenverhältnisse proportional wieder.
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Bewerbung</title>
</head>
<body>
<form name=“Bewerbung“ action=“mailto:nerv@mich.net“>
<table style=“width:100%“>
<tr>
<td colspan=“2“ style=“text-align:center; font-size:200%“>
Ja ich möchte mich bewerben!</td>
</tr>
<tr>
<td style=“width:30%“>Name:</td>
<td><input name=“Name“ type=“text“ size=“30“ maxlength=“60“></td>
</tr>
<tr>
<td style=“width:30%; vertical-align:top“>Und das bin ich:</td>
<td><textarea name=“Vorstellung“ cols=“60“ rows=“5“></textarea></td>
</tr>
<tr>
<td style=“width:30%“><input type=“submit“ value=“Abschicken“ name=“sub“></td>
<td><input type=“reset“ value=“Zurücksetzen“ name=“res“></td>
</tr>
</table>
</form>
</body>
</html>
1a) <textarea name=“Vorstellung“ cols=“60“ rows=“5“></textarea>
1b) <input type=“reset“ value=“Zurücksetzen“ name=“res“>
2.Hier bitte die Bildschirmdarstellung eintragen: (30 Spalten; 20 Zeilen)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20