4. Objektrelationales Typsystem

Größe: px
Ab Seite anzeigen:

Download "4. Objektrelationales Typsystem"

Transkript

1 4. Objektrelationales Typsystem Inhalt und Lernziele 4. Objektrelationales Typsystem Inhalt (u.a.): Basisdatentypen Einzigartige Typen (Distinct Types) Kollektionstypen Strukturierte Typen Benutzerdefinierte Typen Typhierarchien Typumwandlungen Objektrelationale Datenbanksysteme Hochschule Bonn-Rhein-Sieg, SS

2 4. Objektrelationales Typsystem Basisdatentypen in SQL Basisdatentypen SQL Vordefinierte Basisdatentypen im SQL-Standard: Wahrheitswert:BOOLEAN ganze Zahl: SMALLINT, INTEGER, BIGINT Festkommazahl:DECIMAL(p,q), NUMERIC(p,q) Fließkommazahl:REAL, DOUBLE PRECISION, FLOAT(p) alphanumerische Zeichenkette: CHAR(p), VARCHAR(p), CLOB, NCLOB binäre Zeichenkette: BLOB Datum: DATE Zeit: TIME Zeitstempel: TIMESTAMP Zeitintervall: INTERVAL XML-Wert: XML Objektrelationale Datenbanksysteme Hochschule Bonn-Rhein-Sieg, SS

3 4. Objektrelationales Typsystem Basisdatentypen in SQL LOBs (Large Objekts) CLOB Character Large Object, alphanumerische Zeichenkette bestehdn aus 1-Byte- Zeichen NCLOB National Character Large Object, Speicherung langer Unicode-Zeichenketten BLOB Binary Large Object, binäre Zeichenketten maximale Längen deutlich über den sonstigen Typen für Zeichenketten, in IBM DB2 z.b. 2 GB Optional Einschränkung der maximalen Länge möglich Objektrelationale Datenbanksysteme Hochschule Bonn-Rhein-Sieg, SS

4 4. Objektrelationales Typsystem Basisdatentypen in SQL Beispiel (DB2): create table studenten ( matrikelnummer Char(7), name Varchar(30), adresse Varchar(200), grad Varchar(30), photo Blob( 5M ) not logged compact, -- Bild abschlusstag Date, abschlussarbeit Clob( 500K ) not logged compact -- Text ); Objektrelationale Datenbanksysteme Hochschule Bonn-Rhein-Sieg, SS

5 4. Objektrelationales Typsystem Basisdatentypen in SQL Unterschied zwischen Lobs und gewöhnlichen Datentypen 1. Die Daten von LOBs werden in separaten Speicherbereichen abgelegt. Innerhalb der Tabelle wird ein Deskriptor gespeichert, der zur Lokalisation des LOB dient. 2. LOBs können in Anwendungsprogrammen durch sogenannte Lokatoren manipuliert weden. Dies entspricht ungefähr einem Zeiger in den Speicherbereich für LOBs. 3. Attribute, die auf einem LOB-Datentyp basieren, können vom Logging ausgenommen werden. Objektrelationale Datenbanksysteme Hochschule Bonn-Rhein-Sieg, SS

6 4. Objektrelationales Typsystem Basisdatentypen in SQL Typische Einschränkungen bei LOBs 1. Keine Verwendung in Prädikaten möglich, die direkte Vergleiche beinhalten. Verwendung bei LIKE ist erlaubt (als linker Operand). 2. Keine Verwendung in einem Kontext, der implizit Vergleiche erfordert, z.b.: SELECT DISTINCT, COUNT DISTINCT, MAX, MIN, GROUP BY, ORDER BY, PRIMARY KEY, FOREIGN KEY. 3. Keine Kombination durch Mengenoperatin möglich: INTERSECT, UNION, EXCEPT. 4. In der Regel keine Replikation möglich. Objektrelationale Datenbanksysteme Hochschule Bonn-Rhein-Sieg, SS

7 4. Objektrelationales Typsystem Basisdatentypen in SQL XML XML-Wert kann sein: XML-Element Wald von XML-Elementen Geschachtelte XML-Elemente XML-Dokument Objektrelationale Datenbanksysteme Hochschule Bonn-Rhein-Sieg, SS

8 Einzigartige Typen (Distinct Types) Beim Aufbau einer Datenbank entscheidet man sich häufig dafür, einen vordefinierten Datentyp in bestimmter Weise zu verwenden, z.b.: Integer für Altersangaben Decimal(8,2) für Geldbeträge Double für Winkel Problem: Mit den vordefinierten Operationen ist u.u. keine sinnvolle Interpretation für die repräsentierten Werte verbunden. Objektrelationale Datenbanksysteme Hochschule Bonn-Rhein-Sieg, SS

9 Erzeugung einzigartiger Typen ORDBS bieten die Möglichkeit, für eine spezialisierte Verwendung von Daten eigene Typen zu erzeugen, sogenannte einzigartige Typen (distinct types). siehe auch SQL-99 (core level) Jeder der einzigartigen Typen hat mit einem der vordefinierten Typen seine interne Darstellung gemeinsam. Der vordefinierte Typ heißt in diesem Fall Quell- bzw. Basistyp. Abgesehen von der internen Darstellung wird der einzigartige Typ als separater Datentyp betrachtet, der von allen anderen Typen verschieden ist. Objektrelationale Datenbanksysteme Hochschule Bonn-Rhein-Sieg, SS

