1 / 6

Motivation

Motivation. Relationales Datenmodell ist beherrschend: Riesige Datenbestände und damit hohe Investitionen. Die große Mehrzahl der Anwendungen arbeitet mit weitgehend strukturierten Daten. Das relationale Modell ist einfach in der Handhabung durch Nicht-Experten.

cruz-lyons
Download Presentation

Motivation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Motivation • Relationales Datenmodell ist beherrschend: • Riesige Datenbestände und damit hohe Investitionen. • Die große Mehrzahl der Anwendungen arbeitet mit weitgehend strukturierten Daten. • Das relationale Modell ist einfach in der Handhabung durch Nicht-Experten. • Das relationale Modell ist wohlfundiert, die Architektur und Implementierung der Systeme folgt allgemein akzeptierten Regeln und ist ausgereift. • Mit SQL besteht ein Sprachstandard mit Vorbildfunktion für viele andere Datenmodelle. • Überwinden der Schwächen durch Anbinden anderer Datenmodelle an Tupelkomponenten: • Beispielsweise Binden objektorientierter Domänen an Attribute. • Einbetten entsprechender Sprachkonstrukte in relationale Anfragen.

  2. Polymorphe Typen Typkonstruktoren tupel ::= [sel:Typ, ..., sel:Typ] relation ::= {tupel} • Typ: Vereinigungsmenge aus atomaren und konstruierten Typen. • Es lassen sich beliebig kompliziert verschachtelte Tupelstrukturen vereinbaren.

  3. Objektdomänen • Falls TypObjekttyp: Gängige Vereinbarung. • Beispiel: type Punkt(PID, X, Y, Z) method addition (p Punkt) returns Punkt, method distanz (p Punkt) returnsreal, method nullDistanz () returnsreal; relation GeoPunkt of Punkt; • Trennung zwischen Methodensignatur und -implementierung • Besonderheiten: • Typen können in einer Typhierarchie angeordnet werden, dies verbunden mit einer strukturellen Vererbung. • Die Objekte besitzen wahlweise Kopier- oder Referenzsemantik. • Im ersten Fall wird das Objekt in das Tupel eingebettet (engl.: embedding), im zweiten Fall wird ein Objektidentifikator vergeben und als Wert in das Tupel eingetragen (engl.: linking).

  4. Benutzerdefinierte Typen (1) • Verallgemeinerung auf beliebige konstruierte Typen: • Dann Einschränkung auf Vereinbarung der Struktur. • Man spricht von user-defined types (UDT). • Falls monomorphe Operatoren mit dem Typ verbunden werden sollen: • Getrennte Vereinbarung der Operatoren. • Bindung an Typ nur lose, indem der Typ als nicht besonders ausgezeichneter Parametertyp vorkommt. • Man spricht von user-defined functions (UDF). • Objektdomänen sind dann Spezialfall mit Zusammenfassung von UDT und UDF.

  5. Benutzerdefinierte Typen (2) • Einfaches Beispiel: relation ArtikelArt(ANr, AName, Menge, Lieferant, Gewicht); relation LagerortArt(LoaNr, Länge, Breite, Höhe, MaxGewicht); procedure ErmittleArtikelName(in anr char(8), out aname char(25)) procedure ÄndereArtikelName(in anr char(8), in neuerAName char(25)) function grundfläche( loanr char(8) ) returnsinteger

  6. Aktuelle Entwicklungen • Text und XML als UDT. • Ergänzung der Anfragesprachen um entsprechende Elemente. • Gegenstand der Standardisierung relationaler Sprachen.

More Related