Datenmodellierung & Datenbanken Flashcards
Was sind Daten?
Daten sind Zeichen oder kontinuierliche Funktionen, die aufgrund
von bekannten oder unterstellten Abmachungen oder vorrangig zum
Zwecke der Verarbeitung Informationen darstellen. (DIN 44300)
->Daten bilden die Basis von Anwendungssystemen
Die Unterscheidung von Daten
Grad der Strukturierung:
- strukturierte Daten (z.B. Name, Nummer, Anzahl, Datum, Titel)
- unstrukturierte Daten (z.B. Buch, Brief, Bild, Ton, Video)
Variabilität:
- Stammdaten
- Bestandsdaten
Meta-Daten: datenbeschreibende Angaben (wichtig bei
unstrukturierten Daten, z.B. Beschreibung zu einem Bild)
Was sind Datenmodelle?
Herstellung einer Abstraktion zum Zwecke einer
datenorientierten Beschreibung eines Problems
Was ist eine Klassifikation/Typisierung
Zusammenfassung von Dingen mit gleichartigen Eigenschaften
(Attributen/Daten) zu einer Klasse/Typ
Das Entity-Relationship-Modell
-graphisches Modell für die Darstellung statischer Zusämmenhänge
zwischen verschiedenen Daten
-Werkzeug zur semantischen Datenmodellierung bzw. zum
Datenbankentwurf
-bis heute durch verschiedene Modifikationen / Ergänzungen
weiterentwickelt
Was sind Entities
-„wohlunterscheidbare Dinge der realen Welt“,
„reale oder abstrakte Dinge, die für den betrachteten Ausschnitt
relevant sind“
(Gegenstand, Objekt)
-Jedes Entity besitzt Eigenschaften (Attribute) mit einem
Wertebereich (Domain).
-Attributwerte können sich ändern.
-(Primär-)Schlüssel: kleinste Attributkombination, mit der ein
Entity eindeutig identifiziert werden kann (meist nur 1 Attribut)
Was sind Entitytypen?
Gleiche Entitys werden zu einem Entitytypen zusammengefasst.
Was sind Beziehungen (Relationships) im ER-Modell?
-Beziehungen zwischen Entities (bzw. Entitytypen)
-Auch Beziehungstypen können Eigenschaften (Attribute) besitzen,
die Daten darstellen.
Was ist die Kardinalität eines Beziehungstyps im ER-Modell?
1:1
Jedes Entity vom Typ 1 hat zu höchstens einem Entity vom Typ 2
eine Beziehung dieses Beziehungstyps und umgekehrt
1:n
Jedes Entity vom Typ 1 kann zu mehreren Entities vom Typ 2
eine Beziehung dieses Beziehungstyps haben, jedes Entity vom
Typ 2 steht jedoch zu höchstens einem Entity vom Typ 1 in
Beziehung.
m:n
Jedes Entity vom Typ 1 kann zu mehreren Entities vom Typ 2
eine Beziehung dieses Beziehungstyps haben und umgekehrt.
Komplexität eines Beziehungstyps im ER-Modell
-(min,max)-Notation für Kardinalitäten eines Beziehungstyps
-jeweils Sicht eines Entitytyps: Wie viele Beziehungen dieses
Beziehungstyps hat ein Entity des betrachteten Entitytyps?
Was sind die möglichen Werte für die Komplexität eines Beziehungstyps im ER-Modell?
- min:
0: Ein Entity kann keine einzige Beziehung dieses Typs haben.
1: Jedes Entity hat mindestens eine Beziehung dieses Typs. - max:
1: Jedes Entity hat höchstens eine Beziehung dieses Typs. - :Ein Entity kann mehrere Beziehungen dieses Typs haben.
Abhängigkeiten im ER-Modell
Schwache Entities:
- Existentielle Abhängigkeit: Entities, die nicht ohne ein zugehöriges starkes Entity existieren können.
-Identifikatorische Abhängigkeit: Zur eindeutigen Identifizierung des schwachen Entities wird zusätzlich
der Schlüssel des zugehörigen starken Entities benötigt.
Wie ist das Vorgehen bei der ER-Modellierung?
- Entitytypen mit Namen und Attributen (auch mit Namen)
- Schlüsselattribute jedes Entitytyps
- Beziehungen zwischen den Entitytypen Beziehungstypen
Name des Beziehungstyps
Attribute des Beziehungstyps (falls vorhanden) - Kardinalität bzw. (min,max)-Komplexität der Beziehungstypen
Was ist eine Datenbank?
Eine Datenbank ist eine Sammlung von logisch zusammengehörigen
Daten.
Was ist ein Datenbanksystem?
-einheitlich definierter Datenbestand (Datenbank) -Verwaltung durch ein Datenbankmanagementsystem (DBMS)
->Zugriff auf die Daten ist nur
über das DBMS möglich.
->Direktzugriff auf die Daten ist nicht möglich.
Was ist ein Datenbankmanagementsystem?
Ein Datenbankmanagementsystem (DBMS) ermöglicht dem Benutzer
einen Zugriff auf gespeicherte Daten, ohne dass er wissen muss, wo
und wie welche Daten gespeichert sind.
Transaktionskonzept
-Transaktion: Folge von Datenbankoperationen, die hinsichtlich
gewisser Integritätsanforderungen untrennbar sind.
-Datenbanken müssen vor und nach Ausführung von Transaktionen in
einem konsistenten Zustand sein.
-Mögliche Probleme anderenfalls: verlorene Updates, Schreib-LeseKonflikte
(z.B. bei falschen Datenformaten)
Was ist das ACID-Prinzip?
DBMS muss für Transaktionen vier Bedingungen gewährleisten:
- Atomarität
- Konsistenz
- Isolation
- Persistenz
Atomarität vom ACID-Prinzip
Transaktionen werden entweder
vollständig oder gar nicht durchgeführt. Bei einem Fehler wird ein
Rollback durchgeführt.
Konsistenz vom ACID-Prinzip
Alle Integritätsbedingungen der
Datenbank werden nach der Ausführung einer Transaktion
eingehalten.
Isolation vom ACID-Prinzip
Transaktionen laufen isoliert von anderen (potenziell
parallelen) Transaktionen ab.
Persistenz(Durability) vom ACID-Prinzip
Abgeschlossene Transaktionen müssen alle
nachfolgenden Fehler überleben (auch wenn die Daten nur in einem
Zwischenpuffer sind)
Was sind die zusätzlichen Anforderungen an DBMS
-universelle Verwendbarkeit (für verschiedene Anwendungen und
Plattformen)
-(einfache) Manipulierbarkeit der Daten (Datenänderungen)
-weitgehende Redundanzfreiheit (außer notwendige Redundanz)
-Flexibilität der Daten-/ Tabellenstrukturen
Kriterien für die Beurteilung der Qualität von DBMS
- Reaktionszeiten (für Abfragen und Datenmanipulation)
- Ressourceneinsatz (insb. Arbeitsspeicher)
- Mehrbenutzerbetrieb und Zugangssicherung
- Datenschutz und Datensicherheit
- Ergänzungstools (z.B. zum Erstellen von Formularen & Berichten)
Was ist ein relationales Datenmodell?
Darstellung der Daten der zu modellierenden Wirklichkeit mit einem
einzigen Konstrukt: Relationen
Schlüssel einer relationalen Datenbank
-(Primär-)Schlüssel: Attribut(kombination) einer Relation (Tabelle)
mit folgenden Eigenschaften:
-Fremdschlüssel: Attribut(kombination) einer Relation, die
Primärschlüssel in einer anderen Relation ist.
-Ein Attribut kann in einer Relation sowohl Fremdschlüssel als auch
gleichzeitig Primärschlüssel sein.
Was gibt ein Datenbankschema an?
- welche Daten in eine Datenbank aufgenommen werden und
- welche Beziehungen zwischen diesen Daten bestehen.
- > Grundlage jeder relationalen Datenbank
- > entspricht einem Datenmodell
Was ist ein Datenbankentwurf?
Entwicklung eines Datenbankschemas, d.h.
Definition der Relationen (Tabellen) der Datenbank und der Attribute
in den Tabellen
Ziel von Normalisierung?
Redundanzfreiheit
- möglichst keine Daten mehrfach in der Datenbank
- Grundprinzip von relationalen Datenbanken
Vorteile und Nachteile von Redundanzfreiheit
Vorteile:
-weniger Aufwand bei Dateneingabe und -änderung (nur 1x)
- > weniger Fehlermöglichkeiten bei Dateneingabe und -änderung
- > Vermeidung von Inkonsistenzen
Nachteile:
evtl. längere Zugriffszeiten auf die Daten
Transformation von ER-Modell zu Dantenbank im Skript lernen
Lernen
Normalisierungsstufen im Skript lernen
Lernen
SQL im Skript lernen
Lernen