10 SQL-Definition einzigartiger Typen SQL-Standard: CREATE TYPE typname AS Basistyp [FINAL] Beispiele für IBM DB2: CREATE DISTINCT TYPE Geschlecht AS char(1) WITH COMPARISONS; CREATE DISTINCT TYPE Geld AS decimal(8,2) WITH COMPARISONS; CREATE DISTINCT TYPE Geometrie.Winkel AS Double WITH COMPARISONS; CREATE DISTINCT TYPE Song AS Blob(300M); Objektrelationale Datenbanksysteme Hochschule Bonn-Rhein-Sieg, SS

11 Bemerkungen zur Definiton Eine Instanz eines einzigartigen Typs wird nur mit einer Instanz des desselben Typs als vergleichbar betrachtet. Der Zusatz WITH COMPARISONS ist notwendig, wenn der Quelltyp kein LOB-Typ ist. Für solche einzigartigen Typen stehen die üblichen Vergleichsoperatoren zur Verfügung. Die Definition der Vergleichsoperatoren ist identisch mit der des Basistyps. Die Verwendung eines solchen einzigartigen Typs bei ORDER BY, GROUP BY und DISTINCT ist möglich. Auch können Indexe auf Basis solch eines Typs definiert werden. Da für LOB-Typen keine Vergleiche unterstützt werden, läßt man dort WITH COMPARISONS weg. Hier auch kein ORDER BY, GROUP BY, DISTINCT und auch keine Indexe. Objektrelationale Datenbanksysteme Hochschule Bonn-Rhein-Sieg, SS

12 Verwendung Einen einzigartigen Typ kann man wie einen vordefinierten Typ bei der Definition einer Tabelle verwenden: CREATE TABLE angestellte ( angnr char(5), abtnr char(5), name varchar(30), geschlecht Geschlecht, gehalt Geld ); Mit der DROP-Anweisung werden einzigartigen Typen gelöscht (DB2): DROP DISTINCT TYPE Video; DROP DISTINCT TYPE Geometrie.Winkel; Objektrelationale Datenbanksysteme Hochschule Bonn-Rhein-Sieg, SS

13 Casting-Funktionen Bei Erzeugung eines einzigartigen Typs werden automatisch zwei Casting Funktionen angelegt: Eine Funktion f : Basistyp DistinctT ype Diese Funktion trägt den Namen des einzigartigen Typs. Eine Funktion f 1 : DistinctType Basistyp Diese Funktion trägt den Namen des Basistyp. Beispiel: Für den einzigartigen Typ CREATE DISTINCT TYPE alter IS integer; werden die Funktionen mit den folgenden Signaturen erzeugt: alter( integer ) Objektrelationale Datenbanksysteme Hochschule Bonn-Rhein-Sieg, SS

14 integer( alter ) Konsequenz: Sind alter1 und alter2 vom Typ alter, dann gilt: alter1 + alter2 ist nicht erlaubt, aber alter( integer(alter1) + integer(alter2) ) ist erlaubt. Objektrelationale Datenbanksysteme Hochschule Bonn-Rhein-Sieg, SS

15 Bemerkungen: Die Casting-Funktionen sind sehr effizient. Ist mit dem einzigartigen Typ implizit durch den Basistyp eine Länge oder Genauigkeit verbunden, so wird dies bei der Umwandlung berücksichtigt. Die Casting-Funktionen können entweder durch ihren Namen oder durch Anwendung eines CAST-Ausdruckes angesprochen werden. alter(14) CAST(14 as alter) integer(alter1) CAST(alter1 as integer ) Objektrelationale Datenbanksysteme Hochschule Bonn-Rhein-Sieg, SS

16 Zuweisung einzigartiger Typen Zuweisung heißt hier: Eintragung eines neuen Wertes in eine Datenbanktabelle (Input): UPDATE, INSERT INTO Übertragung eines Wertes von einer Datenbanktabelle in eine Wirtsvariable (Output): SELECT Für die vordefinierten Datentypen finden hier u.u. implizite Konvertierungen (Coercions) statt. Wie laufen Zuweisungen ab, wenn einzigartige Typen beteiligt sind? Objektrelationale Datenbanksysteme Hochschule Bonn-Rhein-Sieg, SS

17 1. Zuweisung vordefinierter Typ T an einzigartigen Typ DT bei Input Nur möglich, falls: T der Basistyp von DT ist oder T in den Basistyp von DT gemäß der Konversionspfade konvertiert werden kann. Die Konversion findet implizit statt. 2. Zuweisung einzigartiger Typ DT an vordefinierten Typ T bei Input Nur möglich, falls T der Basistyp von DT ist (implizite Konversion). 3. Zuweisung einzigartiger Typ DT an vordefinierten Typ T bei Output Implizite Zuweisung in zwei Schritten: (a) Konversion DT in den Basistyp von DT (b) Konversion des Basistyps von DT nach T nach den üblichen Regeln (falls möglich). Beispiel: Es seien gegeben CREATE DISTINCT TYPE Winkel AS double; Objektrelationale Datenbanksysteme Hochschule Bonn-Rhein-Sieg, SS

