# Klausurtalk ## Themen - Beschreibung ER-Diagramm - Diagramm ist gegeben: generierung der Tabellen - Normalform ermitteln und konvertierung einer Tabelle in die Normlform des n-ten grades. # Organisatorisches ## Überblick - Entwurf von Datenbanken und - Bewertung von DB - SQL - Anwendung identifizieren und bewerten - Im Labor wird **SQLite** verwendet ## Orga - Labor ist ein kleiner Übungszettel - Klausur und elektronische Prüfung - Elektronische Prüf.: mit SQL-Statements - Klausur: Alle Themenblöcke, praktische Aufgaben und Multiple Choice - Prüfungstermine - 08.07 - 13 Uhr - 032a-c - 16.09 - 9 Uhr - 122 ## Motivation und Grundlagen ## Grundlagen - Terminologie - Datenmodelle und Sprachen - Datenabstraktion und Datenunabhängigkeit DB: System zur dauerhaften Speicherung und Verw. großer Datenmengen Datenbank gemanaged durch ein Databank-Management-System ### Anforderungen - Daten sollen (schnell) zugänglich sein - Daten sollen verändert werden sollen - Einzelne Fakten müssen verknüpft werden - Gleichzeitiges Lesen und Schreiben möglich - Daten sollen konsistent bleiben - kein verlust von Daten - schutz vor unberchtigten Zugriff ## Herausforderungen der Datenverwaltung ### Redundanz und Inkonsistenz - Inkonsistenz: nicht alle Kopien eines Faktums wurden geändert (existenz widersprüchlicher Daten) - Ziel: Red. und Ink. vermeiden ### Verknüpfungen ermöglichen - deutlicher Mehrwert (Knowledge Discovery und Data Mining) - Zielsetzung: Alle Daten im Sys. lassen sich flexibel temporär und unbefristet miteinander verknüpfen ### Integritätsverletzung - Änderungen können zu unerlaubten Zuständen führen - Oft Verkn. zwischen Daten erforderlich, um Integritätsverl. zu entdecken - Zielsetzung: Integritätsreglen formulieren und Verletzung nich zulassen ### Mandanten und Sicherheit - Veränderungsrechte - Granularität: Informationsteil auf den sich der Zugan bezieht, z.B. ganzes Ibjetk, gewisse Eigenschaften des Objektes - Zielsetzung: Lese- und Schreibrecht flexibel und in geeigneter Form ### Mehrbenutzerprinzip - Viele Anwender greifen zugleich auf Daten zu - Keine Kontrolle: unerwünschte Anomalien ("lost update")... - Effizienter Mehrbenutzerbetrieb ohne Anomalien ### Umgang mit Fehlern / Datenverlust - Verlust von Daten kann Unternehmen existenzbedrohend sein - Backups - Ziel: Garantien gegen Datenverlust auch im Fehlerfall ### Effizienz - Große Datenmengen erfordern effiziente Algorithmen ### Hohe Entwicklungskosten ## Warum Datenbanksysteme - Unkontrollierte Redundanz vermeiden - Daten lassen sich flexibel miteinander verknüpfen - Def. Integritätsreglen können definiert werden ### Hauptgründe gegen DBS - Hohe Anfangsinvestition (Personal, Lizenzen...) und möglicherweise zusätzlicher Hardware-Bedarf - Overhead für SIcherheit, Mehrbenutzerkontrolle & -rechte, Recovery, Integritätskontrolle ### DBS möglicherweise nicht nötig, wenn - EInfache Datenbank mit wenigen Daten und Anwendung - Kein Mehrbenutzerbetrieb ### DBS nicht geeignet - Zwingende Echtzeitanforderungen, die DBMS nicht garantieren können - Daten können aufgrund ihrer Kompl. nicht modelliert werden # Grundlagen ## Grundlegende Definitionen Daten: Fakten (Faktum), die gespeichert werden Information: Daten + Bedeutung Wissen: Information + Anwendung Mini-Welt: Jener Teil der realen Welt der uns für unsere Anwendungsfälle interessiert Daten (Erweiterung der Definition): Bekannte Fakten übe rdie Mini-Welt die gespeichert werden können Metadaten: Informationen über die Struktur einer Datenbank Datenbanksystem: DBMS+DB+Metadaten+Schnittstellen ## Datenmodell - "Infrastruktur" zur modellierung des Mini-Welt-Ausschnittes der realen Welt: - Datendefinitionssprache (DDL, data definition lang.) - Schema: Struktur der Datenobj. und Beziehungen... - Datenmanipulationssprache(DML, data manipulation lang.) ## Transaktionen ACID -Eigenschaften - Atomarität - Konsistenzerhaltung - Isolation - Dauerhaftigkeit ## Einordnung der Datenmodelle - Konzeptionelle Datenmodelle (high-lvl) - Logische Datenmodelle - Physische Datenmodelle (low-lvl) ___ - Satzorierntierte Datenmodelle - Relationales Modell - Objektorientiertes und objekt-relationales Modell ## Datenbankbenutzer Unterscheidung in: - Endbenutzer - Datenbankdesigner - Anwendungsprogrammierer - Datenbankadministratoren Naive Benutzer; umfasst den Großteil der Endbenutzer Fortgeschrittene Benutzer: analystenm Wissenschaftler und Ingenieure ,die vertraut mit den Fähigkeiten... ## ANSI/SPARC Drei-Ebene-Architektur unterstützung von: - unterschiedliche Sichten auf die Daten (views) - Datenunabhängigkeit Definiert ein Datenbankschema auf drei Ebenen: - Physische Ebene: - Logische Ebene: - Externe Sicht: ## Datenunabhängigkeit Maß für die Isolation zwischen Anwendungsprogrammen und Daten. Unabhängigkeiten: - logische - physische ## Erweiterung der DBS Darstellung Auswendig lernen hehe ("Eine der Abildungen, die man sich gut einprägen sollte.") ## OLTP vs. OLAP Online Transaction Processing vs. Online Analytical Processing **TODO** Abbildung einfügen # Entity Relationship Diagramme nächste Woche: Relationale Algebra __viel gerede, weniger Kontent__ - ER-Diagramm ist konzeptionell ## Entwurfsprozess "lang, fehlerbehaftet und keiner hält sich dran" Draheim 15.04.24 9:13 TODO balancierte Bäume wiederholen - Zwei Ebenen - DBMS spezifisch - Design von Anwendungsprogrammen - Implementierung von Transaktionen - Physisches Design - DBMS Unabhängig - Funktionale Analyse - Konzeptionelles Design - Anforderungsanalyse - Performanz wird nicht betrachtet ### Das ER-Modell - hohes Abstraktionsniveau - Kunde soll das ebenfalls verstehen können - Entität mit Rechteck - Attribut mit Pille - Beziehung mit Raute ## Entitäten und Attribute ![Entität-Relations-Diagramm](ER-Auto.png) ## Beziehungen ![Relationsdiagramm](Relationen.png) ## Generalisierung ____ # Das Relationale Modell ## Schema, Relation und Datenbank - Mengen, ihre Operatoren und meist ausgedruckt als Teilmenge eines kartesischen Produktes $\text{sch}(R) = [A_1, A_2, ... , A_n]$ ist Schema der Relation ### Attribute und Domäne - Eine Domäne ist eine Menge von atomaren Werten - zu jeder Domäne gehört ein Datentyp inkl. Format - Eine Instanz ist eine Menge von Tupeln aus einer Domäne ### Zusammenhang von Rel. und der Datenbank - Datenbank ist Menge von Relationen ## Integritätsbedingungen - ... sind EInschränkungen auf den Daten, die alle Instanzen der DB erfüllen müssen - Dre Klassen von Bedingungen - Schlüssel - Domänenintegrität - garantie, dass alle Attribut-werte aus der entspr. Dom. stammen und des Primäschlüssel nicht null ist - Referentielle Integrität - Attrib. in Schema der Re., die Prim.Sch. einer anderen Rel. sind, werden Fremdschlüssel genannt ## Vom E/R-Modell zum relationalen Modell - Alg. übersetzt ein konzept. ER Diag. in ein rel. Schema - Übersetzung in 6 Schritte - Unab. Entitätstypen - Existenzbas. Entitätstypen - Beziehungstyp. - Mehrwertige Attribute - N-wertige Beziehungstyp. - Spez. .... - Aus jeder Entität eine Tabelle und auch bei Relationen - Abschluss der relationalen Modelltheorie. ___