diff --git a/Klausuren/Sda1/2018Winter/Exam/Schema/schema.sql b/Klausuren/Sda1/2018Winter/Exam/Schema/schema.sql
index fc0b21311ed37a80b3faad00a354888cf5b065c7..d5542919e254d01a482839db404ac0b64072dca2 100644
--- a/Klausuren/Sda1/2018Winter/Exam/Schema/schema.sql
+++ b/Klausuren/Sda1/2018Winter/Exam/Schema/schema.sql
@@ -5,19 +5,41 @@ DROP TABLE IF EXISTS Section;
 -- Read the exercise's documentation and add your schema here. You may
 -- re-use subsequent INSERT statements or adapt them to your schema.
 
--- CREATE TABLE ...
+CREATE TABLE Section(
 
-INSERT INTO  Section VALUES ('categories', 'XML Document categories', NULL,       'new',  1);
-INSERT INTO  Section VALUES ('wellFormed', 'Well-formed documents',  'categories' ,NULL,  2);
+    id CHAR(255) NOT NULL PRIMARY KEY,
+    title VARCHAR(255) NOT NULL,
+    parent CHAR(255) NULL REFERENCES Section,
+    revisionflag CHAR(7) NULL,
+    orderNo INT NOT NULL GENERATED ALWAYS AS IDENTITY UNIQUE,
+    CHECK(revisionflag IN ('new', 'changed', 'deleted'))
+);
 
-INSERT INTO  Para VALUES (
-  'categories', 'Documents belonging to this category do not adhere to any schema.','changed',  3);
+CREATE TABLE Para (
+    parent CHAR(255) NOT NULL REFERENCES Section,
+    para TEXT,
+    revisionflag CHAR(7) NULL,
+    orderNo INT NOT NULL GENERATED ALWAYS AS IDENTITY UNIQUE,
+    CHECK(revisionflag IN ('new', 'changed', 'deleted'))
+);
 
+INSERT INTO  Section (id, title, parent, revisionflag) VALUES ('categories', 'XML Document categories', NULL, 'new');
+INSERT INTO  Section (id, title, parent, revisionflag) VALUES ('wellFormed', 'Well-formed documents',  'categories' ,NULL);
 
-INSERT INTO  Section VALUES ('valid', 'Valid documents',  'categories',          NULL,         4);
-INSERT INTO  Para VALUES ('valid', 'Valid documents require a schema.',          'changed',         5);
-INSERT INTO  Para VALUES ('valid', 'Common standards are DTD, XML Schema and Relax-NG.',NULL,  6);
+INSERT INTO  Para (parent, para, revisionflag) VALUES (
+  'categories', 'Documents belonging to this category do not adhere to any schema.','changed');
 
-INSERT INTO  Section VALUES ('api', 'Available APIs', NULL,                       'deleted',    7);
-INSERT INTO  Para VALUES    ('api', 'We introduce SAX and DOM here.',             NULL,    8);
-INSERT INTO  Para VALUES    ('api', 'Some APIs offer multiple language bindings.', NULL,   9);
\ No newline at end of file
+
+INSERT INTO  Section (id, title, parent, revisionflag) VALUES ('valid', 'Valid documents',  'categories',          NULL);
+INSERT INTO  Para (parent, para, revisionflag) VALUES ('valid', 'Valid documents require a schema.',          'changed');
+INSERT INTO  Para (parent, para, revisionflag) VALUES ('valid', 'Common standards are DTD, XML Schema and Relax-NG.',NULL);
+
+INSERT INTO  Section (id, title, parent, revisionflag) VALUES ('api', 'Available APIs', NULL,                       'deleted');
+INSERT INTO  Para (parent, para, revisionflag) VALUES    ('api', 'We introduce SAX and DOM here.',             NULL);
+INSERT INTO  Para(parent, para, revisionflag)  VALUES    ('api', 'Some APIs offer multiple language bindings.', NULL);
+
+SELECT * FROM Section;
+
+
+
+SELECT * FROM Para;
\ No newline at end of file
diff --git a/Klausuren/Sda1/2018Winter/Exam/src/main/java/de/hdm_stuttgart/mi/sda1/Book2Rdbms.java b/Klausuren/Sda1/2018Winter/Exam/src/main/java/de/hdm_stuttgart/mi/sda1/Book2Rdbms.java
index fda3f75abb0b79c8de816a80114c54719d91979b..1ecdc116fa3bca048a7b56228c6ba708605efe03 100644
--- a/Klausuren/Sda1/2018Winter/Exam/src/main/java/de/hdm_stuttgart/mi/sda1/Book2Rdbms.java
+++ b/Klausuren/Sda1/2018Winter/Exam/src/main/java/de/hdm_stuttgart/mi/sda1/Book2Rdbms.java
@@ -1,64 +1,57 @@
 package de.hdm_stuttgart.mi.sda1;
 
 import org.jdom2.*;