18 Tabelle dreiecke mit einem Attribut ecke vom Typ Winkel Hostvariable: double v; Sind die folgenden Zuweisungen zulässig? EXEC SQL SELECT ecke INTO :v FROM dreiecke WHERE farbe = rot ; EXEC SQL INSERT INTO dreiecke( farbe, ecke ) VALUES ( blau, :v); UPDATE dreiecke SET ecke = 45.5 WHERE farbe = gruen ; Objektrelationale Datenbanksysteme Hochschule Bonn-Rhein-Sieg, SS

19 Quellenbasierte UDFs An einen einzigartigen Typ werden vom Basistyp nur die Vergleichsoperatoren (falls vorhanden) vererbt: siehe oben: alter1 + alter2 ist nicht erlaubt Muß man nun immer Casting verwenden? Nein! Man kann gezielt Semantik vom Basistyp auf den einzigartigen Typ übertragen. Dies erfolgt mit sogenannten quellenbasierten Funktionen. Objektrelationale Datenbanksysteme Hochschule Bonn-Rhein-Sieg, SS

20 Eine quellenbasierte Funktion ist eine neue UDF, die auf einer bereits existierenden Funktion (Quellenfunktion) basiert. Wird die quellenbasierte Funktion aufgerufen, dann werden 1. die Argumente des Aufrufs in die Parametertypen der Quellenfunktion konvertiert 2. die Quellenfunktion wird aufgerufen und 3. das Ergebis des Aufrufs wird in den Ergebnistyp der neuen UDF konvertiert. Quellenfunktion 1. Konvertieren der Argumente +( double, double ) 2. Ausführen der Quellenfuktion double 3. Konvertieren des Ergenisses der Quellenfunktion +(Gewicht, Gewicht) Gewicht quellenbasierte Funktion Ergebnis Objektrelationale Datenbanksysteme Hochschule Bonn-Rhein-Sieg, SS

21 Deklaration einer quellenbasierten Funktion: erfolgt mit CREATE FUNKTION erlaubte bekannte Klauseln: RETURNS, SPECIFIC Neue Klausel: SOURCE In der SOURCE-Klausel wir die Quellenfunktion in einer der folgenden Varianten angegeben: Funktionsname ohne Parameter Spezifischer Name Signatur Objektrelationale Datenbanksysteme Hochschule Bonn-Rhein-Sieg, SS

22 Beispiele: CREATE DISTINCT TYPE Geld AS Decimal(8,2); CREATE FUNCTION "+"( Geld, Geld ) RETURNS Geld SOURCE "+"( Decimal(), Decimal() ); CREATE FUNCTION "-"( Geld, Geld ) RETURNS Geld SOURCE "-"( Decimal(), Decimal() ); CREATE FUNCTION "*"( Integer, Geld ) RETURNS Geld SOURCE "*"( Integer, Decimal() ); CREATE FUNCTION avg( Geld ) RETURNS Geld SOURCE avg( Decimal() ); CREATE DISTINCT TYPE Artikel AS Clob( 1M ); CREATE FUNCTION posstr( Artikel, Varchar() ) RETURNS Integer SOURCE posstr( Clob(), Varchar() ); Objektrelationale Datenbanksysteme Hochschule Bonn-Rhein-Sieg, SS

23 UDFs mit einzigartigen Typen Man kann natürlich über ein reines Vererben von Funktionen des Basistyps an den einzigartigen Typ hinausgehen. Hierzu verwenden wir natürlich externe UDFs. Die Ausdruckskraft von einzigartigen Typen und externen UDFs wird am besten deutlich, wenn beides zusammen benutzt wird. Beispiel: Ein internationaler Konzern stellt Produkte in Deutschland und den USA her. Die Länge der amerikanischen Produkte wird in Fuß gemessen, die der deutschen in Meter. Objektrelationale Datenbanksysteme Hochschule Bonn-Rhein-Sieg, SS

24 CREATE DISTINCT TYPE Fuss AS double WITH COMPARISONS; Für die Produkte existieren jeweils separate Tabellen. CREATE DISTINCT TYPE Meter AS double WITH COMPARISONS; CREATE TABLE us_produkte ( name varchar(20), groesse Fuss ); CREATE TABLE de_produkte ( name varchar(20), groesse Meter ); Das System stellt Casting-Funktion zwischen den einzigartigen Typen und ihren Basistypen bereit. Es liefert aber keine Konvertierung zwischen Fuss und Meter. Hierfür werden UDFs definiert. CREATE FUNCTION fuss( Meter ) RETURNS Fuss... ; CREATE FUNCTION meter( Fuss ) RETURNS Meter... ; Objektrelationale Datenbanksysteme Hochschule Bonn-Rhein-Sieg, SS

25 void SQL_API_FN fuss ( double * meterin, double * fussout,... ) { *fussout = *meterin * 3.28;... } void SQL_API_FN meter ( double * fussin, double * meterout,... ) { *meterout = *fussin / 3.28;... } Der Konzern möchte zwei länderspezifische Kataloge herausgeben, die aber alle Produkte enthalten. Hierzu werden Views definiert. Objektrelationale Datenbanksysteme Hochschule Bonn-Rhein-Sieg, SS

