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

Größe: px
Ab Seite anzeigen:

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

Transkript

1 6. Datenbankdefinitionssprachen Relationales Modell: SQL-DDL SQL-DDL Teil der Standardsprache für relationale Datenbanksysteme: SQL 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 SQL-DDL umfaßt alle Klauseln von SQL, die mit Definition von Typen Wertebereichen Relationenschemata Integritätsbedingungen zu tun haben VL Datenbanken I 6 1 VL Datenbanken I 6 2 Anforderungen an eine relationale DDL SQL als Definitionssprache 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 Externe Ebene create view drop view Konzeptuelle Ebene create table alter table drop table VL Datenbanken I 6 3 VL Datenbanken I 6 4

2 SQL als Definitionssprache II Die Anweisung create table Konzeptuelle Ebene (SQL-92) create domain alter domain drop domain Interne Ebene create index alter index drop index create table basisrelationenname ( spaltenname_1 wertebereich_1 [not null], spaltenname_k wertebereich_k [not null]) VL Datenbanken I 6 5 VL Datenbanken I 6 6 Erlaubte Wertebereiche in create table Die Anweisung create table II 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 Mit not null können in bestimmten Spalten Nullwerte als Attributwerte ausgeschlossen werden: create table Bücher ( ISBN char(10) not null, Titel varchar(200), Verlagsname varchar(30) ) VL Datenbanken I 6 7 VL Datenbanken I 6 8

3 SQL-89 Level 2 mit IEF Beispiel Tabellendefinition mit IEF zweite Stufe der SQL-89-Norm sieht Zusatz IEF (Integrity Enhancement Feature) vor Definition von Schlüsseln und Fremdschlüsseln create table Bücher ( ISBN char(10) not null, Titel varchar(200), Verlagsname varchar(30), primary key (ISBN), foreign key (Verlagsname) references Verlage (Verlagsname) ) VL Datenbanken I 6 9 VL Datenbanken I 6 10 create table in SQL-92 Erweiterungen in SQL-92 create table Bücher ( ISBN char(10), Titelvarchar(200), Verlagsname varchar(30), primary key (ISBN), foreign key (Verlagsname) references Verlage (Verlagsname) ) 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 not null implizit durch die primary key-klausel VL Datenbanken I 6 11 VL Datenbanken I 6 12

4 Definition eines Wertebereichs Integritätsbedingungen mit check I 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 ) create domain Gebiete varchar(20) default Informatik check ( value in ( Informatik, Mathematik, Elektrotechnik, Linguistik ) ) VL Datenbanken I 6 13 VL Datenbanken I 6 14 Integritätsbedingungen mit check II Integritätsbedingungen mit check III 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 ) 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 Bücher (ISBN), check ((select sum(preis) from Buch_Versionen)< (select sum(budget) from Lehrstühle))) VL Datenbanken I 6 15 VL Datenbanken I 6 16

