Philipp Cimiano AG Semantische Datenbanken und Wissensverarbeitung
|
|
- Gisela Schumacher
- vor 5 Jahren
- Abrufe
Transkript
1 Einführung in Datenbanken - Objekt-Orientierte Datenbanken - Philipp Cimiano AG Semantische Datenbanken und Wissensverarbeitung 1 Probleme mit dem relationalen Modell Das Typsystem des relationalen Modells ist sehr eingeschränkt. Es werden z.b. keine komplexen Datentypen unterstützt. Außerdem gibt es im relationalen Modell keine explizite Vererbung. Das E-R unterstützt zwar Vererbung, aber diese kann im relationalen Modell nicht direkt umgesetzt werden. 2
2 Das Objektrelationale Modell Das sogenannte Objektrelationale Modell erweitert das relationale Modell um: komplexe Datentypen Vererbung Objektorientierung (z.b. Definition von Methoden für Objekte usw.) 3 Motivation Probleme mit dem Typsystem: wenn das Typsystem des DBMS und das der Programmiersprache (z.b. Java, C++) nicht übereinstimmten, dann ist es sehr schwierig die Datenbank in Applikationen zu verwenden: Es müssen ständig Typen konvertiert werden (Fallunterscheidungen!) Es müssen aus der Datenbank komplexe Datentypen erzeugt werden und umgekehrt. 4
3 Komplexe Datentypen Wir können im Objektrelationalen Modell komplexe Datentypen wie folgt erzeugen: create type Name as ( firstname varchar(20), lastname varchar(20)) final Wobei final besagt, dass wir keine Untertypen erzeugen können! 5 Beispiel: komplexer Datentyp Adresse create type Address as ( street varchar(20), city varchar(20), zipcode varchar(9)) not final 6
4 Verwendung von komplexen Datentypen 7 Wir können nun komplexe Datentypen in der Definition von anderen komplexen Datentypen verwenden: create type CustomerType as ( name Name, address Address, dateofbirth date) not final Und nun erzeugen wir eine Tabelle, die diesen komplexen Datentypen verwendet: create table customer of CustomerType Definition von Methoden Als weiteres objektorientiertes Merkmal können wir Methoden auf den komplexen Datentypen definieren: create type CustomerType as ( name Name, address Address, dateofbirth date) not final method ageondate(date date) returns interval year; 8
5 Impementierung von Methoden 9 Solche Methoden müssen natürlich auch in der Datenbank implementiert werden: create instance method ageondate (date date) returns interval year for CustomerType begin return ondate self.dateofbirth; end Wobei self sich natürlich auf die Instanz bezieht, auf der die Methode aufgerufen wird (analog zu this in Java) Verwendung von Methoden in Anfragen Nun können wir z.b. folgende Anfrage stellen: select name.lastname, ageondate(current_date) from customer 10
6 Erzeugung von Instanzen von komplexen Datentypen mittels Konstruktoren Um nun Instanzen von komplexen Datentypen erzeugen zu können brauchen wir Konstruktoren. Solche Konstruktoren werden durch sogenannte constructor functions realisiert. Sie sehen wie folgt aus: create function Name(firstname varchar(20), lastname varchar (20)) returns Name begin set self.firstname = firstname; set self.lastname = lastname; end 11 Erzeugung von neuen Objekten Wir können nun neue Objekte einfach mit new erzeugen: new Name( John, Smith ) 12
7 Einfügen von Objekten in eine Tabelle Beim Einfügen von Objekten in eine Tabelle erzeugen wir dann neue Objekte mit dem Konstruktor: insert into Customer values (new Name ( John, Smith ), new Address( 20 Main St., New York, ), date ) 13 Typvererbung Im objektrelationalen Modell haben wir tatsächlich eine explizite Typvererbung: create type Person ( name varchar(20), address varchar(20)) 14 create type Student under Person (degree varchar(20), department varchar(20)) create type Teacher under Person (salary integer, department varchar(20))
8 Vererbung Ein Subtyp erbt natürlich alle Attribute und alle Methoden von dem entsprechenden Supertyp. Es können Methoden natürlich auch neu definiert werden. Man sagt dann die Methode ist überschrieben. Ein Subtyp kann im Prinzip von mehrere Supertypen erben. Man spricht dann von multipler Vererbung (multiple inheritance). SQL unterstützt aber nur einfache Vererbung (sowie Java). 15 Tabellenvererbung Wir können nun auch Tabellen voneinander erben lassen: create table people of Person create table students of Student under people; create table teachers of Teacher under people; 16
9 Implikationen der Vererbung von Tabellen Wenn wir Tabellen vererben, dann muss der Typ der Sub- Tabelle ein Subtyp des Typs der Super-Tabelle sein. Wenn wir Tabellen vererben, dann ist jedes Tupel in der Sub-Tabelle auch automatisch in der Super-Tabelle (wichtig für Anfragen!). 17 Wenn wir ein Tupel aus der Super-Tabelle löschen, dann ist es aus allen Sub-Tabellen automatisch auch gelöscht, z.b. durch: delete from people where P Beschränkungen zur Vererbung von Tabellen Es müssen bestimmte Bedingungen bei der Vererbung von Tabellen erfüllt sein: Definition (Entsprechung von Tupeln): Ein Tupel t entspricht einem Tupel t in einer Super-Tabelle gdw. beide (t und t ) auf den vererbten Attributen die gleichen Werte haben. 18
10 Konsistenzbedingungen für Vererbung von Tabellen Konsistenzbedingung 1: Ein Tupel aus der Super-Tabelle kann höchstens einem Tupel aus einer bestimmten Sub- Tabelle entsprechen. Wir können dann keine zwei verschiedenen Studenten (Sub- Tabelle von Person) haben mit dem gleichen Namen und Adresse haben. 19 Konsistenzbedingungen für Vererbung von Tabellen Konsistenzbedingung 2: Ein Tupel in einer Sub-Tabelle darf höchstens einem Tupel (in einer Super-Tabelle) entsprechen (keine multiple Vererbung also). 20
11 Arrays, Multisets, Kollektionen SQL untersützt Arrays (seit SQL:1999) und Multisets (seit SQL:2003). Beispiel: Nehmen wir an, wir wollen Bücher modellieren mit ihrem Titel, Autoren (geordnet), Schlagwörtern (ungeordnet) und Verleger. 21 Bsp: Modellierung von Büchern Bücher haben einen Titel (String) Bücher haben eine Liste von Autoren (geordnet) Bücher haben eine Menge von Schlagwörtern (ungeordnet) Bücher haben einen Verlag (Name, Ort) 22
12 Modellierung von Büchern 23 create type Publisher as (name varchar(20), branch varchar(20)) create type Book as (title varchar(20), authors varchar(20) array [10], pub_date date, publisher Publisher, keywords varchar(20) multiset) create table books of Book Einfügen von Tupeln in die Tabelle `books insert into books values ( Compilers, array[ Smith, Jones ], new Publisher( McGraw-Hill, New York ), multiset[ parsing, analysis ]) 24
13 Anfragen von Kollektionen Um auf einzelne Elemente in einer Kollektion zugreifen zu können (in einer Anfrage), gibt es das Schlüsselwort unnest : select title from books where database in (unnest(keyword_set)) Diese Anfrage liefert dann die Titel aller Bücher zurück, die `database als eines der Schlüsselwörter haben. 25 Anfragen von Arrays über Position Wir können natürlich auch auf bestimmte Positionen in einem Array gezielt zugreifen: select authors[1], authors[2], authors[3] from books where title= Database System Concepts 26
14 Identität in Objekt-Orientierten Datenbanken Wir müssen natürlich Objekte eindeutig und explizit identifizieren. Wir wollen eine sogenannte persistente Identität herstellen, so dass Objekte über Applikationen und Ausführungen von bestimmten Programmen hinweg eindeutig identifiziert und gespeichert werden können. Wir brauchen natürlich auch IDs um Verweise auf andere Objekte einzuführen. 27 Referenzen auf Objekte in anderen Tabellen Wir können in einer Tabelle Referenzen auf Objekte in anderen Tabellen erzeugen (Fremdschlüssel). Eine Abteilung hat z.b. einen Leiter. Dieser Leiter ist eine Person und sollte in der Tabelle Person enthalten sein. Wir halten also für jedes Objekt vom Typ Abteilung eine Referenz auf ein Objekt des Typs Person. 28
15 Referenzen auf andere Objekte Eine Referenz auf ein anderes Objekt erstellt man in objektrelationalen Versionen von SQL so: create type Department ( name varchar(20), ) head ref(person) scope people create table departments of Department d.h. Department referenziert ein Objekt vom Typ Person in der Tabelle people. 29 Persistente Speicherung von solchen Referenzen Um solche Referenzen persistent speichern zu können brauchen wir also IDs. Wir können entweder die ID für ein Objekt von dem DBMS selbst generieren lassen: create table people of Person ref is person_id system generated Oder explizit vom Anwender bei der Erzeugung eines Objektes angeben lassen: create table people of Person ref is person_id user generated 30
16 Persistente Programmiersprachen Eine persistente Programmiersprache ist eine Programmiersprache, die erweitert ist um Konstrukte, um Daten persistent speichern zu können. Persistent bedeutet hier, dass die Daten unabhängig von einer bestimmten Ausführung eines Programms explizit abgelegt werden. Bisher haben wir SQL immer in Java eingebettet. Da spricht man von embedded SQL, d.h. wir betten SQL Befehle in eine Programmiersprache ein. 31 Unterschiede zwischen persistenten Programmiersprachen und embedded SQL Bei persistenten Programmiersprachen stimmt das Typsystem der Programmiersprache und der Datenbank überein (im Gegensatz zu eingebettetem SQL) Bei eingebetteten Programmiersprachen muss der Anwender sich um die persistente Speicherung der Objekte kümmern (d.h. Schreiben in die Datenbank) oder aktualisieren der Daten nach Änderung in der Datenbank. 32
17 Arten der Persistenz (in OO Systemen) Es gibt verschiedene Arten wie man Persistenz von Daten in persistenten Programmiersprachen realisieren kann: Persistente Klassen: Wenn bestimmte Klassen als persistent definiert werden, dann werden alle erzeugten Objekte auch persistent abgespeichert. Persistenz bei Erzeugung: Man gibt bei der Erzeugung eines Objektes an, ob es persistent abgespeichert werden soll oder nicht. Markierung: man kann während der Laufzeit Objekte als persistent kennzeichnen. 33 Bsp: Das Java Data Objects (JDO) Framework Das JDO Framework stellt eine Schicht dar, mit der Entwickler die persistente Speicherung von Objekten in Java realisieren können. 34
18 JDO Architektur 35 Verschiedene Arten von Klassen JDO stellt im Wesentlichen auch ein Typsystem von Klassen zur Verfügung: Persistent-capable: Klassen, die persistent gespeichert werden können. Persistence-aware: Klassen, die persistent-capable Klassen manipulieren und z.b. ihren Status bzg. Persistenz ändern können. Normal: normale Java Klassen 36
19 Bemerkungen Java Data Objects (JDO) Persistenz durch Markierung: Es wird eine Methode des sogenannten PersistenceManagers aufgerufen, um mit makepersistent(object) Objekte persistent zu machen. Die Extension von Klassen (d.h. alle Elemente die die Klasse instantiieren) werden persistent abgespeichert. Uniforme Referenz: Es wird in der Programmiersprache nicht unterschieden, ob man auf ein persistentes Objekt oder auf ein Objekt im Speicher zugreift (Methodenaufrufe, Punkt-Notation etc.) 37 Beispiele PersistenceManagerFactory pmf = JDOHelper.getPersistenceManagerFactory(props); PersistenceManager pm = pmf.getpersistencemanager(); Employee emp = new Employee("Sarah Jones", 23, ); pm.makepersistent(emp); 38
20 Verwendung von JDO 1. Klassen werden ganz normal spezifiziert und implementiert. 2. Durch Metadaten in XML definiert man das Persistenzverhalten (welche Daten persistent gespeichert werden sollen etc.) 3. Die Klassen werden anhand der Metadaten automatisch erweitert (entweder direkt der source code oder bytecode). 4. Das Framework muss an das DBMS angepasst werden. 5. Ein Datenbankschema muss erstellt werden. 39 Spezifikation einer Klasse public class Book { private String name; private Author author; public Book(String name, Author author) { this.name = name; this.author = author; } protected Book() {} public String getname() { return name; } public void setname(string name) { this.name = name; } public Author getauthor() { return author; } public void setauthor(author author) { this.author = author} } 40
21 Metadata in XML <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE jdo SYSTEM "jdo.dtd"> <jdo> <package name="com.corejdo.examples.model"> <class name="book"> <field name="author persistence-modifier="persistent"/> </class> </package> </jdo> 41 Verwendung von JDO 42 JDO ist ein Framework und kann mit verschiedenen DBMS Systemen verwendet werden. Ein Vertreiber eines DBMS (z.b. Oracle) kann nun das JDO Framework für das eigene DBMS implementieren und vertreiben. Anwender können nun beliebig zwischen verschiedenen Implementierungen des JDO Frameworks wechseln (Javacode muss nicht geändert werden!). Für jede Implementierung des JDO Frameworks können unterschiedliche Informationen in den Metadaten angegeben werden (z.b. in welcher relationalen Tabelle ein Objekt gespeichert werden soll).
Objektorientierung unter Oracle richtet sich einerseits nach objekt-orientierten Programmiersprachen wie Java,
Tipps & Tricks: Objektorientierung Bereich: PLSQL Erstellung: 032001 HA Versionsinfo: 9.2, 10.2, 11.1 Letzte Überarbeitung: 062009 HA Objektorientierung unter Oracle Objektorientierung unter Oracle richtet
MehrObjektorientierte PL/SQL-Entwicklung Ein Erfahrungsbericht aus Sicht von JAVA-Entwicklern
Thema Objektorientierte PL/SQL-Entwicklung Ein Erfahrungsbericht aus Sicht von JAVA-Entwicklern Referent: Frank Sanders Seite 1 Inhalt Der Vortrag hat einen sehr kurzen Einleitungsteil der sich mit Objektorientierung
Mehr4. 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
MehrObjektrelationale Datenbanken. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München
Kapitel 6 Objektrelationale Datenbanken Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München 2008 Thomas Bernecker, Tobias Emrich unter Verwendung der Folien des Datenbankpraktikums aus dem
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 11: 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
Mehr10. Datenbank Design 1
1 Die Hauptaufgabe einer Datenbank besteht darin, Daten so lange zu speichern bis diese explizit überschrieben oder gelöscht werden. Also auch über das Ende (ev. sogar der Lebenszeit) einer Applikation
MehrUni Duisburg-Essen Fachgebiet Informationssysteme Prof. Dr. N. Fuhr
Raum: LF 230 Nächste Sitzung: 19./22. Januar 2004 Die Dokumentation zu DB2 steht online zur Verfügung. Eine lokale Installation der Dokumentation findet sich unter der Adresse http://salz.is.informatik.uni-duisburg.de/db2doc/de_de/index.htm.
MehrJavakurs 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
MehrJava Einführung Vererbung und Polymorphie. Kapitel 13
Java Einführung Vererbung und Polymorphie Kapitel 13 Inhalt Klassifikation (UML) Implementierung von Vererbungshierarchien Überschreiben von Methoden Polymorphismus: Up-Casting und Dynamisches Binden Schlüsselwort
MehrObjektorientierung. Klassen und Objekte. Dr. Beatrice Amrhein
Objektorientierung Klassen und Objekte Dr. Beatrice Amrhein Überblick Konzepte der Objektorientierten Programmierung Klassen und Objekte o Implementierung von Klassen o Verwendung von Objekten 2 Konzepte
MehrVorlesung Datenbanken II SS 2006
Vorlesung Datenbanken II SS 2006 1 Vorlesung Datenbanken II SS 2006 Sven Wachsmuth, Technische Fakultät, AG Angewandte Informatik Vorlesung Datenbanken II SS 2006 2 Objektorientierte Modelle: Paradigma
MehrUML/OCL für die Integritätssicherung in Datenbankanwendungen
UML/OCL für die Integritätssicherung in Datenbankanwendungen Zwischenbericht Diplom Inhalt des Vortrages Motivation der Arbeit Konzept für die Integritätssicherung Musterkatalog Å Probleme/Lösungen Tool-Gesamtkonzept
MehrInstitut für Programmierung und Reaktive Systeme. Java 7. Markus Reschke
Institut für Programmierung und Reaktive Systeme Java 7 Markus Reschke 14.10.2014 Vererbung in Java Vererbung ermöglicht es, Klassen zu spezialisieren Wiederverwendung vorhandener Klassen Kindsklasse erhält
MehrObjektorientierte Datenbanken
Objektorientierte Datenbanken Ralf Möller, FH-Wedel z Beim vorigen Mal: y Java Data Objects Teil 2, Queries z Heute: y Java Data Objects Teil 3, Objektidentität z Lernziele: y Grundlagen der Programmierung
MehrObjekt-relationales Datenbanksystem Oracle
Objekt-relationales Datenbanksystem Oracle 1 Benutzerdefinierte Datentypen 1.1 Unvollständige Typen create-incomplete-type OR 1.2 Kollektionstypen REPLACE TYPE type-name create-varray-type OR TYPE type-name
MehrSchlussendlich geben wir die Listen aus. Es kommt zu folgender Ausgabe:
Musterlösung Übung 7 Aufgabe 1 Sehen wir uns zu allererst das gegebene Forth Programm an: 0 3 new - list constant list1 list1 5 new - list constant list2 list1 6 new - list constant list3 list2 2 new -
MehrOR-Mapping. WS2008/2009 DBIS/Dr. Karsten Tolle
OR-Mapping Zwei Paradigmen treffen aufeinander Gegensätze OO vs. Relational: Stichwort: O/R Impedance Mismatch Person Tabellen mit Schlüssel und Fremdschlusselbeziehungen. Abt-Nr. beschäftigt Pk-Nr Name
MehrObjektorientierte Datenbanken
Objektorientierte Datenbanken Ralf Möller, FH-Wedel z Beim vorigen Mal: y Java Data Objects Teil 1 z Heute: y Java Data Objects Teil 2 z Lernziele: y Grundlagen der Programmierung persistenter Objekte
MehrÜben von DDL und DML. Ergebnis:
SQL DDL Üben von DDL und DML https://www.jdoodle.com/execute-sql-online Ergebnis: Befehlsgruppen in SQL DDL Data Definition Language DML Data Manipulation Language CREATE: Tabellen anlegen DROP: Tabellen
MehrObjektorientierte Datenbanken
OODB 8 Slide 1 Objektorientierte Datenbanken Vorlesung 8 Sebastian Iwanowski FH Wedel OODB 8 Slide 2 Offene Fragen vom letzten Mal: Kann man in einer JDOQL-Anfrage Elemente herausfiltern, deren Attribute
MehrKapitel 14. Objekt-relationales Mapping (ORM) mit Hibernate bzw. Java Persistance API (JPA) Prof. Dr. Wolfgang Weber Vorlesung Datenbanken
Kapitel 14 Objekt-relationales Mapping (ORM) mit Hibernate bzw. Java Persistance API (JPA) 1 Wozu Objekt-relationales Mapping? - Problematik - Business-Schicht OO-Klassen Unvereinbarkeit der Paradigmen
MehrModerne Datenbankkonzepte
Verteilte Datenbanken Moderne Datenbankkonzepte Wünschenswert, aber extrem aufwändig ( Zweiphasen Commit) Objektrelationale Datenbanken Kompromiss zwischen relational und rein objektorientiert seit 1999
MehrVorkurs Informatik WiSe 15/16
Java 7 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 21.10.2015 Technische Universität Braunschweig, IPS Überblick OO in Java Vererbung Abstrakte Klassen und Interfaces 21.10.2015 Dr. Werner Struckmann
MehrAlgorithmen und Datenstrukturen 07
(7. Juni 2012) 1 Besprechung Blatt 6 Fragen 2 Referenzen Referenzsemantik 3 Vererbung Allgemein abstract Interfaces Vererbung in UML 4 Vorbereitung Blatt 7 Anmerkungen Fragen Fragen zu Blatt 6? Referenzsemantik
Mehr4. Vererbung. Idee der Vererbung. Wir wollen ein Verwaltungsprogramm für CDs und Videos entwickeln. Wir stellen uns dazu folgende Klassen vor:
4. Vererbung Grundlagen der Vererbung 4. Vererbung 4. Vererbung Grundlagen der Vererbung Idee der Vererbung Wir wollen ein Verwaltungsprogramm für CDs und Videos entwickeln. Wir stellen uns dazu folgende
MehrIntegritätsbedingungen für komplexe Objekte in objektrelationalen Datenbanksystemen
10. GI-Fachtagung Datenbanksysteme in Büro, Technik und Wissenschaft Integritätsbedingungen für komplexe Objekte in objektrelationalen Datenbanksystemen Friedrich-Schiller-Universität Jena Institut für
MehrStrukturierte Objekttypen
Strukturierte Objekttypen Der Typ t approxmatch row des letzten Beispiels ist ein sogenannter Objekttyp. Definition: Ein Objekttyp ist ein Datentyp, bei dem (u.u. verschiedene) bekannte Datentypen zu einem
MehrEinstieg in die Informatik mit Java
1 / 41 Einstieg in die Informatik mit Java Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 41 1 Überblick: Vererbung 2 Grundidee Vererbung 3 Verdeckte Variablen
MehrPolymorphie/Späte Bindung Abstrakte Klassen Interfaces. Polymorphie/Späte Bindung Abstrakte Klassen Interfaces
Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2010/2011 1 / 20 Polymorphie/Späte Bindung Abstrakte Klassen Interfaces 2 / 20 Definition: Polymorphie Der Begriff Polymorphie (manchmal
MehrPolymorphie und UML Klassendiagramme
Polymorphie und UML Klassendiagramme Prof. Dr.-Ing. Thomas Schwotzer 1 Einführung Vererbung hat einen sehr interessanten und effektiven Effekt: die Polymorphie. Darum geht es in dieser Veranstaltung. 2
MehrProgrammierung Nachklausurtutorium
Programmierung Nachklausurtutorium Laryssa Horn, Tim Engelhardt 20 März 2018 Klassen Wofür wir Klassen brauchen: Definieren ein Bauplan eines Objektes Bauplan enthält Attribute und Methoden Klasse Beispiel
MehrVesant JDO Genie für transparente Persistenz mit relationalen Datenbanken.
Vesant JDO Genie für transparente Persistenz mit relationalen Datenbanken. Martin Wessel Senior Pre-Sales Consultant Versant GmbH mailto: Martin.Wessel@versant.net Copyright Versant Europe 2004. All products
MehrObjektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types)
Stefan Brass: OOP (Java), 22. Aufzählungstypen 1/20 Objektorientierte Programmierung Kapitel 22: Aufzählungstypen (Enumeration Types) Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester
MehrSQL. 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:
MehrPolymorphie. 15. Java Objektorientierung II
432 Polymorphie 15. Java Objektorientierung II Objektorientierung: Verschiedene Aspekte 433 Daten Typhierarchie Objekte Code Vererbung Unter- und Oberklassen Methoden überschreiben Unterklassen zuweisen
MehrObjekte haben eine eigene Notation, also Schreibweise, beim Aufruf:
JavaScript - Inhalt 1. Objekte 2. Arrays 3. Callbacks 1)JavaScript Objekte Objekte haben eine eigene Notation, also Schreibweise, beim Aufruf: Eine Methode wird immer mit dem Namen des Objekts, einem Punkt
Mehr3 Objektorientierte Konzepte in Java
3 Objektorientierte Konzepte in Java 3.1 Klassendeklarationen Fragen an die Klassendeklaration: Wie heißt die Klasse? Wer darf auf die Klasse und ihre Attribute/Methoden zugreifen? Ist die Klasse eine
MehrEinstieg in die Informatik mit Java
1 / 35 Einstieg in die Informatik mit Java Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 35 1 Grundlagen 2 Verdeckte Variablen 3 Verdeckte Methoden 4 Konstruktoren
MehrPolymorphie. 15. Java Objektorientierung II
446 Polymorphie 15. Java Objektorientierung II Objektorientierung: Verschiedene Aspekte 447 Daten Typhierarchie Objekte Code Vererbung Unter- und Oberklassen Methoden überschreiben Unterklassen zuweisen
MehrFunktionen. Überblick über Stored Functions. Syntax zum Schreiben einer Funktion. Schreiben einer Funktion
Überblick über Stored Functions Funktionen Eine Funktion ist ein benannter PL/SQL- Block, der einen Wert zurückgibt. Eine Funktion kann in der Datenbank als Objekt zur wiederholbaren Ausführung gespeichert
MehrDatenbank und Tabelle mit SQL erstellen
Datenbank und Tabelle mit SQL erstellen 1) Übung stat Mit dem folgenden Befehlen legt man die Datenbank stat an und in dieser die Tabelle data1 : CREATE DATABASE stat; USE stat; CREATE TABLE data1 ( `id`
MehrErste Java-Programme (Java Wiederholung & Vererbung)
Lehrstuhl Bioinformatik Konstantin Pelz Erste Java-Programme (Java Wiederholung & ) Tutorium Bioinformatik (WS 18/19) Konstantin: Konstantin.pelz@campus.lmu.de Homepage: https://bioinformatik-muenchen.com/studium/propaedeutikumprogrammierung-in-der-bioinformatik/
MehrÜberschreiben von Methoden
Vergleich der DoME Realisierungen: Methode ausgeben Version 1 (ohne Vererbung): Anzeigen aller Informationen CD: A Swingin Affair (64 Min)* Frank Sinatra Titelanzahl: 16 Mein Lieblingsalbum von Sinatra
MehrObjektorientierte Programmierung. Kapitel 14: Interfaces
14. Interfaces 1/26 Objektorientierte Programmierung Kapitel 14: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2013/14 http://www.informatik.uni-halle.de/ brass/oop13/
MehrRelationales Datenbanksystem Oracle
Relationales Datenbanksystem Oracle 1 Relationales Modell Im relationalen Modell wird ein relationales Datenbankschema wie folgt beschrieben: RS = R 1 X 1 SC 1... R n X n SC n SC a a : i=1...n X i B Information
MehrObjektorientierte Datenbanken
OODB 2 Slide 1 Objektorientierte Datenbanken Vorlesung 2 Sebastian Iwanowski FH Wedel OODB 2 Slide 2 Offene Frage vom letzten Mal: Wie können wir objektorientiert modellieren und dennoch eine Datenbank
MehrNeben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter
Kapitel 1 Der vierte Tag 1.1 Vererbung Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Sprachen. Unter Vererbung versteht man die Möglichkeit, Eigenschaften vorhandener
MehrDatenmodelle und Datenbanken 2
Datenmodelle und Datenbanken 2 Prof. N. Fuhr Institut für Informatik und Interaktive Systeme Arbeitsgruppe Informationssysteme 24. Februar 2005 Hinweise zur Bearbeitung Die Zeit läuft erst, wenn Sie alle
MehrVererbung, Polymorphie
Vererbung, Polymorphie Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 21.1.08 G. Bohlender (IANM UNI Karlsruhe) Vererbung, Polymorphie 21.1.08
MehrProgrammierkurs C++ Abstrakte Klassen und Methoden
Programmierkurs C++ Abstrakte Klassen und Methoden Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer #2 Vererbungshierarchie Obst double
MehrDurch die Teil-von-Beziehung soll ausgedrückt werden, dass ein Objekt A als (physikalischer) Teil eines Objekts B angesehen wird. Insbesondere kann ei
Lösungsvorschläge zur Klausur zum Kurs 1618 Sommersemester 2001 am 22.9.2001 Aufgabe 1 a) Benutzungsbeziehung: class Kennzeichen class Fahrzeug boolean gueltigeskennzeichen (Kennzeichen kz) Objekte der
MehrEinführung in die Systemprogrammierung
Einführung in die Systemprogrammierung Virtuelle Methodentabellen Prof. Dr. Christoph Reichenbach Fachbereich 12 / Institut für Informatik 9. Juli 2015 Struktur der Objektorientierung Ein wenig Java: public
MehrC++ - Objektorientierte Programmierung Konstante und statische Elemente
C++ - Objektorientierte Programmierung Konstante und statische Elemente hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen Leibniz Universität IT Services Anja
MehrRepetitorium 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
MehrBeispiele 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]
MehrLogischer Entwurf. Stufen der Entwicklung einer Datenbank. Inhalt. Übersicht. 1. Datenbank - Entwurf ( ER - Diagramm)
10. Logischer Entwurf 10-1 10. Logischer Entwurf 10-2 Stufen der Entwicklung einer Datenbank 1. Datenbank - Entwurf ( ER - Diagramm) Logischer Entwurf 2. Umsetzen des ER - Diagramms ins relationale Modell
MehrIT I: Heute. abstrakte Methoden und Klassen. Interfaces. Interfaces List, Set und Collection IT I - VO 7 1
IT I: Heute abstrakte Methoden und Klassen Interfaces Interfaces List, Set und Collection 22.11.2018 IT I - VO 7 1 Wissensüberprüfung Überschreiben von Methoden: Aufruf der Methode der Oberklasse ist oft
MehrDatenbanksysteme II SS 2017 Übungsblatt 3 Teillösung
Datenbanksysteme II SS 2017 Übungsblatt 3 Teillösung Universität Leipzig, Institut für Informatik Abteilung Datenbanken Prof. Dr. E. Rahm, V. Christen, M. Franke Aufgabe 1a Abteilung Abtnr MgrNr Budget
MehrDatenzugriffskomponente mit JPA 2.1
Datenzugriffskomponente mit JPA 2.1 (Grundlagen der Java Persistence Architecture) Vladislav Faerman Gliederung Einführung Konfiguration Objekt-Relationales Mapping (ORM) mit JPA Das zentrale Konzept der
MehrInformatik II Übung 6
Informatik II Übung 6 Gruppe 2 Carina Fuss cfuss@student.ethz.ch 11.4.2018 Carina Fuss 11.4.2018 1 Übung 6 Nachbesprechung Übung 5 Objektorientierung Vererbung, Polymorphie, abstrakte Klassen, Interfaces,
MehrProgrammiertechnik Klassenvariablen & Instantiierung
Programmiertechnik Klassenvariablen & Instantiierung Prof. Dr. Oliver Haase Oliver Haase Hochschule Konstanz 1 Klassenvariablen Zur Erinnerung: Klassen bestehen aus Variablen und Methoden; beide zusammen
MehrObjektorientierte Datenbanken
OODB 3 Slide 1 Objektorientierte Datenbanken Vorlesung 3 Sebastian Iwanowski FH Wedel OODB 3 Slide 2 JDO: 1. Teil Entstehungsgeschichte und Ziele von JDO Überblick über den Leistungsumfang von JDO JDO
MehrObjektorientierte Programmierung OO mit Ada 2005
Objektorientierte Programmierung mit Ada 2005 Markus Knauß 8. Januar 2010 1/33 Motivation Erstellen Sie ein Programm, mit dem Sie Literaturverweise verwalten können. Die Literaturverweise sollen in einer
MehrObjektrelationale 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
MehrDie Anweisung create table
SQL-Datendefinition Die Anweisung create table create table basisrelationenname ( spaltenname 1 wertebereich 1 [not null],... spaltenname k wertebereich k [not null]) Wirkung dieses Kommandos ist sowohl
Mehr4. 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
MehrKapitel 13. Abstrakte Methoden und Interfaces. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz
Kapitel 13 Abstrakte Methoden und Interfaces 13. Abstrakte Klassen und Interfaces 1. Abstrakte Klassen 2. Interfaces und Mehrfachvererbung Folie 12.2 Abstrakte Methoden und Klassen Manchmal macht es überhaupt
MehrVererbung. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 23.5.
Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 23.5.07 G. Bohlender (IANM UNI Karlsruhe) Vererbung 23.5.07 1 / 22 Übersicht 1
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 09: Mehr zur Objektorientierung Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Weitere Aspekte der Objektorientierung Klassen Variablen
MehrÜ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
MehrIn diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen.
1 In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen. Zunächst stellt sich die Frage: Warum soll ich mich mit der Architektur eines DBMS beschäftigen?
MehrKapitel 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
MehrTeil 2-3. Vorlesung. Modul: Programmierung B-PRG Grundlagen der Programmierung II
Teil 2-3. Vorlesung Modul: Programmierung B-PRG Professur für Datenbanken und Informationssysteme Dr. Karsten Tolle tolle@dbis.cs.uni-frankfurt.de 1 Wrapper-Klassen Alle primitive Datentypen haben eine
MehrSeminar 2. SQL - DML(Data Manipulation Language) und. DDL(Data Definition Language) Befehle.
Seminar 2 SQL - DML(Data Manipulation Language) und DDL(Data Definition Language) Befehle. DML Befehle Aggregatfunktionen - werden auf eine Menge von Tupeln angewendet - Verdichtung einzelner Tupeln yu
MehrKlassen als Objekte. Smalltalk vs. Objective-C. Self-Nachrichten an Klassen in Objective-C. Klassen als Objekte. Smalltalk: Everything is an object
Smalltalk vs. Objective-C Klassen als Objekte Klassendeklarationen Selektoren als first-class values Objekt-Erzeugung Implementierung: Eigene VM vs. Einbettung in C Smalltalk: Everything is an object Klassen
MehrAnalyse 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
Mehr14. Java Objektorientierung
Objektorientierung: Verschiedene Aspekte Daten Typhierarchie Objekte 14. Java Objektorientierung Code Vererbung Unter- und Oberklassen Klassen, Vererbung, Kapselung Methoden überschreiben Unterklassen
MehrEs geht also im die SQL Data Manipulation Language.
1 In diesem Abschnitt wollen wir uns mit den SQL Befehlen beschäftigen, mit denen wir Inhalte in Tabellen ( Zeilen) einfügen nach Tabelleninhalten suchen die Inhalte ändern und ggf. auch löschen können.
MehrEclipse und EclipseLink
Eclipse und EclipseLink Johannes Michler Johannes.Michler@promatis.de PROMATIS, Ettlingen Zugriff auf Oracle Datenbanken aus Eclipse RCP Anwendungen via EclipseLink 18.09.2009 1 Gliederung Eclipse als
MehrOracle native json Support. Erste Schritte
Oracle native json Support Erste Schritte 1 Ausgangslage Als erster Schritt erstellen wir eine Tabelle, die wir für den weiteren Verlauf brauchen werden. Die Felder Id, Created und Username sind normale
Mehr10. Datenbank- Design
10. Datenbank- Design Objektrelationale Abbildung 1 Eigenschaften einer Datenbank Persistenz Daten gehen bei Programmende nicht verloren Zuverlässigkeit Konsistenz, Integrität, Unversehrtheit, Effizienz
MehrProgrammierkurs Java
Programmierkurs Java Abstrakte Klassen und Methoden & Interfaces Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer #2 Vererbungshierarchie
MehrDas Interface-Konzept am Beispiel der Sprache Java
Das Interface-Konzept am Beispiel der Sprache Java Klaus Kusche, November 2013 Inhalt Motivation: Wozu braucht man Interfaces? Interfaces in Java Was spricht gegen die große Lösung? Voraussetzungen Kenntnisse
MehrPersistenz von Objekten relationale Datenbank Eigene Datenstruktur XML (JAXB) Proprietäre Dateiformate (Lochkarten)
Persistenz von Objekten relationale Datenbank Eigene Datenstruktur XML (JAXB) Proprietäre Dateiformate (Lochkarten) O/R Mapping - Objekte (Attribute) - 1:1, 1:n, n:m Beziehungen - Vererbungen (- Interfaces)
MehrVererbung P rogram m ieren 2 F örster/r iedham m er K apitel 11: V ererbung 1
Vererbung 1 11.1 Motivation und Begriffsdefinitionen 11.2 Vorgehensweise und Implementierung 11.3 Arten von Vererbung 11.4 Konstruktoren 11.5 Abstrakte Klasse 11.6 Verschattung 11.7 Wurzelklasse Object
MehrPraktische SQL-Befehle 2
Praktische SQL-Befehle 2 Datenbanksysteme I WiSe 2018/2019 Todor Ivanov DB1 WS2018 1 Praktische SQL-Befehle Functions Views Triggers Voraussetzung: Laptop + MySQL/ MariaDB + Workbench! DB1 WS2018 2 Airport
MehrPropädeutikum Programmierung in der Bioinformatik
Propädeutikum Programmierung in der Bioinformatik Java Klassen und Objekte Thomas Mauermeier 27.11.2018 Ludwig-Maximilians-Universität München Rückblick Imperative Programmierung Variablen Fallunterscheidungen
MehrBei Kaum noch wartbar -> shortcut badview. Bei Ausführungspläne kippen -> shortcut badviewplan
1 2 Bei Kaum noch wartbar -> shortcut badview Bei Ausführungspläne kippen -> shortcut badviewplan 3 4 Straight forward shortcuts: 0010 einfaches Object 0020 Verwendung 0030 mehr Attribute 0040 Verwendung
MehrC++ - Objektorientierte Programmierung Vererbung
C++ - Objektorientierte Programmierung Vererbung Personen Kunden Mitarbeiter Verwaltung Verkäufer Leibniz Universität IT Services Anja Aue Vererbung Definition von Klassen auf Basis von bestehenden Klassen.
MehrSQL. Datenmanipulation. Datenmanipulationssprache. Ein neues Tupel hinzufügen. Das INSERT Statement
SQL Datenmanipulation Datenmanipulationssprache Ein DML Statement wird ausgeführt wenn: neue Tupel eingefügt werden existierende Tupel geändert werden existierende Tupel aus der Tabelle gelöscht werden
MehrObjektorientierung in Oracle
Seminarunterlage Version: 11.10 Version 11.10 vom 12. September 2013 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen sind Warenzeichen
MehrFH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Referenzen. Referenzen
5 Objektorientierte Programmierung in Java Prof. Dr. Ing. André Stuhlsatz Referenzen Beispiel an der einfachen Klasse Walze: public class Walze { int id; public Walze(int id) { this.id = id; Verwenden
Mehr3. Klassen Statische Komponenten einer Klasse. Klassenvariablen
Klassenvariablen Wir wollen die Zahl der instantiierten Studentenobjekte zählen. Dies ist jedoch keine Eigenschaft eines einzelnen Objektes. Vielmehr gehört die Eigenschaft zu der Gesamtheit aller Studentenobjekte.
MehrJava für Bauingenieure
1 JAVA für Bauingenieure Alexander Karakas SS 2008 Objektorientierte Programmierung 30.04.2008, CIP Pool Objektorientierte Programmierung Übersicht 2 Klasse und Objekt Polymorphismus und Vererbung Klassen
Mehr12. Datenschutz: Zugriffsrechte in SQL Datenschutz: Zugriffsrechte in SQL
12. Datenschutz: Zugriffsrechte in SQL 12-1 Datenschutz: Zugriffsrechte in SQL 12. Datenschutz: Zugriffsrechte in SQL 12-2 Inhalt 1. Anforderungen, Allgemeines 2. Die SQL-Befehle GRANT und REVOKE 3. Sichten
MehrVererbung und Polymorphie
Vererbung und Polymorphie Marc Satkowski, Sascha Peukert 29. September 2016 C# Kurs Gliederung 1. Methodenüberladung 2. Vererbung Polymorphie Methoden- & Eigenschaftsüberschreibung Weitere Schlüsselwörter
MehrVorlesung Datenbanken II SS 2006
Vorlesung Datenbanken II SS 2006 1 Vorlesung Datenbanken II SS 2006 Sven Wachsmuth, Technische Fakultät, AG Angewandte Informatik Vorlesung Datenbanken II SS 2006 2 3.4 ODBMS: ODMG Datenmodell ODMG Interface
Mehr11 Vererbung und Klassenhierarchie
11 Vererbung und Klassenhierarchie Bestandteile objektorientierter Programmierung: Bestehende Klassen können durch Spezialisierung und Erweiterung weiterentwickelt werden, ohne den Programmcode der alten
Mehr