1. Übungsaufgabe Entscheidungstabellen

Ähnliche Dokumente
SQL Data Manipulation Language (DML) und Query Language (QL)

GROUP BY, HAVING und Sichten

Seminar 2. SQL - DML(Data Manipulation Language) und. DDL(Data Definition Language) Befehle.

Oracle 10g Einführung

Daten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell. Jetzt: -> Formulierung in DDL

3 Query Language (QL) Einfachste Abfrage Ordnen Gruppieren... 7

Übersicht der wichtigsten MySQL-Befehle

Universität Augsburg, Institut für Informatik WS 2008/2009 Prof. Dr. W. Kießling 23. Nov Dr. A. Huhn, M. Endres, T. Preisinger Lösungsblatt 5

SQL. DDL (Data Definition Language) Befehle und DML(Data Manipulation Language)

Datenbanken im WI-Unterricht mit

Kapitel 8: Datenintegrität

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

Kapitel 6. Datenmalipulation (DML) d. h. insert, update, delete, select im Relationenmodell (in Oracle)

Welche Kunden haben die gleiche Ware bestellt? select distinct a1.name, a2.name from Auftrag a1, Auftrag a2 where a1.ware = a2.ware.

ISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski.

Datenbanksysteme 2013

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software

Aufgaben Netzplantechnik

Lösungen der Übungsaufgaben von Kapitel 10

Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5

Introduction to Data and Knowledge Engineering. 6. Übung SQL

MySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben.

Grundlagen von SQL. Informatik 2, FS18. Dr. Hermann Lehner (Material von Dr. Markus Dahinden) Departement Informatik, ETH Zürich

5/14/18. Grundlagen von SQL. Grundlagen von SQL. Google, Facebook und Co. setzen auf SQL. Whatsapp

Wiederholung VU Datenmodellierung

(4 Punkte) Aufgabe 1: Relationenalgebra - Relationenkalkül

SQL 2. Ziele. Fortgeschrittene SQL-Konstrukte. Aggregatfunktionen revisited. Subqueries. Korrelierte Subqueries

Informatik II Vorlesung am D-BAUG der ETH Zürich. Vorlesung 12, 2017 Datenbanksysteme: Datendefinition in SQL, Kompliziertere Datenbankabfragen

Wiederholung VU Datenmodellierung

Übungsaufgaben mit Lösungen

Informatik II Vorlesung am D-BAUG der ETH Zürich. Vorlesung 12, Datenbanksysteme: Datendefinition in SQL, Kompliziertere Datenbankabfragen

Praktische SQL-Befehle

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

Abfragen (Queries, Subqueries)

DB-Datenbanksysteme. DB SQL-DML 1 Mario Neugebauer

105.3 SQL-Datenverwaltung

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

Datenbanksysteme I WS 18/19 Teillösung Übungsblatt 4-6

SQL als Zugriffssprache

Abbildung 1: Das ERM. Nun zu den Tabellen: Zunächst wird aus jeder Entity eine Tabelle, d.h. wir erhalten:

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

Datenmanagement I SoSe 2006 Aufgabenblatt 4

Datenbanken. Zusammenfassung. Datenbanksysteme

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #3. SQL (Teil 1)

dbis Praktikum DBS I SQL Teil 2

Datenbanksysteme noch Kapitel 7: SQL Vorlesung vom Oliver Vornberger. Institut für Informatik Universität Osnabrück

Folien php/mysql Kurs der Informatikdienste

Rückblick. SQL bietet viele Möglichkeiten zur Anfrageformulierung

Erstellen einer Datenbank. Datenbankabfragen

Inhaltsverzeichnis. Einleitung

Es geht also im die SQL Data Manipulation Language.

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

Datenschutz: Zugriffsrechte in SQL

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo.

SQL-Sprachvielfalt. Peter Willadt (Ludwig-Erhard-Schule) SQL-Befehle / 47

Praktische SQL-Befehle 2

Aufgabe 1 Indexstrukturen

SQL für Trolle. mag.e. Dienstag, Qt-Seminar

ARBEITSBLATT ZUR SQL-BEFEHLEN

Daniel Warner SQL. Das Praxisbuch. Mit 119 Abbildungen. Franzis

mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007

Kapitel 7: Terminplanung

Übung 1: SQL. Übungen finden bei Bedarf anstelle der Vorlesungen statt Fragen? Vorlesung Datenbankeinsatz WS 04/05 IPD

Anwendungsentwicklung Datenbanken SQL. Stefan Goebel

Klausur Datenbanksysteme, Lösungen

