[Stud.IP]      [Themen]      [Dozent]      [Termine]      [Materialien]      [Punkte-DB]      [Ablauf]      [Bücher]      [Software]      [Links]

 

MARTIN-LUTHER-UNIVERSITÄT HALLE-WITTENBERG
Institut für Informatik
Prof. Dr. Stefan Brass

Datenbanken I

(Wintersemester 2010/2011)

Entwurf des SQL:2008 Standards (kostenloses Download): ZIP-Archiv (der offizielle Standard ist nicht kostenlos).

Folien für die Vorlesung am 24. Januar: 10. Updates in SQL / Mehrbenutzerbetrieb
11. Sicherheit

12. Sichten

Aus der Weihnachtsvorlesung:

 


Themen


In den Übungen wird das Datenbanksystem Oracle eingesetzt, sowie IBM DB2. In der Vorlesung werden aber auch Microsoft SQL Server, MySQL und Access diskutiert. Dieser Kurs wird auch im Rahmen der "Oracle Academic Initiative" veranstaltet. Der Dozent ist Oracle Certified Professional (Oracle8 DBA) und IBM Certified Advanced Database Administrator (DB2 UDB V8.1).

 


Dozent


Dr. Stefan Brass

Büro:
Raum 313 (Institut für Informatik, Von-Seckendorff-Platz 1)
Sprechstunde:
Dienstags, 12:15-13:13 (und nach Vereinbarung)
Email:
brass@informatik.uni-halle.de
Telefon:
0345/55-24740
Fax:
0345/55-27333 (im Sekretariat)
Sekretariat:
Frau Vahrenhold, Telefon 0345/55-24750, Zimmer 324

 


Übungsleiter


Dr. Alexander Hinneburg

Büro:
Raum 314 (Institut für Informatik, Von-Seckendorff-Platz 1)
Sprechstunde:
Nach Vereinbarung.
Email:
hinnebur (at) informatik (punkt) uni-halle (punkt) Land
Telefon:
0345/55-24732

 


Termine


Vorlesung:

Übung:

 


Vorlesungs-Materialien


Folien:

Die Folien werden jeweils vor der Vorlesung hier ins Netz gestellt (leichte Verbesserungen/Korrekturen sind auch noch möglich, nachdem die Folien schon ins Netz gestellt wurden).

Hinweis:

Übungsblätter:

Beispiel-Datenbanken:

  1. Komponisten, Stücke, CDs:
                [UNIX] [Windows]
  2. US-Presidenten:
                [UNIX] [Windows]

Frühere Klausuren:

  1. Zwischenklausur aus dem Wintersemester 2000/2001
                [Postscript]   [PDF]
  2. Endklausur aus dem Wintersemester 2000/2001
                [Postscript]   [PDF]
  3. Klausur aus dem Wintersemester 2001/2002
                [Postscript]   [PDF]   [Beispiel-DB (UNIX)]   [Beispiel-DB (Windows)]
  4. Klausur aus dem Sommersemester 2002
                [Postscript]   [PDF]   [Lösung: Postscript]   [Lösung: PDF]
  5. Zwischenklausur aus dem Wintersemester 2002/2003
                [Postscript]   [PDF]
  6. Endklausur aus dem Wintersemester 2002/2003
                [Postscript]   [PDF]
  7. Zwischenklausur aus dem Wintersemester 2003/2004
                [Postscript]   [PDF]
  8. Endklausur aus dem Wintersemester 2003/2004
                [Postscript]   [PDF]

Frühere Klausuren (in Englisch):

Siehe auch:

 


Ablauf