26 CREATE VIEW us_katalog( name, laenge, land ) AS SELECT name, laenge, US FROM us_produkte UNION ALL SELECT name, fuss(laenge), DE FROM de_produkte; CREATE VIEW de_katalog( name, laenge, land ) AS SELECT name, laenge, DE FROM de_produkte UNION ALL SELECT name, meter(laenge), US FROM us_produkte; Die Verkäufer können dann auf einfache Weise Abfragen auf den länderspezifischen Katalogen durchführen, und sehen dabei alle Artikel in der gewohnten Weise. SELECT * FROM us_katalog WHERE laenge < fuss(5); SELECT * FROM de_katalog WHERE laenge < meter(3); Objektrelationale Datenbanksysteme Hochschule Bonn-Rhein-Sieg, SS

27 4. Objektrelationales Typsystem Kollektionstypen Kollektionstypen Typkonstruktoren ermöglichen die Konstruktion neuer Datentypen: konstruierte Datentypen Beliebig komplexe Datentypen durch geschachtelte Anwendung von Typkonstruktoren Grundlage für Darstellung und Erzeugung komplexer Werte Übliche Typkonstruktoren für Kollektionstypen: ROW ARRAY MULTISET SET LIST Objektrelationale Datenbanksysteme Hochschule Bonn-Rhein-Sieg, SS

28 4. Objektrelationales Typsystem Kollektionstypen Oracle VArray VARRAY: Feld mit Indexzugriff Maximale Grösse, wird bei Typdefinition festgelegt variable aktuelle Größe, erstmalige Festlegung bei Instanziierung Zugriff durch ganzzahligen Index zwischen 1 und aktueller Feldgröße Elemente haben alle den gleichen Basistyp, auch komplexe Typen als Basistyp möglich Volle Funktionalität von Varrays nur in PL/SQL Objektrelationale Datenbanksysteme Hochschule Bonn-Rhein-Sieg, SS

29 4. Objektrelationales Typsystem Kollektionstypen Varray: Typdefinition und Verwendung Allgemein: create type typname as varray(maxlaenge) of basistyp Beispiel: create type t_zeitreihe as varray(30) of number; create table zrtable ( id number not null primary key, zeitreihe t_zeitreihe not null ); Objektrelationale Datenbanksysteme Hochschule Bonn-Rhein-Sieg, SS

30 4. Objektrelationales Typsystem Kollektionstypen Varray: Konstruktoren Erzeugung einer Instanz eines Varray-Typs: Der Typname dient gleichzeitig als Konstruktor mit beliebiger Stelligkeit. Beispiel: insert into zrtable values(1, t_zeitreihe(1,2,3,4)); insert into zrtable values(2,t_zeitreihe(1,0,-1,3,4,5,6,7)); Objektrelationale Datenbanksysteme Hochschule Bonn-Rhein-Sieg, SS

31 4. Objektrelationales Typsystem Kollektionstypen Varrays und Nullwerte Varray Kardinalität t zeitreihe(17,24,32) 3 t zeitreihe(17,null,32) 3 t zeitreihe(17,null) 2 t zeitreihe(17) 1 t zeitreihe(null) 1 t zeitreihe() 0 null null Objektrelationale Datenbanksysteme Hochschule Bonn-Rhein-Sieg, SS

32 4. Objektrelationales Typsystem Kollektionstypen Selektion und Belegung bei Varrays Zugriff auf komplette Kollektion wie üblich über Attributname select id, zeitreihe from zrtable Selektion und Belegung einzelner Arrayelemente nur mit Hilfe von PL/SQL- Anweisungen Übliche Vorgehensweise: Definition spezieller UDFs bzw. spezieller Methoden Objektrelationale Datenbanksysteme Hochschule Bonn-Rhein-Sieg, SS

33 4. Objektrelationales Typsystem Kollektionstypen Wichtige PL/SQL-Funktionen für Varrays (i) liefert das i-te Element COUNT ermittelt die Kardinalität EXTEND bzw. EXTEND(n) vergrößert das Array um 1 bzw. n Elemente, vorbelegt mit null LIMIT liefert die maximal zulässige Größe für ein Array Objektrelationale Datenbanksysteme Hochschule Bonn-Rhein-Sieg, SS

34 4. Objektrelationales Typsystem Kollektionstypen Nutzung der Tabellenfunktion für Varray Für ein Varray va liefert table(va) eine einspaltige Relation mit den Inhalten des Varrays als Zeilen. Dies kann man z.b. für die ad-hoc Bestimmung der Länge eines Varrays in einer Abfrage nutzen. Beispiele: -- Ausgabe aller Varray-IDs mit zugehoeriger Arraylaenge select id, (select count(*) from table(zeitreihe)) as anz from zrtable; -- Selektion der Varrays mit einer Laenge > 5 Objektrelationale Datenbanksysteme Hochschule Bonn-Rhein-Sieg, SS

35 4. Objektrelationales Typsystem Kollektionstypen select id from zrtable where (select count(*) from table(zeitreihe)) > 5; -- Alle Elemente aller Varrays select zr.id, t.* from zrtable zr, table(zr.zeitreihe) t; Objektrelationale Datenbanksysteme Hochschule Bonn-Rhein-Sieg, SS

36 4. Objektrelationales Typsystem Kollektionstypen Nutzung von UDFs Definition von User Defined Functions mit spezifischer Semantik Nutzung der UDFs innerhalb von Anfragen oder anderen UDFs Beispiele Objektrelationale Datenbanksysteme Hochschule Bonn-Rhein-Sieg, SS

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

