RDB: Relationale Datenbanken und SQL Syllabus Lehrveranstaltung RDB: Relationale Datenbanken und SQL (Vorlesung und Übung) LV-Leiterin/Leiter Josef Altmann (Vorlesung), Andreas Heinzel (Übung) Studiengang Medizin- und Bioinformatik (Bachelor) Fakultät für Informatik, Kommunikation und Medien FH OÖ Allgemeines Die Lehrveranstaltung RDB: Relationale Datenbanken und SQL baut auf die im zweiten Semester vermittelten Grundlagen (konzeptueller, logischer und physischer Datenbankentwurf sowie Einführung in SQL) auf, vertieft ausgewählte Themengebiete (bspw. Modellierung, SQL, Sichtkonzept) und vermittelt erweiterte Techniken, Algorithmen und Konzepte von Datenbanksystemen. Ziele Die Lehrveranstaltung soll ein praxisorientiertes Verständnis von Datenbankmanagementsystemen und deren grundlegenden technischen Konzepte vermitteln. Die Teilnehmer sollen nach der Lehrveranstaltung in der Lage sein, die UML für die konzeptuelle Datenmodellierung praktisch anwenden zu können, mit SQL komplexe Gruppierungen und rekursive Abfragen durchführen zu können, ausgewählte Funktionsbereiche (bspw. Rechte- und Zugriffskontrolle, materialisierte Sichten) von Datenbankmanagementsystemen zu kennen, prozedurale SQL-Erweiterungen und Trigger adäquat einsetzen und entwickeln zu können, Eigenschaften von Transaktionen zu kennen sowie Konzepte der Mehrbenutzersynchronisation adäquat einzusetzen, Tuning- bzw. Optimierungsmaßnahmen für Datenbanksysteme zu identifizieren und umzusetzen. Inhalte Die Lehrveranstaltung besteht aus einem theoretischen (= Vorlesung) und einem praktischen (= Übung) Teil. Im theoretischen Teil liegt der Schwerpunkt auf dem relationalen und objektrelationalen Datenmodell – folgende Themen werden u. a. behandelt: Konzeptuelle Datenmodellierung mit UML Relationale Umsetzung der Generalisierung SQL-Vertiefung (bspw. komplexe Gruppierung, rekursive Anfragen, Schlüsselgenerierung) Rechte- und Zugriffskontrolle Materialisierte Sichten Prozedurale SQL-Erweiterungen inkl. Cursorkonzept Aktives Datenbankverhalten und Trigger Transaktionsverwaltung und Mehrbenutzerbetrieb Objektrelationale Datenbankmodelle und -systeme Anfrageoptimierung und Tuning Ausgewählte aktuelle Entwicklungen (bspw. NoSQL) Der praktische Teil besteht aus vorlesungsbegleitenden Übungen. Die Übungen sollen die Vorlesung vertiefen und ergänzen, so kann auch in den Übungen – meist zu Beginn eines Übungsblocks – für ausgewählte Themen vorlesungsartig neuer Stoff vermittelt werden. Folgende Themen werden praktisch anhand von ausgewählten Werkzeugen und dem Datenbanksystem ORACLE 12c behandelt: Konzeptuelle Datenmodellierung mit UML (Klassendiagramm) WS 2016/2017, JG15, 01.10.2016 RDB: Relationale Datenbanken und SQL Vertiefung SQL Prozedurale SQL-Erweiterung am Beispiel von PL/SQL Trigger am Beispiel von PL/SQL Transaktionsverwaltung am Beispiel von ORACLE 12c Objektrelationale Erweiterungen am Beispiel von ORACLE 12c Tuning (Indexarten, Ausführungspläne, etc.) Lehr-/Lernmethoden, Medien Die Vorlesung ist mit 28 Lehreinheiten konzipiert und wird zu zwei Lehreinheiten abgehalten. Die Übung ist ebenfalls mit 28 Lehreinheiten konzipiert und wird ebenfalls zu zwei Lehreinheiten abgehalten. Folgende Lehrmethoden werden angewandt: Strukturierte Vermittlung (Vortrag) der Inhalte (Konzepte, Methoden, erläuternde Beispiele) in der Vorlesung Praktische Umsetzung der Aufgabenstellungen anhand von teilweise aufbauenden Beispielen in den Übungen. Die Lösungen sind von den Studierenden allein auszuarbeiten, Teamarbeit ist nur dann erlaubt, wenn dies explizit angegeben wird. Die Lösungen werden von höher semestrigen Studierenden (“TutorInnen”, jeweils eine/r pro Übungsgruppe) begutachtet und mit schriftlichen Feedback versehen. Zusätzlich bieten die TutorInnen einmal pro Woche, sofern Bedarf besteht, die Möglichkeit im Rahmen eines persönlichen Gesprächs die abgegebene Lösung und deren Bewertung nach zu besprechen. Die Terminabsprache erfolgt über eine(n) VertreterIn des Jahrganges, der in den ersten Übungseinheiten bestimmt wird. Begleitet wird die Lehrveranstaltung durch ein Moodle-Forum, wo die TutorInnen für Fragen zur Verfügung stehen. Zusätzlich stehen die TutorInnen im Semester für ein bis maximal zwei Workshops (zu maximal drei Einheiten) mit weiterführenden Anwendungsbeispielen zur Verfügung, sofern entsprechender Bedarf von den Studierenden bei den TutorInnen geäußert wird. Form der Leistungsbeurteilung und Bewertungskriterien Gemäß FHStG besteht für die Übung Anwesenheitspflicht. Zur Kontrolle werden Anwesenheitslisten geführt. Leistungsbeurteilung Vorlesung Die Vorlesungsnote ergibt sich aus einer Vorlesungsklausur am Semesterende über den Vorlesungsstoff. Die schriftliche Vorlesungsklausur dauert 60 Minuten. Bei der Vorlesungsklausur sind mit Ausnahme einer SQL Quick Reference keine Unterlagen gestattet. Leistungsbeurteilung Übung Die Übungsnote ergibt sich zu Semesterende aus folgenden drei Beurteilungskriterien: (1) den Ergebnissen der Lernkontrollen (s.u.) und (2) der Qualität der abgegebenen Lösungen für die Übungszettel (s.u.) und (3) der Mitarbeit in den Übungsblöcken. Das Kriterium (1) geht zu 30 % und das Kriterium (2) geht zu 70 % in die Übungsnote ein. Für eine positive Übungsnote müssen diese beiden Beurteilungskriterien positiv sein. Kriterium (3), Mitarbeit in der Übung, kann die Note um einen Grad verändern. Achtung: Es gibt keine Wiederholungsmöglichkeit! Zum Beurteilungskriterium (1): Über das Semester hinweg finden zwei angekündigte Lernkontrollen statt. Dabei handelt es sich um schriftliche Fragen/Aufgaben, die am Beginn eines Übungsblocks mit Bleistift und Papier ohne Zuhilfenahme zusätzlicher Unterlagen in – je nach Problemstellung – 20 bis 30 Minuten zu beantworten/lösen sind. Eine versäumte Lernkontrolle muss zum ehest möglichen Termin nachgeholt werden. Zum Beurteilungskriterium (2): Jede Woche wird ein Übungszettel ausgegeben. Die ausgearbeiteten Lösungen für die Übungszettel sind i.d.R. eine Woche nach Ausgabe des Übungszettels (zum auf dem Übungszettel vermerkten Abgabetermin) abzugeben. Die Abgabe hat in Papierform (wenn von den TurtorInnen verlangt) und elektronisch per Moodle-Upload zu erfolgen. Die Lösungen werden von höher semestrigen Studierenden (TutorInnen, jeweils eine/r pro Übungsgruppe) begutachtet und jeweils mit maximal 24 Punkten bewertet. Lösungen, die der gewünschten äußeren Form nicht entsprechen oder unleserlich sind, gelten als nicht abgegeben. Zusätzlich zur äußeren Form müssen die Ausarbeitungen den Formatierungsrichtlinien (s.u.) genügen. Zum Beurteilungskriterium (3): Zu Beginn jeder Übungsstunde wird nach Bedarf relevanter Stoff aus der Vorlesung von zufällig ausgewählten Studierenden wiederholt. WS 2016/2017, JG15, 01.10.2016 RDB: Relationale Datenbanken und SQL Die Lösungen sind von den Studierenden allein auszuarbeiten, Teamarbeit ist nur dann erlaubt, wenn dies explizit angegeben wird. Bei begründeten Zweifeln an der Urheberschaft wird die gesamte Übung aller mutmaßlichen Mitglieder eines Teams als nicht abgegeben bewertet. Im Semester werden (voraussichtlich) 12 Übungszettel ausgegeben. Der 12. Übungszettel wird ein erweiterter Übungszettel mit doppelter Punkteanzahl sein. Alle Übungen werden als Grundlage für das Beurteilungskriterium (2) herangezogen. Die Abgabetermine sind einzuhalten, verspätete Abgaben werden nicht akzeptiert. Allerdings hat jede/r StudentIn die Möglichkeit maximal einmal pro Semester verspätet (ohne Angabe jeglicher Gründe) per Mail an den/die LVA-Leiter/in abzugeben, das führt zu einem Punkt Abzug pro Tag. Formatierungsrichtlinien für Übungsausarbeitungen Die Übungsausarbeitungen müssen den nachfolgenden Richtlinien entsprechen – Nichtbeachtung dieser Formatierungsrichtlinien führt zu Punktabzug. Die Übungsausarbeitungen sind in elektronischer Form per Moodle-Upload und - wenn in der Übungsangabe vermerkt - zusätzlich in Papierform abgegeben. Die in der E-Learning-Plattform abzugebenden Übungen (ausgearbeitete Übungsdatei, Quelltextdateien bzw. SQLSkripts, etc.) sind als .zip-Datei (keine rar- oder 7z-Datei!) im dazu vorgesehenen Moodle-Kurs hochzuladen, die wie folgt zu benennen ist: RDB3g_UEnn_NACHNAME.zip (g … Gruppennummer, n … Übungsnummer; z.B. RDB31_UE01_ALTMANN.zip). Anmerkung: Bei der Übungsnummer handelt es sich um die Nummer des Übungszettels und nicht der Nummer der einzelnen Übungsbeispiele. Die ausgearbeitete Übungsdatei (Deckblatt, Lösungsidee, etc.) ist als pdf-Datei (keine .doc- oder docx-Datei!) zu erstellen. Das Deckblatt der Übung muss ausgefüllt (Name, Aufwand, Gruppe) mitabgegeben werden. Ist zusätzlich eine Papierabgabe gefordert, so ist die Übungsausarbeitung mit dem Deckblatt links oben mit einer Heftklammer zusammenzuheften – Büroklammern oder lose Zettel sind nicht erlaubt. Beim Ausdruck der Übungsausarbeitung ist immer nur eine Seite pro A4-Blatt erlaubt, beidseitige Ausdrucke sind möglich. Name und Seitennummer müssen auf jeder Seite angegeben werden. Die Form der Angabe (ob in Kopf- oder Fußzeile) bleibt den Studierenden überlassen. Verwenden Sie für die Übungen eine der drei folgenden Schriftarten: Times New Roman, Arial oder Courier New. Die Schriftgröße sollte mindestens 11pt betragen. Kennzeichnen Sie jede Übungsaufgabe mit der vollständigen Aufgabennummer (auch innerhalb des Quelltextes)! Falls Fragen auf den Übungszetteln enthalten sind, sind die Antworten in einer Datei zusammengefasst abzugeben. Sind Abfragen mit Ergebnissen gefragt, so stellen diese Ergebnisse die Antworten dar. Sollte es Fragen zum Ankreuzen geben, reicht eine Ja-Nein-Antwort mit Begründung (wenn gefordert). Achten Sie auf einheitliche Schreibweisen und Bezeichnungen. Falls Namen oder Benennungen in den Angaben vorgegeben sind, sind diese zu verwenden. Sollten bei der Ausarbeitung Annahmen getroffen worden sein oder Anmerkungen nötig sein um die Lösung zu verstehen, so ist eine Lösungsidee mit abzugeben. Achten Sie darauf diese vor der entsprechenden Aufgabe (und keinesfalls erst am Ende) in die Lösungsdokumentation einzufügen. Ausreichende Dokumentation kann Punktabzüge verhindern. Bei der Abgabe von Bildern ist auf eine ausreichende Auflösung (bevorzugt Druckqualität) zu achten. Ist der Inhalt eines Bildes nicht erkennbar (leserlich) wird das Beispiel negativ bewertet werden. Für Übungen, bei denen auch SQL-Anweisungen erstellt werden, gilt folgendes: Vermeiden Sie Umlaute in SQL-Anweisungen! Speichern Sie SQL-Anweisungen als reine plain-text Dateien ab! (Endung .sql) SQL-Skripte müssen sich im Normalfall in einem Durchgang ausführen lassen ohne dabei Fehler zu produzieren. Für SQL-Anweisungen in der Übungsdokumentation ist eine Schriftart mit fixer Breite (z.B. Courier New oder Consolas)zu verwenden. Im Zuge der Ausarbeitung erstellte SQL-Skripte können der Übungsdokumentation als WS 2016/2017, JG15, 01.10.2016 RDB: Relationale Datenbanken und SQL Anhang beigelegt werden. Achten Sie dabei dennoch auf eine exakte Kennzeichnung der Beispiele und Verwendung der korrekten Schriftart. Versehen Sie SQL-Anweisungen mit Kommentaren, welche die Nummer des Beispiels sowie eventuell weitere Anmerkungen enthalten. Anmerkungen und Kommentare sind immer vor der jeweiligen SQL-Anweisung anzugeben. Falls mehrere Statements für ein Beispiel benötigt werden, sind diese durch entsprechende Kommentare zu beschriften und zu trennen. Pro Beispiel wird nur eine Ausarbeitung akzeptiert. Mehrere Lösungen führen zu Nichtbeachtung des Beispiels. Schlüsselwörter (SELECT, FROM, WHERE, GROUP BY, NOT, IN, etc.) gehören großgeschrieben. Die SQLAnweisungen müssen gut strukturiert sein, d.h. neuer Absatz bei FROM, WHERE, etc. und Einrückungen bei Unterabfragen verwenden! Sollte eine SQL-Anweisung nicht ausgeführt werden können – durch einen Fehler etc. – bitte entsprechend dokumentieren. Durch ausreichende Dokumentation können Punktabzüge verringert werden. Verzichten Sie soweit möglich auf die von SQLDeveloper bereitgestellte Funktionalität und verwenden Sie stattdessen SQL. So ist zum Beispiel zur Kontrolle der erfolgreichen Löschung von Tabellen eine entsprechende SQL Abfrage auf das Data Dictionary durchzuführen und insofern gefordert auch mit abzugeben. Es ist nicht ausreichend zu kontrollieren ob die Tabelle(n) noch im SQLDeveloper gelistet wird. Literatur Die angeführten Lehrbücher werden als Grundlagenliteratur empfohlen: Heuer A., Saake G., Sattler K.-U.: Datenbanken: Konzepte und Sprachen, 5. Auflage, mitp-Verlag, Heidelberg, 2013. (auch als E-Book erhältlich) Heuer A., Saake G., Sattler K.-U.: Datenbanken: Implementierungstechniken, 3. Auflage, mitp-Verlag, Heidelberg, 2011. Kemper A., Eickler A.: Datenbanksysteme. Eine Einführung, 9. Auflage, Oldenbourg Verlag, München, 2013. Faeskorn-Woyke H., Bertelsmeier B., Riemer P., Bauer E.: Datenbanksysteme: Theorie und Praxis mit SQL2003, Oracle und MySQL, Pearson Studium, München, 2007. Elmasri R. A., Navathe S. B.: Grundlagen von Datenbanksystemen - Bachelorausgabe, 3. Auflage, Pearson Studium, München, 2009. Silberschatz A., Korth H. F., Sudarshan S.: Database System Concepts, 5. Auflage, McGraw-Hill Book Co., 2005. Türker C.: SQL 1999 & SQL 2003, dpunkt Verlag, 2003. Weitere Literaturempfehlungen werden im Moodle-Kurs bekanntgegeben. Kontakt LVA-Leiter Vorlesung: Josef Altmann ([email protected]) LVA-Leiter Übungen: RDB31/2: Andreas Heinzel ([email protected]) Tutoren: RDB31/2: Köberle Jessica ([email protected]) RDB31/2: Saliger Markus ([email protected]) RDB31/2: Schurr Jonas ([email protected]) Techn. Ansprechpartner Werkzeuginfrastruktur/Datenbankadministrator [email protected] - Betreff: ORACLE-Lehre WS 2016/2017, JG15, 01.10.2016