1. Mo, 04.10.2010:
Kapitel 0: Informationen zur Vorlesung / Organisatorisches (Folie 0-1 bis 0-37)
Kapitel 1: Einführung (Folie 1-1 bis 1-19)
Aufgabe einer Datenbank, Anfrage, Update, Zustand, Schema, Datenmodell, DDL, DML
2. Mi, 06.10.2010:
Kapitel 1: Einführung (Folie 1-19 bis 1-63)
Beispiele für Datenmodelle, DBMS, Anwendungsprogramme, Client-Server-Architektur, Three-Tier-Architektur, Persistente Daten, DBMS aus Sicht des Programmierers, Vergleich mit direktem Zugriff auf Dateien, Datenunabhängigkeit, Deklarative Programmierung, Weitere DBMS-Funktionen: Transaktionen, Sicherheit, Integrität, Systemkatalog Drei-Schema-Architektur nach ANSI/SPARC Zustand, Schema, Datenmodell, DDL, DML
3. Mo, 11.10.2010:
Kapitel 1: Einfürung (Folie 1-64 bis 1-80, 1-84 bis 1-87)
DBMS-Anbieter, Kriterien zur Auswahl eines DBMS, Klassen von DB-Nutzern
Kapitel 2: Mathematische Logik mit Datenbank-Anwendungen (Folie 2-1 bis 2-28)
Motivation, Geschichte, Alphabet, Signatur
4. Mi, 13.10.2010:
Kapitel 2: Mathematische Logik mit Datenbank-Anwendungen (Folie 2-29 bis 2-80)
Interpretation, Bedeutung für relationale Datenbanken: Bereichskalkül, Tupelkalkül, Entity-Relationship-Modell, Variablendeklaration, Term, Formel
5. Mo, 18.10.2010:
Kapitel 2: Mathematische Logik mit Datenbank-Anwendungen (Folie 2-80 bis 2-108)
Variablenbelegung, Wert eines Terms, Wahrheit einer Formel, Modell, Formeln in Datenbanken: Integritätsbedingungen, Anfragen im Bereichskalkül, QBE.
6. Mi, 20.10.2010:
Kapitel 2: Mathematische Logik mit Datenbank-Anwendungen (Folie 2-109 bis 2-144)
Anfragen, Beispiele für Anfragen im ER-Kalkül und im Tupelkalkül, Vergleich mit SQL, Bereichsunabhängigkeit, Bereichsbeschränkung, Implikation, Äquivalenz
7. Mo, 25.10.2010:
Kapitel 2: Mathematische Logik mit Datenbank-Anwendungen (Folie 2-145 bis 2-176)
Wiederholung zu Bereichsunabhängigkeit und Bereichsbeschränkung, praktische Bedeutung, Tipps zur Formulierung von bereichsbeschränkten Anfragen, weitere logische Äquivalenzen, Bedeutung logischer Äquivalenzen für SQL, Nullwerte, dreiwertige Logik
Kapitel 3: Relationale Algebra (Folie 3-1)
Motivation, Bedeutung der relationalen Algebra
8. Mi, 27.10.2010:
Kapitel 3: Relationale Algebra (Folie 3-1 bis 3-64)
Beispiel-Datenbank (Studenten, Aufgaben, Bewertungen) Relationales Modell: Wiederholung, Schlüssel, Fremdschlüssel, Schema-Notationen, Einführung zur relationalen Algebra, Selektion, Projektion, Schachtelung von Operationen, Basis-Operanden
9. Mo, 01.11.2010:
Kapitel 3: Relationale Algebra (Folie 3-68 bis 3-109)
Kartesisches Produkt, Umbennenung, Verbund/Join, Natürlicher Verbund, Einige algebraische Gesetze, Anfragemuster: Verbund-Selektion-Projektion, Selbstverbund, Mengenoperationen, Vereinigung, Mengendifferenz, monotone und nichtmonotone Anfragen, Anti-Join
10. Mi, 03.11.2010:
Kapitel 3: Relationale Algebra (Folie 3-110 bis bis 3-109)
Kompliziertere Beispielanfrage, Verbund vs. Join, Äßerer Verbund, Ausdruckskraft von Anfragesprachen, Grenzen der relationalen Algebra, relational vollständig, Vergleich verschiedener Anfragesprachen für das relationale Modell
Kapitel 4: SQL, Teil 1 (Folie 4-1 bis 4-17)
Einführung zu SQL, Geschichte, Standards
11. Mo, 08.11.2010:
Kapitel 4: SQL, Teil 1 (Folie 4-16 bis 4-67)
SQL Standards, Syntaxgraphen, Lexikalische Syntax von SQL: Formatfreiheit, Zeichenkettenkonstanten, Zahlkonstanten, Bezeichner, Tupelvariablen, klassische Formulierung von verbunden in SQL, Anfrageformulierung: Von natürlicher Sprache zur SQL-Anfrage
12. Mi, 10.11.2010:
Kapitel 4: SQL, Teil 1 (Folie 4-67 bis 4-107, 4-109 bis 4-110)
Unnötige Joins, Selbstverbund, FROM-Syntax, Terme, Nullwerte, Bedingungen: AND, OR, NOT, Atomare Formeln: Vergleiche, Feinheiten zum Zeichenkettenvergleich, LIKE
13. Mo, 15.11.2010:
Kapitel 4: SQL, Teil 1 (Folie 4-108 bis 4-138)
LIKE, Exkurs zu Zeichensatz-Umwandlung zwischen Client und Server, IN mit Aufzählung von Werten, Test auf Null, Dreiwertige Logik in SQL, Syntax der SELECT-Klausel, DISTINCT, Algorithmus mit hinreichender Bedingung für "Keine Duplikate"
Kapitel 5: SQL, Teil 2 (Folie 5-1 bis 5-11)
Monotones und nichtmonotones Verhalten, NOT IN mit Unteranfrage
14. Mi, 17.11.2010:
Kapitel 5: SQL, Teil 2 (Folie 5-7 bis 5-48)
Unteranfragen: NOT IN, NOT EXISTS, geschachtelte Unteranfragen, Umformulierung von Allaussagen, häufige Fehler
15. Mo, 22.11.2010:
Kapitel 5: SQL, Teil 2 (Folie 5-48 bis 5-80?)
ALL, ANY, SOME, Unteranfragen als Terme, Unteranfragen unter FROM, Sichten, Aggregationsfunktionen
16. Mi, 24.11.2010:
Kapitel 5: SQL, Teil 2 (Folie 5-80? bis 5-124)
GROUP BY, HAVING, Aggregationsunteranfragen, Geschachtelte Aggregationen, Aggregation über unterschiedliche Mengen in einer Anfrage, Aggregationen maximieren, UNION, Bedingte Ausdrücke, ORDER BY
17. Mo, 29.11.2010:
Kapitel 5: SQL, Teil 2 (Folie 5-124 bis 5-80?)
ORDER BY, Top-N Anfragen, SQL-92 Verbunde, Outer Join, Interessante Fehler bei Outer Join Anfragen
Kapitel 6: Einführung in das ER-Modell (Folie 6-1 bis 6-10)
Einführung zum Datenbank-Entwurf
18. Mi, 01.12.2010:
Kapitel 6: Einführung zum ER-Modell (Folie 6-10 bis 6-47, 6-55 bis 6-61, 6-77)
Konstrukte des Entity-Relationship-Modells (Entities, Attribute, Relationships), graphische Syntax, Schema vs. Diagramm, Einführung zu Integritätsbedingungen, Falsche Daten vs. falsches Schema, Überwachung von Integritätsbedingungen, Kardinalitäten: Min-Max-Notation, Notation für Schlüssel
19. Mo, 06.12.2010:
Kapitel 6: Einführung zum ER-Modell (Folie 6-45 bis 6-92?)
Wiederholung zu Integritätsbedingungen, Kardinalitäten, Schlüssel, Einführung zu schwachen Entities
20. Mi, 08.12.2010:
Kapitel 6: Einführung zum ER-Modell (Folie 6-92? bis 6-116)
Schwache Entities, Association Entities, Qualität von ER-Schemata, Redundante Information
Kapitel 7: Einführung in den logischen Entwurf (Folie 7-1 bis 7-20?)
Aufgabe des logischen Entwurfs, Übersetzung von Entity-Typen, Eins-zu-viele Beziehungen, Viele-zu-viele Beziehungen
21. Mo, 13.12.2010:
Kapitel 7: Einführung in den logischen Entwurf (Folie 7-21? bis 7-40)
Einschränkungen bei der Übersetzung von Relationships, Übersetzung von schwachen Entities und Association Entities, Übersetzung von Eins-zu-eins Beziehungen.
Kapitel 8: Tabellendeklarationen in SQL (Folie 8-1 bis 8-10, 8-23 bis 8-26, 8-28, 8-38, 8-40 bis 8-42, 8-52 bis 8-53, 8-62, 8-74 bis 8-76)
Klassische SQL-Datentypen: CHAR, VARCHAR, NUMERIC, REAL, Überblick über weitere Datentypen am Beispiel von Oracle, Einführung in die CREATE TABLE Syntax
22. Mi, 15.12.2010:
Kapitel 8: Tabellendeklarationen in SQL (Folie 8-76 bis 8-109, 8-114 bis 8-116, 8-120 bis 8-131)
Syntax des CREATE TABLE Statements, Spalten-Constraints, Tabellen-Constraints, Constraint-Namen, Einschränkungen für CHECK-Constraints, Idee effizienter Integritätsüberwachung, Aktive Integritätssicherung bei Fremdschlüsseln (DELETE CASCADES), Generierung eindeutiger Zahlwerte, temporäre Tabellen, DROP TABLE, Hinweis auf CREATE SCHEMA, ALTER TABLE (Details weggelassen)
...

 