Große Objekte (LOBs) LOBs unterscheiden sich durch die folgenden Punkte von gewöhnlichen Datentypen:

Große Objekte (LOBs) LOBs unterscheiden sich durch die folgenden Punkte von gewöhnlichen Datentypen: Große Objekte (LOBs) LOBs unterscheiden sich durch die folgenden Punkte von gewöhnlichen Datentypen: Für große Objekte benötigt man geeignete Datentypen. Hierzu dienen die sogenannten Large Objects (LOBs).

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

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

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

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

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

5 Benutzerdefinierte Typen und Funktionen

5 Benutzerdefinierte Typen und Funktionen 5 Benutzerdefinierte Typen und Funktionen 5.1 Theorie 5.1.1 Benutzerdefinierte Typen Für jedes Quentchen Daten in der Datenbank muß ein Datentyp festgelegt sein, der angibt, wie die Information repräsentiert

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

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

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

Objektrelationale, erweiterbare Datenbanken

Objektrelationale, erweiterbare Datenbanken Dr. C. Türker Eidgenössische Technische Hochschule Zürich Ecole polytechnique fédérale de Zurich Politecnico federale di Zurigo Swiss Federal Institute of Technology Zurich Objektrelationale, erweiterbare

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

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

Funktionen. Überblick über Stored Functions. Syntax zum Schreiben einer Funktion. Schreiben einer Funktion

Funktionen. Überblick über Stored Functions. Syntax zum Schreiben einer Funktion. Schreiben einer Funktion Überblick über Stored Functions Funktionen Eine Funktion ist ein benannter PL/SQL- Block, der einen Wert zurückgibt. Eine Funktion kann in der Datenbank als Objekt zur wiederholbaren Ausführung gespeichert

Mehr

Einführung in SQL. 1. Grundlagen SQL. Structured Query Language. Viele Dialekte. Unterteilung: i. DDL (Data Definition Language)

Einführung in SQL. 1. Grundlagen SQL. Structured Query Language. Viele Dialekte. Unterteilung: i. DDL (Data Definition Language) Einführung in SQL 1. Grundlagen Structured Query Language Viele Dialekte Unterteilung: i. DDL (Data Definition Language) ii. iii. DML (Data Modifing Language) DRL (Data Retrival Language) 1/12 2. DDL Data

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

7. XML-Datenbanksysteme und SQL/XML

7. XML-Datenbanksysteme und SQL/XML 7. XML-Datenbanksysteme und SQL/XML Native XML-DBS vs. XML-Erweiterungen von ORDBS Speicherung von XML-Dokumenten Speicherung von XML-Dokumenten als Ganzes Generische Dekomposition von XML-Dokumenten Schemabasierte

Mehr

Themen des Kapitels. 2 Grundlagen von PL/SQL. PL/SQL Blöcke Kommentare Bezeichner Variablen Operatoren. 2.1 Übersicht. Grundelemente von PL/SQL.

Themen des Kapitels. 2 Grundlagen von PL/SQL. PL/SQL Blöcke Kommentare Bezeichner Variablen Operatoren. 2.1 Übersicht. Grundelemente von PL/SQL. 2 Grundlagen von PL/SQL Grundelemente von PL/SQL. 2.1 Übersicht Themen des Kapitels Grundlagen von PL/SQL Themen des Kapitels PL/SQL Blöcke Kommentare Bezeichner Variablen Operatoren Im Kapitel Grundlagen

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

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

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

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo.

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo. Mengenvergleiche: Mehr Möglichkeiten als der in-operator bietet der θany und der θall-operator, also der Vergleich mit irgendeinem oder jedem Tupel der Unteranfrage. Alle Konten außer das, mit dem größten

Mehr

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten Einführung in SQL Die Sprache SQL (Structured Query Language) ist eine Programmiersprache für relationale Datenbanksysteme, die auf dem ANSI-SQL-Standard beruht. SQL wird heute von fast jedem Datenbanksystem

Mehr

dbis Praktikum DBS I SQL Teil 2