5 alter table und drop table alter table-kommando in SQL-2 Syntax des alter table-kommandos in SQL-89: alter table basisrelationenname add spaltenname wertebereich alter table Lehrstühle add Budget decimal(8,2) Wirkung: Änderung des Relationenschemas im Data Dictionary (ein neues Attribut wird dem Relationenschema Lehrstühle zugeordnet) Erweiterung der existierenden Basisrelation um ein Attribut, das bei jedem existierenden Tupel mit null besetzt wird Statt add spaltenname wertebereich auch Angabe von Default-Werten und check-klauseln erlaubt: add Budget decimal(8,2) default check (Budget > Anzahl_Planstellen 1000) VL Datenbanken I 6 17 VL Datenbanken I 6 18 alter- und drop-klausel für Attribute Die Anweisung drop table Die Klausel alter spaltenname default_änderung nur Änderung der Defaultwerte, nicht Änderung von Datentypen Die Klausel drop spaltenname { restrict cascade erlaubt Löschen von Attributen, falls keine Sichten und Integritätsbedingungen mit Hilfe dieses Attributs definiert wurden (im Fall restrict) oder mit gleichzeitiger Löschung dieser Sichten und Integritätsbedingungen (im Fall cascade) drop table basisrelationenname { restrict cascade restrict und cascade analog zum drop bei Attributen VL Datenbanken I 6 19 VL Datenbanken I 6 20

6 Die Anweisung create index Simulierte Schlüsselbedingung SQL-89: Bestandteil der Norm create [unique] index indexname on basisrelationenname ( spaltenname_1 ordnung_1,, spaltenname_k ordnung_k ) create table Bücher ( ISBN char(10) not null, Titel varchar(200), Verlagsname varchar(30) ) create unique index Buchindex on Bücher (ISBN asc) VL Datenbanken I 6 21 VL Datenbanken I 6 22 Objektorientiertes Modell: ODL ODL: Konzepte 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 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 Datenbanken I 6 23 VL Datenbanken I 6 24

7 ODL: Beispiel Erläuterung 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); 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 Datenbanken I 6 25 VL Datenbanken I 6 26 Erläuterung ODL-Beispiel II ODL: Vererbung 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) 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 Datenbanken I 6 27 VL Datenbanken I 6 28

8 ODL: Beziehungen ODL: Beziehungen (II) 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 Datenbanken I 6 29 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 Datenbanken I 6 30 Java-ODL Java-ODL: Beispiel 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 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 Datenbanken I 6 31 VL Datenbanken I 6 32

9 Java-ODL: Beispiel (II) SQL:1999 public class Book { private String isbn, title; private Category classifiedin; private ListOfObject writtenby; public Buch (String isbn) { this.isbn = isbn; writtenby = new ListOfObject (); 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 Datenbanken I 6 33 VL Datenbanken I 6 34 SQL:1999: Neue Datentypen BLOB und CLOB 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 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 Datenbanken I 6 35 VL Datenbanken I 6 36

10 Kollektionsdatentypen Kollektionsdatentypen: Beispiel 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 create table Bücher ( titel varchar(100), isbn varchar(10), preis decimal(5,2), abstract clob(10k), autoren varchar(20) array[5] ); VL Datenbanken I 6 37 VL Datenbanken I 6 38 Anonyme ROW-Typen Nutzerdefinierte Datentypen (UDT) 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)) ); Definition abstrakter Datentypen Unterscheidung in Distinct-Typen: Definition eines Datentyps direkt als Umbenennung eines Basisdatentyps Strukturierte Typen: Typkonstruktor für benannte strukturierte Datentypen VL Datenbanken I 6 39 VL Datenbanken I 6 40

11 Distinct-Typen Strukturierte 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 Grundstück ( laenge meter, breite meter, flaeche quadratmeter); breite und flaeche sind inkompatibel VL Datenbanken I 6 41 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 Datenbanken I 6 42 Subtyping Strukturierte Typen: Methoden 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 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 Datenbanken I 6 43 VL Datenbanken I 6 44

12 Methoden: Beispiel Strukturierte Typen für Tabellen create type Kunde as ( ) not final method gesamt_bestellsumme() returns decimal(9,2)) create method gesamt_bestellsumme() for Kunde begin end 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 Datenbanken I 6 45 VL Datenbanken I 6 46 Objektidentifikatoren REF-Typ 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) Typ für Referenzen auf Instanzen eines strukturierten Datentyps (Tupel einer Objektrelation) Notation: ref(strukturierter-typ) [ scope gültigkeitsbereich ] Gültigkeitsbereich: vorgegebene Tabelle alle Tabellen... VL Datenbanken I 6 47 VL Datenbanken I 6 48

13 REF-Typ: Beispiel Objektrelationale Typen in Oracle9i 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] ) 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 Datenbanken I 6 49 VL Datenbanken I 6 50 Oracle: Typdefinition Oracle: Objekttabellen Definition von Datentypen für Attribute, Variablen und Tabellen (row objects) Notation: create type name as object () 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 Datenbanken I 6 51 VL Datenbanken I 6 52