Voraussetzungen zur Teilnahme


Es gibt nur wünschenswerte Modulvoraussetzungen, keine obligatorischen. Ohne diese Voraussetzungen (insbesondere ohne Programmierkenntnisse) ist die Teilnahme aber auf eigene Gefahr. Es könnte z.B. sein, daß Sie mit den Voraussetzungen eine bessere Note erhalten hätten. Andererseits kann man natürlich durch entsprechend größeren zeitlichen Aufwand in Vorbereitung, Nacharbeit und Selbststudium alles wieder wettmachen. Hier nun die wünschenswerten Vorkenntnisse:

 


Punkte Datenbank


Die Punkte-Datenbank gibt Ihnen die Möglichkeit, die für Sie eingetragenen Punkte für Hausaufgaben und Klausur einzusehen, so daß Sie sich bei möglichen Unstimmigkeiten melden können. Außerdem werden einige statistische Angaben (Durchschnittspunktzahl etc.) angezeigt. Wir hoffen, die Bewertung so transparenter zu machen. Inzwischen haben auch das EVV sowie studip ähnliche Möglichkeiten, und wahrscheinlich auch eine bessere Benutzerschnittstelle. Für einen Datenbank-Kurs ist es aber gut, eine praktische Anwendung zu haben. Ich habe schon manches dadurch gelernt. Eine vereinfachte Version der Punkte-Datenbank wird auch in der Vorlesung als Beispiel verwendet. Ich entwickle die Punkte-Datenbank noch weiter (wenn ich Zeit habe), Verbesserungsvorschläge sind also willkommen.

