4. Datenbankdefinitionssprachen

Größe: px
Ab Seite anzeigen:

Download "4. Datenbankdefinitionssprachen"

Transkript

1 4. Datenbankdefinitionssprachen SQL-DDL ODL (Object Definition Language) für objektorientierte Datenbanksysteme nach dem ODMG-Standard Objektrelationale Konzepte DDL-Erweiterungen von SQL:1999 Oracle9i XML: DTD und XML Schema VL Objektrelationale Datenbanken Relationales Modell: SQL-DDL SQL-DDL umfaßt alle Klauseln von SQL, die mit Definition von Typen Wertebereichen Relationenschemata Integritätsbedingungen zu tun haben VL Objektrelationale Datenbanken 4 2 Anforderungen an eine relationale DDL nach Codd 1982 Sprachmittel zur Definition von 1. Attributen 2. Wertebereichen 3. Relationenschemata 4. Primärschlüsseln 5. Fremdschlüsseln Praxis SQL-89: Relationenschemata mit Attributen und Wertebereichen ab SQL-92 vollständig VL Objektrelationale Datenbanken 4 3

2 SQL als Definitionssprache Externe Ebene create view, drop view Konzeptuelle Ebene create table, alter table, drop table Konzeptuelle Ebene (SQL-92) create domain, alter domain, drop domain Interne Ebene create index, alter index, drop index VL Objektrelationale Datenbanken 4 4 Die Anweisung create table create table basisrelationenname ( spaltenname_1 wertebereich_1 [not null], spaltenname_k wertebereich_k [not null]) VL Objektrelationale Datenbanken 4 5 Erlaubte Wertebereiche in create table integer (oder auch integer4, int), smallint (oder auch integer2) float(p) (oder auch kurz float) decimal(p,q) und numeric(p,q) mit jeweils q Nachkommastellen character(n) (oder kurz char(n), bei n = 1 auch char) für Strings fester Länge n character varying(n) (oder kurz varchar(n)) für Strings variabler Länge bis zur Maximallänge n bit(n) oder bit varying(n) analog für Bitfolgen date, time bzw. timestamp für Datums-, Zeit- und kombinierte Datums-Zeit-Angaben VL Objektrelationale Datenbanken 4 6

3 Beispiel Tabellendefinition mit SQL-92 create table Buecher ( ISBN char(10), Titel varchar(200), Verlagsname varchar(30), primary key (ISBN), foreign key (Verlagsname) references Verlage (Verlagsname) ) VL Objektrelationale Datenbanken 4 7 Erweiterungen in SQL-92 Neben Primär- und Fremdschlüssel in SQL-92: default-klausel: Defaultwerte für Attribute create domain-anweisung benutzerdefinierte Wertebereiche check-klausel weitere lokale Integritätsbedingungen innerhalb der zu definierenden Wertebereiche, Attribute und Relationenschemata VL Objektrelationale Datenbanken 4 8 Definition eines Wertebereichs create domain Gebiete varchar(20) default Informatik create table Vorlesungen ( V_Bezeichnung varchar(80) not null, SWS smallint, Semester smallint, Studiengang Gebiete ) create table Mitarbeiter ( PANr integer not null, AngNr char(10) not null, Fachbereich Gebiete, Gehalt decimal(10,2), Raum integer, Einstellung date ) VL Objektrelationale Datenbanken 4 9

4 Integritätsbedingungen mit check create domain Gebiete varchar(20) default Informatik check ( value in ( Informatik, Mathematik, Elektrotechnik, Linguistik ) ) VL Objektrelationale Datenbanken 4 10 Integritätsbedingungen mit check /2 create table Vorlesungen ( V_Bezeichnung varchar(80) not null, primary key, SWS smallint check(sws 0), Semester smallint check( Semester between 1 and 9), Studiengang Gebiete ) VL Objektrelationale Datenbanken 4 11 Integritätsbedingungen mit check /3 create table Buch_Versionen ( ISBN char(10), Auflage smallint check(auflage > 0), Jahr integer check (Jahr between 1800 and 2020), Seiten integer check(seiten > 0), Preis decimal(8,2) check(preis 250), primary key (ISBN, Auflage), foreign key (ISBN) references Bcher (ISBN), check ((select sum(preis) from Buch_Versionen)< (select sum(budget) from Lehrsthle))) VL Objektrelationale Datenbanken 4 12

5 4.2. Objektorientiertes Modell: ODL Datendefinitionssprache der ODMG für Objektdatenbanken programmiersprachenneutral (Erweiterung der OMG-IDL) Beschreibung der Schnittstellen (Objekttypen) Attribute, Beziehungen, Methodensignaturen Implementierung in konkreter Programmiersprache Mapping für C++, Java, Smalltalk Präprozessor, Schema-Compiler VL Objektrelationale Datenbanken 4 13 ODL: Konzepte Schnittstelle: Spezifikation des abstrakten Verhaltens eines Typs Klasse: Spezifikation des abstrakten Verhaltens und Zustands eines Typs Attribut: benannte Eigenschaften von Literal- oder Objektdatentypen Beziehungen: Verweise (Referenzen) auf andere Objekte (einstellig/mehrstellig) Operationen: Methoden mit Parametern, Rückgabewert, Ausnahmen VL Objektrelationale Datenbanken 4 14 ODL: Beispiel class Student : Person ( extent Studenten, key matrnr) attribute char matrnr[6]; attribute string studienfach; attribute set<struct<float note, string fach>> zeugnis; relationship Person mutter inverse Person::kind; relationship Person vater inverse Person::kind; } float durchschnittsnote () raises (keine_note); void exmatrikulation (in string art) raises (buecher_ausgeliehen); VL Objektrelationale Datenbanken 4 15

