Grundwissen 10. Klasse

Redundanz und Konsistenz - 1:1 / 1:n / n:m-Beziehung - Kreuzprodukt - Join - Arrays - Polymorphie

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.:

database_klassendiagramm.png

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

Wird geladen