14 Oracle: Objekttabellen (II) Oracle: Kollektionen Objektidentifikatoren object identifier is primary key: Nutzung des Primärschlüssels as OID object identifier is system generated: Nutzung des Primärschlüssels as OID Repräsentation von mehrwertigen Attributen und 1:n-Beziehungen Typkonstruktoren varray: geordnete Menge von Elementen nested table: ungeordnete Menge ohne Größenbeschränkung VL Datenbanken I 6 53 VL Datenbanken I 6 54 Oracle: VARRAY Oracle: Nested Tables 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 ); 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 Datenbanken I 6 55 VL Datenbanken I 6 56

15 Oracle: REF-Typen Oracle: Methoden 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 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 Datenbanken I 6 57 VL Datenbanken I 6 58 Oracle: Map- und Order-Methoden Oracle: Map- und Order-Methoden (II) 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 ); ORDER-Funktionen: direkte Vergleiche von Objekten create type Kunde as object ( order member function vergleiche (k Kunde) return integer ); VL Datenbanken I 6 59 VL Datenbanken I 6 60

16 Oracle: Subtyping XML Schema: Überblick 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 Datenbanken I 6 61 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 Datenbanken I 6 62 XML Schema: Konzepte Beispieldokument 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 <?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 Datenbanken I 6 63 VL Datenbanken I 6 64

17 Schemadefinition Deklaration von Elementen <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> 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 Datenbanken I 6 65 VL Datenbanken I 6 66 Einfache Typen Einfache Typen: Bereichseinschränkung 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) Einschränkung des Wertebereichs ( ) <xsd:simpletype name="mengentyp"> <xsd:restriction base="xsd:integer"> <xsd:mininclusive value="1" /> <xsd:maxinclusive value="100" /> </xsd:restriction> </xsd:simpletype> VL Datenbanken I 6 67 VL Datenbanken I 6 68

18 Einfache Typen: Muster Komplexe Typen 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> Typkonstruktor für Elemente mit Attributen und Subelementen Bildung komplexer Typen auf Basis einfacher Typen Mixed Content (Sequenz von Subelementen) Auswahl, Gruppierung... VL Datenbanken I 6 69 VL Datenbanken I 6 70 Komplexe Typen: Beispiel Komplexe Typen: Beispiel (II) 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> <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 Datenbanken I 6 71 VL Datenbanken I 6 72

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

4. Datenbankdefinitionssprachen

4. Datenbankdefinitionssprachen 4. Datenbankdefinitionssprachen SQL-DDL ODL (Object Definition Language) für objektorientierte Datenbanksysteme nach dem ODMG-Standard Objektrelationale Konzepte DDL-Erweiterungen von SQL:1999 Oracle9i

Mehr

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

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

Mehr

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

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

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

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

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

XML-Schema Datentypen

XML-Schema Datentypen Datentypen Data Types Simple Types Complex Types User-derived Built-in Atomic (restriction) Non-atomic (list, union) Primitive Derived WT:III-1 XML Schema Reference Lettmann 2014 Datentypen anytype anysimpletype

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

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

Grober Überblick zu Datendefinitionsanweisungen in SQL

Grober Überblick zu Datendefinitionsanweisungen in SQL 5.2 Datendefinition mit SQL (DDL) Grober Überblick zu Datendefinitionsanweisungen in SQL Konzeptuelle Ebene - CREATE TABLE, ALTER TABLE, DROP TABLE - CREATE DOMAIN, ALTER DOMAIN, DROP DOMAIN -... Interne

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

Webbasierte Informationssysteme 8. Datenbanksprache SQL

Webbasierte Informationssysteme 8. Datenbanksprache SQL Universität Paderborn Datenbanksprache SQL Webbasierte Informationssysteme 8. Datenbanksprache SQL Prof. Dr. Gregor Engels Alexander Förster AG Datenbank- und Informationssysteme 1 umfasst Sprachanteile

Mehr