-import org.jdom2.filter.ElementFilter;
 import org.jdom2.input.SAXBuilder;
-import org.jdom2.xpath.XPathExpression;
-import org.jdom2.xpath.XPathFactory;
 
 import java.io.File;
 import java.io.IOException;
 import java.sql.Connection;
 import java.sql.DriverManager;
+import java.sql.PreparedStatement;
 import java.sql.SQLException;
 
-public class Book2Rdbms {
+public class Book2Rdbms implements AutoCloseable {
 
-    private Connection conn;
 
-    private Document doc;
+  private Connection conn;
 
-    public Book2Rdbms() {
-        try {
-            conn = DriverManager.getConnection(
-                "jdbc:postgresql://localhost/hdm", "hdmuser", "XYZ");
-        } catch (SQLException e) {
-            System.err.println("Unable to establish connection: " + e);
-            System.exit(1);
-        }
+  private Element book;
 
-        final SAXBuilder builder = new SAXBuilder();
-        try {
-            doc = builder.build(new File("Schema/sampledata.xml"));
-                    //getClass().getClassLoader().getResource("Schema/sampledata.xml"));
-        } catch (JDOMException e) {
-            e.printStackTrace();
-            System.err.println("Unable to parse input: " + e);
-            System.exit(1);
-        } catch (IOException e) {
-            e.printStackTrace();
-            System.err.println("Unable to read input: " + e);
-            System.exit(1);
-        }
-    }
-
-    public void execute() {
-
-        final XPathExpression<Element> xpathSearchPara =
-                XPathFactory.instance().compile(
-                        "//para" ,
-                        new ElementFilter(),
-                        null ,
-                        Namespace.getNamespace(null));
+  public Book2Rdbms(
+) {
+    try {
+      conn = DriverManager.getConnection(
+          "jdbc:postgresql://localhost/hdm", "hdmuser", "XYZ");
 
-        System.out.println("Java stream:");
-        xpathSearchPara.evaluate(doc).stream().
-                map(Element::getText).forEach(System.out::println);
-
-        System.out.println("\nSimple loop:");
-        for (final Element e: xpathSearchPara.evaluate(doc)) {
-            System.out.println(e.getText());
-        }
+    } catch (SQLException e) {
+      System.err.println("Unable to establish connection: " + e);
+      System.exit(1);
+    }
 
+    final SAXBuilder builder = new SAXBuilder();
+    try {
+      book = builder.build(new File("Schema/sampledata.xml")).getRootElement();
+    } catch (JDOMException e) {
+      e.printStackTrace();
+      System.err.println("Unable to parse input: " + e);
+      System.exit(1);
+    } catch (IOException e) {
+      e.printStackTrace();
+      System.err.println("Unable to read input: " + e);
+      System.exit(1);
+    }
+  }
+
+  public void execute() {
+    System.out.println(book.getChild("title"));
+  }
+
+  @Override
+  public void close() {
+    try {
+      conn.close();
+    } catch (final SQLException e) {
+      e.printStackTrace();
     }
-}
+  }
+}
\ No newline at end of file