SQL. strukturierte Datenbankabfragesprache eine Datenbanksprache zur. Structured Query Language:

Datenbanken SQL. Insert, Update, Delete, Drop. Krebs

Datenbanksysteme SS 2007

Universität Augsburg, Institut für Informatik WS 2007/2008 Prof. Dr. W. Kießling 18. Jan Dr. A. Huhn, M. Endres, T. Preisinger Übungsblatt 12

Induktionsschluss: Sei Q RA eine Anfrage der Relationenalgebra mit n > 0 Operatoren.

Übung PL/SQL Trigger Lösungen

Die Anweisung create table

7. Einfache Auswertungen aus der Datenbank (select)

Datenbank und Tabelle mit SQL erstellen

Bibliografische Informationen digitalisiert durch

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

Datenorientierte Systemanalyse. 07/05/2013 Axel Polleres

Web-Technologien. Prof. Dr. rer. nat. Nane Kratzke SQL. Praktische Informatik und betriebliche Informationssysteme

Einführung in SQL. 1. Grundlagen SQL. Structured Query Language. Viele Dialekte. Unterteilung: i. DDL (Data Definition Language)

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort... 13

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

Inhaltsverzeichnis. Vorwort Kapitel 1 Einleitung... 15

Relationale Anfragesprachen

Vorlesung Datenbanksysteme Endklausur

Kommunikation und Datenhaltung. Übungsblatt D1. (Relationale Algebra & SQL)

9. Sicherheitsaspekte

Wirtschaftsinformatik 7a: Datenbanken. Hochschule für Wirtschaft und Recht SS 16 Dozent: R. Witte

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort 13

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

Aufgabe 12.1: JDBC - Datenbankzugriff in Java

Datenbanksysteme I. Klausur zum Praktikum. Mehrere Professoren prüfen mit genau einem Beisitzer genau einen Studenten.

Aufgabe 1: Integrität

Inhaltsverzeichnis. Vorwort 13. Kapitel 1 Einleitung 15

Informatik II, SS 2014

12. Datenschutz: Zugriffsrechte in SQL Datenschutz: Zugriffsrechte in SQL

Transkript:

AKAD Lösungsfolien WInf Folie 1 von 7 1. Übungsaufgabe Entscheidungstabellen 1.1. Erstellen der vollständigen Entscheidungstabelle 1.1.1. Analyse der Bedingungen Es lassen sich die folgenden Bedingungen herausarbeiten: Studiengebühr bezahlt Teilnahmehäufigkeit an der Klausur < 3 Teilnahme am Diplomandenseminar 1.1.2. Analyse der Regeln Bei einer vollständigen Entscheidungstabelle ergeben sich bei drei binären Bedingungen genau acht Regeln. 1.1.3. Analyse der Aktionen Es lassen sich die folgenden Aktionen erkennen: Student zur Klausur zulassen Zusendung des aktuellen Seminarplanes Zusendung einer Zahlungsaufforderung für die Studiengebühren Exmatrikulation des Studenten 1.1.4. Konstruktion der Entscheidungstabelle Daraus läßt sich die folgende vollständige Entscheidungstabelle konstruieren: Klausuranmeldung R1 R2 R3 R4 R5 R6 R7 R8 Studiengebühr bezahlt J J J J N N N N Teilnahme am Diplomandenseminar J J N N J J N N Teilnahmehäufigkeit < 3 J N J N J N J N Seminarplan zusenden Zahlungsaufforderung zusenden Exmatrikulieren Abb. 1: Zulassung zur Klausur als Entscheidungstabelle