6 Erläuterung ODL-Beispiel Objekttyp Personen beschreibt Typhierarchie: Angabe der Obertypen hinter dem Typnamen (hier: Obertyp Person) Extension, in der die aktuell erzeugten Objekte vom Typ Student gesammelt werden sollen (hier: Extension mit dem Namen Studenten) Schlüssel des Objekttyps, eine Auswahl der Attribute, die zur eindeutigen Identifizierung der Objekte unabhängig von der Objektidentität verwendet werden können (hier: nur das Attribut matrnr) Attribute mit Datentypen und Namen VL Objektrelationale Datenbanken 4 16 Erläuterung ODL-Beispiel /2 Beziehungen zu anderen Klassen mit dem Wortsymbol relationship auch inverse Beziehungen ermöglichen Wahl zwischen 1:1-, 1:n, und n:m- Kardinalitäten hier: zwei 1:n-Beziehungen Vater und Mutter zwischen Studenten und Personen, da nur die Rückrichtung einen Set-Typ enthält: set<person> kind Methoden mit ihrer Schnittstelle und einer spezifizierten Ausnahmebehandlung, die im Fehlerfall ausgelöst wird (etwa bei Verletzung von Integritätsbedingungen) VL Objektrelationale Datenbanken 4 17 ODL: Vererbung isa-beziehung (Generalisierung/Spezialisierung): Vererbung von Verhalten interface Object { }; interface Dokument : Object { }; extends-beziehung: Vererbung von Verhalten und Zustand (nur Einfachvererbung) class Buch : Dokument { }; class Monographie extends Buch { }; VL Objektrelationale Datenbanken 4 18

7 ODL: Beziehungen Umsetzung von m:n-beziehungen besucht(student[0,*], Vorlesung[0,*]) class Vorlesung { relationship set<student> wird_besucht_von inverse Student::besucht; } class Student { relationship set<vorlesung> besucht inverse Vorlesung::wird_besucht_von; } VL Objektrelationale Datenbanken 4 19 ODL: Beziehungen /2 Umsetzung von Beziehungen mit Attributen wird_geprüft(student[0,*], Vorlesung[0,*]; Note) class Pruefung { attribute int note; relationship Vorlesung fach inverse Vorlesung::pruefung; relationship Student pruefling inverse Student::pruefung; } class Student { relationship set<pruefung> pruefung inverse Pruefung::pruefling; } VL Objektrelationale Datenbanken 4 20 Java-ODL Nutzung von Java-Klassendefinitionen als DDL keine neue Sprache notwendig aber nur eingeschränkte Definitionsmöglichkeiten teilweise Ergänzung mittels Informationen aus Konfigurationsdateien Persistenzfähigkeit von Java-Klassen durch Präprozessor: Verarbeitung einer Java-Klassendefinition, Extraktion der notwendigen Schemainformationen, Hinzufügen von DB-spezifischem Code Postprozessor: Verarbeitung von kompilierten Bytecode, Code-Modifikation entsprechend Persistenzanforderungen VL Objektrelationale Datenbanken 4 21

8 Java-ODL: Beispiel public class Author { private String firstname, lastname; public Author (String first, String last) { firstname = first; lastname = last; } public String getlastname () { return lastname; } } public String getfirstname () { return firstname; } VL Objektrelationale Datenbanken 4 22 Java-ODL: Beispiel /2 public class Book { private String isbn, title; private Category classifiedin; private ListOfObject writtenby; } public Buch (String isbn) { this.isbn = isbn; writtenby = new ListOfObject (); } VL Objektrelationale Datenbanken SQL:1999 SQL:1999 aktuelle Version des SQL-Standards der ISO u.a. Unterstützung objektrelationaler Konzepte Verbindung von Konzepten objektorientierter Datenbankmodelle mit SQL nutzerdefinierte Datentypen, Vererbung/Spezialisierung, Methoden bisher nur teilweise umgesetzt: IBM DB2, Oracle9i, PostgreSQL, (jeweils mit proprietären Varianten) VL Objektrelationale Datenbanken 4 24

9 SQL:1999: Neue Datentypen BLOB, CLOB: Datentypen für große Binär-/Zeichenkettenobjekte (binary/character large objects) Boolean: boolesche Werte TRUE, FALSE, UNKNOWN Array: Kollektionstyp für mehrwertige Attribute REF-Typen: zur eindeutigen Identifikation von Tupeln (OID) sowie zur Navigation über Pfadausdrücke ROW-Typen: Typkonstruktor für strukturierte Attribute nutzerdefinierte Datentypen: Konstruktion neuer Typen VL Objektrelationale Datenbanken 4 25 BLOB und CLOB Speicherung großer Zeichenketten/Binärfolgen Bilder, Audio-/Videodaten, XML-Dokumente, Angabe der max. Größe erforderlich Grenzen sind systemspezifisch Beispiel create table Professoren ( Foto blob(100k)); erfordern spezielle Behandlung beim Zugriff Einschränkungen: kein Primär-/Fremdschlüssel, keine Gruppierung/Sortierung VL Objektrelationale Datenbanken 4 26 Kollektionsdatentypen Datentypen zur Speicherung mehrerer Werte für ein Attribut array-typkonstruktor Elementdatentyp max. Kardinalität k Notation datentyp array[k] keine Schachtelung möglich! unterstützte Operationen: Indexzugriff (1 k), Länge VL Objektrelationale Datenbanken 4 27

10 Kollektionsdatentypen: Beispiel create table Bcher ( titel varchar(100), isbn varchar(10), preis decimal(5,2), abstract clob(10k), autoren varchar(20) array[5] ); VL Objektrelationale Datenbanken 4 28 Anonyme ROW-Typen Typkonstruktor für strukturierte Attribute anonym kein expliziter Typname Notation row (fname 1, ftyp 1,, fname n, ftyp n ) Beispiel: create table Kunden ( name varchar(50), adresse row (strasse varchar(30), plz char(5), ort varchar(30)) ); VL Objektrelationale Datenbanken 4 29 Nutzerdefinierte Datentypen (UDT) Definition abstrakter Datentypen Unterscheidung in Distinct-Typen: Definition eines Datentyps direkt als Umbenennung eines Basisdatentyps Strukturierte Typen: Typkonstruktor für benannte strukturierte Datentypen VL Objektrelationale Datenbanken 4 30

11 Distinct-Typen Umbennung existierender Typen zur Einführung von Typ-Inkompatibilitäten nur für Attribute, Parameter, Variablen Beispiel: create type meter as integer final; create type quadratmeter as integer final; kein Vergleich/Zuweisung von Attributen verschiedener Distinct-Typen create table Grundstck ( laenge meter, breite meter, flaeche quadratmeter); breite und flaeche sind inkompatibel VL Objektrelationale Datenbanken 4 31 Strukturierte Typen Typkonstruktor zur Definition abstrakter Datentyp verwendbar für Attribute, Parameter, Variablen, Tabellen Beispiele: create type Adresse as ( strasse varchar(30), plz char(5), ort varchar(30) ) not final create type Kunde as ( knr int, name varchar(30), lieferadresse Adresse ) not final VL Objektrelationale Datenbanken 4 32 Subtyping Definition von Untertypen als Erweiterung existierender Datentypen (UDTs) Notation: untertyp under supertyp keine Mehrfachvererbung zulässig bei Typdefinition not final: Subtyping zulässig final: keine Bildung von Untertypen Beispiel: create type Person as ( ) not final create type Kunde under Person as ( ) not final VL Objektrelationale Datenbanken 4 33

