am KIT


Kevin März
Diese Lernkarten behandeln fortgeschrittene Themen zu Datenbanksystemen und XML, insbesondere für Universitätsstudierende. Sie decken die Grundlagen von XML, wie Knotentypen, Anfragen und Schemaintegration, sowie die Unterschiede zwischen XML und relationalen Datenbanken. Die Karteikarten erklären Konzepte wie XPath, FLOWR und die Speicherung von XML-Dokumenten, und zeigen auf, wann welche Technologie sinnvoll ist. Sie richtet sich an Studierende und Fachleute, die XML und Datenbanken kombinieren möchten, um Daten effizient zu verwalten und abzufragen.
Karten
18
Lernende
1
Sprache
Deutsch
Kategorie
Informatik
Stufe
Universität
Erstellt / Aktualisiert
16.07.2014 / 04.04.2015

Lernkarten

Grundfunktionen eines Datenbanksystems

- Datenmodell: Datenunabhängigkeit, Datenintegrität

- Benutzungsschnittstellen: flexible Auswertungen, untersch. Anwender

- Transaktionsmanagement: Mehrbenutzer. Recoverygrundlage

- Recovery: zur Wiederherstellung der Integrität

- Datenschutz: ZUgriffssicherung

Wann ist XML-Datenbank, wann relative, sinnvoller?

  • Art Daten
    • Datenzentriert à rel
    • Dokumente à xml
  • Menge der vorhandenen Daten
    • Groß à rel
    • Klein à xml
    • Verarbeitung von Dokumenten als Ganzes -à xml
  • Art der Anfragen
    • Explizit à rel
    • Häufige Anfragen&Änderungen à rel
    • Volltextsuche à xml
  • Datenintegrität
    • Integritätsbedingungen à rel
  • Schemaevolution
    • Fix à rel
    • Flexibel à xml
  • Einsatzzweck
    • XML-Schnittstelle als Erweiterung à rel
    • Native XML-Funktionalität à xml

XML-Knotentypen

Elementknoten

Textknoten

Attributknoten

weitere XML-basierte Sprachen

SAML, SOAP, WSDL, XHTML

DTD

<!DOCTYPE bla [

    <!ELEMENT bla (blabla, blablabla)>

   <!ATTLIST bla einattributhalt CDATA #REQUIRED> (oder IMPLIED oder FIXED --> Wert gilt auf jeden Fall)

   <!ELEMENT blabla (#PCDATA)>

   <!ELEMENT blablabla(#PCDATA)>

]>

DTD vs. XML-Schema

Syntax: Eigene Syntax    vs.    XML

Typsystem: #PCDATA einzig primitiver    vs.    große Mege an vordefinierten primitven und abgeleiteten

Typdefinition: intern und extern   vs.    nur extern

Kardinalitäten: ?,+,*    vs.   exakt (min/max)

Objektorientierte Wiederverwendung: nein    vs.     erweiterung, Einschränkung sowie Vereinigung

Namensräume: nein     vs.     URI-Verweise

Fehler in integrierten Datenquellen

semantische Konflikte:

Synonyme (untersch. Namen, gleiche Bedeutung), Homonyme (identsche Benennung, unterschiedl. Bedeutung)

strukturell: unterschiedliche Repräsentation, Knotentypen, Datentypen, Genauigkeit oder Länge gleichartiger Datentypen, Häufigkeiten

Schemaintegration

1. Vorintegration

2. Schemavergleich

3. Schemaangleichung

4. Schemafusion und Umstrukturierung

Ziele der Schemaintegration

Vollständigkeit

Minimalität

Korrektheit

Verstädnlichkeit

Unterschied zwischen XPath 1.0 und 2.0

in XPath Kontrollstrukturen (Schleifen, Bedingungen) und Sonstiges (Quantoren some.. in .. satisfies..., Typüberprüfung ... instance of... )

XPath 2.0 benutzt das Typsystem von XML, 1.0 kennt nur Knotenmengen, boolesche, numerische und Zeichenkettenwerte

XPath 2.0 basiert auf Sequenzen, 1.0 ist mengenorientiert

- Sequenzen geordnet, Mengen nicht

- Sequenzen können Duplikate enhalten, Mengen nicht

Datenmodell für XML

Warum? Welche?

Warum? Modellierung von Objekten/Dokuemnten aus Realwelt und Abbildung in XML

in Dokumenttypen, vergleichbar mit Datenbankschema

Welche?

DTD (Document Type Definition), für Dokumente

XML-Schema, für XML-Objekte

Anforderungen an Datenbankanfragesprachen

Ad-hoc-Formulierung von ANfragen: ohne Erstellung kompletter Programme

Deklarative Beschreibung: Ergebnisbeschreibung statt Berechnungsbeschreibung

Kompaktheit: z.B. für URLs

Mengenorientiertheit: auf Mengen, nicht auf Objekten

Adäquatheit: alle Konstruktoren unterstützt

Orthogonalität: uneingeschränkt kombinierbar

Abgeschlossenheit: Anfrage mit alter Anfrage

Vollständigkeit: verlustfrei

Optimierbarkeit: Grundoperationen und Optimierungsregeln

Effizienz: Algorithmen für effiziente Grundoperationen

Sicherheit: endliches Ergebnis, terminieren (korrekte Anfragen)

Eingeschränktheit: keine vollständige Programmiersprache (sonst nicht optimierbar, effizient und sicher)

Spezielle Anforderungen an XML-Anfragesprachen

Einbettung: in XML

Ordnungserhaltung: Ordnung des XML bleibt erhalten (aber: abschaltbar)

Links: Ausnutzen und Verfolgen von Links

Flexible Typen: flexibel für unbekannte Typen, Typkonvertierung

Speicherung von XML-Dokumenten

Als Dateien / CLOBs (Volltextindex evtl. mit XML-Index): für dokumentzentrierte

Speicherung der Dokumentstruktur: Für semistrukturierte

Strukturierte Speicherung in DB: datenzentrierte

Duplikaterkennung

- Grundschema

- warum anwendungsabhängig

Paarweiser Vergleich aller Tupel --> Maßzahl

Bei numerischen Werten müssen Kriterien festgelegt werden wie hoch Abweichung sein darf, auch bei Text verschiedene Verfahren

auf Datenebene

Eigenschaften von Attributen

Element zu jedem Attribut max. ein Wert

Ungeordnet (zueinander)

nicht Teil eines XML-Baumes (nur erweiterter)
 

Gruppierungen in XML-Schema

xs:sequence: feste Reihenflge, wenn nix angegeben genau 1 mal

xs:choice: eins muss gewählt werden

xs:all: beliebige Reihenfolge, aber jedes darf maximal 1 mal auftreten (kann auch nicht mit maxoccurs erhöht werden)

FLOWR

For: erstellt eine Sequenz von Knoten

let: bindet eine Sequenz an eine Variable:

where: filtert Knoten

order by: sortiert Knoten

return:  wird einmal für jeden Knoten ausgewertet

Lernen