AKAD Lösungsfolien WInf Folie 2 von 7 1.2. Verdichtung der Entscheidungstabelle R2 und R4 ziehen die Aktion Exmatrikulieren nach sich, unterscheiden sich aber nur in der Bedingung Teilnahme am Diplomandenseminar. Daher können sie zur neuen Regel R'2 zusammengefaßt werden; R4 wird gelöscht, und Teilnahme am Diplomandenseminar erhält einen Irrelevanzzeiger. R6 und R8 ziehen ebenfalls die Aktion Exmatikulieren nach sich, unterscheiden sich ebenfalls nur in der Teilnahme am Diplomandenseminar. Daher können sie zur neuen Regel R'6 zusammengefaßt werden; R8 wird gelöscht, und Teilnahme am Diplomandenseminar erhält ebenfalls einen Irrelevanzzeiger: Klausuranmeldung R1 R'2 R3 R5 R'6 R7 Studiengebühr bezahlt J J J N N N Teilnahme am Diplomandenseminar J - N J - N Teilnahmehäufigkeit < 3 J N J J N J Seminarplan zusenden Zahlungsaufforderung zusenden Exmatrikulieren Abb. 2: Zulassung zur Klausur als Entscheidungstabelle nach erster Verdichtung R'2 und R'6 ziehen beide die Aktion Exmatrikulieren nach sich. Sie unterscheiden sich in ihrem relevanten Teil nur durch die Bezahlung der Studiengebühr (Teilnahme am Diplomandenseminar ist bei beiden irrelvant). Daher können beide zur neuen Regel R''2 zusammengefaßt werden, Regel R'6 kann gelöscht werden, und Studiengebühr bezahlt erhält einen Irrelevanzzeiger: Klausuranmeldung R1 R''2 R3 R5 R7 Studiengebühr bezahlt J - J N N Teilnahme am Diplomandenseminar J - N J N Teilnahmehäufigkeit < 3 J N J J J Seminarplan zusenden Zahlungsaufforderung zusenden Exmatrikulieren Abb. 3: Zulassung zur Klausur als Entscheidungstabelle nach zweiter Verdichtung Regel R3 und R7 lassen sich nicht verdichten, da zwar immer ein Seminarplan zugeschickt wird, ist jedoch die Studiengebühr nicht entrichtet, ergeht zusätzlich eine Zahlungsaufforderung. Regel R5 und R7 lassen sich nicht verdichten, da zwar immer eine Zahlungsaufforderung ergeht, aber im Falle der Nichtteilnnahme an einem Diplomandenseminar zusätzlich ein Seminarplan zugesandt wird.

AKAD Lösungsfolien WInf Folie 3 von 7 1.3. Fallerweiterung durch zusätzliche Aktion 1.3.1. Ergänzung der Entscheidungstabelle Neben den schon bekannten gibt es nun noch eine zusätzliche Aktion: Erstattung der Studiengebühren Daraus ergibt sich die folgende neue vollständige Entscheidungstabelle: Klausuranmeldung R1 R2 R3 R4 R5 R6 R7 R8 Studiengebühr bezahlt J J J J N N N N Teilnahme am Diplomandenseminar J J N N J J N N Teilnahmehäufigkeit < 3 J N J N J N J N Seminarplan zusenden Zahlungsaufforderung zusenden Exmatrikulieren Erstattung der Studiengebühren Abb. 4: Zulassung zur Klausur als Entscheidungstabelle mit neuer Aktion 1.3.2. Verdichtung der neuen Entscheidungstabelle Unabhängig von der Bezahlung der Studiengebühr und Teilnahme am Diplomandenseminar ist der Student nach dem dritten erfolglosen Versuch zu exmatrikulieren. Sofern er eine Studiengebühr entrichtet hat, ist diese zu erstatten. Es ergeben sich zunächst dieselben Verdichtungsmöglichkeiten wie bereits in obiger Abb. 2 gezeigt: Klausuranmeldung R1 R'2 R3 R5 R'6 R7 Studiengebühr bezahlt J J J N N N Teilnahme am Diplomandenseminar J - N J - N Teilnahmehäufigkeit < 3 J N J J N J Seminarplan zusenden Zahlungsaufforderung zusenden Exmatrikulieren Erstattung der Studiengebühren Abb. 5: Zulassung zur Klausur als verdichtete Entscheidungstabelle mit neuer Aktion Die neuen Regeln R'2 und R'6 unterscheiden sich zwar nun lediglich durch Bezahlung der Studiengebühr; da beide aber unterschiedliche Aktionen (Exmatrikulation einerseits und Exmatrikulation und Erstattung der Studiengebühr andererseits) nach sich ziehen, ist eine Verdichtung nicht mehr möglich. Die übrigen Regeln sind wie bereits oben geschildert nicht mehr zu verdichten.

AKAD Lösungsfolien WInf Folie 4 von 7 2. Netzplantechnik: Übungsaufgabe 1 Tätigkeit Vorgänger Dauer FAZ FEZ SAZ SEZ GP A B, C 7 5 12 8 15 3 B - 5 0 5 0 5 0 C - 3 0 3 2 5 2 D B, C 4 5 9 5 9 0 E A, I 2 13 15 15 17 2 F D, G, H 8 9 17 9 17 0 G B 2 5 7 7 9 2 H B 3 5 8 6 9 1 I D, G 4 9 13 11 15 2 Abb. 6: Tabellarische Lösung Netzplantechnik Übungsaufgabe 1 1 B C 2 B' 3 G D H A 4 D' I G' 5 6 F E 7 Vorgang Scheinvorgang (zugleich Kritischer Weg) kritischer Weg Abb. 7: Graphische Lösung Netzplantechnik Übungsaufgabe 1

