Hier eine Liste von Links zu weiteren Informationen im Internet, die für die Vorlesung "Einführung in Datenbanken" im weiteren Sinne relevant sind. Die Liste ist ständig im Aufbau, teilweise ist die Auswahl noch eher zufällig. Wenn Sie weitere interessante Resourcen im Internet finden, schicken Sie mir bitte eine EMail. Wenn Sie einige der verlinkten Seiten für schlecht halten, informieren Sie mich bitte auch (manche habe ich nur kurz überflogen, zum Teil auch vor langer Zeit). Links zu Software finden Sie auf der Software-Seite, Lehrbücher und Übersichtsartikel auf der Literatur-Seite.
Datenbank-Vorlesungen (Foliensätze etc.)
- Vorlesung CS145 "Introduction to Databases" von Jeffrey D. Ullman (Stanford)
- Vorlesungen von Jeffrey D. Ullman (Stanford)
- Vorlesung "Datenbanksysteme" von Oliver Vornberger (Osnabrück) (mit Video)
- Vorlesung "DB " von Torsten Grust, Christian Duta, Benjamin Dietrich (Tübingen)
- Vorlesung: Neuere Entwicklungen für Datenmodelle (Prof. Dr. Stefan Deßloch)
- Folien aus einer Vorlesung von Hugh Darwen (mit SQL-Kritik)
- Folien aus einer Vorlesung von Hugh Darwen (zu Nullwerten)
- Vorlesung "Database Management Systems" von Dr. Osmar R. Zaïane
- Vorlesung "Database Systems" von Natasha Alechina
- Vorlesung "Big Data Engineering" von Jens Dittrich (Saarbrücken)
- Vorlesung "Einführung in Datenbanken" von Wolfgang May (Göttingen)
SQL Tutorials (teils mit Online Übungen)
- SQL Zoo
- SQL Island (SQL Lernspiel)
- Select Star SQL (mit Daten über Todesstrafe in Texas)
- SQL Tutorial von w3schools.com
- SQL Tutor 1.02
- Tech on the Net: SQL Tutorial (Browser-basierte SQL-Implementierung)
- SQL_Tutorial des Leistungskurses Informatik, Lichtenbergschule Darmstadt
- Schemaverse (SQL Lernspiel, Eroberung von Planeten)
- Wikibooks: Einführung in SQL (Jürgen Thomas)
- Introduction to Structured Query Language (by James Hoffman)
Tutorien und Lehrbücher zu spezielleren Themen
- Oracle/SQL Tutorial (by Michael Gertz)
- DSP: Datenbank, SQL, PHP (von Christoph Reeg)
- Oracle/Access/Visual Studio Tutorials and Help Page (by Richard Holowczak)
- Hugh Darwen: An Introduction to Relational Database Theory (Free E-Book with Advertisements)
- Tutorial zu Oracle PL/SQL (von Yu-May Chang, Jeff Ullman u.a.)
- Tutorial zu Oracle Triggern (von Yu-May Chang, Jeff Ullman u.a.)
- Tutorial zu Oracle Pro*C (von Ankur Jain, Jeff Ullman u.a.)
- Tutorial zu Oracle Loader (von Jeff Ullman u.a.)
- Oracle SQL*Loader FAQ
- 12 Common Mistakes and Missed Optimization Opportunities in SQL
- "die extra harten Kopfnüsse" (SQL-Rätsel)
SQL-Standard:
- Entwurf des SQL:2011 Standards (kostenloses Download): ZIP-Archiv (der offizielle Standard ist nicht kostenlos).
- Entwurf des SQL:2008 Standards (kostenloses Download): ZIP-Archiv (der offizielle Standard ist nicht kostenlos).
- Entwurf des SQL:2003 Standards (kostenloses Download): ZIP-Archiv (der offizielle Standard ist nicht kostenlos).
- SQL-92 Standard (Entwurf als txt-Datei, kostenlos)
- Links zum SQL-Standard (von Markus Winand)
- Übersicht und Informationen zum SQL-Standard
- SQL:2016 Standard (Expensive Paper Version)
- ISO Standards on Computer Languages (includes SQL-99)
Grammatiken verschiedener Versionen des SQL-Standards:
- SQL-Grammatiken von Jake Wheat: Übersicht
- SQL-Grammatiken von Ron Savage
- Navigierbare Grammatik von SQL-2016 (Jake Wheat)
- Navigierbare Grammatik von SQL-2008 (Jake Wheat)
- Navigierbare Grammatik von SQL-2003 (Ron Savage)
- SQL 99 Grammatik (Jake Wheat)
- SQL 99 Grammatik (Ron Savage)
- SQL 92 Grammatik (Jake Wheat)
- SQL 92 Grammatik (Ron Savage)
- SQL92 Grammatik (NorKen Technologies)
- SQL Grammatik von Apache Calcite
- Grammatik von SELECT-Anfragen in SQLite
- SQL Grammar von H2
Weitere Informationen zum SQL-Standard:
- SQL-99 Complete, Really (Online-Buch von Peter Gulutzan und Trudy Pelzer)
- Webseite "Modern SQL" (Markus Winand)
[https://modern-sql.com/]
- Vortrag von Markus Winand über einige neueren SQL-Konstrukte
[https://modern-sql.com/slides/ModernSQL-2019-05-08.pdf]- Mimer SQL Validator
- Bericht über JSON-Unterstützung in SQL:2016
- SQL Feature Comparison
- SQL Reserved Words (Drupal)
- SQL Reserved Words Checker (Pete Freitag)
- Diskussion über Änderungen bei GROUP BY Attributen unter SELECT
- Portable SQL (DEVPIT)
- NIST SQL Test Suite (User's Guide)
- NIST SQL Test Suite Goes Online (aus Computer 1997)
- Can I write portable SQL Statements?
- PostgreSQL vs. SQL Server (MSSQL) - Extremely Detailed Comparison
- SQL portability gotchas
- Think ANSI Standard SQL Is Fully Portable Between Databases? Think Again.
- The History of SQL Standards
SQL Datentypen in verschiedenen Systemen:
- PostgreSQL
- MariaDB
- MySQL
- Oracle 21c SQL Language Reference: Data Types
- Oracle 11g Concepts: Data Types
- Oracle 10g SQL Quick Reference: Datatypes
- Microsoft SQL Server
- w3schools: SQL Data Types for MySQL, SQL Server, and MS Access
- ODBC
- ...
Rekursive Sichten:
- WITH RECURSIVE and MySQL (Guilhem Bichot)
- Why does a Recursive CTE in Transact-SQL require a UNION ALL and not a UNION?
- On recursive queries (Egor Rogov, Postgres Professional)
Geschichtliche Entwicklung von Oracle SQL:
- Oracle7 SQL Reference (7.3: February 1996)
- Oracle8 SQL Reference (8.0: December 1997)
- Oracle8i SQL Reference (8.1.6: December 1999)
- Oracle9i SQL Reference
- Oracle Database SQL Reference 10g (10.1: December 2003)
- Oracle Database SQL Reference 11g (July 2013)
- Oracle Database SQL Language Reference 12c (12.1.0.2: July 2017)
- Oracle Database SQL Language Reference 18c (18.1: February 2019)
Literatur zu PostgreSQL:
- PostgreSQL Documentation: SQL Commands
- PostgreSQL Documentation: Chapter 48. System Catalogs
- Lorenzo Alberton: Extracting Meta Information from PostgreSQL
- TRUNCATE
- START TRANSACTION
- PostgreSQL Documentation: System Information Functions and Operators
- PostgreSQL Wiki
PostgreSQL Administration und Implementierungs-Details:
- PostgreSQL Documentation: Multiversion Concurrency Control
- Can I rollback a transaction I've already committed? (data loss)
- Let’s talk dirty (PostgreSQL Extension pg_dirtyread)
- Explicit Locking, Deadlocks
- Object Identifier Types
- Bruce Momjian: Postgres - Mvcc Unmasked
- Egor Rogov (postgrespro): MVCC in PostgreSQL-1. Isolation
- Egor Rogov (postgrespro): MVCC in PostgreSQL-2. Forks, files, pages
- Egor Rogov (postgrespro): MVCC in PostgreSQL-3. Row Versions
- Egor Rogov (postgrespro): 2-Day Introduction to PostgreSQL 11
- Vlad Mihalcea:How does MVCC work?
- Vladimir Svedov: Understanding System Columns in PostgreSQL
- PostgreSQL Documentation: System Columns
- PostgreSQL Documentation: Routine Database Maintenance Tasks (Vacuuming)
- Database Page Layout
- PostgreSQL 7.3.21 Developer's Guide
- Why is UPSERT so complicated?
- Log Insights (pganalyze): Lock Events
- Marco Slot: When Postgres blocks: 7 tips for dealing with locks
- Bruce Momjian: Database Hardware Selection Guidelines
- PostgreSQL Documentation: WAL Internals
- The Internals of PostgreSQL (Hironobu Suzuki): Write Ahead Logging
- The Internals of PostgreSQL (Hironobu Suzuki)
Literatur zu Microsoft SQL Server:
- Multiplication and Division with Numerics
- Microsoft SQL Server Version List
- Hinweise für den Optimierer: Tabellenhinweise
SQLite: Spezielle Informationen, u.a. zur Implementierung:
- SQLite as an Application File Format
- SQLite Database File Format
- Atomic Commit in SQLite
- WAL: Write Ahead Logging in SQLite
MySQL: Spezielle Informationen, u.a. zur Implementierung:
- MySQL History and Architecture (Probekapitel aus MySQL Internals)
JDBC:
- Wikipedia zu JDBC
- JDBC Overview (Oracle)
- JDBC Basic Tutorial (Oracle)
- JDBC Seite für Java 5 (JDBC 3.0), inklusive "Getting Started"
- JDBC API Documentation
- Lance Andersen: JDBC 4.1 Specification (JSR 221), July 2011.
- Oracle zu Java-Datenbank Technologien
- PostgreSQL JDBC Driver
- Dokumentation zum JDBC Driver für Microsoft SQL Server
- ...
Datenbank-Sicherheit:
- Database Security (Wikipedia)
- Database Security Best Practices (Paul Rubens, eSecurity Planet)
- SQL-Injection (Wikipedia)
- Carsten Eilers: SQL-Injection im Schnelldurchlauf
- Steve Friedl: SQL Injection Attacks by Example
- pentestmonkey: Postgres SQL Injection Cheat Sheet
- Bundesamt für Sicherheit in der Informationstechnik (BSI): Sichere Passwörter erstellen
- Bundesamt für Sicherheit in der Informationstechnik (BSI): IT-Grundschutz-Kompendium
- xkcd Webcomic zum Thema „SQL Injection”
- Johannes Schildgen, Jessica Rosin: Game-based Learning of SQL Injections. (DataEd'2022)
Fehler in SQL:
- The Danger of FETCH FIRST ROW ONLY (Ember Crooks)
Objektdatenbanken, Objektorientierte DB-Schnittstellen:
- Object Database Management Group (ODMG)
- Object Database Management Systems (ODBMS.ORG)
- Wikipedia: Object-Relational Mapping
- Java Data Objects (JDO)
- Artikel "Optimizing Object/Relational Mapper Performance"
Graphdatenbanken, Ontologien:
- Neo4J Graph Platform
- Apache Jena (Java framework for building Semantic Web and Linked Data applications)
- Resource Description Framework (Wikipedia)
- RDF Schema (Wikipedia)
- Web Ontology Language (Wikipedia)
- SPARQL (Wikipedia)
- What is a Knowledge Graph? (ontotext.com)
Andere Datenmodelle, NoSQL-Datenbanken:
- GraphQL
- Vortrag zur Motivation von MongoDB für ein Stammbaum-Projekt, mit kurzgefasster Geschichte von Datenbanken (Steven Francia)
- ...
JSON (JavaScript Object Notation):
- Introducing JSON
- Einführung in JSON
- The JSON Data Interchange Syntax (ecma Standard ECMA-404)
- RFC 8259 - The JavaScript Object Notation (JSON) Data Interchange Format
- Wikipedia (Englisch): JSON
- Wikipedia (Deutsch): JSON
- JSON Schema
- JSONiq - The JSON Query Language
Dateiformat CSV:
- RFC 4180 (RFC Editor)
- Wikipedia (englisch): Comma Separated Values
- Wikipedia (deutsch): CSV (Dateiformat)
- What is CSV? (aus der Anleitung zur SuperCSV Bibliothek)
- Libraries for Reading and Writing CSV in Core Java (Jean Fernando, Stack Abuse)
- Reading and Writing CSV in Core Java (Jean Fernando, Stack Abuse)
- Reading and Writing CSV with Apache Commons CSV (Jean Fernando, Stack Abuse)
- Apache Commons CSV (User Guide der Bibliothek)
- Apache Commons CSV (Homepage der Bibliothek)
- Open CSV (Bibliothek)
- Super CSV Library
- xsv: Programm für CSV
EMail-Listen, Fachgruppen, Foren:
- DBWORLD EMail List
- ACM SIGMOD (Special Interest Group on Mangament of Data)
- Database Junior Researcher Organization
- GI-Arbeitskreis "Grundlagen von Informationssystemen
- Fachgruppe "Datenbanksysteme" der GI
DB-Literatur, Literatur-Suche, Bibliographien:
- DBLP: Database Systems and Logic Programming (Bibliography Server)
- VLDB.org (Konferenz für "Very Large Databases")
- ACM Digital Library (aus dem Uni-Netz kostenloser Download)
- Digital Library der IEEE Computer Society (aus dem Uni-Netz kostenloser Download)
- arXiv/CoRR (Computing Research Repository)
- CiteSeer (Suchmaschine für wissenschaftliche Artikel)
- Bibliographies about Database Research (Karlsruhe)
- Datenbank-Spektrum: Archiv
Geschichtliches zu Datenbanken:
- System R Page
- A Timeline of Database History
- Originaler Artikel von Codd über das relationale Modell
- RDBMS Genealogy (Felix Naumann, HPI)
Weitere Informationsquellen (Vermischtes):
- Seite von Hugh Darwen, SQL-Kritiker, Mitautor von The Third Manifesto
- Provokanter Artikel über DB-Entwurf (von Badia/Lemire in ACM SIGMOD Record 40:3, 2011)
- FORWARD: A declarative, rapid development framework for data-driven Ajax reports and applications
- 10 Common Mistakes Java Developers Make when Writing SQL (JOOQ)
- Josh's Rules (of Database Contracting)
Prof. Dr. Stefan Brass Impressum - Vortrag von Markus Winand über einige neueren SQL-Konstrukte