Datenbanken I – Einführung Michael Kofler September 2013 Datenbanken I – Einführung 1 Einführung Datenbanken I – Einführung 2 Inhalt der Lehrveranstaltung I I I Konzepte relationaler Datenbanksysteme Design von Datenbanken Daten mit SQL1 abfragen und verändern Basis für alle Beispiele: MySQL 1 Standard Query Language Datenbanken I – Einführung 3 Inhalt im Detail I I I I I I I I I I Einführung, Hello-World!-Beispiel, MySQL Datenbankmodellierung (semantisch, logisch, physisch) Entity-Relationship-Modelle Datentypen Relationships (1:1, 1:n, n:m, identifying vs. non-identifying) Primary Keys, Foreign Keys, Foreign Key Constraints Normalformen (1NF, 2NF, 3NF), De-Normalisierung SQL-Einführung (SELECT, INSERT, UPDATE, DELETE, CREATE/ALTER/DROP TABLE) Transaktionen, ACID viele praktische Beispiel Datenbanken I – Einführung 4 Datenbanken versus Datenbanksysteme Datenbanken I I I I I I Adressen für Serienbriefe Patientenkartei einer Artzpraxis Warenbestand eines Lebensmitteldiskonters Facebook Telekom-Abrechnungssystem ... Datenbanksysteme I I I I I I I I IBM DB/2 Microsoft Access Microsoft SQL Server MySQL Oracle PostgreSQL SAP MaxDB SQLite PS: Ein Datenbanksystem ist genaugenommen ein Datenbankmanagagementsystem. DBMS = Database Management System. Datenbanken I – Einführung 5 Wozu Datenbanksysteme? I Sicherheit I I I I I I Datenverluste vermeiden steuern, wer welche Daten lesen/verändern darf aufzeichnen, wer wann was verändert hat Transaktionen Backups Hochverfügbarkeit I Netzwerkzugriff I Multi-User-Zugriff mit Zugriffskontrolle Datenbanken I – Einführung 6 Client/Server-Modell Datenbanken I – Einführung 7 Relationale Datenbanken I I I I Organisation aller Daten in Tabellen jede Tabelle für sich: ähnlich wie Excel-Tabellenblatt Tabellen sind miteinander verknüpft (Relationships) Verknüpfungen über ID-Spalten (Primary Key, Foreign Key) Datenbanken I – Einführung 8 Relationale Datenbanken Datenbanken I – Einführung 9 Standard Query Language = SQL SELECT * FROM personen SELECT * FROM personen ORDER BY nachname, vorname SELECT id, nachname, vorname FROM personen SELECT COUNT(*) FROM personen SELECT COUNT(*) FROM personen WHERE geschlecht=’f’ Link: http://de.wikipedia.org/wiki/SQL Datenbanken I – Einführung 10