- Watn eigentlich data
- Wir haben ein Definiertes Tabellenstrukt, das unsere Datenform vorgibt
- Die meissten sachen die wir tagtätlich nutzen interagieren im Hintergrund mit einer Datenbank
- Praktisch alles was im Internet erreichbar ist macht irgendwas mit einer Datenbank, wenns daten speichert
- Queries müssen dementsprechend sehr schnell bzw. was instant verarbeitet werden, damit man als User kein großen Slowdown spürt
- Naja da ist dann ne menge von daten
- Hauptsächlich eine Sammlung an Tabellenstrukturen die miteinander verwandt bzw. verbunden sind
- Das wird von einem Sog. Datenbankmanagementsystem geregelt
- Dieses Programm kann anfragen entgegennehmen und damit mit daten interagieren und sie auch ggf. zurückgeben
- Wir haben allerdings auch "Application-Programs" die Transaktionen bzw. queries eröffnen / ausführen
- Transaktionen schreiben oder schreiben und lesen daten
- Queries lesen nur daten bzw, fragen diese ab
- Alle daten müssen in der Datenbank hinterlegt werden
- Diese müssen alle das richtige schema beibehalten
- ggf. Redundancy
- Wir müssen Operationen darauf ausführen können
- Daten abfragen bzw. queries
- Daten Updaten bzw. storage & manipulation
- Es muss Permanenter Speicher realisiert sein, damit wir auch länger was speichern können
- Wir müssen die daten Katogalisieren, sprich wir müssen alles irgendwie managen und durchsuchen können
- Wir wollen ja unsere Daten sinnvoll verwalten können
- Dafür brauchen wir dinge, wie z.b. ein User Interface
- Die sollten je nach "kompetenz" der Nutzer verschieden viel können
- Verschiedene Nutzer brauchen auch verschiedene ansichten der Selbem daten / brauchen nicht die selben daten
- So brauchen wir z.b. auch sachen wie ein Account-System das uns dabei hilft die User voneinander zu unterscheiden
- Wir haben bestimmte constraints
- Diese constrainst müssen so gewählt werden, dass unsere Realisierung da gut reinpasst
- Diese müssen auch durch Operationen einfach und sinnvoll modifiziert bzw. bearbeitet werden können
- Dann haben wir Operationen mit denen wir
- Daten modifizieren
- Daten abrufen können
- Wir machen das halt via Queries, die das DBMS dann halt abarbeiten kann
- Konzeptuell
- Auf dieser ebene gehen wir mal grundlegend davon aus, dass der user irgendwie nicht nen tiefes verständnis für DBMS dinge hat
- Wir modellieren alles auf einer Ebene, wie wir als "menschen" Daten verstehen
- Wir nennen das auch Entity-based Data, weil sie klassisch auch auf Objekten basiert
- Physikalisch
- Physikalisch betrachten wir, wie die Daten auf den Speichermedien gespeichert werden
- Implementation
- Hier können wir konzeptuell sachen modellieren und in einer Ebene die zwischen die ersten beiden fällt modellieren
- Sowas wie ein Relationelles Datenbankmodell
- NoSQL
- Andernfalls haben wir ja auch noch die utopische vorstellung von selbst-dokumentierenden Code
- Das ist lustig und fundamental doof und kann nich tpassieren, aber NoSQL glaubt immernoch dran
- Ein Schema speichert daten in Tables, data types etc.
- E.g. wir speichern den kram als virtuelle dinge, die man in einem Diagramm darstellen kann
- Die Instanz ist das was am ende auf dem Computer läuft
- Hier werden die tatsächlichen Daten gespeichert und überwacht
- Wir haben Internale Schema
- Beschreibt die Physikalische speicherebene
- Speichert typisch alles auch direkt im Speicher
- Conceptual Schema
- Hier werden die Constraintes etc. modelliert
- Verwendet wird hier eher Konzeptuelles zeugs
- External Level
- Hier werden die Nutzer views beschrieben
- Hier wird der kram verwendet, der auch im Conceptual Schema da ist
- Mappings
- hier werden die schema level miteinander verbunden
- Das hier sind meisstens Interne schema
- Daten sind unabhängig voneinander
- Die daten werden voneinander abhängig, weil wir mappings nutzen
- Allerdings können wir oft an den unteren ebenen was ändern, ohne das die oberen levels sich verändern
- Wenn wir daten dann modellieren können wir das auch einigermaßen aufteilen
- Wir schauen das wir alles irgendwie repräsentiert bekommen, damit das alles funktional passt
- Das ER Modell hat ein paar grundlagen
- Wir haben die Entities
- Die können alle möglichen dinge darstellen
- Relationshops
- Mit diesen können wir die Verbindung zwischen zwei oder mehr Entities klar machen
- Es gibt natürlich auch noch verschiedene Relationship-Models
- Es gibt verschiedene arten von Relationen
- 1:1
- 2:2
- M:N
- Wir können einige arten von Relationships ausdrücken
- Wie iwr gerade schon genannt haben
- Aber grob zusammengefasst gibt es totale participation und partielle participation
- Hier ist der name sehr aussagend denke ich
- Es gibt ausserdem auch min und maximal constraints
- wie "es kann mindestens 3 und maximal 10 leute geben, die einkaufen gehen"
- Weak entities sind dinger die keinen eigenen Key haben, und deswegen yeah.