Woraus besteht die 3-Schichten-Architektur?
externe Schicht: Anwendungsprogramme, Zugriff nur auf die relevanten Daten
konzeptionelle Schicht: Datenmodell
interne Schicht: hier liegen die Daten physisch mit den Zugriffspfaden
Was unterscheidet Daten von Informationen? Wie wird aus der Information ein Informationssystem?
Daten sind Fakten; eine Sammlung von Zeichen mit Syntax, die eine digitale Representation von irgendeinem Aspekt der Welt ist. Eine Information wird daraus, wenn die Daten mit einer Semantik (= Bedeutung) belegt wird, also etwas ist, mit dem der Mensch etwas anfangen kann.
logisch zusammenhängende Daten -> Datenbank -> mit Semantik belegt -> Informationssystem
Die Datenbanken sind also die Grundlage eines Informationssystems.
Was ist eine Datenbank?
Eine Datenbank ist eine logisch zusammenhängende Sammlung von Daten, die einen Ausschnitt der realen Welt beschreibt und füreinen bestimmten Zweck entworfen wird.
Eine Datenbank ist ein System zur elektronischen Datenverwaltung.
Was ist ein Datenbankmodell und welche Arten gibt es?
Ein Datenbankmodell ist ein Datenbankmanagementsystem (DBMS) und bildet die Grundlage für die Strukturierung von Daten.
Einige Arten sind:
hierarchisch (nur Eltern-Kind-Bez. zwischen den Daten)
objekt-orientiert (Daten können aus höheren Klassen “erben”)
relational (Daten in Tabellen verwaltet; damit arbeiten wir)
Was macht ein Datenbankmanagementsystem aus? Was für DBMS gibt es?
Ein DBMS unterstützt das Datenmodell, verwaltet den Speicher und die Nutzer, bearbeitet Anfragen und stellt eine Anfragesprache bereit.
Beispiele für DBMS sind:
Oracle
PostGreSQL
SQL-Server
DBMS werden von allen großen Softwaresystemen genutzt, z.B. von SAP.
die Kombination aus DBMS und der DB ergibt das Datenbankystem (DBS).
Was ist ein Entity-Relationship-Modell?
Das Entity-Relationship dient dazu, einen Ausschnitt der Welt darzustellen. Es besteht aus Entitys (= gleichwertige(s) Objekt(e) der realen oder nicht-realen Welt), Relationships (“ Beziehungen zwischen Entitys) und Attributen (= Eigenschaften der Entitys).
Es gilt als eine Grundlage für das Design einer relationalen Datenbank.
Welche Attribute gibt es im Entity-Relationship-Modell?
Schlüsselattribut: identifiziert die Entity eindeutig (z.B. Matrikelnummer für Studenten)
optionales Attribut: kein Schlüsselattribut
abgeleitetes Attribut: Wert wird aus anderen Attributen berechnet (z.B. Alter aus Geburtsdatum)
mengenwertiges Attribut: enthält mehrere Werte: z.B. Autor(en) für ein Buch, falls mehrere Personen das Buch geschrieben haben
strukturiertes (zsm-gesetztes) Attribut: wird durch mehrere Attribute beschrieben; Wert entspricht der Verkettung der anderen Attribute (z.B. Adresse: besteht aus Straße, Hausnummer und PLZ)
Welche Nebenbedingungen gibt es beim Entity-Relationship-Modell?
Nebenbedingungen/einschränkungen:
Schlüsselattribut(e)
Referentielle Integrität: z.B. Kardinalitäten (1:n, n:m, 1:1 usw.)
Domänen: Einschränkung des Wertebereichs
Allg. Nebenbedingungen: z.B. nicht mehr als 20 Schauspieler pro Film
Länge eines Attributs (string mit xxx Zeichen)
Datentyp (Integer, string etc.)
Nebenbedingungen sind Teil des Schemas!
Was sind schwache Entity-Typen?
Schwache Entity-Typen haben keine Schlüsselattribute und sind deshalb von anderen Entity-Typen abhängig, die dann ein Schlüsselattribut haben, damit das Objekt aus der Entity eindeutig zugeordnet werden kann.
Beispiel:
Wie werden
ein Relationship
ein Schlüsselattribut
eine Entity
eine Totalität
schwache Entity-Typen
dargestellt?
Relationship/Beziehung: Raute
Schlüsselattribut: ausgefüllter Punkt
Entity: Rechteck
eine Totalität: schwarzer Punkt an einer oder beiden Seiten der Beziehung
schwache Entity-Typen: doppeltes Rechteck
Was ist ein rekursiver Relationship-Typ?
Ein rekursiver Relationship-Typ ist eine Beziehung, die zwischen demselben Entity-Typen stattfindet. Z.B. ein FIlm, der ein VOrgänger von einem Film ist.
Bei rekursiven Relationship-Typen muss eine Richtung angegeben werden, z.B. so:
Welche Abstraktionskonzepte gibt es in der erweiterten Datenbankmoddellierung (EER)?
Generalisierung/Spezialisierung: Entity-Typen in Subklassen unterteilen; “ist_eine”-Beziheung. Beispiel (mit Notation):
Aggregation: Entity-Typen mithilfe von anderen Entity-Txpen beschreiben; “ist-Teil-von” oder “besteht_aus”-Beziehung. Beispiel (mit Notation):
Welche Integritätsbeziehungen gibt es bei der Generalisierung?
total t: jeder Entity-Typ gehört einer Subklasse an
partiell p: Entity-Typ gehört nicht zwingend einer Subklasse an
überlappend o: Entity-Typen können mehreren Subklassen angehören
ausschließend d: Entity-Typen gehören nur einer Subklasse an
Was ist ein Beispiel für eine Integritätsbedingung bei der Aggregationsabstraktion?
Ein Beispiel wäre das Fahrrad, welches aus einem Rahmen und den Rädern besteht.
Totalität: Ein Fahrrad ist nur ein Fahrrad, wenn es einen Rahmen hat. Daher wird bei dem Rahmen ein Punkt gesetzt, ähnlich wie hier:
Kardinalität: Ein Fahrrad besteht aus n Rädern, aber nur aus einem (1) Rahmen. Daher haben wir zwischen dem Fahrrad und dem Rahmen eine 1:1-Beziehung, zwischen den Rädern und dem Rad eine n:1-Beziehung (siehe oben).
Was muss am Ende der späten Entwurfsphase einer Datenbankmodellierung fertig gestellt sein?
Begriffsglossar (muss mit (2) übereinstimmen)
E-R-Modell
Protokoll (da können auch DInge drinstehen wie: “höchstens 10 Schauspieler pro Film”)
Welche Integritätskonflikte können bei der Erstellung eines globalen Schemas auftreten?
Namenskonflikte: Synonyme (Auto und KFZ) und Homonyme (Hahn, Schloss, Decke)
Typkonflikte: einmal als Entity-Typ und einmal als Attribut in versch. Teilschemata
Wertebereichskonflikte: z.B. Datum: 01/05/2023 oder 01-05-2023
Bedingungskonflikte: z.B. unterschiedliche Kardinalitäten oder Integritätsbedingungen
Welche Grundprinzipien gibt es bei der E/R-Modellierung bzw. beim E/R-Entwurf?
Treue zur Anwendung: realistisch modellieren!
keine Redundanz: keine Inkonsistenz
Einfachheit: nicht zu viele Enmtity-Typen und Relationship-Typen, id.R. reichen jeweils 7 +- 2
überlegte Entscheidung bei Entity-Typen und Attributen
sparsamer Einsatz von Relationships & schwachen Entity-Typen
Wie kommt man (grundsätzlich) von einem E/R_Modell auf ein Relationales Modell?
Entity-Typen in Relationen umwandeln
Relationship-Typen in Relationen umwandeln
Zusammenlegen von Relationen
Sonderfälle für Generalisierungen beachten
Was ist ein Relationales Modell?
Ein Relationales Modell besteht aus Relationsschemata (Tabellen), die jeweils aus dem Namen der Tabelle und deren Attributen bestehen. Das Schlüsselattribut ist hierbei ganz vorne.
Eine Zeile entspricht einer Entity, eine Spalte einem Attribut.
Wie würde der Relationship-Typ “spielt_in” als Relation aussehen?
Wie würde der Relationship-Typ “istunterVertrag” als Relation aussehen?
Wie können Generalisierungen ins Relationale Modell konvertiert werden und was sind die Vor- bzw. Nachteile?
E/R-Stil: für jeden Entity-Typen der Hierarchie eine Relation mit Schlüsselattributen des Wurzel-Entity-Typs; Dopplungen können auftreten, aber nur Schlüsselattribute werden wiederholt
Objektorientierter Stil: elation für jeden Teilbaum -> erzeugt 2^n Relationen ABER minimaler Speicherbedarf, da es nur einen Tupel pro Entity gibt
mit Null-Werten: Eine einzige Relation mit Null-Werten bei den Attributen, die die Entity nicht besitzt; Tupel sind mitunter sehr lang
Zuletzt geändertvor einem Jahr