------------------------------------------------------------------------ SQL (ca. 75% der Kurszeit) - Tabellen (Tabellenname, Spalte/Attribut mit Datentyp); Einrichten, Ändern, Löschen von Tabellen; Schlüssel (Primary key), Fremdschlüssel (Foreign key), Unique-, Not-Null-, Check-Constraint; Tabelle versus Relation (Multimenge/Bag versus Menge; Kollektion mit Duplikaten versus duplikatfreie Kollektion) - Anfragen in SQL; SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY; atomare Bedingungen (Spalte/Attribut Vergleichsoperator Konstante oder Spalte/Attribut); Boolesche Verknüpfungen (AND, OR, NOT); Unteranfragen (IN, Vergleichsoperator ANY, Vergleichsoperator ALL, EXISTS); Aggregationsfunktionen (COUNT, SUM, MAX, MIN, AVG); Verbunde (NATURAL, USING, ON; INNER, LEFT, RIGHT, FULL) - Datenmanipulation; Einfügen, Ändern, Löschen in Tabellen - Indexe; Einrichten, Löschen von Indexen - Sichten; Einrichten und Löschen von und Anfragen an Sichten Transformation zwischen UML-Klassendiagrammen und relationalen DB-Schemata (ca. 15% der Kurszeit) - Klassen mit Attributen und gekennzeichtem Schlüssel (<>) - funktionale Assoziationen (0..1 oder 1 Multiplizität) - allgemeine Assoziationen - Vererbungsbeziehungen - Verwendung von Schlüsseln und Fremdschlüsseln im resultierenden relationalen DB-Schema Grundideen des relationalen Entwurfs (ca. 10% der Kurszeit) - Zerlegung von Tabellen, Vermeidung von Redundanz - Funktionale Abhängigkeit, Schlüssel, Nichtschlüsselattribut - partielle und transitive Abhängigkeit eines Nichtschlüsselattributs, 2NF, 3NF ------------------------------------------------------------------------