Use LEFT and RIGHT arrow keys to navigate between flashcards;
Use UP and DOWN arrow keys to flip the card;
H to show hint;
A reads text to speech;
23 Cards in this Set
- Front
- Back
Persistente Daten
|
Weden über die Lebensdauer der Sitzung eines Benutzers oder der Betriebssystem-Prozesse, die die Daten verarbeiten, hinaus gespeichert
|
|
Datenhaltung/Datenverwaltung
|
Mechanismen und Strategien zur Speicherung und Bearbeitung von Daten
|
|
Verschiedene persistente Datenspeicher
|
- Dateisystem
- Relationale Datenbank - Native XML Datenbank - Objektorientierte Datenbank - CMS (Content Management System) - NoSQL Datenbanken |
|
Dateisystem - Vorteile
|
- Überall verfügbar
- Einfachste Form von Zugriff; Benutzung |
|
Dateisystem - Nachteile
|
- Fehlende Erweiterbarkeit
- Mehrbenutzerzugriff - Skalierbarkeit |
|
XML-Dateien (eXtensible Markup Language) - Vorteile
|
- Plattformunabhänig
- Erweiterbar - Flexibel - Menschenlesbar - Wird von DBMS unterstützt |
|
XML-Dateien (eXtensible Markup Language) - Nachteil
|
- Im Detail nicht trivial
- stellt keine einfache Unterstützung führ Referenzen zur Verfügung - beschränkt auf hierarchische Schachtelung - Aktualisierung nur über Laden & Speichern |
|
Definition Datenbankmanagementsystem (DBMS)
|
Die Gesamtheit der Programme zum Zugriff auf die Datenbasis, zur Kontrolle der Konsistenz und zur Modifikation der Daten.
|
|
Definition Contentmanagementsystem (CMS)
|
Ist ein System, das es mehreren Benutzern (Programmen) ermöglicht, Informationen gemeinsam zu bearbeiten und zu speichern
|
|
Definition NoSQL-Datenbank
|
- Meist nicht Relationss
- Schemaschwach oder gar schemafrei - (+) können mit vielen Schreib- und Leseanfragen umgehen - (-) bieten kaum Garantien hinsichtlich ACID |
|
Java Database Connectivity (JDBC)
|
Bietet einheitliche Schnittstelle zu Datenbanken verschiedener Hersteller
|
|
Relationale Abbildung von Vererbungshierarchien - "Single Table Strategy"
|
- Eine Tabelle für Super- und Subklassen mit allen Attributen
- Diskriminator-Spalte @Inheritance(strategy=SINGLE_TABLE) @DiscriminatorColumn(name="Type") // ... @DiscriminatorValue("Type1") |
|
Relationale Abbildung von Vererbungshierarchien - "Table per Class Strategy"
|
- Eine Tabelle pro Klasse mit jeweils der vollständigen Menge an Attribute
@Inheritance(strategy=TABLE_PER_CLASS) |
|
Relationale Abbildung von Vererbungshierarchien - "Joined Table Strategy"
|
- Tabelle für Superklasse mit PK und generellen Attributen
- pro Subklasse eine Tabelle mit PK und spezifischen Attributen @Inheritance(strategy=JOINED) |
|
Objektrelationales Mapping
|
Zustand von Java-Objeketen (Entities) wird auf Daten einer relationalen Datenbank abgebildet
|
|
Grundlagen Persistent Entities
|
- Persistent Entities bieten objektorientierten Zugriff auf persistente Informationen in der Datenbank (z.b. Kunde oder Artikel)
- z.B. "Mapping" einer Tabelle auf eine Entity-Klasse - Jede Zeile wird durch eine Instanz einer Entity repräsentiert - Jede Entity-Instanz hat einen eindeutigen PK - Entities existieren solange die zugehörige Datenbank existiert |
|
Spezifikationen/Entwicklung einer Entity
|
Entities gehorchen der JavaBean Spezifikation:
- Attribute haben "getter"- und "setter"-Methoden - Klasse hat einen Default-Konstruktor - Muss das Interface java.io.Serializable implementieren |
|
Objektrelationale Abbildung bei Vererbung - Single Table Strategy
|
|
|
Objektrelationale Abbildung bei Vererbung - Table Per Class Strategy
|
@Inheritance(strategy=TABLE_PER_CLASS)
kein Diskriminator |
|
Objektrelationale Abbildung bei Vererbung - Joined Table Strategy
|
@Inheritance(strategy=JOINED)
kein Diskriminator |
|
Objektrelationale Abbildung bei Assoziationen zwischen Objekten
|
JPA unterstützt Abbildung von Assoziationen folgender Typen:
- @OneToOne - @OneToMany - @ManyToOne - @ManyToMany |
|
Entity Manager
|
javax.peristence.EntityManager erlaubt Zugriff auf den Datenspeicher. Er erlaubt folgende Methoden:
- void persist(Object o): speichert Objekt in Datenbank - void remove(Object o) löscht Objekt aus Datenbank - Object find(Class clazz, Object PrimaryKey): findet Objekt mit zugehörigern PrimaryKey Datenbank - Object merge(Object o): veränder Objekt in Datenbank |
|
Entity Manager: Querying - Anforderungen
|
- Abfragefunktion (Querys) über den Datenbeständen auf Persistent Entities
- Assoziationen sind datenbankunabhängig ausgedrückt -> Datenbankunabhängige Sprache (Java Persistence Query Language - JPQL) -> natives SQL der genutzten Datenbank wird ebenfalls unterstützt |