Nachteile relationaler Modellierung Polyeder (4,*) Hülle (1,1) Flächen (3,*) Begrzg (2,2) Kanten (2,2) StartEnde (3,*) Punkte

Größe: px
Ab Seite anzeigen:

Download "Nachteile relationaler Modellierung Polyeder (4,*) Hülle (1,1) Flächen (3,*) Begrzg (2,2) Kanten (2,2) StartEnde (3,*) Punkte"

Transkript

1 Objektorientierte Datenbanken die nächste Generation der Datenbanktechnologie? Andreas Heuer: Objektorientierte Datenbanken: Konzepte, Modelle, Systeme, Auflage Addison-Wesley 997 A Kemper, G Moerkotte Object-Oriented Database Management: Applications in Engineering and Computer Science, Prentice Hall, 99 ca kommerzielle Produkte ischen-dasein Konzepte wurden in Relationalen Datenbanken übernommen Objekt-Relationale Datenbanken seit 993 erster Standard (ODMG) achteile relationaler Modellierung Polyeder (,*) Hülle (,) Flächen (3,*) Begrzg (,) Kanten (,) StartEnde (3,*) Punkte x y z Polyeder PolyID Gewicht Material cubo# Eisen tetra# Glas Flächen FlächenID PolyID Oberfläche f cubo#5 f cubo# f6 cubo#5 f7 tetra#7 Kanten KantenID F F P P k f f p p k f f p p3 Kanten PunktID X Y Z p p achteile relationaler Modellierung Visualisierung des Impedance Mismatch Anwendung A Anwendung B rotate rotate Segmentierung Künstliche Schlüsselattribute Fehlendes Verhalten Externe Programmierschnittstelle Transf T A Transf T B Polyeder Flächen Kanten Punkte relationale Datenbasis

2 Vorteile objektorientierter Datenmodellierung Anwendung A Anwendung B Vorteile objektorientierter Datenmodellierung somecuboid rotate( X,0); w := somecuboid weight(); rotate scale weight information hiding /Objektkapselung Wiederverwendbarkeit Operationen direkt in Sprache des Objektmodells realisiert (kein Impedance Mismatch) translate specweight volume objektorientierte Datenbasis ODMG-Standardisierung Beteiligte SunSoft (Organtor: R Cattell) Object Design Ontos O Technology Versant Objectivity Reviewer Hewlett-Packard Poet Itasca intellitic DEC Servio Texas Instruments Bestandteile des Standards Objektmodell Object Defintion Language (ODL) 3 Object Query Language (OQL) C++ Anbindung 5 Smalltalk Anbindung 6 Java Anbindung Motivation der Standardisierung Portabilitäts-Standard kein Interoperabilitäts-Standard