12 Strukturierte Typen: Methoden SQL-Funktionen/Prozeduren, die UDT zugeordnet sind Besonderheiten: impliziter SELF-Parameter (vergleichbar this in C++, Java) getrennte Spezifikation von Signatur und Implementierung automatisch generierte set/get-methoden für alle Attribute eines Typs VL Objektrelationale Datenbanken 4 34 Methoden: Beispiel create type Kunde as ( ) not final method gesamt_bestellsumme() returns decimal(9,2)) create method gesamt_bestellsumme() for Kunde begin end VL Objektrelationale Datenbanken 4 35 Strukturierte Typen für Tabellen Definition von Tabellen auf Basis strukturierter Typen Objektrelation Attribute werden Spalten zusätzliche Spalte für OID (benötigt für REF-Typen) Beispiel: create table Kunden of Kunde ( ref is oid user generated) Kunde ist Tabellentyp Adresse ist Spaltentyp VL Objektrelationale Datenbanken 4 36

13 Objektidentifikatoren Bildung von Objektidentifikatoren für Tupel in Objektrelationen (unveränderliche IDs) ref is user generated nutzerdefinierte/-vergebene OID ref is system generated systemgenerierte OID ref from (Attributliste) OID wird abgeleitet von anderen Attributen (z.b. Primärschlüssel) VL Objektrelationale Datenbanken 4 37 REF-Typ Typ für Referenzen auf Instanzen eines strukturierten Datentyps (Tupel einer Objektrelation) Notation: ref(strukturierter-typ) [ scope gltigkeitsbereich ] Gültigkeitsbereich: vorgegebene Tabelle alle Tabellen VL Objektrelationale Datenbanken 4 38 REF-Typ: Beispiel create type Person as ( personalnr integer, name varchar(30), vorgesetzter ref(person)) create table Angestellte of Person ( ) create table Abteilungen ( name varchar(10), leiter ref(person) scope(angestellte), mitarbeiter ref(person) scope(angestellte) array[10] ) VL Objektrelationale Datenbanken 4 39

14 Typisierte Sichten Sicht auf strukturierte Typen Unterschiede zu Tupelsichten Zeilen über OID-Spalte referenzierbar Methodenaufrufe möglich typisierte Sicht als Subsicht einer anderen typisierten Sicht definierbar typisierte Sicht ohne Supersicht: Wurzelsicht Definition: create view sichtname of typname [( oid-generierung, spalten-option )] as sicht-anfrage VL Objektrelationale Datenbanken 4 40 Typisierte Sichten: Definition OID-Generierung: ref is oid Spaltenoption: spalte with options scope tabelle Einschränkungen für Sichtanfrage: Typverträglichkeit mit Sichttyp bei benutzerdefinierter OID-Generierung: Aufruf des Referenzkonstruktors sichttyp-name(ref-wert) als erster Parameter der Projektionsliste from-klausel mit genau einer Tabelle/Sicht; bei typisierter Tabelle/Sicht nur mit flacher Extension (only) keine Verbund- oder Gruppierungsoperationen VL Objektrelationale Datenbanken 4 41 Typisierte Sichten: Beispiel create type Person as ( personalnr integer, name varchar(30), gehalt decimal(8,2), vorgesetzter ref(person)) not final ref using integer; create view ReicheMitarbeiter of Person ( ref is oid user generated, vorgesetzter with options scope ReicheMitarbeiter ) as select ReicheMitarbeiter(personalnr), personalnr, name, gehalt, ReicheMitarbeiter(vorgesetzter->personalnr) from only (Angestellte) where gehalt > 5000; VL Objektrelationale Datenbanken 4 42

15 Subsichten Sicht mit genau einer direkten Supersicht erbt OID-Spalte und Spaltenoptionen Tabelle der Sichtanfrage muss Subtabelle der Supersicht sein Extension der Subsicht ist Teilmenge der Extension der Supersicht Definition create view sichtname of typname under supersichtname [( spalten-optionen )] as sicht-anfrage VL Objektrelationale Datenbanken Objektrelationale Typen in Oracle9i Unterstützung objektrelationaler Konzepte in Oracle seit Version 8 Abweichungen vom SQL-Standard proprietäre Erweiterungen Methodenimplementierung in PL/SQL Konzepte: UDTs, REF, Kollektionen, Methoden, Subtyping VL Objektrelationale Datenbanken 4 44 Oracle: Typdefinition Definition von Datentypen für Attribute, Variablen und Tabellen (row objects) Notation: create type name as object ( ) VL Objektrelationale Datenbanken 4 45

16 Oracle: Objekttabellen Tabellen mit Objekten (Instanzen eines UDT) als Tupel Beispiel: create table Kunden of Kunde; Interpretation Tabelle mit einer Spalte von Objekten Tabelle mit (mehreren) Spalten, die Attributen des UDT entsprechen VL Objektrelationale Datenbanken 4 46 Oracle: Objekttabellen (II) Objektidentifikatoren object identifier is primary key: Nutzung des Primärschlüssels as OID object identifier is system generated: systemgenerierte OID VL Objektrelationale Datenbanken 4 47 Oracle: Kollektionen Repräsentation von mehrwertigen Attributen und 1:n-Beziehungen Typkonstruktoren varray: geordnete Menge von Elementen nested table: ungeordnete Menge ohne Größenbeschränkung VL Objektrelationale Datenbanken 4 48

17 Oracle: VARRAY geordnete Menge von Elementen über Index adressierbar max. Größe bei Definition spezifizieren Speicherung als Binärobjekt (BLOB) Beispiel: create type AutorenListe as varray(10) of varchar(50); create table Buecher ( autoren AutorenListe ); VL Objektrelationale Datenbanken 4 49 Oracle: Nested Tables ungeordnete Menge von Elementen ohne Größenbeschränkung Speicherung der Objekte in separater Tabelle intern: NESTED_TABLE_ID für Verweis von Elterntabelle auf nested table Beispiel: create type Person as object ( ); create type Angestellte as table of Person; create table Abteilungen ( name varchar(10), mitarbeiter Angestellte ) nested table mitarbeiter store as abt_mitarb_tbl; VL Objektrelationale Datenbanken 4 50 Oracle: REF-Typen Implementierung logischer Zeiger über OIDs Ersatz für Fremdschlüssel vereinfachte Navigation (Pfadausdrücke) Typkonstruktor address_ref ref address_type Angabe des Gültigkeitsbereichs scope is address_table VL Objektrelationale Datenbanken 4 51