Kapitel 2: Das Relationale Modell

Kapitel 2: Das Relationale Modell Ludwig Maximilians Universität München Institut für Informatik Lehr- und Forschungseinheit für Datenbanksysteme Skript zur Vorlesung Wintersemester 2006/2007 Kapitel 2: Das Relationale Modell Vorlesung:

Mehr

Kapitel 2: Das Relationale Modell

Kapitel 2: Das Relationale Modell Ludwig Maximilians Universität München Institut für Informatik Lehr- und Forschungseinheit für Datenbanksysteme Skript zur Vorlesung Datenbanksysteme I Wintersemester 2012/2013 Kapitel 2: Das Relationale

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 2014 Kapitel 3: Datenbanksysteme Vorlesung:

Mehr

Datenintegrität. Kapitel 5 1

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

Mehr

Webbasierte Informationssysteme 8. Datenbanksprache SQL

Webbasierte Informationssysteme 8. Datenbanksprache SQL Universität Paderborn Webbasierte Informationssysteme 8. Datenbanksprache SQL Prof. Dr. Gregor Engels Alexander Förster AG Datenbank- und Informationssysteme 1 Kapitelübersicht Einführung in relationale

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

SQL Wintersemester 16/17 DBIS 1

SQL Wintersemester 16/17 DBIS 1 SQL 1 Typischer Datenbankentwurf Anforderungsanalyse und -spezifikation Miniwelt Konzeptioneller Entwurf E/R-Diagramm Alternative: UML-Diagramm Logischer Entwurf Relationales DB- Schema Alternativen: Bachman-Diagramm

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

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

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #3. SQL (Teil 1) Vorlesung #3 SQL (Teil 1) Fahrplan Wiederholung/Zusammenfassung Relationales Modell Relationale Algebra Relationenkalkül Geschichte der Sprache SQL SQL DDL (CREATE TABLE...) SQL DML (INSERT, UPDATE, DELETE)

Mehr

Datenintegrität. Kapitel 5 1

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

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

Deklaration standalone="yes" Quelle:

Deklaration standalone=yes Quelle: Wohlgeformtes XML-Dokument 1. Zu jedem Start-Tag existiert genau ein Ende-Tag 2. Bei leeren Elementen können diese zusammenfallen 3. Korrekte Elementschachtelung, d.h. keine Überlappung 4. Genau ein Wurzelelement

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 2013 Kapitel 3: Datenbanksysteme Vorlesung:

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

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

5. SQL. Einleitung / Historie / Normierung. Datendefinition mit SQL (DDL) Datenänderung/-zugriff mit SQL (DML) Datenkontrolle mit SQL (DCL)

5. SQL. Einleitung / Historie / Normierung. Datendefinition mit SQL (DDL) Datenänderung/-zugriff mit SQL (DML) Datenkontrolle mit SQL (DCL) 5. SQL Einleitung / Historie / Normierung Datendefinition mit SQL (DDL) Datenänderung/-zugriff mit SQL (DML) Datenkontrolle mit SQL (DCL) Ausblick: Transaktionsverwaltung/Fehlerbehandlung Praktischer Teil

Mehr

XML Schema 2016 S h_da S Seite 1

XML Schema 2016 S h_da S Seite 1 XML Schema Seite 1 XML/Schema: Strukturen Dokumentinstanz Dokumenttyp Wellformed Valid Dokumentstrukturdefinition mit XML/Schema XML Document Type Definition Seite 2 XML Dokument Instanz XML-Deklaration

Mehr

Inhaltsverzeichnis Vorwort zur vierten Auflage Vorwort zur dritten Auflage Vorwort zur zweiten Auflage Vorwort zur ersten Auflage Hinweise zur CD

Inhaltsverzeichnis Vorwort zur vierten Auflage Vorwort zur dritten Auflage Vorwort zur zweiten Auflage Vorwort zur ersten Auflage Hinweise zur CD Vorwort zur vierten Auflage 11 Vorwort zur dritten Auflage 13 Vorwort zur zweiten Auflage 15 Vorwort zur ersten Auflage 17 Hinweise zur CD 19 1 Datenbanken und Datenbanksysteme 21 1.1 Zentralisierung der

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