Wir können die Sicherheit Ihrer Daten nicht garantieren (obwohl wir uns natürlich etwas Mühe geben). Falls Sie Ihre Daten nicht in der Punkte-Datenbank wünschen, melden Sie sich bitte. Ansonsten könnte sich jemand anders unter Ihrem Namen eintragen und dann Ihre Punkte einsehen. Sich nicht einzutragen und nicht zu melden wäre also für den Datenschutz sogar besonders gefährlich.

 


Literatur (Bücher)


Ich empfehle, sich eins der folgenden Bücher zu beschaffen und begleitend zur Vorlesung zu lesen. Die Reihenfolge ist mehr oder weniger zufällig und nicht als Wertung zu verstehen. Außerdem werde ich die in der Vorlesung verwendeten Folien zur Verfügung stellen.

[Weitere Datenbank-Lehrbücher]

 


Software (DBMS)


Kommerziell (Relational/Objektrelational):

Halbkommerziell/Open Source/Frei:

[Meine alte Software Link-Seite]

 


Informationen zur Installation von Oracle


 


Informationen zur Oracle Zertifizierung


 


Informationen zur IBM DB2 Zertifizierung


 


Literatur im WWW (Links)


Meine Sammlung von WWW-Referenzen:

Datenbank Tutorien im Internet:

Weitere Informationsquellen:


Stefan Brass (brass@informatik.uni-halle.de), 04. Oktober 2010

Original URL: http://www.informatik.uni-halle.de/~brass/db10/   [XHTML 1.0 geprüft]   [CSS geprüft]   [Links Geprüft]