# 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.
___
