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

Größe: px
Ab Seite anzeigen:

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

Transkript

1 Objekttypen Kapitel 5 Objektrelationale Datenmodell- und Spracherweiterungen kommerzieller Datenbanksysteme Oracle 9i, Release DB2 Universal Database, Version 7 Informix Dynamic Server.2000, Version 9.2 Objektrelationale Erweiterungen in Oracle9i l Neue Basisdatentypen l Referenztypkonstruktor l Benutzerdefinierte Typen Kollektionstypen n Tabellentyp n Variabler Arraytyp (mit Subtypenbildung) l Objekttabellen l Objektsichten (mit Subsichtenbildung) l Hierarchische Anfragen (als beschränkte Rekursion) 5-2

2 BLOB CLOB BFILE Nicht Neue Basisdatentypen l Large Objects ("Internes" Binary Large Object) ("Internes" Character Large Object) ("Externes" Large Object) Operationen n EMPTY_BLOB, EMPTY_CLOB, BFILENAME n IS [NOT] NULL erlaubt n BLOB/CLOB-Attribute als Teil eines Schlüssels oder in booleschen bzw. arithmetischen Ausdrücken n GROUP BY, ORDER BY l Kein BOOLEAN Datentyp unterstützt 5-3 Verwendung neuer Basisdatentypen Definition einer Tabelle mit LOB-Attributen: CREATE TABLE MitarbeiterTupelTabelle ( Name VARCHAR(30), Bild BLOB, BildDatei BFILE, Bewerbung CLOB, BewerbungDatei BFILE Definition von Alias-Ordnern, in denen externe LOBs zu finden sind: CREATE DIRECTORY MITARBEITER_BILDER AS 'D:\ImgSamp\'; CREATE DIRECTORY MITARBEITER_BEWERBUNGEN AS 'D:\RsmSamp'; 5-4

3 Erzeugen von LOBs Erzeugen von LOB-Attributen: INSERT INTO MitarbeiterTupelTabelle VALUES ('Billy', EMPTY_BLOB(), BFILENAME('MITARBEITER_BILDER', 'billy.gif'), EMPTY_CLOB(), BFILENAME('MITARBEITER_BEWERBUNGEN', 'billy.rsm') 5-5 Prozedur zum Belegung eines LOBs CREATE PROCEDURE SetBewerbung (InputName IN VARCHAR2) IS textdaten CLOB; datei BFILE; BEGIN SELECT Bewerbung, BewerbungDatei INTO textdaten, datei FROM MitarbeiterTupelTabelle WHERE Name = InputName; DBMS_LOB.FILEOPEN(datei, DBMS_LOB.FILE_READONLY DBMS_LOB.LOADFROMFILE(textdaten, datei, DBMS_LOB.GETLENGTH(datei) DBMS_LOB.FILECLOSE(datei UPDATE MitarbeiterTupelTabelle SET Bewerbung = textdaten WHERE Name = InputName; 5-6

4 Wert Prozedur zum Anzeigen eines LOBs SET SERVEROUTPUT ON; CREATE PROCEDURE ShowBewerbung (InputName IN VARCHAR2) IS puffer VARCHAR(60 textdaten CLOB; textlaenge DECIMAL; position DECIMAL; BEGIN textlaenge := 60; position := 1; SELECT Bewerbung INTO textdaten FROM MitarbeiterTupelTabelle WHERE Name = InputName; DBMS_LOB.READ(textdaten, textlaenge, position, puffer DBMS_OUTPUT.PUT_LINE(puffer 5-7 Referenztyp l REF: Referenz auf eine Instanz eines Objekttyps eines Referenzattributs ist eine OID l Beispiel: Ein Teil referenziert ein anderes Teil CREATE TYPE TeilTyp AS OBJECT ( Nr NUMBER(10), Bezeichnung VARCHAR(25), Farbe VARCHAR(15), IstTeilVon REF TeilTyp l Vorwärtsdeklaration ermöglicht zyklische Typdefinitionen CREATE TYPE LieferantTyp; 5-8

5 Ohne Alle Elementindex Anfragen Daten Grösse Alle Elementindex Achtung: Benutzerdefinierte Datentypen - Tabellentyp l TABLE: Geordnete Multimenge mit indiziertem Zugriff Grössenbeschränkung Elemente besitzen denselben Typ als Iterator auf geschachtelte Tabelle anwendbar der geschachtelte Tabelle sind auch indizierbar l Syntax: CREATE TYPE Tabellentypname AS TABLE OF Elementtyp l Beispiel: CREATE TYPE HobbiesTabellenTyp AS TABLE OF VARCHAR(20 ALTER TABLE MitarbeiterTupelTabelle ADD Hobbies HobbiesTabellenTyp NESTED TABLE Hobbies STORE AS Kundenhobbies; 5-9 Benutzerdefinierte Datentypen - Variabler Arraytyp l VARRAY: Geordnete Multimenge mit indiziertem Zugriff wird bei der Instanzierung festgelegt Elemente besitzen denselben Typ als Iterator VARRAY-Werte nicht direkt in SQL, sondern nur in PL/SQL nutzbar l Syntax: l Beispiel: CREATE TYPE Arraytypname AS VARRAY(Arraygrösse) OF Elementtyp CREATE TYPE TelefonArrayTyp AS VARRAY(30) OF VARCHAR(20 ALTER TABLE MitarbeiterTupelTabelle ADD Telefone TelefonArrayTyp; 5-10

6 Verwendung von Typkonstruktoren in Einfügeoperationen Erzeugen von Instanzen eines Array- bzw. Tabellentyps: INSERT INTO MitarbeiterTupelTabelle (Name, Hobbies, Telefone) VALUES ('Johnny', HobbiesTabellenTyp('Reisen', 'Sport', 'Kino'), TelefonArrayTyp(' ', ' ') 5-11 Kollektionen und Nullwerte Werte für ein kollektionswertiges Attribut (hier Telefone): TelefonArraytyp(' ', NULL, ' ') TelefonArraytyp(' ', NULL) TelefonArraytyp(' ') TelefonArraytyp(NULL) TelefonArraytyp() NULL Kardinalität: NULL 5-12

7 Selektion von array-und tabellenwertigen Attributen l Zugriff auf komplette Kollektion erfolgt analog zu anderen Attributen SELECT Name, Telefone, Hobbies FROM MitarbeiterTupelTabelle; l Selektion und Belegung einzelner Arrayelemente nur innerhalb von PL/SQL-Anweisungen möglich l Selektion und Belegung einzelner Elemente einer inneren Tabelle hingegen auch in SQL-Anweisungen möglich 5-13 (i) liefert i-tes Element COUNT gibt Kardinalität aus PL/SQL-Methoden für Kollektionen EXTEND vergrössert Kollektion um ein NULL-Element FIRST bzw. LAST liefern den kleinsten bzw. grössten verwendeten Index PRIOR bzw. NEXT liefern den orhergehenden bzw. nachfolgenden Index DELETE(i) löscht das i-te Element TRIM(i) löscht die letzten i Elemente LIMIT liefert maximal zulässige Anzahl von Elementen eines Arrays 5-14

8 Selektion einzelner Elemente aus Arrays/inneren Tabellen SET SERVEROUTPUT ON; DECLARE CURSOR mcursor IS SELECT * FROM MitarbeiterTupelTabelle; mitarbeiter mcursor%rowtype; BEGIN FOR mitarbeiter IN mcursor LOOP DBMS_OUTPUT.PUT_LINE('Kundenname: ' mitarbeiter.name FOR i IN 1..mitarbeiter.Telefone.COUNT LOOP DBMS_OUTPUT.PUT_LINE(i '.Telefon: ' mitarbeiter.telefone(i) END LOOP; FOR i IN 1..mitarbeiter.Hobbies.COUNT LOOP DBMS_OUTPUT.PUT_LINE(i '.Hobby: ' mitarbeiter.hobbies(i) END LOOP; END LOOP; 5-15 Einfügen einzelner Elemente in Arrays CREATE PROCEDURE NeueNummer (n VARCHAR, nr VARCHAR) AS t TelefonArrayTyp; BEGIN SELECT Telefone INTO t FROM MitarbeiterTupelTabelle WHERE Name = n; IF t IS NULL THEN t := TelefonArrayTyp(nr ELSE IF t.count < t.limit THEN t.ext END IF; t(t.last) := nr; END IF; UPDATE MitarbeiterTupelTabelle SET Telefone = t WHERE Name = n; 5-16

9 Belegung kollektionswertiger Attribute mittels SFW-Query Grundmuster: INSERT INTO Tabelle (Kollektionsattribut) VALUES ([CAST(MULTISET] (SFW-Query) [AS Tabellentypkonstruktor)]) Beispiel: INSERT INTO MitarbeiterTupelTabelle (Name, Hobbies, Telefone) VALUES ('John', (CAST (MULTISET(SELECT DISTINCT VALUE(h) FROM MitarbeiterTupelTabelle, TABLE(Hobbies) h WHERE name = 'Billy' OR name = 'Can') AS HobbiesTabellenTyp)), (SELECT Telefone FROM MitarbeiterTupelTabelle WHERE Name = 'Billy') 5-17 Bearbeitung innerer Tabellen Tupel in eine innere Tabelle einfügen: INSERT INTO TABLE(SFW-Query-Liefert-Innere-Tabelle) VALUES (... Tupel einer inneren Tabelle ändern: UPDATE TABLE(SFW-Query-Liefert-Innere-Tabelle) SET... WHERE...; Tupel aus einer inneren Tabelle löschen: DELETE FROM TABLE(SFW-Query-Liefert-Innere-Tabelle) WHERE...; 5-18

10 Defaultwerte Default: Bearbeitung innerer Tabellen - Beispiele INSERT INTO TABLE(SELECT Hobbies FROM MitarbeiterTupelTabelle WHERE Name = 'Billy') VALUES('Kino' UPDATE TABLE(SELECT Hobbies FROM MitarbeiterTupelTabelle WHERE Name = 'Billy') h SET VALUE(h) = 'TV' WHERE VALUE(h) = 'Kino'; DELETE TABLE(SELECT Hobbies FROM MitarbeiterTupelTabelle WHERE Name = 'Billy') h WHERE VALUE(h) = 'Reisen'; VALUE ist hier notwendig, um auf den Wert der Tupel der inneren Tabelle zuzugreifen! 5-19 Benutzerdefinierte Datentypen - Objekttyp l OBJECT: Strukturierter Typ mit Methoden und Subtypbildung und Integritätsbedingungen werden nicht unterstützt l Syntax für die Definition eines Wurzeltyps: CREATE TYPE Typname AS OBJECT ( Attributdefinitions-und-Methodendeklarationsliste [Abbildungs-bzw-Ordnungsmethode] ) [[NOT] FINAL] [[NOT] INSTANTIABLE] FINAL, INSTANTIABLE 5-20

11 Wurzeltypen - Beispiele (1) CREATE TYPE PositionTyp AS OBJECT ( PosNr INTEGER, Teil REF TeilTyp, Menge INTEGER, Preis INTEGER CREATE TYPE AuftragTabellenTyp AS TABLE OF REF AuftragTyp; CREATE TYPE VorratTyp AS OBJECT ( Anzahl DECIMAL(10), Kosten DECIMAL(12,2), RefTeil REF TeilTyp CREATE TYPE PositionTabellenTyp AS TABLE OF PositionTyp; CREATE TYPE AuftragTyp AS OBJECT ( ANr INTEGER, Lieferant REF LieferantTyp, Eingang DATE, Bearbeitet DATE, Positionen PositionTabellenTyp, MEMBER FUNCTION Anzahl RETURN INTEGER CREATE TYPE VorratTabellenTyp AS TABLE OF VorratTyp; 5-21 Wurzeltypen - Beispiele (2) CREATE TYPE AdresseTyp AS OBJECT ( Strasse VARCHAR(30), Nr DECIMAL(4), PLZ DECIMAL(5), Ort VARCHAR(40), Land VARCHAR(25) ) NOT FINAL; CREATE TYPE LieferantTyp AS OBJECT ( LNr INTEGER, Name VARCHAR(25), Adresse AdresseTyp, Telefone TelefonArrayTyp, Vorrat VorratTabellenTyp CREATE TYPE KundeTyp AS OBJECT ( KNr INTEGER, Name VARCHAR(30), Anschrift AdresseTyp, Telefone TelefonArrayTyp, Auftraege AuftragTabellenTyp, MEMBER FUNCTION NeueNummer(t VARCHAR) RETURN TelefonArrayTyp ) NOT FINAL; 5-22

12 Subtyp Subtyp Geerbte l Syntax: Subtypbildung - Aufbau von Typhierarchien CREATE TYPE Subtypname UNDER Supertypname ( Attributdefinitions-und-Methodendeklarationsliste [Überschreibende-Abbildungsmethode] ) [[NOT] FINAL] [[NOT] INSTANTIABLE] erbt alle Attribute und Methoden des Supertyps hat nur einen direkten Supertyp (keine Mehrfachvererbung) Methoden sind überschreibbar l Beispiel: CREATE TYPE BWKundeTyp UNDER KundeTyp ( Hobbies HobbiesTabellenTyp, Kredit DECIMAL(9,2) 5-23 Operationen auf Objekttypen l l l l l Default-Konstruktor heisst wie der Objekttyp und hat für jedes Attribut einen Parameter Objekttypname(p1,..., pn) Attributzugriff mittels Punktnotation o.attributname Objektvergleich basiert auf flacher Gleichheit o1 =o2 Referenzvergleich ist auch möglich REF(o1) =REF(o2) Typtest mittels IS OF o IS OF (Objekttypname) l Temporäre Typanpassung mittels TREAT TREAT (o AS Objekttypname) 5-24

13 Deklaration Implementierung Methodendeklaration l Syntax: [[NOT] OVERRIDING] [[NOT] FINAL] [[NOT] INSTANTIABLE] {MEMBER STATIC} {FUNCTION PROCEDURE} Methodenname [(Parameterliste)] [RETURN Rückgabetyp] OVERRIDING: überschreibende Methode FINAL: nicht-überschreibbare Methode INSTANTIABLE: abstrakte Methoden; Objekttyp bietet keine Implementierung DEFAULT: NOT OVERRIDING, NOT FINAL, INSTANTIABLE MEMBER: Instanzmethode wird auf einem Objekt aufgerufen (impliziter SELF-Parameter) STATIC: statische Methode wird auf dem Objekttyp aufgerufen PROCEDURE: hat keinen Rückgabewert FUNCTION: hat einen Rückgabewert, darf aber keine Objektattributwerte ändern 5-25 Methodenimplementierung l Methodendeklaration und -implementierung erfolgen strikt getrennt l Beispiel: erfolgt innerhalb der Definition des Objekttyps in einer separaten Anweisung (hier in PL/SQL) CREATE TYPE BODY AuftragTyp AS MEMBER FUNCTION Anzahl RETURN INTEGER AS a INTEGER; BEGIN FOR i IN 1..SELF.Positionen.COUNT LOOP a := a + SELF.Positionen(i).Menge; END LOOP; RETURN a; 5-26

14 Methodenimplementierung - Weiteres Beispiel CREATE TYPE BODY KundeTyp AS MEMBER FUNCTION NeueNummer(nr VARCHAR) RETURN TelefonArrayTyp IS t TelefonArrayTyp := SELF.Telefone; BEGIN IF t IS NULL THEN t := TelefonArrayTyp(nr ELSE IF t.count < t.limit THEN t.ext END IF; t(t.last) := nr; END IF; RETURN t; 5-27 Verwendung von benutzerdefinierten Typen - Beispiel CREATE TABLE KundeTupelTabelle ( KNr INTEGER, Name VARCHAR(30), Anschrift AdresseTyp, Telefone TelefonArrayTyp, Auftraege AuftragTabellenTyp ) NESTED TABLE Auftraege STORE AS Kundenauftraege; objektwertiges Attribut arraywertiges Attribut kollektionswertiges Attribut INSERT INTO KundeTupelTabelle VALUES (13, 'Billy', AdresseTyp('Whitesteet', 31, 65307, 'Newtown', 'USA'), TelefonArrayTyp(' ', ' '), AuftragTabellenTyp(NULL) 5-28

15 MAP: ORDER: Benutzerdefinierte Gleichheit von Objekten l Systemdefinierte Gleichtheit von Instanzen von Objekttypen basiert auf paarweise Gleichheit der Attributwerte (Flache Gleichheit) l Benutzerdefinierte Gleichheit bzw. Ordnung Vergleich bzw. Ordnung basiert auf dem Ergebnis einer Abbildungsfunktion, die Objektwerte auf Werte von Basisdatentypen (Zahlen, Zeichenketten, Datum) abbildet Ordnungsfunktion ordnet jeweils zwei Instanzen l Syntax: MAP MEMBER FUNCTION Funktioname RETURN Typ ORDER MEMBER FUNCTION Funktioname (o Objekttyp) RETURN INTEGER 5-29 Benutzerdefinierte Gleichheit von Objekten (Forts.) Für jeden Objekttyp darf max. eine Map- oder Order-Funktion definiert sein CREATE TYPE AdresseTyp AS OBJECT ( Attributdefinitionen,... MAP MEMBER FUNCTION AdresseMap RETURN VARCHAR2 -- Alternativ könnte folgende ORDER-Funktion definiert werden -- ORDER MEMBER FUNCTION AdresseOrder (o AdresseTyp) RETURN INT 5-30

16 Map-Funktionen - Beispiel CREATE TYPE BODY AdresseTyp AS MAP MEMBER FUNCTION AdresseMap RETURN VARCHAR2 AS BEGIN RETURN Land Ort PLZ Strasse Nr; 5-31 Order-Funktionen - Beispiel CREATE TYPE BODY AdresseTyp AS ORDER MEMBER FUNCTION AdresseOrder (a AdresseTyp) RETURN INTEGER AS a1 VARCHAR2(200 a2 VARCHAR2(200 BEGIN a1 := SELF.Land SELF.Ort SELF.PLZ SELF.Strasse SELF.Nr; a2 := a.land a.ort a.plz a.strasse a.nr; IF (a1 = a2) THEN RETURN 0; ELSE IF (a1 < a2) THEN RETURN -1; ELSE RETURN 1; END IF; END IF; 5-32

17 Verwendung von Map- bzw. Order-Funktionen Beispielanfragen, in denen eine Map- bzw. Order-Funktion zum Einsatz kommt: SELECT Name, Anschrift FROM KundeTupelTabelle ORDER BY Anschrift; SELECT Name, Anschrift FROM KundeTupelTabelle WHERE Anschrift < AdresseTyp('Seefeldstrasse', 31, 8008, 'Zurich', 'CH' 5-33

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

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

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

ORACLE9i: Objekt-Relationale Datenbanken

ORACLE9i: Objekt-Relationale Datenbanken ORACLE9i: Objekt-Relationale Datenbanken Günter Preuner und Werner Obermair, 1999 Thomas Thalhammer, 2002 2002 Institut für Wirtschaftsinformatik Seite 1 Objektrelationale Datenbanken mit Oracle9i Seite

Mehr

Objektrelational: Einbettung der schwachen Entitätsmenge als tablewertiger Typ (NF2)

Objektrelational: Einbettung der schwachen Entitätsmenge als tablewertiger Typ (NF2) Aufgabe 1: (20 Punkte) a) Skizzieren Sie den Unterschied der Abbildung schwacher Entitätsmengen im klassischen und im objektrelationalen Datenmodell (mit Feinheiten!) (5 P) Klassisch: eigene Relation mit

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

Typ- und Tabellenhierarchie

Typ- und Tabellenhierarchie Typ- und Tabellenhierarchie Ziel: Modellierung von Hierarchien von Objektmengen Ohne Typhierarchien keine Tabellenhierarchien! - Strukturierter Typ kann andere strukturierte Typen als Subtypen haben -

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

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

Kapitel 6 Objektrelationale Datenbanken

Kapitel 6 Objektrelationale Datenbanken Kapitel 6 Objektrelatinale Datenbanken Flien zum Datenbankpraktikum Wintersemester 2012/13 LMU München 2008 Thmas Bernecker, Tbias Emrich 2010 Tbias Emrich, Erich Schubert unter Verwendung der Flien des

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

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

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

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

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

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

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

Prozedurale Datenbank- Anwendungsprogrammierung

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

Mehr

Datenabstraktion / Kapselung in (O)RDBMS

Datenabstraktion / Kapselung in (O)RDBMS Datenabstraktion / Kapselung in (O)RDBMS Prozeduren und Funktionen (Routinen) SQL 92: Stored Procedures SQL:2003: Unterscheidung zw. Funktionen und Prozeduren Prozedur: Nicht an einen bestimmten Datentyp

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

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

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

Mehr

Objektorientierte PL/SQL- Programmierung

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

Mehr

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

Oracle Datenbankprogrammierung mit PL/SQL Grundlagen

Oracle Datenbankprogrammierung mit PL/SQL Grundlagen Oracle Datenbankprogrammierung mit PL/SQL Grundlagen Seminarunterlage Version: 12.05 Version 12.05 vom 29. Januar 2015 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt-

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

SQL objektorientiert

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

Mehr

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

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

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

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R 1.008. Vorlesung #6. SQL (Teil 4) Vorlesung #6 SQL (Teil 4) Fahrplan Besprechung der Übungsaufgaben Einschub: Self Joins (relevant fürs Praktikum) Dynamische Intergritätsbedingungen, das Trigger - Konzept von Oracle Prozedurale Erweiterungen,

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

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

Entwicklungsumgebung für die Laborübung

Entwicklungsumgebung für die Laborübung Entwicklungsumgebung für die Laborübung VU Datenbanksysteme Wolfgang Fischl 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

Powerful PL/SQL: Collections indizieren mit VARCHAR2- Indizes ein Praxisbeispiel

Powerful PL/SQL: Collections indizieren mit VARCHAR2- Indizes ein Praxisbeispiel Powerful PL/SQL: Collections indizieren mit VARCHAR2- Indizes ein Praxisbeispiel Schlagworte Autor: Klaus Friemelt, MT AG dynamisches BULK SQL, VARCHAR2-indizierte PL/SQL-Tabellen Einleitung Mit den letzten

Mehr

Klassen und Objekte. Einführung in Java. Folie 1 von Mai Ivo Kronenberg

Klassen und Objekte. Einführung in Java. Folie 1 von Mai Ivo Kronenberg Klassen und Objekte Einführung in Java Folie 1 von 28 12. Mai 2011 Ivo Kronenberg Inhalt Objekte Klassendefinitionen Datenelemente (Klassenattribute) Instanzieren von Objekten Konstruktoren Vergleich primitive

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

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

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

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

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

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

Kontrollstrukturen in PL/SQL

Kontrollstrukturen in PL/SQL Kontrollstrukturen in PL/SQL.1 Bedingte Anweisungen... -2.1.1 Die IF-THEN-Anweisung... -2.1.2 Die IF-THEN-ELSE-Anweisung... -.1.3 Die IF-THEN-ELSIF-Anweisung... -.1. Die CASE-Anweisung... -6.2 Schleifen

Mehr

Datenbanksysteme I Datenbankprogrammierung. 15.6.2009 Felix Naumann

Datenbanksysteme I Datenbankprogrammierung. 15.6.2009 Felix Naumann Datenbanksysteme I Datenbankprogrammierung 15.6.2009 Felix Naumann SQL mit einer Programmiersprache verbinden 2 Embedded SQL Kombiniert SQL mit 7 Programmiersprachen ADA, C, Cobol, Fortran, M, Pascal,

Mehr

Oracle und LDAP. Zugriff auf LDAP-Daten aus einer Oracle-DB. Martin Busik busik@wlp-systems.de

Oracle und LDAP. Zugriff auf LDAP-Daten aus einer Oracle-DB. Martin Busik busik@wlp-systems.de Oracle und LDAP Zugriff auf LDAP-Daten aus einer Oracle-DB Martin Busik busik@wlp-systems.de Lightweight Directory LDAP Access Protocol LDAP dc=de dc=wlp Systems dc=drucker cn=lj4100d cn=canon photo ou=mitarbeiter

Mehr

SQL-Befehlsliste. Vereinbarung über die Schreibweise

SQL-Befehlsliste. Vereinbarung über die Schreibweise Vereinbarung über die Schreibweise Schlüsselwort [optionale Elemente] Beschreibung Befehlsworte in SQL-Anweisungen werden in Großbuchstaben geschrieben mögliche, aber nicht zwingend erforderliche 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

Modul 122 VBA Scribt.docx

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

Mehr

XML in der Oracle Datenbank "relational and beyond"

XML in der Oracle Datenbank relational and beyond XML in der Oracle Datenbank "relational and beyond" Ulrike Schwinn (Ulrike.Schwinn@oracle.com) Oracle Deutschland GmbH Oracle XML DB Ein Überblick 1-1 Agenda Warum XML in der Datenbank? Unterschiedliche

Mehr

Vorbereitungen zum 3. Praktikum (PL/SQL):

Vorbereitungen zum 3. Praktikum (PL/SQL): Vorbereitungen zum 3. Praktikum (PLSQL): SQL ist eine nicht-prozedurale Sprache der 4. Generation, die es nicht erlaubt, Elemente von 3.-Generation-Sprachen (Schleifen, Verzweigungen, etc.) zu benutzen.

Mehr

Kapitel 33. Der xml-datentyp. In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023

Kapitel 33. Der xml-datentyp. In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023 Kapitel 33 Der xml-datentyp In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023 995 996 Kapitel 33: Der xml-datentyp Eine der wichtigsten

Mehr

Referentielle Integrität

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

Mehr

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

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

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

SET SQL_MODE=NO_AUTO_VALUE_ON_ZERO; phpmyadmin SQL Dump version 3.2.4 http://www.phpmyadmin.net Host: localhost Erstellungszeit: 13. April 2011 um 18:44 Server Version: 5.1.41 PHP-Version: 5.3.1 SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; /*!40101

Mehr

Prozedurale SQL-Erweiterungen

Prozedurale SQL-Erweiterungen Prozedurale SQL-Erweiterungen Prozedurale SQL-Erweiterungen unterscheiden sich typischerweise durch die folgenden Punkte von dem Ansatz der Einbettung: Neue dedizierte Sprache mit direkter Integration

Mehr

Referentielle Integrität

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

Mehr

PL/SQL. Deklaration von Variablen. Inhalt. PL/SQL Block Struktur. PL/SQL Block Struktur

PL/SQL. Deklaration von Variablen. Inhalt. PL/SQL Block Struktur. PL/SQL Block Struktur PL/SQL Deklaration von Variablen Inhalt Erkennen der PL/SQL Blockstruktur Beschreiben von Variablen in PL/SQL Unterschied zwischen PL/SQL und nicht-pl/sql Variablen Deklaration von PL/SQL Variablen Ausführen

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

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

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

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

Mehr

Übungsblatt 8- Lösungsvorschlag

Übungsblatt 8- Lösungsvorschlag Universität Innsbruck - Institut für Informatik Prof. Günther Specht, R.Binna, N.Krismer, M. Tschuggnall 30. November 2012 Proseminar Datenbanksysteme Übungsblatt 8- Lösungsvorschlag Aufgabe 1 (Trigger)

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

Geschäftslogik in die Datenbank Umstellung eines Kernbanksystems

Geschäftslogik in die Datenbank Umstellung eines Kernbanksystems Geschäftslogik in die Datenbank Umstellung eines Kernbanksystems Michael Meyer Berenberg Bank Hamburg Schlüsselworte: PL/SQL, Objektorientierung, Oracle Types, XML, Zentralisierung der Geschäftslogik,

Mehr

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen

Mehr

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen

Mehr

SQL: statische Integrität

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

Mehr

Oracle Zusatzoptionen intermedia Video

Oracle Zusatzoptionen intermedia Video Oracle Zusatzoptionen Oracle intermedia Video Oracle intermedia Video Inhalt: - intermedia Architektur - was ist intermedia Video? - Unterstützte Formate - Datentypen( LOB's, Limits), Methoden - ORDVideo

Mehr

Datenintegrität. Bisherige Integritätsbedingungen

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

Mehr

Datenbankprogrammierung 1

Datenbankprogrammierung 1 Datenbankprogrammierung 1 Die Folien basieren auf: Datenbanken: Konzepte und Sprachen, Andreas Heuer und Gunter Saake, mitp-verlag, 2. Auflage, 2000, http://wwwiti.cs.uni-magdeburg.de/biber/ Datenbanken

Mehr

Datenbanksysteme I. Klausur zum Praktikum. Mehrere Professoren prüfen mit genau einem Beisitzer genau einen Studenten.

Datenbanksysteme I. Klausur zum Praktikum. Mehrere Professoren prüfen mit genau einem Beisitzer genau einen Studenten. Lehrstuhl für Datenbanken und Informationssysteme Wintersemester 1999/2000 Universität Augsburg, Institut für Informatik 25. Februar 2000 Prof. Dr. Werner Kießling A. Leubner, M. Wagner Datenbanksysteme

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

Lösungen der Übungsaufgaben von Kapitel 10

Lösungen der Übungsaufgaben von Kapitel 10 Lösungen der Übungsaufgaben von Kapitel 10 1. Legen Sie mit einem SQL - Befehl eine neue Tabelle PERSON_KURZ mit den Feldern Kurz_Id, Kurz_Name an. Machen Sie das so, dass Kurz_Id der Primärschlüssel wird

Mehr

3.13 SQL und Programmiersprachen

3.13 SQL und Programmiersprachen 3. Der SQL-Standard 3.13. SQL und Programmiersprachen Seite 1 3.13 SQL und Programmiersprachen SQL hat eine tabellenorientierte Sematik. SQL hat eine im Vergleich zu einer Programmiersprache eingeschränkte

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

IV. Datenbankmanagement

IV. Datenbankmanagement Wirtschaftsinformatik 2 (PWIN) IV. Datenbankmanagement Kapitel 2: Datenmanipulationssprache SQL Wirtschaftsinformatik 2 (PWIN) SS 2009, Professur für Mobile Business & Multilateral Security 1 Agenda 1.

Mehr

Labor 3 - Datenbank mit MySQL

Labor 3 - Datenbank mit MySQL Labor 3 - Datenbank mit MySQL Hinweis: Dieses Labor entstand z.t. aus Scripten von Prof. Dr. U. Bannier. 1. Starten des MySQL-Systems MySQL ist ein unter www.mysql.com kostenlos erhältliches Datenbankmanagementsystem.

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

OBJEKTORIENTIERTE ENTWICKLUNG IN DER DATENBANK. Anja Hildebrandt buw Unternehmensgruppe

OBJEKTORIENTIERTE ENTWICKLUNG IN DER DATENBANK. Anja Hildebrandt buw Unternehmensgruppe OBJEKTORIENTIERTE ENTWICKLUNG IN DER DATENBANK Anja Hildebrandt buw Unternehmensgruppe Berlin, 26. April 2016 ÜBER MICH > 1998 2005 Informatik-Studium Otto-von-Guericke Universität Magdeburg > Seit 1999

Mehr

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II - SS 2015. XMLType. Christian Senger/Andreas Schmidt XMLType 1/32

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II - SS 2015. XMLType. Christian Senger/Andreas Schmidt XMLType 1/32 XMLType Christian Senger/Andreas Schmidt XMLType 1/32 XMLType von Oracle vordefinierter Typ zur Speicherung von nativen XML-Dokumenten unterstützt verschiedene Speichermodelle für XML structured storage

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

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 34 Einstieg in die Informatik mit Java Klassen mit Instanzmethoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 34 1 Definition von Klassen 2 Methoden 3 Methoden

Mehr

MySQL: Einfaches Rechnen. www.informatikzentrale.de

MySQL: Einfaches Rechnen. www.informatikzentrale.de MySQL: Einfaches Rechnen Vorweg: Der Merksatz Warum geht Herbert oft laufen? Vorweg: Der Merksatz Warum geht Herbert oft laufen?...... WHERE... GROUP BY... HAVING... ORDER BY... LIMIT Beispieldatenbank

Mehr

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe... php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...7 3.Zugriff auf mysql Daten...11 Verteilte Systeme: php.sxw Prof.

Mehr

3.17 Zugriffskontrolle

3.17 Zugriffskontrolle 3. Der SQL-Standard 3.17. Zugriffskontrolle Seite 1 3.17 Zugriffskontrolle Datenbanken enthalten häufig vertrauliche Informationen, die nicht jedem Anwender zur Verfügung stehen dürfen. Außerdem wird man

Mehr

Whitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und 2005. combit GmbH Untere Laube 30 78462 Konstanz

Whitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und 2005. combit GmbH Untere Laube 30 78462 Konstanz combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager Datensatzhistorie mit dem SQL Server 2000 und 2005 Datensatzhistorie mit dem SQL Server 2000 und 2005-2 - Inhalt

Mehr

Funktion definieren Gibt Summe der Gehälter zurück. Aufruf in einem SQL-Statement

Funktion definieren Gibt Summe der Gehälter zurück. Aufruf in einem SQL-Statement Funktion definieren Gibt Summe der Gehälter zurück Aufruf in einem SQL-Statement Dr. Christian Senger Einführung PL/SQL 1 Procedures & Transaktionen CREATE OR REPLACE PROCEDURE write_log ( log_code IN

Mehr

VO Datenmodellierung. Katrin Seyr

VO Datenmodellierung. Katrin Seyr Datenintegrität Datenintegrität VO Datenmodellierung Katrin Seyr Institut für Informationssysteme Technische Universität Wien Katrin Seyr Seite 1 Datenintegrität 1. Überblick Überblick 1 Überblick 2 Integritätsbedingungen

Mehr

Javakurs 2013 Objektorientierung

Javakurs 2013 Objektorientierung Javakurs 2013 Objektorientierung Objektorientierte Programmierung I Armelle Vérité 7 März 2013 Technische Universität Berlin This work is licensed under the Creative Commons Attribution-ShareAlike 3.0

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

Cassandra Query Language (CQL)

Cassandra Query Language (CQL) Cassandra Query Language (CQL) Seminar: NoSQL Wintersemester 2013/2014 Cassandra Zwischenpräsentation 1 Gliederung Basic facts Datentypen DDL/DML ähnlich zu SQL Besonderheiten Basic facts CQL kurz für

Mehr

Datenbanksysteme. Dominic Pacher. Datenbanken und Informationssysteme (DBIS) Institut für Informatik Universität Innsbruck. dbis-informatik.uibk.ac.

Datenbanksysteme. Dominic Pacher. Datenbanken und Informationssysteme (DBIS) Institut für Informatik Universität Innsbruck. dbis-informatik.uibk.ac. Datenbanksysteme Dominic Pacher Datenbanken und Informationssysteme (DBIS) Institut für Informatik Universität Innsbruck dbis-informatik.uibk.ac.at 1 Übersicht Was passiert in den kommenden 90 Minuten?

Mehr

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

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

Mehr

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

Theorie zu Übung 8 Implementierung in Java

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

Mehr

Referenzielle Integrität SQL

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

Mehr