AKAD Lösungsfolien WInf Folie 5 von 7 Vorgehen zur Lösung Netzplantechnik, Übungsaufgabe 1 1. Suche die Anfangstätigkeiten, d.h., diese, die keinen Vorgänger haben und setze deren FAZ auf Null. Berechne sodann deren FEZ aus FAZ+Dauer. Im Beispiel sind dies die Tätigkeiten B und C. 2. Suche Tätigkeiten, von deren Vorgänger die FEZ bekannt sind. Diese Tätigkeiten können an diesem FEZ beginnen (setze die FEZ des Nachfolgers auf die FAZ des Vorgängers). Im Beispiel sind die FEZ von B und C bekannt. Suche in Spalte Vorgänger B und/oder C und ermittle damit die Nachfolger. Hat eine Tätigkeit nur einen Vorgänger, setze deren FAZ auf den FEZ des Vorgängers (im Beispiel: G und H erhalten den FEZ von B), bei mehreren Vorgängern ist die maximale (späteste) FEZ der Vorgänger als Restriktion einzusetzen, da diese frühestens dann beginnen können, wenn alle Vorgänger abgeschlossen sind. Im Beispiel erhalten daher A und D als FAZ den FEZ von B (FEZ C < FEZ B). Berechne sodann die FEZ dieser Tätigkeiten wie unter 1. 3. Weiter mit 2.: Berechne FAZ von I: Vorgänger sind D und G. Der maximale FEZ ist der FEZ von G mit dem Wert 9, d.h. FAZ von I ist 9. Berechne FEZ als 9 + 4 = 13. 4. Weiter mit 2.: Berechne FAZ von F: Vorgänger sind D, G und H. Der maximale FEZ ist der FEZ von D mit dem Wert 9, d.h. FAZ von F ist 9. Berechne FEZ als 9 + 8 = 17. 5. Weiter mit 2.: Berechne FAZ von E: Vorgänger sind A und I. Der maximale FEZ ist der FEZ von I mit dem Wert 13, d.h. FAZ von E ist 13. Berechne FEZ als 13 + 2 = 15. 6. Der FEZ des Projektes liegt beim maximalen FEZ, d.h., hier bei 17. 7. Suche letzte Tätigkeit und setze dort FEZ:=SEZ; gibt es mehrere letzte Tätigkeiten, setze deren SEZ auf den maximalen FEZ der letzten Tätigkeiten. Im Beispiel heißt dies: E und F sind letzte Tätigkeiten (sie treten niemals als Vorgänger einer Tätigkeit auf), FEZ von E=15, FEZ von F=17, d.h., max. ist 17; daraus folgt: SEZ von E=17 und SEZ von F=17. 8. Berechne die SAZ für die Tätigkeiten, deren SEZ bekannt ist, durch Subtraktion der Dauer der Tätigkeiten; daraus folgt: SAZ von E = SEZ von E - Dauer von E (17-2 = 15) und SAZ von F = SEZ von F - Dauer von F (17-8 = 9). 9. Suche Vorgänger der jetzt mit ihrer SAZ bekannten Tätigkeiten. Für E sind dies A und I, für F sind dies D, G und H. Setze die SEZ der jeweiligen Vorgänger auf die SAZ der jeweiligen Nachfolger. Im Beispiel heißt dies: Aus SAZ von E=15 folgt SEZ von A=15 und SEZ von I=15 und aus SAZ von F=9 folgt SEZ von D=9, SEZ von G=9 und SEZ von H=9. Berechne die jeweiligen SAZ der Tätigkeiten A, I, D, G und H wie unter 8. beschrieben (Subtraktion der jeweiligen Dauer). Es ergeben sich folgende Werte: SAZ von A=8, SAZ von I=11, SAZ von D=5, SAZ von G=7 und SAZ von H=6. 10. Suche einen noch nicht vollständig berechneten Vorgänger der bis dahin erledigten Tätigkeiten (d.h., weiter mit 9.). Dies sind B und C. B hat die Vorgänger H (SAZ von H=6), G (SAZ von G=7), A (SAZ von A=8) und D (SAZ von D=5). Sofern mehrere Vorgänger da sind (wie in diesem Beispiel) nimm das Minimum der SAZ der Vorgänger (hier SAZ von D=5) und setze SEZ von B auf diesen minimalen Wert. Berechne SAZ von B aus SEZ von B-Dauer von B (5-5=0). 11. Ebenso bei C: Vorgänger sind D und A mit SAZ von D=5 und SAZ von A=6. Nimm - da parallele Tätigkeiten - Minimum (=5) und setze SEZ von C auf diesen Wert. Berechne SAZ von C aus SEZ von C - Dauer von C (5-3=2). 12. Berechne alle Puffer als SEZ-FEZ oder SAZ-FAZ (muß bei korrekter Lösung identische Werte liefern).