dbis Praktikum DBS I SQL Teil 2 SQL Teil 2 Übersicht Fortgeschrittene SQL-Konstrukte GROUP BY HAVING UNION / INTERSECT / EXCEPT SOME / ALL / ANY IN / EXISTS CREATE TABLE INSERT / UPDATE / DELETE 2 SELECT Syntax SELECT FROM [WHERE [GROUP

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

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

Oracle 10g Einführung

Oracle 10g Einführung Kurs Oracle 10g Einführung Teil 5 Einführung Timo Meyer Administration von Oracle-Datenbanken Timo Meyer Sommersemester 2006 Seite 1 von 16 Seite 1 von 16 Agenda 1 Tabellen und Views erstellen 2 Indizes

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

ORACLE und IBM DB2 Datentypen 14.12.2011

ORACLE und IBM DB2 Datentypen 14.12.2011 1/27 ORACLE und IBM DB2 Datentypen PHP-User-Group Stuttgart 14.12.2011 ORACLE Datentypen ein Überblick IBM DB2 Datentypen ein Überblick 2/27 ORACLE und IBM DB2 Datentypen Wer Wer bin bin ich ich?? Thomas

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

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

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

3 Query Language (QL) Einfachste Abfrage Ordnen Gruppieren... 7

3 Query Language (QL) Einfachste Abfrage Ordnen Gruppieren... 7 1 Data Definition Language (DDL)... 2 1.1 Tabellen erstellen... 2 1.1.1 Datentyp...... 2 1.1.2 Zusätze.... 2 1.2 Tabellen löschen... 2 1.3 Tabellen ändern (Spalten hinzufügen)... 2 1.4 Tabellen ändern

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

Übersicht der wichtigsten MySQL-Befehle

Übersicht der wichtigsten MySQL-Befehle Übersicht der wichtigsten MySQL-Befehle 1. Arbeiten mit Datenbanken 1.1 Datenbank anlegen Eine Datenbank kann man wie folgt erstellen. CREATE DATABASE db_namen; 1.2 Existierende Datenbanken anzeigen Mit

Mehr

Datenmanagement I SoSe 2006 Aufgabenblatt 4

Datenmanagement I SoSe 2006 Aufgabenblatt 4 Datenmanagement I SoSe 2006 Aufgabenblatt 4 June 11, 2009 Versuchen Sie, einige der Anfragen zu formulieren (ab Punkt 6), die im Tutorium stehen, das hier zu finden ist: http://wwwiti.cs.uni-magdeburg.de/iti_db/lehre/dm/tut/tutorium.html.

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

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

ids-system GmbH Tipp #3 Leer-Strings in SQL oder die Frage nach CHAR oder VARCHAR

ids-system GmbH Tipp #3 Leer-Strings in SQL oder die Frage nach CHAR oder VARCHAR ids-system GmbH Tipp #3 Leer-Strings in SQL oder die Frage Zusammenfassung Dieses Dokument beschreibt die Unterschiede zwischen CHAR und VARCHAR Datentyp sowie die Behandlung im SQL Michael Tiefenbacher

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

Objektrelationale Erweiterungen in DB2

Objektrelationale Erweiterungen in DB2 Strukturierte BLOB CLOB Nicht Objektrelationale Erweiterungen in DB2 l Neue Basisdatentypen l Benutzerdefinierte Typen Distinct-Typen Typen (mit Typvererbung) l Referenztyp l Typisierte Tabellen (mit Subtabellenbildung)

Mehr

ISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski. www.iit.tu-cottbus.de

ISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski. www.iit.tu-cottbus.de 08 Datenbanken Übung SQL Einführung Eckbert Jankowski www.iit.tu-cottbus.de Datenmodell (Wiederholung, Zusammenfassung) Objekte und deren Eigenschaften definieren Beziehungen zwischen den Objekten erkennen/definieren

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

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

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird. Thomas Studer Relationale Datenbanken: Von den theoretischen Grundlagen zu Anwendungen mit PostgreSQL Springer, 2016 ISBN 978-3-662-46570-7 Dieser Foliensatz darf frei verwendet werden unter der Bedingung,

Mehr

Abfragen (Queries, Subqueries)

Abfragen (Queries, Subqueries) Abfragen (Queries, Subqueries) Grundstruktur einer SQL-Abfrage (reine Projektion) SELECT [DISTINCT] {* Spaltenname [[AS] Aliasname ] Ausdruck} * ; Beispiele 1. Auswahl aller Spalten SELECT * ; 2. Auswahl

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

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

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

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

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

SQL structured query language

SQL structured query language Umfangreiche Datenmengen werden üblicherweise in relationalen Datenbank-Systemen (RDBMS) gespeichert Logische Struktur der Datenbank wird mittels Entity/Realtionship-Diagrammen dargestellt structured query

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

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

MySQL, phpmyadmin & SQL. Kurzübersicht

MySQL, phpmyadmin & SQL. Kurzübersicht MySQL, phpmyadmin & SQL Kurzübersicht Referenzen MySQL Documentation: http://dev.mysql.com/doc PHP 5 / MySQL5. Studienausgabe. Praxisbuch und Referenz (Kannengießer & Kannengießer) 2 Datenbank anlegen

Mehr

Bibliografische Informationen digitalisiert durch http://d-nb.info/995021198

Bibliografische Informationen digitalisiert durch http://d-nb.info/995021198 Auf einen Blick 1 Einleitung 15 2 Datenbankentwurf 23 3 Datenbankdefinition 43 4 Datensätze einfügen (INSERT INTO) 95 5 Daten abfragen (SELECT) 99 6 Daten aus mehreren Tabellen abfragen (JOIN) 143 7 Unterabfragen

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

10. Programmieren in SQL

10. Programmieren in SQL 10. Programmieren in SQL Inhalt 10.1 Motivation 10.2 Prozedurale Erweiterungen von SQL 10.3 Gespeicherte Prozeduren 10.4 Benutzerdefinierte Funktionen 10.5 Verwendung anderer Programmiersprachen 2 10.1

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

MySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben.

MySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben. MySQL-Befehle 1. Einleitung In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben. 2. Arbeiten mit Datenbanken 2.1 Datenbank anlegen Eine Datenbank kann man wie folgt

Mehr

U 8 SQL. = Structured Query Language (heute auch Standard Query Language) ALLGEMEIN:

U 8 SQL. = Structured Query Language (heute auch Standard Query Language) ALLGEMEIN: U 8 SQL = Structured Query Language (heute auch Standard Query Language) ALLGEMEIN: - Abfragesprache für relationale Datenbanken, die plattformübergreifend verwendet wird - Vereinfachte Verwendung über

Mehr

Zusammengesetzte Datentypen

Zusammengesetzte Datentypen Zusammengesetzte Datentypen.1 Records... -4.1.1 Implizite Typdeklaration mit %ROWTYPE... -6.1.2 Referenzierung eines Records... -6.2 PL/SQL Tables... -8.2.1 Deklaration einer PL/SQL Table... -8.3 Referenzierung

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

Anwendungsentwicklung Datenbanken SQL. Stefan Goebel

Anwendungsentwicklung Datenbanken SQL. Stefan Goebel Anwendungsentwicklung Datenbanken SQL Stefan Goebel SQL Structured Query Language strukturierte Abfragesprache von ANSI und ISO standardisiert deklarativ bedeutet was statt wie SQL beschreibt, welche Daten

Mehr

5.8 Bibliotheken für PostgreSQL

5.8 Bibliotheken für PostgreSQL 5.8 Bibliotheken für PostgreSQL Haskell/WASH: Modul Dbconnect PHP: pqsql-funktionen Java/JSP: JDBC Perl: DBI database interface modul Vorläufige Version 80 c 2004 Peter Thiemann, Matthias Neubauer 5.9

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

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

SQL: Weitere Funktionen

SQL: Weitere Funktionen Vergleich auf Zeichenketten SQL: Weitere Funktionen LIKE ist ein Operator mit dem in Zeichenketten andere Zeichenketten gesucht werden; zwei reservierte Zeichen mit besonderer Bedeutung sind hier % (manchmal

Mehr

ids-system GmbH Tipp #5 STRING_UNITS ab DB FP 4

ids-system GmbH Tipp #5 STRING_UNITS ab DB FP 4 ids-system GmbH Tipp #5 STRING_UNITS ab DB2 10.5 FP 4 Zusammenfassung Dieses Dokument beschreibt die Neuerungen beim Handling von CHARACTER und GRAPHIC Datentypen im DB2 Michael Tiefenbacher m.tiefenbacher@ids-system.de

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

Temporale Daten in objekt-relationalen Datenbanksystemen

Temporale Daten in objekt-relationalen Datenbanksystemen Temporale Daten in objekt-relationalen Datenbanksystemen Carsten Kleiner Universität Hannover Institut für Informatik FG Datenbanken und Informationssysteme (dbis) 30159 Hannover 13.Workshop Grundlagen

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

Grundlagen der OO- Programmierung in C#

Grundlagen der OO- Programmierung in C# Grundlagen der OO- Programmierung in C# Technische Grundlagen 1 Dr. Beatrice Amrhein Überblick Visual Studio: Editor und Debugging Die Datentypen Methoden in C# Die Speicherverwaltung 2 Visual Studio 3

Mehr

Grundlagen von SQL. Informatik 2, FS18. Dr. Hermann Lehner (Material von Dr. Markus Dahinden) Departement Informatik, ETH Zürich

Grundlagen von SQL. Informatik 2, FS18. Dr. Hermann Lehner (Material von Dr. Markus Dahinden) Departement Informatik, ETH Zürich Grundlagen von SQL Informatik 2, FS18 Dr. Hermann Lehner (Material von Dr. Markus Dahinden) Departement Informatik, ETH Zürich Markus Dahinden 13.05.18 1 Grundlagen von SQL (Structured Query Language)

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

SQL Data Manipulation Language (DML) und Query Language (QL)

SQL Data Manipulation Language (DML) und Query Language (QL) Innsbruck Information System University of Innsbruck School of Management Information Systems Universitätsstraße 15 6020 Innsbruck SQL Data Manipulation Language (DML) und Query Language (QL) Universität

Mehr

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

Datenbanksysteme Kapitel 7: SQL Vorlesung vom Oliver Vornberger. Institut für Informatik Universität Osnabrück Datenbanksysteme 2013 Kapitel 7: SQL Vorlesung vom 6.05.2013 Oliver Vornberger Institut für Informatik Universität Osnabrück Sprung Transititve Hülle SQL 1970 Edgar Codd: A relational model for large shared

Mehr

Übung PL/SQL Trigger Lösungen

Übung PL/SQL Trigger Lösungen Übung PL/SQL Trigger Lösungen 1) Gebe das aktuelle Datum aus. Wofür steht dual? Ändere das Datum für Deine aktuelle Session auf das Format Jahr (4 Stellen) Monat (2 Stellen) Tag (2 Stellen)[Leerzeichen]Stunde

Mehr

Introduction to Data and Knowledge Engineering. 6. Übung SQL

Introduction to Data and Knowledge Engineering. 6. Übung SQL Introduction to Data and Knowledge Engineering 6. Übung SQL Aufgabe 6.1 Datenbank-Schema Buch PK FK Autor PK FK ISBN Titel Preis x ID Vorname Nachname x BuchAutor ISBN ID PK x x FK Buch.ISBN Autor.ID FB

Mehr

Im Folgenden möchten wir Ihnen einige Beispiele aufzeigen, wie ALTER TABLE gemäß SQL92 verwendet wird:

Im Folgenden möchten wir Ihnen einige Beispiele aufzeigen, wie ALTER TABLE gemäß SQL92 verwendet wird: ALTER TABLE BEFEHLE Im Folgenden möchten wir Ihnen einige Beispiele aufzeigen, wie ALTER TABLE gemäß SQL92 verwendet wird: Fügt die Spalte Adresse zur Tabelle Kunden hinzu: ALTER TABLE Kunden ADD COLUMN

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

Datenbanken. 5 Tabellen. Karl Meier karl.meier@kasec.ch 12.10.2010. Inhalt. Domänen verwenden Tabellen anzeigen, ändern, löschen Übung

Datenbanken. 5 Tabellen. Karl Meier karl.meier@kasec.ch 12.10.2010. Inhalt. Domänen verwenden Tabellen anzeigen, ändern, löschen Übung Datenbanken 5 Tabellen Karl Meier karl.meier@kasec.ch 12.10.2010 Tabellen erstellen en Integritätsregeln Inhalt Domänen verwenden Tabellen anzeigen, ändern, löschen Übung 2 1 Einfache Tabellen erstellen

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. Blatt Nr. 8 Hausaufgabe 1 Übung zur Vorlesung Grundlagen: Datenbanken im WS13/14 Henrik Mühe (muehe@in.tum.de)

Mehr

ACCESS SQL ACCESS SQL

ACCESS SQL ACCESS SQL ACCESS SQL Datenbankabfragen mit der Query-Language ACCESS SQL Datenbankpraxis mit Access 34 Was ist SQL Structured Query Language Bestehend aus Datendefinitionssprache (DDL) Datenmanipulationssprache

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

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

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. Blatt Nr. 05 Übung zur Vorlesung Grundlagen: Datenbanken im WS16/17 Harald Lang, Linnea Passing (gdb@in.tum.de

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

Inhalt. Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle. Daten und Tabellen - ein Beispiel. Daten und Tabellen - Normalisierung

Inhalt. Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle. Daten und Tabellen - ein Beispiel. Daten und Tabellen - Normalisierung Inhalt Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle Daten und Tabellen Normalisierung, Beziehungen, Datenmodell SQL - Structured Query Language Anlegen von Tabellen Datentypen (Spalten,

Mehr

SELECT dient dazu, aus einer vorhandenen Datenbank bestimmte Spalten und Zeilen auszugeben es handelt sich also um eine Auswahlabfrage.

SELECT dient dazu, aus einer vorhandenen Datenbank bestimmte Spalten und Zeilen auszugeben es handelt sich also um eine Auswahlabfrage. SELECT-FROM SELECT dient dazu, aus einer vorhandenen Datenbank bestimmte Spalten und Zeilen auszugeben es handelt sich also um eine Auswahlabfrage. Inhaltsverzeichnis 1 Der grundlegende Aufbau 2 Doppelte

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

Datenbanken. Zusammenfassung. Datenbanksysteme

Datenbanken. Zusammenfassung. Datenbanksysteme Zusammenfassung Datenbanksysteme Christian Moser Seite 1 vom 7 12.09.2002 Wichtige Begriffe Attribut Assoziation API Atomares Attribut Datenbasis DBMS Datenunabhängigkeit Datenbankmodell DDL DML DCL ER-Diagramm

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

Einteilung von Datenbanken

Einteilung von Datenbanken Datenbanksysteme (c) A.Kaiser; WU-Wien 1 Einteilung von Datenbanken 1. formatierte Datenbanken 2. unformatierte Datenbanken Information Retrieval Systeme 2 Wozu Datenbanken? Speicherung und Verwaltung

Mehr

SQL-Vertiefung. VL Datenbanksysteme. Ingo Feinerer

SQL-Vertiefung. VL Datenbanksysteme. Ingo Feinerer SQL-Vertiefung VL Datenbanksysteme Ingo Feinerer Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Gliederung Einführung SQL-Programmteile

Mehr

5. Datendefinition in SQL

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

Mehr

Datenbank und Tabelle mit SQL erstellen

Datenbank und Tabelle mit SQL erstellen Datenbank und Tabelle mit SQL erstellen 1) Übung stat Mit dem folgenden Befehlen legt man die Datenbank stat an und in dieser die Tabelle data1 : CREATE DATABASE stat; USE stat; CREATE TABLE data1 ( `id`

Mehr

Neuerungen in Marco Patzwahl MuniQSoft GmbH Unterhaching

Neuerungen in Marco Patzwahl MuniQSoft GmbH Unterhaching Neuerungen in 12.2 Marco Patzwahl MuniQSoft GmbH Unterhaching Schlüsselworte Neuerungen in 12.2, DBA Einleitung Jede neue Datenbankversion bringt diverse Neuerungen mit. Nur welche sind wichtig und welche

Mehr

Views in SQL. 2 Anlegen und Verwenden von Views 2

Views in SQL. 2 Anlegen und Verwenden von Views 2 Views in SQL Holger Jakobs bibjah@bg.bib.de, holger@jakobs.com 2010-07-15 Inhaltsverzeichnis 1 Wozu dienen Views? 1 2 Anlegen und Verwenden von Views 2 3 Schreibfähigkeit von Views 3 3.1 Views schreibfähig

Mehr