18 Oracle: Methoden Funktionen/Prozeduren, die zu einem Objekttyp zugeordnet sind Implementierung in PL/SQL oder als externe Methoden (C, Java) self als impliziter Parameter impliziter Konstruktor zur Erzeugung von Objekten Beispiel: create type Kunde as object ( member function gesamt_bestellsumme() return number(9,2)) ); VL Objektrelationale Datenbanken 4 52 Oracle: Map- und Order-Methoden Spezifikation von Vergleichs- und Ordnungsfunktionen für Objekttypen Nutzung im Rahmen von Anfragen (Gruppierung, Sortierung) MAP-Funktionen: Vergleich durch Abbildung auf Basisdatentypen (date, varchar, number, ) create type Rechteck as object ( laenge integer, breite integer, map member function flaeche return integer ); VL Objektrelationale Datenbanken 4 53 Oracle: Map- und Order-Methoden /2 ORDER-Funktionen: direkte Vergleiche von Objekten create type Kunde as object ( order member function vergleiche (k Kunde) return integer ); VL Objektrelationale Datenbanken 4 54

19 Oracle: Subtyping Definition von Objekttypen durch Ableitung von vorhandenen Objekttypen Hinzufügen von Attributen und Methoden Überschreiben von Methoden final/not final Beispiel: create type Student under Person ( ); Typersetzbarkeit: Tabelle eines gegebenen Objekttyps kann auch Instanzen eines Subtyps aufnehmen VL Objektrelationale Datenbanken XML Schema: Überblick Datendefinition für XML (valide Dokumente): bisher nur DTD Grammatik zur Festlegung der zulässigen Elemente und deren Schachtelung schwache Typisierung, begrenzte Ausdrucksmöglichkeiten dokument-orientiert Alternative: XML Schema Definition einer Klasse von XML-Dokumenten (Dokumentinstanzen) Schemadefinitionssprache nicht auf Dokumente beschränkt (vgl. XML-DBS) weitergehende Modellierungsmöglichkeiten daten-orientiert VL Objektrelationale Datenbanken 4 56 XML Schema: Konzepte Namensraum (Präfix): xsd Schemaelement: bestehend aus Subelementen Elementen: element komplexen Typdefinitionen: complextype Komposition aus anderen Elementen und Attributen einfachen Typdefinitionen: simpletype Basistypen Einschränkung von Basistypen Kommentaren VL Objektrelationale Datenbanken 4 57

20 Beispieldokument <?xml version="1.0"?> <bestellung datum=" " > <lieferadresse land="d" > <name>institut fuer Informatik</name> <ort>halle/s.</ort> <strasse>von-seckendorff-platz 1</strasse> <plz>06120</plz> </lieferadresse> <positionen> <position prodnr="mon-123-a" > <prodname>17-zoll-tft Singsang</prodName> <menge>1</menge> <preis>599</preis> </position> </positionen> </bestellung> VL Objektrelationale Datenbanken 4 58 Schemadefinition <xsd:schema xmlns:xsd=" <xsd:element name=bestellung type="bestelltyp"/> <xsd:complextype name="bestelltyp"> <xsd:sequence> <xsd:element name="lieferadresse" type="adresstyp" /> <xsd:element name="positionen" type="positionentyp" /> </xsd:sequence> <xsd:attribute name="datum" type="xsd:date" /> </xsd:complextype> </xsd:schema> VL Objektrelationale Datenbanken 4 59 Deklaration von Elementen Definition von Elementen und Attributen, die im Dokument auftreten können typisierte Elemente und Attribute Notation: <xsd:element name="element-name" type="typ-name" /> weitere Attribute für xsd:element minoccurs/maxoccurs: Beschränkung der min. bzw. max. Häufigkeit des Auftretens des Elementes use: required, optional default: Default-Wert VL Objektrelationale Datenbanken 4 60

21 Einfache Typen Builtin-Typen: string, integer, double, date, anyuri, abgeleitete Typen durch Restriktion der Builtin-Typen erlauben keine Attribute Bereichseinschränkung Muster Aufzählung von Werten (enumeration) Listen (list), Vereinigung verschiedener Wertebereiche (union) VL Objektrelationale Datenbanken 4 61 Einfache Typen: Bereichseinschränkung Einschränkung des Wertebereichs (1 100) <xsd:simpletype name="mengentyp"> <xsd:restriction base="xsd:integer"> <xsd:mininclusive value="1" /> <xsd:maxinclusive value="100" /> </xsd:restriction> </xsd:simpletype> VL Objektrelationale Datenbanken 4 62 Einfache Typen: Muster Einschränkung des Wertebereichs durch Angabe eines Musters (regulärer Ausdruck) <xsd:simpletype name="prodnrtyp"> <xsd:restriction base="xsd:string"> <xsd:pattern value="[a-z]{3}-\d{3}-[a-z]{1}" /> </xsd:restriction> </xsd:simpletype> VL Objektrelationale Datenbanken 4 63

22 Komplexe Typen Typkonstruktor für Elemente mit Attributen und Subelementen Bildung komplexer Typen auf Basis einfacher Typen Mixed Content (Sequenz von Subelementen) Auswahl, Gruppierung VL Objektrelationale Datenbanken 4 64 Komplexe Typen: Beispiel Typdefinition <xsd:complextype name="intpreistyp"> <xsd:simplecontent> <xsd:extension base="xsd:decimal"> <xsd:attribute name="waehrung" type="xsd:string"/> </xsd:extension> </xsd:simplecontent> </xsd:complextype> Anwendung (Dokumentinstanz) <preis waehrung="euro">899</preis> VL Objektrelationale Datenbanken 4 65 Komplexe Typen: Beispiel /2 <xsd:complextype name="positionentyp"> <xsd:sequence> <xsd:element name="position" minoccurs="1" maxoccurs="unbounded"> <xsd:complextype> <xsd:sequence> <xsd:element name="prodname" type="xsd:string"/> <xsd:element name="menge" type="mengentyp"/> <xsd:element name="preis" type="xsd:decimal"/> </xsd:sequence> <xsd:attribute name="prodnr" type="prodnrtyp" use="required"/> </xsd:complextype> </xsd:element> </xsd:sequence> </xsd:complextype> VL Objektrelationale Datenbanken 4 66

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

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

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