AKAD Lösungsfolien WInf Folie 6 von 7 3. Netzplantechnik: Übungsaufgabe 2 Tätigkeit Vorgänger Dauer FAZ FEZ SAZ SEZ GP A - 3 0 3 0 3 0 B A 2 3 5 4 6 1 C A 2 3 5 3 5 0 D A 1 3 4 4 5 1 E A 5 3 8 5 10 2 F C,D 1 5 6 5 6 0 G A 5 3 8 3 8 0 H F 1 6 7 7 8 1 I H 2 7 9 8 10 1 J B,F 4 6 10 6 10 0 K J,E 1 10 11 10 11 0 L I,E 1 9 10 10 11 1 M K,L 1 11 12 11 12 0 N G 2 8 10 8 10 0 O A 3 3 6 7 10 4 P O,N 2 10 12 10 12 0 Q P,M 1 12 13 12 13 0 Abb. 8: Tabellarische Lösung Netzplantechnik Übungsaufgabe 2 O 4 N 8 P A 1 2 G B C 5 6 J K M Q 9 13 14 15 L F H 11 12 I 10 D 7 E Abb. 9: Graphische Lösung Netzplantechnik Übungsaufgabe 2

AKAD Lösungsfolien WInf Folie 7 von 7 4. Datenbanken: Übungsaufgabe Redundant sind: 1. Studentendaten, 2. Betreuerdaten Anomalieprobleme, Arten und Beispiele: Insert: Einfügen eines Betreuers mit falschen, weil zu einem vorhandenen Entity widersprüchlichen Ortsdaten Update: Änderung von Betreuerdaten an nicht allen Stellen ihres Vorkommens Delete: Löschen einer Diplomarbeit, wobei Betreuer mit gelöscht wird und u.u. nicht mehr vorhanden ist NULL-Wertprobleme, Beispiele: Diplomarbeit ohne Note, Student ohne Betreuer, Betreuer ohne Student Normalisierte Relationen: R.Student (SMNR, SName, SOrt, SStr, SGName) R.Betreuer (BNR, BName, BOrt, BStr) R.Pruefung (SMNR, PrüfZR, BNR, Note) Fremdschlüsselattribute: SMNR in Pruefung, Verweis auf Student.SMNR BNR in Pruefung, Verweis auf Betreuer.BNR Anfragen: SELECT SNAME, SORT, SSTR FROM STUDENT ORDER BY 1; SELECT AVG(NOTE) FROM PRUEFUNG; SELECT SNAME, SGNAME, BNAME, BORT FROM STUDENT, BETREUER, PRUEFUNG WHERE STUDENT.SMNR = PRUEFUNG.SMNR AND BETREUER.BNR = PRUEFUNG.BNR ORDER BY 3; SELECT SNAME, SORT FROM STUDENT WHERE SORT IN (SELECT BORT FROM BETREUER); SELECT SNAME FROM STUDENT, PRUEFUNG WHERE STUDENT.SMNR = PRUEFUNG.SMNR GROUP BY STUDENT.SMNR HAVING COUNT(*) > 1; DELETE FROM PRUEFUNG WHERE PRÜFZR <= 92-I; Sichten: CREATE VIEW UNGEPRUEFT AS SELECT SNAME, SORT FROM STUDENT WHERE SMNR NOT IN (SELECT SMNR FROM PRUEFUNG); CREATE VIEW DIPL_DOZ AS SELECT SNAME, SORT, BNAME, BORT FROM STUDENT, BETREUER, PRUEFUNG WHERE STUDENT.SMNR = PRUEFUNG.SMNR AND BETREUER.BNR = PRUEFUNG.BNR ORDER BY SNAME; CREATE VIEW ORTSSTATISTIK AS SELECT SORT, COUNT(*) FROM STUDENT GROUP BY SORT; CREATE VIEW STUDGANG_STAT AS SELECT SGNAME, COUNT(*) FROM STUDENT GROUP BY SGNAME ORDER BY 2; CREATE VIEW AVG_NOTE AS SELECT SGNAME, AVG(NOTE) FROM STUDENT, PRUEFUNG WHERE STUDENT.SMNR = PRUEFUNG.SMNR GROUP BY SGNAME;