3 Integration des ODMG-Objektmodells C++ Java Objektmodell Anwendung DBMS Anwendung Smalltalk Anwendung Einige Objekte aus der Universitätswelt class { Persr: 37 attribute long Persr; ame: Kant Rang: C attribute string ame; residiertin: id 9 attribute string Rang; hatgeprüft {} liest: {id, id 3 } id 3 Vorlr: 630 id Titel: Die 3 Kritiken Vorlr: 500 SWS: Titel: Grundzüge gelesenvon: SWS: Hörer: {} gelesenvon: achfolger: {} Hörer: {} Vorgänger: {} achfolger: {} Vorgänger: {} : -Beziehungen Beispielausprägungen residiert in class { attribute long Persr; relationship Räume resisdiertin; class Räume { attribute long Raumr; attribute short Größe; relationship beherbergt; Räume Persr: ame: Rang: residiertin: hatgeprüft liest: Profesoren 37 Kant C id 9 {} {} id 9 Raumr: Größe beherbergt: Räume 007 8

4 Persr: ame: Rang: residiertin: hatgeprüft liest: id 9 Raumr: Größe beherbergt: Beispielausprägungen Profesoren 37 Kant C id 8 {} {} Räume id 8 Raumr: Größe beherbergt: Räume 7 achteile Verletzung der Symmetrie Verletzung der :- Einschränkung Bessere Modellierung mit inverse class { attribute long Persr; relationship Räume residiertin inverse Räume::beherbergt; class Räume { attribute long Raumr; attribute short Größe; relationship beherbergt inverse ::residiertin : -Beziehungen : M-Beziehungen lesen hören M class { relationship set() liest inverse ::gelesenvon; class { relationship gelesenvon inverse ::liest; class { relationship set() hört inverse ::Hörer; class { relationship set() Hörer inverse ::hört;

5 Rekursive : M-Beziehungen M voraussetzen class { relationship set() Vorgänger inverse ::achfolger; relationship set() achfolger inverse ::Vorgänger; Ternäre Beziehungen prüfen class Prüfungen { attribute struct Datum { short Tag; short Monat; short Jahr} Prüfdatum; attribute float ote; relationship Prüfer inverse ::hatgeprüft; relationship Prüfling inverse ::wurdegeprüft; relationship Inhalt inverse ::wurdeabgeprüft; Vervollständigtes Universitäts-Schema class { attribute long Persr; attribute string ame; attribute string Rang: relationship Räume residiertin inverse Räume::beherbergt; relationship set() liest inverse ::gelesenvon relationship set(prüfungen) hatgeprüft inverse Prüfungen::Prüfer; class { attribute long Vorlr; attribute string Titel; attribute short SWS; relationship gelesenvon inverse ::liest; relationship set() Hörer inverse ::hört; relationship set() achfolger inverse ::Vorgänger; relationship set() Vorgänger inverse ::achfolger; relationship set(prüfungen) wurdeabgeprüft inverse Prüfungen::Inhalt; class { relationship set(prüfungen) wurdegeprüft inverse Prüfungen::Prüfling; Modellierung von Beziehungen im Objektmodell Räume beherbergt resisiertin wurdegeprüft hatgeprüft hört Prüfungen liest Prüfling Prüfer Inhalt wurdeabgeprüft Hörer Vorgänger achfolger gelesenvon

6 Einige Objekte aus der Universitätswelt Profesoren Persr: 37 ame: Kant Rang: C residiertin: id 9 hatgeprüft {} liest: {id, id 3 } id 3 Vorlr: 630 id Titel: Die 3 Kritiken Vorlr: 500 SWS: Titel: Grundzüge gelesenvon: SWS: Hörer: {} gelesenvon: achfolger: {} Hörer: {} Vorgänger: {} achfolger: {} Vorgänger: {} Eigenschaften von Objekten Im objektorientierten Modell hat ein Objekt drei Bestandteile: - Identität - Typ - Wert/Zustand Uni-Schema Matr r ame Semes ter Pers r am e Fachg ebiet ote Assistenten voraus setzen achfolger Vorgänger hör en prü fen arbeit enfü r M Vorlesunge n M Pers r M les en ame Vorl r SWS Titel Rang Raum Persr ame Rang Raum Matrr ame Sokrates C 6 00 Xenokrates Russel Kopernikus Popper Augustinus Curie Kant C C3 C3 C3 C C voraussetzen Vorgänger achfolger Matrr Vorlr Persr ote prüfen Schopenhauer Matrr Jonas Fichte Aristoxenos Carnap Theophrastos Feuerbach hören Vorlr Semester Perslr Vorlr ame Platon Aristoteles Wittgenstein Rhetikus ewton Spinoza Titel SWS Grundzüge Ethik Erkenntnistheorie Mäeutik Logik Wissenschaftstheorie Bioethik Der Wiener Kreis Glaube und Wissen Die 3 Kritiken Assistenten Fachgebiet Ideenlehre Syllogistik 3 3 Sprachtheorie Planetenbewegung Keplersche Gesetze Gott und atur gelesen Von Boss

7 Einige Objekte aus der Universitätswelt Profesoren Persr: 37 ame: Kant Rang: C residiertin: id 9 hatgeprüft {} liest: {id, id 3 } id 3 Vorlr: 630 id Titel: Die 3 Kritiken Vorlr: 500 SWS: Titel: Grundzüge gelesenvon: SWS: Hörer: {} gelesenvon: achfolger: {} Hörer: {} Vorgänger: {} achfolger: {} Vorgänger: {} Objekt-Identität Das wesentliche Charakteristikum objekt-orientierter Datenmodellierung Verweise werden über die OID realisiert Zwei Realisierungsformen Physische OIDs Enthalten den Speicherort des Objekts Im wesentlichen entsprechen diese den Tupel IDentifikatoren (TIDs) Logische OIDs Unabhängig vom Speicherort der Objekte Dh Objekte können verschoben werden Indirektion über eine Mapping -Struktur B-Baum Hash-Tabelle Direct Mapping Realisierung physischer OIDs Drei Realisierungstechniken für logische OIDs

8 Typeigenschaften: Extensionen und Schlüssel class (extent Alle key Matrr) { attribute long Matrr; attribute string ame; attribute short Semester; relationship set() hört inverse ::Hörer; relationship set(prüfungen) wurdegeprüft inverse Prüfungen::Prüfling; Modellierung des Verhaltens: Operationen Operationen um Objekte zu erzeugen (instanziieren) und zu initialisieren, die für Klienten interessanten Teile des Zustands der Objekte zu erfragen, legale und konsistenzerhaltende Operationen auf diesen Objekten auszuführen und letztendlich die Objekte wieder zu zerstören Modellierung des Verhaltens: Operationen II Drei Klassen von Operationen: Beobachter (engl observer): oft auch Funktionen genannt Objektzustand erfragen Beobachter-Operationen haben keinerlei objektändernde Seiteneffekte Mutatoren: Änderungen am Zustand der Objekte Einen Objekttyp mit mindestens einer Mutator-Operation bezeichnet man als mutierbar Objekte eines Typs ohne jegliche Mutatoren sind unveränderbar (engl immutable) Unveränderbare Typen bezeichnet man oft als Literale oder Wertetypen Modellierung des Verhaltens: Operationen III Konstruktoren und Destruktoren: Erstere werden verwendet, um neue Objekte eines bestimmten Objekttyps zu erzeugen Instanziierung Der Destruktor wird dazu verwendet, ein existierendes Objekt auf Dauer zu zerstören Konstruktoren werden sozusagen auf einem Objekttyp angewandt, um ein neues Objekt zu erzeugen Destruktoren werden dem gegenüber auf existierende Objekte angewandt und können demnach eigentlich auch den Mutatoren zugerechnet werden

9 Klassen-Definition von Operationen in ODL Man spezifiziert den amen der Operation; die Anzahl und die Typen der Parameter; den Typ des Rückgabewerts der Operation; eine eventuell durch die Operationsausführung ausgelöste Ausnahmebehandlung (engl exception handling) Klassen-Definition von Operationen in ODL Beispiel-Operationen class { exception hatochichtgeprüft { exception schonhöchstestufe { float wiehartalsprüfer() raises (hatochichtgeprüft); void befördert() raises (schonhöchstestufe); Aufruf der Operationen im Anwendungsprogramm: in OQL: meinlieblingsprof befördert(); select pwiehartalsprüfer() from p in Alle where pame = Curie ; Vererbung und Subtypisierung ame Uni-Mitglieder Objekttypen Typ A Terminologie Instanzen Typ A: is-a is-a Typ B id A: B: Typ Matrr Fachgebiet Angestellte Persr is-a Rang Assistenten Raum is-a Typ3 id 3 A: Typ3 C B: C: Untertyp / Obertyp Instanz eines Untertyps gehört auch zur Extension des Obertyps Vererbung der Eigenschaften eines Obertyps an den Untertyp

10 ExtTyp Darstellung der Subtypisierung A ExtTyp ExtTyp3 A B A B C Abstrakte Typhierarchie bei Einfach-Vererbung AY OT Ot n- Inklusionspolymorphismus Subtituierbarkeit - Eine Untertyp-Instanz ist überall dort einsetzbar, wo eine Obertyp-Instanz gefordert ist OT n eindeutiger Pfad: Ot n Ot n- OT OT AY OT is- Vererbung von Eigenschaften Persr ame Angestellte GebDatum Persr Alter() ame Gehalt() is-a GebDatum Persr Alter() ame Assistenten Gehalt() GebDatum Rang Alter() resisidertin Gehalt() hatgeprüft Fachgebiet liest Interface-Definition in ODL class Angestellte (extent AlleAngestellte) { attribute long Persr; attribute string ame; attribute date GebDatum; short Alter(); long Gehalt(); class Assistenten extends Angestellte (extent AlleAssistenten) { attribute string Fachgebiet; class extends Angestellte (extent Alle) { attribute string Rang; relationship Räume residiertin inverse Räume::beherbergt; relationship set() liest inverse ::gelesenvon; relationship set(prüfungen) hatgeprüft inverse Prüfungen::Prüfer;

11 Darstellung der Extensionen AlleAngestellten AlleAssistenten Verfeinerung und spätes Binden Die Extension AlleAngestellten mit (nur) drei Objekten AlleAngestellten: {,,id 7 } Alle Persr: ame: GebDatum: 37 Kant Persr: ame: GebDatum: Assistenten 300 Platon id 7 Persr: ame: GebDatum: Angestellte 600 Maier Verfeinerung (Spezialisierung) der Operation Gehalt Angestellte erhalten: (Alter() ) * 00 Assistenten bekommen: (Alter() ) * 5 erhalten: (Alter() ) * 50 select sum(agehalt()) from a in AlleAngestellten für das Objekt wird die -spezifische Gehalts- Berechnung durchgeführt, für das Objekt die Assistenten-spezifische und für das Objekt id 7 die allgemeinste, also Angestelltenspezifische Realisierung der Operation Gehalt gebunden Graphik: Mehrfachvererbung Angestellte is-a HiWis geht so in ODMG nicht eine Klasse kann nur von einer Klasse erben sie kann aber auch mehrere Interfaces implementieren à la Java Angestellte IF Angestellte implementiert Schnittstelle erbt HiWis

12 Interface- / Klassendefinition in ODL class HiWis extends, Angestellte (extent AlleHiWis) { attribute short Arbeitsstunden; interface AngestellteIF { short Alter(); long Gehalt(); class HiWis extends : AngestellteIF (extent AlleHiWis) { attribute long Persr; attribute date Gebdatum; attribute short Arbeitsstunden; Die Anfragesprache OQL Einfache Anfragen finde die amen der C- select pame from p in Alle where prang = C ; Generiere amen- und Rang-Tupel der C- select struct(n: pame, r: prang) from p in Alle where prang = C ; Die Anfragesprache OQL Geschachtelte Anfragen und Partitionierung select struct(n: pame, a: sum(select vsws from v in pliest)) from p in Alle where avg(select vsws from v in pliest) > ; Gruppierung select * from v in Alle group by kurz: vsws<=, mittel: vsws=3, lang:vsws>; struct(kurz: boolean, mittel: boolean, lang: boolean, partition: bag<struct(v: )>) Pfadausdrücke in OQL-Anfragen select same from s in Alle, v in shört where vgelesenvoname = Sokrates ; Visualisierung des Pfadausdruckes hört gelesenvon ein längerer Pfadausdruck einevorlesunggelesenvonresidiertingröße Räume float am e

13 Erzeugung von Objekten (Vorlr: 5555, Titel: Ethik II, SWS:, gelesenvon: ( select p from p in Alle where pame = Sokrates )); Operationsaufruf in OQL-Anfragen select aame from a in AlleAngestellte where agehalt() > 00000; Programmiersprachen-Anbindung Entwurfsentscheidung Entwurf einer neuen Sprache - eleganteste Methode, - hoher Realisierungsaufwand - Benutzer müssen eine neue Programmiersprache lernen Erweiterung einer bestehenden Sprache - Benutzer müssen keine neue Sprache lernen - manchmal unnatürlich wirkende Erweiterungen der Basissprache Datenbankfähigkeit durch Typbibliothek - einfachste Möglichkeit für das Erreichen von Persistenz - mit den höchsten Reibungsverlusten - evtl Probleme mit der Transparenz der Einbindung und der Typüberprüfung der Programmiersprache - ODMG-Ansatz ODL Klassendeklarationen Präprozessor Metadaten Objekte C++-Einbindung Headerdateien Objektbank C++-Compiler Objektcode Quellcode Linker Anwendung Laufzeit-System ODBMS Laufzeit-Bibliothek Objektidentität class { String Titel; short SWS; Ref gelesenvon inverse ::liest; Objekterzeugung und Ballung Ref Russel = new(unidb) (6, Russel, C,); Ref Popper = new(russel) (33, Popper, C3,);

14 Transaktionen Schachtelung von Transaktionen notwendig um Operationen, die TAs repräsentieren, geschachtelt aufrufen zu können void ::Umziehen(Ref Räume neuerraum) { Transaction TAumziehen; TAumziehenstart(); if ( /*Fehler? */ ) TAumziehenabort(); TAumziehencommit(); Einbettung von Anfragen d_bag Schüler; char*profname = ; d_oql_query anfrage( select s from s in vhörer, v in pliest, p in Alle where pame = $ ); anfrage «profname; d_oql_execute(anfrage, Schüler); Graphische Darstellung des Pfadausdrucks liest Hörer ame Objektorientierte Modellierung Matrr : integer ame : string Semester : integer Prüfling Assistenten Fachgebiet : string Prüfungen Datum : date ote : number hören Angestellte GebDatum : date ame : string Persr : integer M Inhalt arbeiten_für SWS : integer Titel : string Vorlr : integer lesen Prüfer Rang : string Büro Räume Größe : integer Raumr : integer

15 Objektorientierte Entwurfsmethode Booch-otation - Grady Booch: Object-oriented Analysis and Design, The Benjamin/Cummings Publication Company, Inc, Redwood City, California, 99 - Rational Rose ist ein System, das die Booch-otation unterstützt Rumbaugh-otation UML- Modellierung +Matrr : int +ame : String +Semester : int +otenschnitt() : float +SummeW ochenstunden() : short +Prüfling * Prüfungen +ote : Decimal +Datum : Date +verschieben() * * +Hörer * hören * voraussetzen +achfolger * +Vorlr : int +Titel : S tring +SW S : int +AnzHörer() : int +DurchfallQuote() : float +Prüfer +Prüfungsstoff * * gelesenvon - Rumbaugh, Blaha, Premerlani, Eddy, Lorenson: Objectoriented Modelling and Design, - Prentice Hall,Englewood Cliffs, ew Jersey, 99 Assistenten +Fachgebiet : String +Gehalt() : short * arbeitenfür +Boss +Rang : String +otenschnitt() : float +Gehalt() : short +Lehrstundenzahl() : short +Dozent Mittlerweile wurden die beiden Methoden (otationen) vereinigt Angestellte UML-Standard (Unified Modelling Language) +Persr : int +ame : String +Gehalt() : short Kommerziell verfügbare Produkte GemStone Illustra Itasca MATISSE Objektrelationale Datenbanken Mengenwertige Attribute Typdeklarationen O Objectivity/DB ObjectStore Ontos OpenOBD POET UniSQL Statice Versant Referenzen Objektidentität Pfadausdrücke Vererbung Operationen Siehe Kapitel

Teil 2: Objektorientierte deduktive Datenbanken (DOOD)

Teil 2: Objektorientierte deduktive Datenbanken (DOOD) Teil 2: Objektorientierte deduktive Datenbanken (DOOD) Gerd Stumme Christoph Schmitz Wintersemester 2004/05 Nachteile relationaler Modellierung Polyeder PolyID (4,*) cubo#5 Hülle (1,1) Flächen (3,*) Begrzg

Mehr

Objektorientierte Datenbanken

Objektorientierte Datenbanken Objektorientierte Datenbanken Die regelmäßige tabellen-strukturierte Form relationaler Daten impliziert eine Reihe von Vorteilen. Dies betrifft auch die Implementierung: Tabellen (und Records) lassen sich

Mehr

Software-Engineering

Software-Engineering SWE42 Slide Software-Engineering Sebastian Iwanowski FH Wedel Kapitel 4: Systemanalyse Teil 2: Datenorientierte Sicht SWE42 Slide 2 Systemanalyse: Datenorientierte Sicht Entity-Relationship-Modellierung

Mehr

Datenbanken. Datenintegrität + Datenschutz. Tobias Galliat. Sommersemester 2012

Datenbanken. Datenintegrität + Datenschutz. Tobias Galliat. Sommersemester 2012 Datenbanken Datenintegrität + Datenschutz Tobias Galliat Sommersemester 2012 Professoren PersNr Name Rang Raum 2125 Sokrates C4 226 Russel C4 232 2127 Kopernikus C3 310 2133 Popper C3 52 2134 Augustinus

Mehr

Wiederholung: Relationale Algebra

Wiederholung: Relationale Algebra Vorlesung Datenbanksysteme vom 1.11.016 Wiederholung: Relationale Algebra Relationale Algebra Join-Operatoren Eigenschaften der relationalen Operatoren Grundlagen des relationalen Modells Seien D1, D,,

Mehr

Objektorientierte Datenbanken

Objektorientierte Datenbanken OODB 1 Slide 1 Objektorientierte Datenbanken Vorlesung 1 Sebastian Iwanowski FH Wedel OODB 1 Slide Organisatorisches Vorlesung Mittwochs, 09:30 10:5 Raum HS Übung Dienstags, 09:30 10:5 (erstmalig am 1.0.)

Mehr

Kapitel 5 Dr. Jérôme Kunegis. SQL: Grundlagen. WeST Institut für Web Science & Technologien

Kapitel 5 Dr. Jérôme Kunegis. SQL: Grundlagen. WeST Institut für Web Science & Technologien Kapitel 5 Dr. Jérôme Kunegis SQL: Grundlagen WeST Institut für Web Science & Technologien Lernziele Kenntnis der Grundkonzepte von SQL Fähigkeit zur praktischen Anwendung von einfachen SQL-Anweisungen

Mehr

Datenbanksysteme SS 2009

Datenbanksysteme SS 2009 Datenbanksysteme SS 2009 Kapitel 2: Konzeptuelle Modellierung Vorlesung vom 16.04.09 Oliver Vornberger Institut für Informatik Universität Osnabrück 1 Das Entity-Relationship-Modell voraussetzen Vorgänger

Mehr

Datenintegrität. Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen

Datenintegrität. Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen Datenintegrität Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen Formulierung von Integritätsbedingungen ist die wichtigste Aufgabe des DB-Administrators!

Mehr

Fortsetzung: Projektion Selektion. NULL Werte

Fortsetzung: Projektion Selektion. NULL Werte Fortsetzung: Anfragen mit SQL Bisher: Projektion Selektion Duplikatbehandlung NULL Werte Professoren PersNr Name Rang Raum 2125 Sokrates 226 2126 Russel 232 2127 Kopernikus C3 310 2133 Popper C3 52 2134

Mehr

Datenbanksysteme SS 2007

Datenbanksysteme SS 2007 Datenbanksysteme SS 2007 Frank Köster (Oliver Vornberger) Institut für Informatik Universität Osnabrück Kapitel 6b: Das relationale Modell Das Relationale Modell (vgl. Lerneinheit 6a) Wertebereiche (Domänen):

Mehr

Datenintegrität. Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen

Datenintegrität. Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen Datenintegrität Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen Formulierung von Integritätsbedingungen ist die wichtigste Aufgabe des DB-Administrators!

Mehr

Datenintegrität. Arten von Integritätsbedingungen. Statische Integritätsbedingungen. Referentielle Integrität. Integritätsbedingungen in SQL.

Datenintegrität. Arten von Integritätsbedingungen. Statische Integritätsbedingungen. Referentielle Integrität. Integritätsbedingungen in SQL. Datenintegrität Arten von Integritätsbedingungen Statische Integritätsbedingungen Referentielle Integrität Integritätsbedingungen in SQL Trigger 1 Datenintegrität Einschränkung der möglichen Datenbankzustände

Mehr

Grundlagen des relationalen Modells

Grundlagen des relationalen Modells Grundlagen des relationalen Modells Seien D 1, D,, D n Domänen (Wertebereiche) Relation: R D 1 x x D n Bsp.: Telefonbuch string x string x integer Tupel: t R Bsp.: t = ( Mickey Mouse, Main Street, 711)

Mehr

Grundlagen des relationalen l Modells

Grundlagen des relationalen l Modells Grundlagen des relationalen l Modells Seien D 1, D 2,..., D n Domänen (~Wertebereiche) Relation: R D 1 x... x D n Bsp.: Telefonbuch string x string x integer Tupel: t R Bsp.: t = ( Mickey Mouse, Main Street,

Mehr

Datenbanksysteme SS 2007

Datenbanksysteme SS 2007 Datenbanksysteme SS 2007 Frank Köster (Oliver Vornberger) Institut für Informatik Universität Osnabrück 1 Kapitel 6a: Das relationale Modell 2 Das Relationale Modell Wertebereiche (Domänen): D 1, D 2,,...,

Mehr

HPI MOOC. n-äre Relationships. Rollen von Relationships. Konvertierung in binäre Relationships. Attribute an Relationships

HPI MOOC. n-äre Relationships. Rollen von Relationships. Konvertierung in binäre Relationships. Attribute an Relationships HPI MOOC n-äre Relationships Rollen von Relationships Konvertierung in binäre Relationships Attribute an Relationships Entwurfskriterien Regeln zur Klassifikation von Entities und Attributen: Entities

Mehr

Grundlagen des relationalen Modells

Grundlagen des relationalen Modells Grundlagen des relationalen Modells Seien D 1, D 2,..., D n Relation: R D 1 Domänen (Wertebereiche) x... x D n Bsp.: Telefonbuch string x string x integer Tupel: t R Bsp.: t = ( Mickey Mouse, Main Street,

Mehr

Architektur eines DBMS Logische Optimierung

Architektur eines DBMS Logische Optimierung Vorlesung Datenbanksysteme vom 16.11.2015 Anfragebearbeitung 1 Architektur eines DBMS Logische Optimierung Physische Optimierung Kostenmodelle + Tuning Architektur eines DBMS SW-Komponenten der Anfragebearbeitung

Mehr

Das relationale Modell

Das relationale Modell Das relationale Modell Grundlagen Übersetzung von ER-Schemata in relationale Schemata Relationale Algebra Relationenkalkül Domänenkalkül Grundlagen des relationalen Modells Seien D 1, D 2,..., D n Domänen

Mehr

Objektbasierte und objektorientierte Datenbanken

Objektbasierte und objektorientierte Datenbanken Objektbasierte und objektorientierte Datenbanken in Vorlesung DB2 von Rainer Handel, Christoph Hautzinger Volker Schropp, Robert Westhäuser 15.04.2005 Inhalt (1) Von Volker Schropp Konzepte Grundkonzepte

Mehr

konzeptueller Entwurf mittels E/R-Modell einfache Funktionalitäten n-stellige Relationships (n>2) (siehe nächste zwei Folien) schwache Entities

konzeptueller Entwurf mittels E/R-Modell einfache Funktionalitäten n-stellige Relationships (n>2) (siehe nächste zwei Folien) schwache Entities Datenbankentwurf bisher: konzeptueller Entwurf mittels E/R-Modell einfache Funktionalitäten (min, max)-notation n-stellige Relationships (n>2) (siehe nächste zwei Folien) schwache Entities nun: Generalisierung,

Mehr

Grundlagen des relationalen Modells

Grundlagen des relationalen Modells Grundlagen des relationalen Modells Das relationale Modell Verfeinerung des relationalen Schemas Relationale Algebra Relationenkalkül Kapitel 3 1 Grundlagen des relationalen Modells Seien D 1, D,, D n

Mehr

Studierende, die diese Vorlesung hören, haben sich auch für folgende Lehrveranstaltungen interessiert:

Studierende, die diese Vorlesung hören, haben sich auch für folgende Lehrveranstaltungen interessiert: Studierende, die diese Vorlesung hören, haben sich auch für folgende Lehrveranstaltungen interessiert: Lehrangebot des FG Informationssysteme Modellierung Datenbanken Internet-Suchmaschinen Information

Mehr

Wie definieren wir das Relationen-

Wie definieren wir das Relationen- Wie definieren wir das Relationen- schema für eine Datenbank? Professoren PersNr Name Rang Raum 2125 Sokrates C4 226 2126 Russel C4 232 2127 Kopernikus C3 310 2133 Popper C3 52 2134 Augustinus C3 309 2136

Mehr

Acknowledgments. Datenmodellierung. Übersicht. Das Relationale Modell: Begriffsklärung VU , WS Das relationale Modell

Acknowledgments. Datenmodellierung. Übersicht. Das Relationale Modell: Begriffsklärung VU , WS Das relationale Modell Das relationale odell Das relationale odell Acknowledgments Datenmodellierung VU 184.685, WS 2015 Das relationale odell Sebastian Skritek Die Folien sind eine kleine Erweiterung der Folien von Katrin Seyr.

Mehr

Wiederholung VU Datenmodellierung

Wiederholung VU Datenmodellierung Wiederholung VU Datenmodellierung VU Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester

Mehr

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R 1.008. Vorlesung #5. SQL (Teil 3)

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R 1.008. Vorlesung #5. SQL (Teil 3) Vorlesung #5 SQL (Teil 3) Fahrplan Besprechung der Übungsaufgaben Rekursion Rekursion in SQL-92 Rekursion in DBMS- Dialekten (Oracle und DB2) Views (Sichten) - gespeicherte Abfragen Gewährleistung der

Mehr

Objektorientierte Datenbanken

Objektorientierte Datenbanken Objektorientierte Datenbanken Ein Kompaß für die Praxis rsl dpunkt.verlag 1 Der Weg zur Objektorientierung bei Datenbanksystemen 1 1.1 Zum Einsatz von Datenbanksystemen 1 1.2 Was sind Objekte? 3 1.3 Eigenschaften

Mehr

Objektrelationale Datenbanken

Objektrelationale Datenbanken Vorlesung Datenbanksysteme vom 26.11.2008 Objektrelationale Datenbanken Konzepte objektrelationaler DBs SQL:1999 OO vs. OR Konzepte objektrelationaler Datenbanken Große Objekte (LOBs: Large Objects) Mengenwertige

Mehr

Aufgabensammlung SQL SW4 1. Einfache Anfragen

Aufgabensammlung SQL SW4 1. Einfache Anfragen Aufgabensammlung SQL SW4 1. Einfache Anfragen Buch: Kapitel 4.6 und 4.7. Datenbank: Die folgenden Anfragen beziehen sich auf die Universitätsdatenbank des Buches. Alle Umlaute werden umschrieben (hören

Mehr

Referentielle Integrität

Referentielle Integrität Datenintegrität Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung statische Integritätsbedingungen Bedingungen an den Zustand der Datenbasis dynamische

Mehr

Referentielle Integrität

Referentielle Integrität Datenintegrität Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung statische Integritätsbedingungen Bedingungen an den Zustand der Datenbasis dynamische

Mehr

Objektorientierte Datenbanken

Objektorientierte Datenbanken OODB 11 Slide 1 Objektorientierte Datenbanken Vorlesung 11 Sebastian Iwanowski FH Wedel OODB 11 Slide 2 Wesentliche Eigenschaften von Hibernate Transparente Persistenz Transitive Persistenz (Persistenz

Mehr

7. Datenbankdefinitionssprachen

7. Datenbankdefinitionssprachen 7. Datenbankdefinitionssprachen SQL-DDL Teil der Standardsprache für relationale Datenbanksysteme: SQL ODL (Object Definition Language) für objektorientierte Datenbanksysteme nach dem ODMG-Standard VL

Mehr

Informatik für Ökonomen II: Datenintegrität. Prof. Dr. Carl-Christian Kanne

Informatik für Ökonomen II: Datenintegrität. Prof. Dr. Carl-Christian Kanne Informatik für Ökonomen II: Datenintegrität Prof. Dr. Carl-Christian Kanne 1 Konsistenzbedingungen DBMS soll logische Datenintegrität gewährleisten Beispiele für Integritätsbedingungen Schlüssel Beziehungskardinalitäten

Mehr

Rückblick: Entity-Relationship-Modell

Rückblick: Entity-Relationship-Modell Rückblick: Entity-Relationship-Modell Entity-Relationship-Modell für konzeptuellen Entwurf Entitytypen (entity types) (z.b. Studenten) Beziehungstypen (relationships) (z.b. hören) Attribute beschreiben

Mehr

Relationales Modell: SQL-DDL. SQL als Definitionssprache. 7. Datenbankdefinitionssprachen. Anforderungen an eine relationale DDL

Relationales Modell: SQL-DDL. SQL als Definitionssprache. 7. Datenbankdefinitionssprachen. Anforderungen an eine relationale DDL Relationales Modell: SQLDDL SQL als Definitionssprache SQLDDL umfaßt alle Klauseln von SQL, die mit Definition von Typen Wertebereichen Relationenschemata Integritätsbedingungen zu tun haben Externe Ebene

Mehr

Relationale Abfragesprachen

Relationale Abfragesprachen Relationale Abfragesprachen Relationale Abfragesprachen VO Datenmodellierung Katrin Seyr Institut für Informationssysteme Technische Universität Wien Katrin Seyr Seite 1 Relationale Abfragesprachen 1 Überblick

Mehr

Objektrelationale und erweiterbare Datenbanksysteme

Objektrelationale und erweiterbare Datenbanksysteme Objektrelationale und erweiterbare Datenbanksysteme Erweiterbarkeit SQL:1999 (Objekt-relationale Modellierung) In der Vorlesung werden nur die Folien 1-12 behandelt. Kapitel 14 1 Konzepte objekt-relationaler

Mehr

Datenbankentwurf. VO Datenmodellierung. Katrin Seyr. Institut für Informationssysteme Technische Universität Wien.

Datenbankentwurf. VO Datenmodellierung. Katrin Seyr. Institut für Informationssysteme Technische Universität Wien. Datenbankentwurf Datenbankentwurf VO Datenmodellierung Katrin Seyr Institut für Informationssysteme Technische Universität Wien Katrin Seyr Seite 1 Datenbankentwurf 1. Überblick Überblick Wiederholung:

Mehr

Datenmodellierung VU Einführung SS 2016

Datenmodellierung VU Einführung SS 2016 184.685 Datenmodellierung VU Einführung SS 2016 Nysret Musliu, Sebastian Skritek Institut für Informationssysteme Technische Universität Wien Nysret Musliu, Sebastian Skritek Seite 1 1. Motivation Motivation

Mehr

Das relationale Modell

Das relationale Modell Das relationale Modell Das relationale Modell VO Datenmodellierung Katrin Seyr Institut für Informationssysteme Technische Universität Wien Katrin Seyr Seite 1 Das relationale Modell 1. Überblick Überblick

Mehr

Kapitel 7 Dr. Jérôme Kunegis. Logische Kalküle. WeST Web Science & Technologies

Kapitel 7 Dr. Jérôme Kunegis. Logische Kalküle. WeST Web Science & Technologies Kapitel 7 Dr. Jérôme Kunegis Logische Kalküle WeST Web Science & Technologies Lernziele Grundideen des Domain-Relationenkalküls (DRK) und des Tupel-Relationenkalküls (TRK) Relationale Datenbank als Formelmenge

Mehr

Übersicht. Vorstellung des OO-Paradigmas

Übersicht. Vorstellung des OO-Paradigmas Java, OO und UML Vorstellung des OO-Paradigmas Übersicht Umsetzung des OO-Paradigmas in Java Einführung (seeeeeehr rudimenter) in UML zur graphischen Darstellung von OO Grammatik und Semantik von Java

Mehr

Datenintegrität. Bisherige Integritätsbedingungen

Datenintegrität. Bisherige Integritätsbedingungen Datenintegrität Integitätsbedingungen chlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung statische Bedingungen an den Zustand der Datenbasis dynamische Bedingungen an Zustandsübergänge

Mehr

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen Kapitel 9 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Attribute von Klassen, Methoden und Variablen Interfaces WS 07/08 1/ 18 2/ 18

Mehr

E-R-Modell zu Relationenschema

E-R-Modell zu Relationenschema Raum: LF 230 Nächste Sitzung: 27./30. Oktober 2003 Aktuelle Informationen unter: http://www.is.informatik.uni-duisburg.de/teaching/lectures/dbp_ws03/index.html E-R-Modell zu Relationenschema Als zweiter

Mehr

Termin 12: Datenbanksysteme (2) - Einführung in SQL

Termin 12: Datenbanksysteme (2) - Einführung in SQL Termin 12: Datenbanksysteme (2) - Einführung in SQL Grundlagen der Informatik Wintersemester 2006/07 Prof. Bernhard Jung Übersicht 1. Einführung SQL 2. Datenbankanfragen mit SQL (select from where) 3.

Mehr

UML (Unified Modelling Language) von Christian Bartl

UML (Unified Modelling Language) von Christian Bartl UML (Unified Modelling Language) von Inhaltsverzeichnis Inhaltsverzeichnis... 2 1 UML Unified Modelling Language... 3 2 Diagrammtypen... 3 2.1 Aktivitätsdiagramm... 3 2.1.1 Notation... 4 2.1.2 Beispieldiagramm...

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung Kapitel 6 Vererbung Vererbung 1 Ziele Das Vererbungsprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen

Mehr

Relationale Kalküle. Grundlagen der Datenbanken. Dr. Jérôme Kunegis Wintersemester 2013/14

Relationale Kalküle. Grundlagen der Datenbanken. Dr. Jérôme Kunegis Wintersemester 2013/14 Web Science & Technologies University of Koblenz Landau, Germany Grundlagen der Datenbanken Dr. Jérôme Kunegis Wintersemester 2013/14 Lernziele Grundideen des Domänen-Relationenkalküls (DRK) und des Tupel-Relationenkalküls

Mehr

6 Implementierung komplexer Systeme. 6.2 Datenbank-Anbindung

6 Implementierung komplexer Systeme. 6.2 Datenbank-Anbindung 6 Implementierung komplexer Systeme 6.2 Datenbank-Anbindung Analyse Entwurf Implementierung Test, Integration Wartung Literatur: Balzert LE 24-26, 31 Ambler Kap. 10 Einsatz von Datenbanksystemen Persistente

Mehr

Datenbanksysteme (1)

Datenbanksysteme (1) Kapitel 18: Datenbanksysteme (1) Einführung in die Informatik Wintersemester 2007/08 Prof. Bernhard Jung Übersicht Datenbanken und Datenbanksysteme Entity/Relationship-Modell (ERM) Das Relationale Datenmodell

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

Mehr

Java, OO und UML Fortsetzung

Java, OO und UML Fortsetzung Java, OO und UML Fortsetzung Das Objektorientierte Paradigma OO bildet keine geschlossene theoretisch abgegrenzte Basis (wie z.b. das Relationsmodell relationaler Datenbanken) OO ist eine Sammlung und

Mehr

Rückblick: Datenbankentwurf

Rückblick: Datenbankentwurf Rückblick: Datenbankentwurf Entity-Relationship-Modell für konzeptuellen Entwurf Entitytypen (entity types) (z.b. Studenten) Beziehungstypen (relationships) (z.b. hören) Attribute beschreiben Gegenstände

Mehr

Datenmodellierung. VU , WS 2016 Das relationale Modell. Nysret Musliu, Sebastian Skritek

Datenmodellierung. VU , WS 2016 Das relationale Modell. Nysret Musliu, Sebastian Skritek Das relationale Modell Datenmodellierung VU 184.685, WS 2016 Das relationale Modell Nysret Musliu, Sebastian Skritek Institut für Informationssysteme Technische Universität Wien Nysret Musliu, Sebastian

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

Mehr

Analyse und praktischer Vergleich von neuen Access- Layer-Technologien in modernen Webanwendungen unter Java. Oliver Kalz

Analyse und praktischer Vergleich von neuen Access- Layer-Technologien in modernen Webanwendungen unter Java. Oliver Kalz Analyse und praktischer Vergleich von neuen Access- Layer-Technologien in modernen Webanwendungen unter Java Oliver Kalz Agenda Grundlagen Objektpersistenz Objektrelationales Mapping Performance Fazit

Mehr

Programmieren II. Innere Klassen. Heusch 10, Ratz 5.2.1, Institut für Angewandte Informatik

Programmieren II. Innere Klassen. Heusch 10, Ratz 5.2.1, Institut für Angewandte Informatik Programmieren II Innere Klassen Heusch 10, 13.10 Ratz 5.2.1, 9.8 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Innere Klassen Bisher kennen wir nur Klassen, die entweder zusammen

Mehr

10. Programmierungs-Phase: Objektorientierung Software Engineering

10. Programmierungs-Phase: Objektorientierung Software Engineering 10. Programmierungs-Phase: Objektorientierung Software Engineering Fachhochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm FH Darmstadt, 15. Dezember 2005 Einordnung in den Kontext

Mehr

Gebundene Typparameter

Gebundene Typparameter Gebundene Typparameter interface StringHashable { String hashcode(); class StringHashMap { public void put (Key k, Value v) { String hash = k.hashcode();...... Objektorientierte

Mehr

Kapitel 8. Programmierkurs. Methoden. 8.1 Methoden

Kapitel 8. Programmierkurs. Methoden. 8.1 Methoden Kapitel 8 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Methoden Überladen von Methoden Der this-zeiger Konstruktoren Vererbung WS 07/08

Mehr

Datenbanksysteme Vorlesung vom noch Kapitel 7: SQL. Oliver Vornberger. Institut für Informatik Universität Osnabrück

Datenbanksysteme Vorlesung vom noch Kapitel 7: SQL. Oliver Vornberger. Institut für Informatik Universität Osnabrück Datenbanksysteme 2009 Vorlesung vom 19.05.2009 noch Kapitel 7: SQL Oliver Vornberger Institut für Informatik Universität Osnabrück SQL: Self Join 15.) Liste die Namen der Assistenten, die für denselben

Mehr

SQL. SQL: Structured Query Language. Früherer Name: SEQUEL. Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99

SQL. SQL: Structured Query Language. Früherer Name: SEQUEL. Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99 SQL Früherer Name: SEQUEL SQL: Structured Query Language Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99 SQL ist eine deklarative Anfragesprache Teile von SQL Vier große Teile:

Mehr

Kapitel 1: Einführung 1.1 Datenbanken?

Kapitel 1: Einführung 1.1 Datenbanken? Kapitel 1: Einführung 1.1 Datenbanken? 1. Einführung 1.1. Datenbanken Grundlagen der Datenbanksysteme, WS 2012/13 29. Oktober 2012 Seite 1 1. Einführung 1.1. Datenbanken Willkommen! Studierenden-Datenbank

Mehr

Kapitel 5: Objektorientierte DB-Modelle & ODMG

Kapitel 5: Objektorientierte DB-Modelle & ODMG Vorlesung " WS 98/99 Kapitel 5: Objektorientierte DB-Modelle & ODMG Relationales Datenmodell (RDM) Netzwerk- und Hierarchisches Datenmodell (NDM, HDM) Objektorientierte Datenmodelle (OODM) Objektrelationale

Mehr

Beispiele für Ausdrücke. Der imperative Kern. Der imperative Kern. Imperativer Kern - Kontrollstrukturen. Deklarationen mit Initialisierung

Beispiele für Ausdrücke. Der imperative Kern. Der imperative Kern. Imperativer Kern - Kontrollstrukturen. Deklarationen mit Initialisierung Beispiele für Ausdrücke Der imperative Kern Deklarationen mit Initialisierung Variablendeklarationen int i = 10; int j = 15; Beispiele für Ausdrücke i+j i++ i & j i j [] [static]

Mehr

Objektorientiertes Programmieren in C++

Objektorientiertes Programmieren in C++ Nicolai Josuttis Objektorientiertes Programmieren in C++ Von der Klasse zur Klassenbibliothek D-64289 Darmstadt ADDISON-WESLEY PUBLISHING COMPANY Bonn Paris Reading, Massachusetts Menlo Park, California

Mehr

7. Objektorientierte Softwareentwicklung/3. Informatik II für Verkehrsingenieure

7. Objektorientierte Softwareentwicklung/3. Informatik II für Verkehrsingenieure 7. Objektorientierte Softwareentwicklung/3 Informatik II für Verkehrsingenieure Überblick FOLGENDE BEGRIFFE/PRINZIPIEN SOLLTEN BEKANNT SEIN Objekte Klasse Attribute Fähigkeiten ZIEL DER HEUTIGEN LEHRVERANSTALTUNG

Mehr

OOP und Angewandte Mathematik. Eine Einführung in die Anwendung objektorientierter Konzepte in der angewandten Mathematik

OOP und Angewandte Mathematik. Eine Einführung in die Anwendung objektorientierter Konzepte in der angewandten Mathematik Eine Einführung in die Anwendung objektorientierter Konzepte in der angewandten Mathematik WS 2011/12 Inhalt Test-Besprechung! Ziele verdeutlichen Große Bild von OOP Wiederholung: Einbettung als Technik

Mehr

Theorie zu Übung 8 Implementierung in Java

Theorie zu Übung 8 Implementierung in Java Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Theorie zu Übung 8 Implementierung in Java Klasse in Java Die Klasse wird durch das class-konzept

Mehr

Vorlesung. Grundlagen betrieblicher Informationssysteme. Prof. Dr. Hans Czap. Email: Hans.Czap@uni-trier.de. Lehrstuhl für Wirtschaftsinformatik I

Vorlesung. Grundlagen betrieblicher Informationssysteme. Prof. Dr. Hans Czap. Email: Hans.Czap@uni-trier.de. Lehrstuhl für Wirtschaftsinformatik I Vorlesung Grundlagen betrieblicher Informationssysteme Prof. Dr. Hans Czap Email: Hans.Czap@uni-trier.de - II - 1 - Inhalt Kap. 1 Ziele der Datenbanktheorie Kap. 2 Datenmodellierung und Datenbankentwurf

Mehr

Probeklausur: Programmierung WS04/05

Probeklausur: Programmierung WS04/05 Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung Bis jetzt kennen wir (fast) nur primitive Datentypen. Diese entsprechen weitestgehend der Hardware des Rechners (z.b. besitzt ein Rechner Hardware um zwei floats zu addieren).

Mehr

Objektorientierte Programmierung. Kapitel 12: Interfaces

Objektorientierte Programmierung. Kapitel 12: Interfaces 12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/

Mehr

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung Javakurs FSS 2012 Lehrstuhl Stuckenschmidt Tag 3 - Objektorientierung Warum Objektorientierung Daten und Funktionen möglichst eng koppeln und nach außen kapseln Komplexität der Software besser modellieren

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 09: Vererbung Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil Einführung in die Vererbung Motivation Das Schlüsselwort extends Einführendes

Mehr

B Java RMI B.2 B.4. 1 Java. 1.2 Methoden. 1.1 Objekte (2) 1.1 Objekte. Objektorientierte Sprache. Klassenbeschreibung. Methode ist eine Art Funktion

B Java RMI B.2 B.4. 1 Java. 1.2 Methoden. 1.1 Objekte (2) 1.1 Objekte. Objektorientierte Sprache. Klassenbeschreibung. Methode ist eine Art Funktion 1 Java 1.1 e B Java RMI orientierte Sprache e beschrieben in Klassendefinitionen und andere Datentypen: int, float, boolean, etc. referenzen Verweise auf e keine Zeiger, Adressen o.ä. B.1 B.2 1.1 e (2)

Mehr

Arbeitsblätter zu Teil I des Praktikums

Arbeitsblätter zu Teil I des Praktikums Arbeitsblätter zu Teil I des Praktikums Allgemeine Hilfsmittel Bitte benutzen Sie bei Schwierigkeiten mit spezifischem Domänenwissen das Internet als Recherchemöglichkeit (beispielsweise Google oder Wikipedia).

Mehr

Die Unified Modeling Language UML

Die Unified Modeling Language UML Informatik II: Modellierung Prof. Dr. Martin Glinz Kapitel 4 Die Unified Modeling Language UML Universität Zürich Institut für Informatik Inhalt 4.1 Hintergrund 4.2 Grundkonzepte der UML 4.3 Die Rolle

Mehr

Programmieren 2 Java Überblick

Programmieren 2 Java Überblick Programmieren 2 Java Überblick 1 Klassen und Objekte 2 Vererbung 4 Innere Klassen 5 Exceptions 6 Funktionsbibliothek 7 Datenstrukturen und Algorithmen 8 Ein-/Ausgabe 9 Graphische Benutzeroberflächen 10

Mehr

Konzeptueller Entwurf

Konzeptueller Entwurf Konzeptueller Entwurf UML Klassendiagrame UML Assoziationen Entspricht Beziehungen Optional: Assoziationsnamen Leserichtung ( oder ), sonst bidirektional Rollennamen Kardinalitätsrestriktionen UML Kardinalitätsrestriktionen

Mehr

Datenbanksysteme 2011

Datenbanksysteme 2011 Datenbanksysteme 2011 Anfang von Kapitel 10: Datenbankapplikationen Vorlesung vom 06.06.2011 Oliver Vornberger Institut für Informatik Universität Osnabrück Datenbankapplikationen ODBC MS Visio MS Access

Mehr

4. Objektrelationales Typsystem Kollektionstypen. Nested Table

4. Objektrelationales Typsystem Kollektionstypen. Nested Table Nested Table Bei einer Nested Table handelt es sich um eine Tabelle als Attributwert. Im Gegensatz zu Varray gibt es keine Beschränkung bei der Größe. Definition erfolgt auf einem Basistyp, als Basistypen

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren Unified Modeling Language (UML) Dr. Dennis Pfisterer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/pfisterer Unified Modeling Language (UML)

Mehr

Präsentation Interfaces

Präsentation Interfaces Einführung in Java Präsentation Interfaces Nozar Delassaei Marvi Inhalt 1. Erinnerung Klasse Objekte Beispiel Klasse Abstrakte Klasse Beispiel Abstrakte Klasse Mehrfachvererbung-1 Mehrfachvererbung-2 2.

Mehr

Klassen- und Objektmodelle

Klassen- und Objektmodelle Informatik II: Modellierung Prof. Dr. Martin Glinz Kapitel 5 Klassen- und Objektmodelle Universität Zürich Institut für Informatik 5.1 Grundkonzepte Idee: Beschreibung eines Systems durch eine Menge von

Mehr

Datenbanken I - Einführung

Datenbanken I - Einführung - Einführung April, 2011 1 von 30 Outline 1 Organisatorisches 2 Vorlesungsinhalt 3 Begrisklärung 4 Motivation 5 Abstraktion 6 Datenmodelle 7 Literaturangabe 2 von 30 Scheinkriterien Belegübung Regelmäÿige

Mehr

Einführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005

Einführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Einführung in Java PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Gliederung 1. Was ist Java / Geschichte von Java 2. Prinzip der Plattformunabhängigkeit 3. Wie kommt man vom Quellcode zum Programm

Mehr

Teil 2: OOP und JAVA (Vorlesung 11)

Teil 2: OOP und JAVA (Vorlesung 11) Teil 2: OOP und JAVA (Vorlesung 11) Modul: Programmierung B-PRG Grundlagen der Programmierung II Prof. Dot.-Ing. Roberto Zicari Professur für Datenbanken und Informationssysteme (FB 12) 28.06.06 1 Teil

Mehr

Übung 1 mit C# 6.0 MATTHIAS RONCORONI

Übung 1 mit C# 6.0 MATTHIAS RONCORONI Übung 1 mit C# 6.0 MATTHIAS RONCORONI Inhalt 2 1. Überblick über C# 2. Lösung der Übung 1 3. Code 4. Demo C# allgemein 3 aktuell: C# 6.0 mit.net-framework 4.6: Multiparadigmatisch (Strukturiert, Objektorientiert,

Mehr

OO Programmiersprache vs relationales Model. DBIS/Dr. Karsten Tolle

OO Programmiersprache vs relationales Model. DBIS/Dr. Karsten Tolle OO Programmiersprache vs relationales Model Vorgehen bisher Erstellen eines ER-Diagramms Übersetzen in das relationale Datenmodell Zugriff auf das relationale Datenmodell aus z.b. Java ER rel. Modell OO

Mehr

Repetitorium Informatik (Java)

Repetitorium Informatik (Java) Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen

Mehr

Einführung in die Objektorientierung

Einführung in die Objektorientierung Rainer Schmidberger Rainer.Schmidberger@informatik.uni-stuttgart.de Objektorientiert daisy : Kunde 2. angebot Nein Prozedural Schleife über alle Projekte Noch was zu tun? Manager informieren... Ja Daten

Mehr

Programmieren I. Kapitel 8. Vererbung

Programmieren I. Kapitel 8. Vererbung Programmieren I Kapitel 8. Vererbung Kapitel 8: Vererbung Ziel: Wesentliches objektorientiertes Konzept kennenlernen Subtypen Idee Probleme und Varianten Vererbung in Java dynamische Bindung abstrakte

Mehr

Objektorientierte Softwareentwicklung

Objektorientierte Softwareentwicklung Objektorientierte Softwareentwicklung Analyse- und Designmethoden Analyse- & Designmethoden Strukturierte, traditionelle Methoden Objektorientierte Methoden Funktionsorientierte Methoden Datenorientierte

Mehr

4. Objektrelationales Mapping Grundlagen der Programmierung II (Java)

4. Objektrelationales Mapping Grundlagen der Programmierung II (Java) 4. Objektrelationales Mapping Grundlagen der Programmierung II (Java) Prof. Dr. Bernhard Humm Hochschule Darmstadt University of Applied Sciences Sommersemester 2006 Übersicht Grundlagen der Programmierung

Mehr