Einleitung create table Integritätsbed. alter/ drop table Index ODL. Einleitung. create table. alter/ drop table Index ODL. Einleitung.

Einleitung create table Integritätsbed. alter/ drop table Index ODL. Einleitung. create table. alter/ drop table Index ODL. Einleitung. Thema dieser Vorlesung (im wesentlichen): Relationale Datenbanken zugrundeliegende Struktur sind Relationen. Es gibt auch andere Arten von Datenbanken, z. B. objektorientierte Datenbanken. Objekte anstelle

Mehr

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

6. Datenbankdefinitionssprachen. Relationales Modell: SQL-DDL. Anforderungen an eine relationale DDL. SQL als Definitionssprache 6. Datenbankdefinitionssprachen Relationales Modell: SQL-DDL SQL-DDL Teil der Standardsprache für relationale Datenbanksysteme: SQL ODL (Object Definition Language) für objektorientierte Datenbanksysteme

Mehr

Informations- und Wissensmanagement

Informations- und Wissensmanagement Informations- und Wissensmanagement Kapitel 2: Datenbankdefinitionssprachen IPD, Forschungsbereich Systeme der Informationsverwaltung Datenbank-Technologie Vielfalt Thema dieser Vorlesung (im wesentlichen):

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

Übung Datenbanken in der Praxis. Datenmodifikation mit SQL

Übung Datenbanken in der Praxis. Datenmodifikation mit SQL Datenmodifikation mit SQL Folie 45 SQL - Datenmodifikation Einfügen INSERT INTO Relation [(Attribut, Attribut,...)] VALUES (Wert, Wert,...) INSERT INTO Relation [(Attribut, Attribut,...)] SFW-Anfrage Ändern

Mehr

SQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar

SQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar Qt-Seminar Dienstag, 10.2.2009 SQL ist......die Abkürzung für Structured Query Language (früher sequel für Structured English Query Language )...ein ISO und ANSI Standard (aktuell SQL:2008)...eine Befehls-

Mehr

Die Anweisung create table

Die 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

Mehr

Modul Datenbanksysteme 2 Prüfung skizzenhaft SS Aug. 2007. Name: Note:

Modul Datenbanksysteme 2 Prüfung skizzenhaft SS Aug. 2007. Name: Note: 1 Modul Datenbanksysteme 2 Prüfung skizzenhaft SS Aug. 2007 Name: Note: Nr. Aufgaben Max. Punkte Erreichte Punkte 1 Grundlagen ~ 10% Vgl. Hinweis unten 2 Integrität, Procedures, Triggers, Sichten ~ 20%

Mehr

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER INHALTSVERZEICHNIS 1. Datenbanken 2. SQL 1.1 Sinn und Zweck 1.2 Definition 1.3 Modelle 1.4 Relationales Datenbankmodell 2.1 Definition 2.2 Befehle 3.

Mehr

SQL (Structured Query Language) Schemata Datentypen

SQL (Structured Query Language) Schemata Datentypen 2 SQL Sprachelemente Grundlegende Sprachelemente von SQL. 2.1 Übersicht Themen des Kapitels SQL Sprachelemente Themen des Kapitels SQL (Structured Query Language) Schemata Datentypen Im Kapitel SQL Sprachelemente

Mehr

3. Das Relationale Datenmodell

3. Das Relationale Datenmodell 3. Das Relationale Datenmodell Das Relationale Datenmodell geht zurück auf Codd (1970): E. F. Codd: A Relational Model of Data for Large Shared Data Banks. Comm. of the ACM 13(6): 377-387(1970) DBMS wie

Mehr

Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung

Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung 6. Datenintegrität Motivation Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung nur sinnvolle Attributwerte (z.b. keine negativen Semester) Abhängigkeiten

Mehr

5. Objekt-relationale Systeme 5.1. Erweiterungen des Relationalen Modells 5.2. SQL-Erweiterungen 5.3. MM-DB

5. Objekt-relationale Systeme 5.1. Erweiterungen des Relationalen Modells 5.2. SQL-Erweiterungen 5.3. MM-DB 5. Objekt-relationale Systeme 5.1. Erweiterungen des Relationalen Modells 5.2. SQL-Erweiterungen 5.3. MM-DB Beschränkungen des Relationalen Modells NF1: Atomare Attribute nicht erweiterbares Typkonzept

Mehr

SQL objektorientiert

SQL objektorientiert Dušan Petković SQL objektorientiert An imprint of Pearson Education München Boston San Francisco Harlow, England Don Mills, Ontario Sydney Mexico City Madrid Amsterdam Vorwort 11 Teil 1: Einführung 15