Teil III. Relationale Datenbanken Daten als Tabellen

Teil III. Relationale Datenbanken Daten als Tabellen Teil III Relationale Datenbanken Daten als Tabellen Relationale Datenbanken Daten als Tabellen 1 Relationen für tabellarische Daten 2 SQL-Datendefinition 3 Grundoperationen: Die Relationenalgebra 4 SQL

Mehr

Create-Table-Befehl. CREATE TABLE Tabellenname ( { Spalte { Datentyp Gebietsname } [ Spaltenbedingung [ ] ] Tabellenbedingung }

Create-Table-Befehl. CREATE TABLE Tabellenname ( { Spalte { Datentyp Gebietsname } [ Spaltenbedingung [ ] ] Tabellenbedingung } Create-Table-Befehl CREATE TABLE Tabellenname ( { Spalte { Datentyp Gebietsname } [ Spaltenbedingung [ ] ] Tabellenbedingung } [, ] ) Liste der wichtigsten Datentypen in SQL INTEGER INT SMALLINT NUMERIC(x,y)

Mehr

Integritätsbedingungen für komplexe Objekte in objektrelationalen Datenbanksystemen

Integritä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

Mehr

Wiederholung VU Datenmodellierung

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

Mehr

Seminar 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. 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

Mehr

Wiederholung VU Datenmodellierung

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

Mehr

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

Datenbanksysteme 2013

Datenbanksysteme 2013 Datenbanksysteme 2013 Kapitel 8: Datenintegrität Vorlesung vom 14.05.2013 Oliver Vornberger Institut für Informatik Universität Osnabrück Datenintegrität Statische Bedingung (jeder Zustand) Dynamische

Mehr

Datenintegrität. Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung

Datenintegrität. Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung Datenintegrität Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung Statische vs. dynamische Integritätsbedingungen Statische Integritätsbedingungen Bedingungen

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

DB1. DB SQL-DQL 1 Mario Neugebauer

DB1. DB SQL-DQL 1 Mario Neugebauer DB1 DB1-12 041-SQL-DQL 1 Mario Neugebauer Einführung Informationsmodellierung Relationales Datenbankmodell Datenbanksprache SQL Einführung Daten-Abfrage-Sprache - DQL Daten-Definitions-Sprache - DDL Daten-Manipulations-Sprache

Mehr

Kapitel 5. Objektrelationale Datenmodell- und Spracherweiterungen kommerzieller Datenbanksysteme. Objektrelationale Erweiterungen in Oracle9i

Kapitel 5. Objektrelationale Datenmodell- und Spracherweiterungen kommerzieller Datenbanksysteme. Objektrelationale Erweiterungen in Oracle9i Objekttypen Kapitel 5 Objektrelationale Datenmodell- und Spracherweiterungen kommerzieller Datenbanksysteme Oracle 9i, Release 9.0.1 DB2 Universal Database, Version 7 Informix Dynamic Server.2000, Version

Mehr

Übung Datenbanksysteme Updates, Integritätsbedingungen, funktionale Abhängigkeiten

Übung Datenbanksysteme Updates, Integritätsbedingungen, funktionale Abhängigkeiten Übung Datenbanksysteme Updates, Integritätsbedingungen, funktionale Abhängigkeiten 12.1.2004 Änderungsoperationen bei SQL (Daten) Einfügen neuer Tupel (schon bekannt) INSERT INTO Table (Spalte1, Spalte2)

Mehr

3.3. Implementierung in SQL DDL-Grundlagen Constraint-Verzögerung Implementierungs-Strategien

3.3. Implementierung in SQL DDL-Grundlagen Constraint-Verzögerung Implementierungs-Strategien CREATE TABLE SPEND_STAT ( S_STATUS VARCHAR2(1), STAT_TXT VARCHAR2(15), PRIMARY KEY (S_STATUS) ENABLE ) ; 3.3. Implementierung in SQL DDL-Grundlagen Constraint-Verzögerung Implementierungs-Strategien DDL:

Mehr

Relationales Datenbanksystem Oracle

Relationales 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

Mehr

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

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

Mehr

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort... 13

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort... 13 Auf einen Blick Vorwort... 13 Teil 1 Vorbereitung Kapitel 1 Einleitung... 17 Kapitel 2 SQL der Standard relationaler Datenbanken... 21 Kapitel 3 Die Beispieldatenbanken... 39 Teil 2 Abfrage und Bearbeitung

Mehr

Objektorientierung unter Oracle richtet sich einerseits nach objekt-orientierten Programmiersprachen wie Java,

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

Mehr

6. Datendefinition in SQL

6. Datendefinition in SQL 6. Datendefinition in SQL Datendefinition Schema, Datentypen, Domains Erzeugen von Tabellen (CREATE TABLE) Schemaevolution: Ändern/Löschen von Tabellen Sichtkonzept (Views) CREATE VIEW / DROP VIEW Problemfälle

Mehr

Datenbanksysteme. XML und Datenbanken. Burkhardt Renz. Sommersemester Fachbereich MNI Technische Hochschule Mittelhessen

Datenbanksysteme. XML und Datenbanken. Burkhardt Renz. Sommersemester Fachbereich MNI Technische Hochschule Mittelhessen Datenbanksysteme XML und Datenbanken Burkhardt Renz Fachbereich MNI Technische Hochschule Mittelhessen Sommersemester 2019 Übersicht Semistrukturierte Daten Datendefinition in XML Dokumenttypdefinition

Mehr

Grundlagen von Datenbanken

Grundlagen von Datenbanken Grundlagen von Datenbanken Aufgabenzettel 4 SQL-Anfragen Überblick: DB-Entwurf und Modellierung Konzeptioneller Entwurf Anforderungen Informationsmodell PNr. Vorname Nachname Geb.Datum Person n Datum kaufen

Mehr

6. Datendefinition in SQL

6. Datendefinition in SQL 6. Datendefinition in SQL Datendefinition Schema, Datentypen, Domains Erzeugen von Tabellen (CREATE TABLE) Schemaevolution: Ändern/Löschen von Tabellen Sichtkonzept (Views) CREATE VIEW / DROP VIEW Problemfälle

Mehr

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort 13

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort 13 Auf einen Blick Vorwort 13 Teil 1 Vorbereitung Kapitel 1 Einleitung 17 Kapitel 2 SQL - der Standard relationaler Datenbanken 21 Kapitel 3 Die Beispieldatenbanken 39 Teil 2 Abfrage und Bearbeitung Kapitel

Mehr

Kapitel 6: Das E/R-Modell

Kapitel 6: Das E/R-Modell Ludwig Maximilians Universität München Institut für Informatik Lehr- und Forschungseinheit für Datenbanksysteme Skript zur Vorlesung Wintersemester 2013/2014 Vorlesung: Prof. Dr. Christian Böhm Übungen:

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

7. Datendefinition in SQL Datendefinition

7. Datendefinition in SQL Datendefinition 7. Datendefinition in SQL Datendefinition Schema, Datentypen, Domains Erzeugen von Tabellen (CREATE TABLE) Einsatz von Large Objects (BLOB, CLOB) Schemaevolution: Ändern/Löschen von Tabellen Sichtkonzept

Mehr

7. Datendefinition in SQL Datendefinition

7. Datendefinition in SQL Datendefinition 7. Datendefinition in SQL Datendefinition Schema, Datentypen, Domains Erzeugen von Tabellen (CREATE TABLE) Einsatz von Large Objects (BLOB, CLOB) Schemaevolution: Ändern/Löschen von Tabellen Sichtkonzept

Mehr

7. Datendefinition in SQL

7. Datendefinition in SQL 7. Datendefinition in SQL Datendefinition Schema, Datentypen, Domains Erzeugen von Tabellen (CREATE TABLE) Einsatz von Large Objects (BLOB, CLOB) Schemaevolution: Ändern/Löschen von Tabellen Sichtkonzept

Mehr

7. Datendefinition in SQL

7. Datendefinition in SQL 7. Datendefinition in SQL Datendefinition Schema, Datentypen, Domains Erzeugen von Tabellen (CREATE TABLE) Einsatz von Large Objects (BLOB, CLOB) Schemaevolution: Ändern/Löschen von Tabellen Sichtkonzept

Mehr

Moderne Datenbankkonzepte

Moderne Datenbankkonzepte Verteilte Datenbanken Moderne Datenbankkonzepte Wünschenswert, aber extrem aufwändig ( Zweiphasen Commit) Objektrelationale Datenbanken Kompromiss zwischen relational und rein objektorientiert seit 1999

Mehr

Objektrelationale Datenbanken

Objektrelationale Datenbanken Objektrelationale Datenbanken Ein Lehrbuch von Can Türker, Gunther Saake 1. Auflage Objektrelationale Datenbanken Türker / Saake schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG dpunkt.verlag

Mehr

Das relationale Datenmodell

Das relationale Datenmodell Das relationale Datenmodell Konzepte Attribute, Relationenschemata, Datenbank-Schemata Konsistenzbedingungen Beispiel-Datenbank Seite 1 Einführung Zweck datenmäßige Darstellung von Objekten und Beziehungen

Mehr

Prakt. Datenbankprogrammierung. Sommersemester Was sind Constraints? I,11: Verwendung von Constraints. Festlegung von Constraints

Prakt. Datenbankprogrammierung. Sommersemester Was sind Constraints? I,11: Verwendung von Constraints. Festlegung von Constraints Prakt. Datenbankprogrammierung Sommersemester 2005 I,11: Verwendung von Constraints Was sind Constraints? Constraints stellen Regeln auf Tabellenebene sicher. Constraints verhindern das Löschen aus einer

Mehr

Rückblick: Datenbankentwurf

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

Mehr

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

SQL. DDL (Data Definition Language) Befehle und DML(Data Manipulation Language)

SQL. DDL (Data Definition Language) Befehle und DML(Data Manipulation Language) SQL DDL (Data Definition Language) Befehle und DML(Data Manipulation Language) DML(Data Manipulation Language) SQL Abfragen Studenten MatrNr Name Vorname Email Age Gruppe 1234 Schmidt Hans schmidt@cs.ro

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

Übersicht. Vorstellung des OO-Paradigmas

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

Mehr

Datenintegrität. Referentielle Integrität. Referentielle Integrität in SQL. Bisherige Integritätsbedingungen

Datenintegrität. Referentielle Integrität. Referentielle Integrität in SQL. Bisherige Integritätsbedingungen Datenintegrität eferentielle Integrität Integitätsbedingungen chlüssel Fremdschlüssel verweisen auf Tupel einer elation z.b. gelesenvon in Vorlesungen verweist auf Tupel in Professoren Beziehungskardinalitäten

Mehr

Datenbanksysteme Kapitel 2: SQL Data Definition Language

Datenbanksysteme Kapitel 2: SQL Data Definition Language Datenbanksysteme Kapitel 2: SQL Data Definition Language Prof. Dr. Peter Chamoni Mercator School of Management Lehrstuhl für Wirtschaftsinformatik, insb. Business Intelligence Prof. Dr. Peter Chamoni -

Mehr

Beispiele für Relationen

Beispiele für Relationen 4. Datenbankmodelle für die Realisierung Relationenmodell Objektorientierte Modelle Semistrukturierte Modelle und XML VL Datenbanken I 3 1 Relationenmodell Codd im Jahre 1970 Veranschaulichung eines Relationenschemas

Mehr

XML in Oracle 12c. Wolfgang Nast

XML in Oracle 12c. Wolfgang Nast XML in Oracle 12c Wolfgang Nast Agenda Vorstellung der Möglichkeiten Klassisch XDB Beispiel XML Schema Umsetzung klassisch Umsetzung XDB Zusammenfassung 2 XML in Oracle 12c Im Überblick Technologie-orientiert

Mehr

Inhaltsverzeichnis. Vorwort Kapitel 1 Einleitung... 15

Inhaltsverzeichnis. Vorwort Kapitel 1 Einleitung... 15 Vorwort..................................................... 13 Kapitel 1 Einleitung.......................................... 15 Kapitel 2 SQL der Standard relationaler Datenbanken... 19 2.1 Die Geschichte................................

Mehr

Logischer Entwurf. Stufen der Entwicklung einer Datenbank. Inhalt. Übersicht. 1. Datenbank - Entwurf ( ER - Diagramm)

Logischer 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

Mehr

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Übung zur Vorlesung Einführung in die Informatik 2 für Ingenieure (MSE) Alexander van Renen (renen@in.tum.de)

Mehr

Wie definieren wir das Relationen-

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

Mehr

Erzeugung und Veränderung von Tabellen

Erzeugung und Veränderung von Tabellen Datenbanken - Objekte Erzeugung und Veränderung von Tabellen Objekt Tabelle View Sequence Index Synonym Basiseinheit zum Speichern; besteht aus Zeilen und Spalten; Logische Repräsentation; kann Teilmengen

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

Objektrelationale Datenbanken. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

Objektrelationale 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

Mehr

Objektorientierte PL/SQL-Entwicklung Ein Erfahrungsbericht aus Sicht von JAVA-Entwicklern

Objektorientierte 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

Mehr

Inhaltsverzeichnis. Vorwort 13. Kapitel 1 Einleitung 15

Inhaltsverzeichnis. Vorwort 13. Kapitel 1 Einleitung 15 Vorwort 13 Kapitel 1 Einleitung 15 Kapitel 2 SQL-der Standard relationaler Datenbanken... 19 2.1 Die Geschichte 19 2.2 Die Bestandteile 20 2.3 Die Verarbeitung einer SQL-Anweisung 22 2.4 Die Struktur von

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

8. Tabellendefinition in SQL 8-1. Tabellendefinitionen

8. Tabellendefinition in SQL 8-1. Tabellendefinitionen 8. Tabellendefinition in SQL 8-1 Tabellendefinitionen 8. Tabellendefinition in SQL 8-2 Inhalt 1. Schlüssel 2. Fremdschlüssel 3. CREATE TABLE-Syntax 4. DROP TABLE 5. ALTER TABLE 8. Tabellendefinition in

Mehr

Datenbanken Entity-Relationship-Modell und Datenbankentwurf 1. Andreas Heß Hochschule Furtwangen

Datenbanken Entity-Relationship-Modell und Datenbankentwurf 1. Andreas Heß Hochschule Furtwangen Datenbanken Entity-Relationship-Modell und Datenbankentwurf 1 Andreas Heß Hochschule Furtwangen Inhalte heute Einführung ins Entity-Relationship-Modell Einführung ins relationale Modell Umsetzung vom E/R-

Mehr

Kapitel 7: Referentielle Integrität

Kapitel 7: Referentielle Integrität Kapitel 7: Referentielle Integrität Im Allgemeinen sind nur solche Instanzen einer Datenbank erlaubt, deren Relationen die der Datenbank bekannten Integritätsbedingungen (IB) erfüllen. Integritätsbedingungen

Mehr

Teil II Relationale Datenbanken Daten als Tabellen

Teil II Relationale Datenbanken Daten als Tabellen Teil II Relationale Datenbanken Daten als Tabellen Relationale Datenbanken Daten als Tabellen 1 Relationen für tabellarische Daten 2 SQL-Datendefinition 3 Grundoperationen: Die Relationenalgebra 4 SQL

Mehr

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

Uni 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.

Mehr