Grundwissen 10. Klasse
In der Jahrgangsstufe 10 sind die großen Themenbereiche die Fortführung des Arbeitens zu den Themen Datenbanksysteme mit SQL sowie objektorientierte Modellierung und Programmierung, siehe Grundwissen Klasse 9. Auf dieser Seite finden sich daher nur die dazugekommenen/ darauf aufbauenden Themen.
1. Datenmodellierung und Datenbanksysteme - Fortführung
Redundanz und Konsistenz
- Unter Redundanz versteht man die (überflüssige) Mehrfachspeicherung von Daten. Beim Einfügen oder Ändern von Datensätzen können hierbei Probleme und Fehler, sogenannte Anomalien, auftreten: UPDATE-/DELETE-/INSERT-Anomalie.
- Ist die Datenbank ohne Widersprüche, so ist sie konsistent, enthält sie Unstimmigkeiten, so ist sie inkonsistent.
Datenmodellierung
Objekte mit gleichen Attributen legen eine Klasse fest. Die Attribute werden in einer Klassenkarte aufgelistet. Klassendiagramme zeigen, welche Beziehungen die Objekte der betrachteten Klassen eingehen können. Die Beziehungen zwischen Klassen werden durch Verbindungslinien dargestellt.
Man unterscheidet dabei drei Beziehungsarten: 1:1 / 1:n / n:m-Beziehung
Klassendiagramme umfassen somit:
- alle Klassen mit ihren Attributlisten –jeweils als Klassenkarte dargestellt
- alle Beziehungslinien mit den zugehörigen Kardinalitäten und Beziehungsnamen.
Bsp.:
Quelle Bild: http://www.peter-junglas.de/fh/vorlesungen/praktinfWI1/html/kap5-5.html
n:m-Beziehungen und 1:n-Beziehungen:
Für jede n:m-Beziehung wird eine Beziehungstabelle festgelegt. Diese enthält die Primärschlüssel der beiden Tabellen. Diese werden als Fremdschlüssel bezeichnet. Der Primärschlüssel dieser Beziehungstabelle sind alle Fremdschlüssel.
1:n-Beziehungen: Bei einer 1:n-Beziehung ist eine Beziehungstabelle nicht notwendig. Es wird die Tabelle der Klasse mit der Kardinalität n um den Primärschlüssel der Klasse mit der Kardinalität 1 erweitert. Dieser wird als Fremdschlüssel eingefügt.
1:1-Beziehungen: Bei einer 1:1-Beziehung ist auch keine Beziehungstabelle notwendig. Es wird die Tabelle einer beliebigen Klasse um den Primärschlüssel der anderen Klasse erweitert. Dieser wird als Fremdschlüsseleingefügt. Fremdschlüssel werden gestrichelt unterstrichen.
Kreuzprodukt
Das Kreuzprodukt (kartesisches Produkt) TABELLE1 x TABELLE2 bildet aus zwei Tabellen eine neue Tabelle, die jeden Datensatz der ersten Tabelle mit jedem Datensatz der zweiten Tabelle verknüpft:
SELECT * FROM Tabelle_1, Tabelle_2;
Join
Eine Hintereinanderausführung von Kreuzprodukt und Selektion nennt sich Join. Nur die Zeilen des Kreuzproduktes, bei denen der Wert der Fremdschlüsselattribute mit den zugehörigen Werten der Primärschlüsselattribute übereinstimmen, enthalten die Daten der korrekten Beziehungspartner. Diese werden mit der anschließenden Selektion gefiltert.
SELECT * FROM Tabelle_1 t1, Tabelle_2 t2 WHERE t1.Attribut = t2.Attribut;
Quelle: http://www.mgf-kulmbach.de/neu/images/medien/unterrichtsfaecher/Informatik/grundwissen/inf9-grundwissen.pdf
2. Objektorientierten Modellierung und Programmierung - Fortführung
Feld (Array)
In einem Feld können mehrere Werte eines Datentyps abgespeichert werden. Deklaration eines Felds:
private double[] zahlen;
Initialisierung eines Felds mit der Länge 10:
zahlen = new double[10];
Speichern eines Wertes unter dem Index i:
zahlen[i] = 10.3;
Feld durchlaufen und Inhalt ausgeben:
for (int i = 0; i < zahlen.length; i = i+1) {
System.out.println( (i+1) + “: “ + zahlen[i] );
}
Polymorphie
Man spricht von Polymorphie, wenn gleichnamige Methoden unterschiedliche Definitionen bzw. Implementierungen haben. Polymorphie wird durch Überschreiben der geerbten Methoden bewirkt.
Quelle: http://www.mgf-kulmbach.de/neu/images/medien/unterrichtsfaecher/Informatik/grundwissen/inf10-grundwissen.pdf