Mehr

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004)

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004) Nachtrag: Farben Farbblindheit (Light und Bartlein 2004) 1 Vorgeschlagene Farbskalen (Light and Bartlein 2004) Farbkodierung metrisch skalierter Daten Unterscheide: 1. Sequential Data (ohne Betonung der

Mehr

Kapitel DB:VI (Fortsetzung)

Kapitel DB:VI (Fortsetzung) Kapitel DB:VI (Fortsetzung) VI. Die relationale Datenbanksprache SQL Einführung SQL als Datenanfragesprache SQL als Datendefinitionssprache SQL als Datenmanipulationssprache Sichten SQL vom Programm aus

Mehr

Objekt-relationales Datenbanksystem Oracle

Objekt-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

Mehr

Uni Duisburg-Essen Fachgebiet Informationssysteme Prof. Dr. N. Fuhr

Uni Duisburg-Essen Fachgebiet Informationssysteme Prof. Dr. N. Fuhr Raum: LF 230 Bearbeitung: 9.-11. Mai 2005 Datum Gruppe Vorbereitung Präsenz Aktuelle Informationen unter: http://www.is.informatik.uni-duisburg.de/courses/dbp_ss03/ Tabellen in IBM DB2 Tabellen Eine relationale

Mehr

Client-Server-Beziehungen

Client-Server-Beziehungen Client-Server-Beziehungen Server bietet Dienste an, Client nutzt Dienste Objekt ist gleichzeitig Client und Server Vertrag zwischen Client und Server: Client erfüllt Vorbedingungen eines Dienstes Server

Mehr

Datenmanagement in Android-Apps. 16. Mai 2013

Datenmanagement in Android-Apps. 16. Mai 2013 Datenmanagement in Android-Apps 16. Mai 2013 Überblick Strukturierung von datenorientierten Android-Apps Schichtenarchitektur Möglichkeiten der Datenhaltung: in Dateien, die auf der SDCard liegen in einer

Mehr

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {... PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:

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

3 Objektorientierte Konzepte in Java

3 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

Mehr

Oracle: Abstrakte Datentypen:

Oracle: Abstrakte Datentypen: Oracle: Abstrakte Datentypen: Oracle bietet zwei mögliche Arten um abstrakte Datentypen zu implementieren: Varying Array Nested Table Varying Array (kunde) kdnr kdname gekaufteart 1 Mustermann 1 4 5 8

Mehr

Strukturierte Objekttypen

Strukturierte 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

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

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

Vorkurs C++ Programmierung

Vorkurs C++ Programmierung Vorkurs C++ Programmierung Klassen Letzte Stunde Speicherverwaltung automatische Speicherverwaltung auf dem Stack dynamische Speicherverwaltung auf dem Heap new/new[] und delete/delete[] Speicherklassen:

Mehr

5.3 Datenänderung/-zugriff mit SQL (DML)

5.3 Datenänderung/-zugriff mit SQL (DML) 5.3 Datenänderung/-zugriff mit SQL (DML) Hinweis: - DML-Anweisungen sind mengenorientiert - Mit einer Anweisungen kann mehr als ein Tupel eingefügt, geändert, gelöscht oder gelesen werden Benutzungs- und

Mehr

Java Kurs für Anfänger Einheit 4 Klassen und Objekte

Java Kurs für Anfänger Einheit 4 Klassen und Objekte Java Kurs für Anfänger Einheit 4 Klassen und Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 13. Juni 2009 Inhaltsverzeichnis klasse

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 3: Datenbanksysteme

Kapitel 3: Datenbanksysteme LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2009 Kapitel 3: Datenbanksysteme Vorlesung:

Mehr

XML-Namensräume. Marc Monecke monecke@informatik.uni-siegen.de

XML-Namensräume. Marc Monecke monecke@informatik.uni-siegen.de XML-Namensräume Marc Monecke monecke@informatik.uni-siegen.de Praktische Informatik Fachbereich Elektrotechnik und Informatik Universität Siegen, D-57068 Siegen 19. Mai 2003 Inhaltsverzeichnis 1 Motivation

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

Computeranwendung und Programmierung (CuP)

Computeranwendung und Programmierung (CuP) Computeranwendung und Programmierung (CuP) VO: Peter Auer (Informationstechnologie) UE: Norbert Seifter (Angewandet Mathematik) Organisatorisches (Vorlesung) Vorlesungszeiten Montag 11:15 12:45 Freitag

Mehr

SQL SQL. SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R. Grundlagen der Datenbanksysteme I

SQL SQL. SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R. Grundlagen der Datenbanksysteme I SQL SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R VII-1 Beispielrelationen Filiale ( Name Leiter Stadt Einlagen ) Konto ( KontoNr KundenNr FilialName Saldo ) Kredit

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

Referenzielle Integrität SQL

Referenzielle Integrität SQL Referenzielle Integrität in SQL aus Referential Integrity Is Important For Databases von Michael Blaha (Modelsoft Consulting Corp) VII-45 Referenzielle Integrität Definition: Referenzielle Integrität bedeutet

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

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

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

Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009

Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009 Hochschule Darmstadt DATENBANKEN Fachbereich Informatik Praktikum 3 Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009 PL/SQL Programmierung Anwendung des Cursor Konzepts und Stored Procedures Und Trigger

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

Prozedurale Datenbank- Anwendungsprogrammierung

Prozedurale Datenbank- Anwendungsprogrammierung Idee: Erweiterung von SQL um Komponenten von prozeduralen Sprachen (Sequenz, bedingte Ausführung, Schleife) Bezeichnung: Prozedurale SQL-Erweiterung. In Oracle: PL/SQL, in Microsoft SQL Server: T-SQL.

Mehr

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck Javadoc Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung Pakete und Javadoc Spezielle

Mehr

Programmieren Tutorium

Programmieren Tutorium Programmieren Tutorium Tom Schildhauer Tutorium 12 Universität Karlsruhe (TH) Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2008 by Tom Schildhauer,

Mehr

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München Kapitel 4 Dynamisches SQL Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München 2008 Thomas Bernecker, Tobias Emrich unter Verwendung der Folien des Datenbankpraktikums aus dem Wintersemester

Mehr

Programmieren I. Strategie zum Entwurf von Klassen. Beispiele. Design von Klassen. Dr. Klaus Höppner. Beispiel: Bibliothek

Programmieren I. Strategie zum Entwurf von Klassen. Beispiele. Design von Klassen. Dr. Klaus Höppner. Beispiel: Bibliothek Programmieren I Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2008/2009 1 / 22 2 / 22 Strategie zum Entwurf von Klassen Beispiele Objektorientierte Sichtweise: Mit welchen Objekten habe ich es

Mehr

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software SQL Tutorial SQL - Tutorial SS 06 Hubert Baumgartner INSO - Industrial Software Institut für Rechnergestützte Automation Fakultät für Informatik Technische Universität Wien Inhalt des Tutorials 1 2 3 4

Mehr

2. Datenbank-Programmierung

2. Datenbank-Programmierung 2. Datenbank-Programmierung SQL ist eingeschränkt bezüglich der algorithmischen Mächtigkeit, z.b. Berechnung einer transitiven Hülle ist in Standard-SQL nicht möglich. Die Einschränkung ist von Bedeutung

Mehr

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden. Grundwissen Informatik Objekt Attribut Methoden Als Objekte bezeichnet man alle Gegenstände, Dinge, Lebewesen, Begriffe oder Strukturen unserer Welt ( Autos, Räume, Bakterien, Lehrer, Schüler, Kunden,

Mehr

Vorlesung "Software-Engineering"

Vorlesung Software-Engineering Vorlesung "Software-Engineering" Rainer Marrone, TUHH, Arbeitsbereich STS Vorige Vorlesung Pflichtenheft (requirements specification document) Charakterisierung von Software-Qualität Detaillierte Anforderungsanalyse

Mehr

SQL und MySQL. Kristian Köhntopp

SQL und MySQL. Kristian Köhntopp SQL und MySQL Kristian Köhntopp Wieso SQL? Datenbanken seit den frühen 1950er Jahren: Hierarchische Datenbanken Netzwerkdatenbanken Relationale Datenbanken = SQL Relational? 10 9 8 7 6 f(y) := y = x r(y)

Mehr

XML Schema vs. Relax NG

XML Schema vs. Relax NG XML Schema vs. Relax NG p. 1/2 XML Schema vs. Relax NG Semistrukturierten Daten 1 Präsentation der Gruppe 2 XML Schema vs. Relax NG p. 2/2 Wozu XML Schema? W3C Empfehlung zur Definition von XML-Dokumentstrukturen

Mehr

SQL: statische Integrität

SQL: statische Integrität SQL: statische Integrität.1 SQL: statische Integrität Im allgemeinen sind nur solche Instanzen einer Datenbank erlaubt, deren Relationen die der Datenbank bekannten Integritätsbedingungen erfüllen. Integritätsbedingungen

Mehr

Relationale Datenbanken in der Praxis

Relationale Datenbanken in der Praxis Seite 1 Relationale Datenbanken in der Praxis Inhaltsverzeichnis 1 Datenbank-Design...2 1.1 Entwurf...2 1.2 Beschreibung der Realität...2 1.3 Enitiy-Relationship-Modell (ERM)...3 1.4 Schlüssel...4 1.5

Mehr

7. Übung - Datenbanken

7. Übung - Datenbanken 7. Übung - Datenbanken Informatik I für Verkehrsingenieure Aufgaben inkl. Beispiellösungen 1. Aufgabe: DBS a Was ist die Kernaufgabe von Datenbanksystemen? b Beschreiben Sie kurz die Abstraktionsebenen

Mehr

Java Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7

Java Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7 Java Einführung Umsetzung von Beziehungen zwischen Klassen Kapitel 7 Inhalt Wiederholung: Klassendiagramm in UML Java-Umsetzung von Generalisierung Komposition Assoziationen 2 Das Klassendiagramm Zweck

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

Objektrelationale, erweiterbare Datenbanken WS 04/05

Objektrelationale, erweiterbare Datenbanken WS 04/05 Eidgenössische Technische Hochschule Zürich Swiss Federal Institute of Technology Zurich Institut für Informationssysteme Dr.C.Türker Objektrelationale, erweiterbare Datenbanken WS 0405 Übung 8 Aufgabe

Mehr

Prinzipien Objektorientierter Programmierung

Prinzipien Objektorientierter Programmierung Prinzipien Objektorientierter Programmierung Valerian Wintner Inhaltsverzeichnis 1 Vorwort 1 2 Kapselung 1 3 Polymorphie 2 3.1 Dynamische Polymorphie...................... 2 3.2 Statische Polymorphie........................

Mehr

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin PhpMyAdmin = grafsches Tool zur Verwaltung von MySQL-Datenbanken Datenbanken erzeugen und löschen Tabellen und Spalten einfügen,

Mehr

Philipp Cimiano AG Semantische Datenbanken und Wissensverarbeitung

Philipp Cimiano AG Semantische Datenbanken und Wissensverarbeitung 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

Mehr

7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2

7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2 5 Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn 7 7. Datenbank-Zugriff Zum Beispiel aus PHP-Skripten: Client 7-2 Struktur einer Datenbank 7-3 Erzeugen von Datenbanken

Mehr

Arrays Fortgeschrittene Verwendung

Arrays Fortgeschrittene Verwendung Arrays Fortgeschrittene Verwendung Gilbert Beyer und Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik http://www.pst.ifi.lmu.de/lehre/wise-11-12/infoeinf WS11/12 Arrays: Wiederholung

Mehr

Grundlagen von Python

Grundlagen von Python Einführung in Python Grundlagen von Python Felix Döring, Felix Wittwer November 17, 2015 Scriptcharakter Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren

Mehr

Modul 122 VBA Scribt.docx

Modul 122 VBA Scribt.docx Modul 122 VBA-Scribt 1/5 1 Entwicklungsumgebung - ALT + F11 VBA-Entwicklungsumgebung öffnen 2 Prozeduren (Sub-Prozeduren) Eine Prozedur besteht aus folgenden Bestandteilen: [Private Public] Sub subname([byval

Mehr

Klausur Interoperabilität

Klausur Interoperabilität Klausur 21. Juni 2012 9.30 11.00 Uhr Workflow Systems and Technology Group Fakultät für Informatik Universität Wien Univ.-Prof. Dr. Stefanie Rinderle-Ma Allgemeine Hinweise: Die Bearbeitungszeit beträgt

Mehr

Hochschule Karlsruhe Technik und Wirtschaft- 10.7.2013. Anhänge: Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Prof. Schmidt.

Hochschule Karlsruhe Technik und Wirtschaft- 10.7.2013. Anhänge: Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Prof. Schmidt. Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Datenbanken und Informationssysteme II Szenario: Projektverwaltung. Es gibt Projekte, Projektleiter, Mitarbeiter und ihre Zuordnung zu Projekten.

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

Sichten II. Definition einer Sicht. Sichten. Drei-Ebenen-Schema-Architektur. Vorteile Vereinfachung von Anfragen Strukturierung der Datenbank

Sichten II. Definition einer Sicht. Sichten. Drei-Ebenen-Schema-Architektur. Vorteile Vereinfachung von Anfragen Strukturierung der Datenbank Vorteile Vereinfachung von Anfragen Strukturierung der Datenbank Sichten II logische Datenunabhängigkeit (Sichten stabil bei Änderungen der Datenbankstruktur) Beschränkung von Zugriffen (Datenschutz) Definition

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

4. Objektrelationales Typsystem

4. Objektrelationales Typsystem 4. Objektrelationales Typsystem Inhalt und Lernziele 4. Objektrelationales Typsystem Inhalt (u.a.): Basisdatentypen Einzigartige Typen (Distinct Types) Kollektionstypen Strukturierte Typen Benutzerdefinierte

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

Datenbanken. Sommersemester 2010 Probeklausur

Datenbanken. Sommersemester 2010 Probeklausur Prof. Dr. V. Linnemann Christoph Reinke Universität zu Lübeck Institut für Informationssysteme Lübeck, den 29. Juli 2010 Datenbanken Sommersemester 2010 Probeklausur Hinweise: Es ist sinnvoll, die Aufgaben

Mehr

Datenbanken II Speicherung und Verarbeitung großer Objekte (Large Objects [LOBs])

Datenbanken II Speicherung und Verarbeitung großer Objekte (Large Objects [LOBs]) Datenbanken II Speicherung und Verarbeitung großer Objekte (Large Objects [LOBs]) Hochschule für Technik, Wirtschaft und Kultur Leipzig 06.06.2008 Datenbanken II,Speicherung und Verarbeitung großer Objekte

Mehr

6. Sichten, Integrität und Zugriffskontrolle. Vorlesung "Informa=onssysteme" Sommersemester 2015

6. Sichten, Integrität und Zugriffskontrolle. Vorlesung Informa=onssysteme Sommersemester 2015 6. Sichten, Integrität und Zugriffskontrolle Vorlesung "Informa=onssysteme" Sommersemester 2015 Überblick Sichten Integritätsbedingungen Zugriffsrechte SQL- Schema und SQL- Katalog Das Informa=onsschema

Mehr

Arrays von Objekten. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Arrays von Objekten. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-12-13/infoeinf WS12/13 Arrays: Wiederholung Ein Array ist ein Tupel von Elementen gleichen

Mehr

Objektorientierte PL/SQL- Programmierung

Objektorientierte PL/SQL- Programmierung Objektorientierte PL/SQL- Programmierung Autoren: Andriy Terletskyy und Michael Meyer DOAGNews Q3_2004 Dieses Werk ist urheberrechtlich geschützt. Die dadurch begründeten Rechte, insbesondere die der Übersetzung,

Mehr

Klaus Schild, XML Clearinghouse 2003. Namensräume

Klaus Schild, XML Clearinghouse 2003. Namensräume Namensräume Lernziele Namenskonflikte Warum lösen im World Wide Web einfache Präfixe dieses Problem nicht? Wie lösen globale Namensräume das Problem? Wie werden sie in XML-Dokumenten benutzt? Was sind

Mehr

4. Datenbanksprache SQL

4. Datenbanksprache SQL 4. Datenbanksprache SQL Standard-Sprache für das Arbeiten mit relationalen Datenbanken: Structured Query Language Datendefinition: Anlegen, Ändern und Löschen von Datenbankstrukturen Datenmanipulation:

Mehr

SQL. Fortgeschrittene Konzepte Auszug

SQL. Fortgeschrittene Konzepte Auszug SQL Fortgeschrittene Konzepte Auszug Levels SQL92 Unterteilung in 3 Levels Entry Level (i.w. SQL89) wird von nahezu allen DBS Herstellern unterstützt Intermediate Level Full Level SQL DML 2-2 SQL92 behebt

Mehr

Schlüssel bei temporalen Daten im relationalen Modell

Schlüssel bei temporalen Daten im relationalen Modell Schlüssel bei temporalen Daten im relationalen Modell Gesine Mühle > Präsentation > Bilder zum Inhalt zurück weiter 322 Schlüssel im relationalen Modell Schlüssel bei temporalen Daten im relationalen Modell

Mehr

Assoziation und Aggregation

Assoziation und Aggregation Assoziation und Aggregation Martin Wirsing in Zusammenarbeit mit Matthias Hölzl, Nora Koch 05/03 2 Ziele Verstehen der Begriffe Assoziation und Aggregation Implementierung von Assoziationen in Java schreiben

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können

Mehr

Kommunikation und Datenhaltung

Kommunikation und Datenhaltung Kommunikation und Datenhaltung Sprachen zur Datenbankdefinition Überblick über den Datenhaltungsteil Motivation und Grundlagen Architektur von Datenbanksystemen Datenbankanfragen Relationenmodell und Relationenalgebra

Mehr

4.14.3 Bedingungen über Werte. 4.14.4 Statische Integrität. CHECK-Klausel

4.14.3 Bedingungen über Werte. 4.14.4 Statische Integrität. CHECK-Klausel 4.14.3 Bedingungen über Werte 4.14.4 Statische Integrität Zu jeder Tabelle werden typischerweise ein Primärschlüssel und möglicherweise weitere Schlüssel festgelegt (UNIQUE-Klausel). In jeder Instanz zu

Mehr

Arbeiten mit einem lokalen PostgreSQL-Server

Arbeiten mit einem lokalen PostgreSQL-Server Arbeiten mit einem lokalen PostgreSQL-Server Download für das Betriebssystem Windows PostgreSQL-Server und pgadmin: http://www.enterprisedb.com/products-servicestraining/pgdownload#windows pgadmin: http://www.pgadmin.org/download/windows.php

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

Software-Engineering Einführung

Software-Engineering Einführung Software-Engineering Einführung 7. Übung (04.12.2014) Dr. Gergely Varró, gergely.varro@es.tu-darmstadt.de Erhan Leblebici, erhan.leblebici@es.tu-darmstadt.de Tel.+49 6151 16 4388 ES Real-Time Systems Lab

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

Grundzüge und Vorteile von XML-Datenbanken am Beispiel der Oracle XML DB

Grundzüge und Vorteile von XML-Datenbanken am Beispiel der Oracle XML DB Grundzüge und Vorteile von XML-Datenbanken am Beispiel der Oracle XML DB Jörg Liedtke, Oracle Consulting Vortrag zum Praxis-Seminar B bei der KIS-Fachtagung 2007, Ludwigshafen Agenda

Mehr

Klausur zur Einführung in die objektorientierte Programmierung mit Java

Klausur zur Einführung in die objektorientierte Programmierung mit Java Klausur zur Einführung in die objektorientierte Programmierung mit Java im Studiengang Informationswissenschaft Prof. Dr. Christian Wolff Professur für Medieninformatik Institut für Medien-, Informations-

Mehr

Software Engineering Klassendiagramme Assoziationen

Software Engineering Klassendiagramme Assoziationen Software Engineering Klassendiagramme Assoziationen Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Lesen von Multiplizitäten (1) Multiplizitäten werden folgendermaßen

Mehr

Arrays von Objekten. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Arrays von Objekten. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Action required now 1. Smartphone: installiere die App "socrative student"

Mehr

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg.

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg. Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 Klausurteilnehmer Name: Matrikelnummer: Wichtige Hinweise Es sind keinerlei Hilfsmittel zugelassen auch keine Taschenrechner! Die Klausur dauert

Mehr

Objektorientierung in Oracle

Objektorientierung 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

Mehr