Fortgeschrittene SQL-Techniken für APEX-Formulare und Reports

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "Fortgeschrittene SQL-Techniken für APEX-Formulare und Reports"

Transkript

1 Fortgeschrittene SQL-Techniken für APEX-Formulare und Reports Andreas Wismann WHEN OTHERS Beratung Projektmanagement Coaching rund um Oracle Application Express

2 rund um Application Express Beratung Projektmanagement Coaching Andreas Wismann

3 "Kleinigkeiten" 1. Quote Char Syntax 2. WITH 3. UNION vs. UNION ALL

4 Quote Char Syntax l_sql := 'insert into MY_TBL values(''123'')'; Quote Char Syntax q'[ ]' erspart das Escapen (Verdoppeln) von Anführungszeichen: l_sql := q'[insert into MY_TBL values('123')]'; l_sql := q'{insert into MY_TBL values('123')}'; l_sql := q'<insert into MY_TBL values('123')>'; l_sql := q'\insert into MY_TBL values('123')\'; l_sql := q'#insert into MY_TBL values('123')#';

5 9i WITH Subqueries zu Beginn des SQL-Statements definieren Entwirrt komplexes SQL Optimizer Hint /*+ materialize */ kann die Leistung steigern

6 9i WITH WITH query_1 AS (SELECT FROM WHERE GROUP BY ), query_2 AS (SELECT FROM WHERE GROUP BY ), query_3 AS (SELECT FROM WHERE GROUP BY ) SELECT FROM query_1, query_2, query_3 WHERE

7 9i WITH WITH query_1 AS (SELECT FROM WHERE GROUP BY ), query_2 AS (SELECT FROM WHERE GROUP BY ), query_3 AS (SELECT FROM WHERE GROUP BY ) SELECT FROM my_table JOIN query_1 ON JOIN query_2 ON JOIN query_3 ON WHERE query_1.spalte =

8 12c WITH WITH FUNCTION add_number (num1 NUMBER, num2 NUMBER) RETURN NUMBER IS BEGIN RETURN num1 + num2; END; SELECT add_number(1, 2) FROM dual;

9 UNION A B C C D SELECT FROM WHERE UNION SELECT FROM WHERE SELECT FROM WHERE UNION ALL SELECT FROM WHERE A B C D A B C C D UNION ALL verzichtet auf die Verdichtung und liefert alle Zeilen UNION ALL ist dadurch performanter

10 SQL Best Practices in APEX Views anstatt Tabellen verwenden Daten und Formatierung trennen (SQL, HTML)

11 HTML in SQL Trennung von Logik und Präsentation SELECT '<span class="empno">' empno '</span>' AS empno, '<span class="ename">' ename '</span>' AS ename, dname FROM emp NATURAL JOIN dept WHERE dname in ('ACCOUNTING', 'SALES')

12 HTML in SQL View für die Selektion der richtigen Daten CREATE OR REPLACE FORCE VIEW P250_emp_view SELECT empno, ename, dname FROM emp NATURAL JOIN dept WHERE dname in ('ACCOUNTING', 'SALES')

13 HTML in SQL View für die Formatierungen CREATE OR REPLACE FORCE VIEW P250_emp_view_f SELECT '<span class="empno">' empno '</span>' AS empno, '<span class="ename">' ename '</span>' AS ename, dname FROM P250_emp_view

14 Im APEX-Reportfenster: SELECT * FROM P250_emp_view_f

15 HTML in SQL Spätere Änderungen nicht ausgeschlossen CREATE OR REPLACE FORCE VIEW P250_emp_view_f SELECT empno, ename, CASE dname WHEN 'SALES' THEN '<span class="highlight">' dname '</span>' ELSE dname END AS dname FROM P250_emp_view

16 Views anstatt Tabellen Generelles Ziel im APEX-SQL-Fenster: SELECT * FROM my_view Durchgehende View-Schicht für Reports, LOVs, Namens-Konvention! Statuskontrolle, Wartbarkeit, Testbarkeit

17 Formulare über Prozeduren

18 Beispieltabelle CREATE TABLE umsaetze ( region NUMBER NOT NULL, jahr NUMBER NOT NULL, monat NUMBER NOT NULL, umsatz NUMBER, ) PRIMARY KEY (region, jahr, monat)

19 Table API SQL Workshop > Utilities > Methods on Tables erzeugt Package mit DML-Routinen

20 Table API API erzeugen

21 Table API Eigener "Dispatcher" mit IN OUT - Parametern PROCEDURE IO_UMSAETZE ( p_aktion IN VARCHAR2 -- GET, INS, UPD, DEL,p_region IN OUT NUMBER,p_jahr IN OUT NUMBER,p_monat IN OUT NUMBER,p_umsatz IN OUT NUMBER,p_MD5 IN OUT VARCHAR2 )

22 Table API Demo CASE upper(p_aktion) WHEN 'GET' THEN GET_UMSAETZE ( ); WHEN 'INS' THEN INS_UMSAETZE ( ); WHEN 'UPD' THEN UPD_UMSAETZE ( ); WHEN 'DEL' THEN DEL_UMSAETZE ( ); ELSE NULL; END CASE;

23 Hierarchische Abfragen Wie zählt man in SQL bis zehn? CONNECT BY Beispiel: umfangreiche Seitennavigation Typisch: ID PARENT_ID

24 CONNECT BY SELECT LEVEL AS menu_level,sys_connect_by_path(n.navigation_id, ',') AS parents,n.aktiv,n.navigation_id,n.tab_titel,n.breadcrumb_titel,n.clear_cache FROM app_navigation n WHERE CONNECT BY PRIOR n.navigation_id = n.navigation_parent_id START WITH n.navigation_id = 0 ORDER SIBLINGS BY n.position;

25 Hierarchische Abfragen Beispiel: Terminkalender treibende Tabelle: TERMINE woher nehmen wir die "leeren" Slots?

26 +/- 50 Jahres-Kalender Kalender-Report CREATE OR REPLACE FORCE VIEW termine_view AS WITH kalender AS ( SELECT TRUNC(SYSDATE) + LEVEL * 365 AS datum FROM DUAL CONNECT BY LEVEL < 100 * 365 ) SELECT kalender.datum, termine.termin_id, termine.titel FROM kalender -- sämtliche "freie" Slots LEFT OUTER JOIN termine -- nur die vorhandenen Einträge ON kalender.datum = termine.datum;

27 Formulare über Views View anstatt Tabelle als Datenquelle Über "einfache" Views kein Problem Verbundene Tabellen verlangen etwas mehr

28 Instead-Of-Trigger Trigger übernehmen die Aktionen INSERT UPDATE DELETE APEX-Wizards für Formulare können 1:1 verwendet werden

29 INSERT-Trigger CREATE OR REPLACE TRIGGER ii_termine_view INSTEAD OF INSERT ON termine_view FOR EACH ROW BEGIN INSERT INTO termine (termin_id, datum, titel) VALUES (nvl(:new.termin_id, termine_seq.nextval), :NEW.datum, :NEW.titel); END;

30 UPDATE-Trigger CREATE OR REPLACE TRIGGER iu_termine_view INSTEAD OF UPDATE ON termine_view FOR EACH ROW BEGIN UPDATE termine END; SET termin_id = :NEW.termin_id -- PK, datum = :NEW.datum, titel = :NEW.titel WHERE termin_id = :OLD.termin_id;

31 DELETE-Trigger CREATE OR REPLACE TRIGGER id_termine_view INSTEAD OF DELETE ON termine_view FOR EACH ROW BEGIN DELETE FROM termine END; WHERE termin_id = :OLD.termin_id;

32 Formular über View Primary Key als Grundlage verwenden

33 Formular über View

34 Formular über View Bei "komplexen" Views, nach UPDATE oder DELETE:

35 Formular über View Application Item steuert das Locking-Verhalten:

36 Formular über View ORA verhindern:

37 Pivotieren von Zeilen

38 Pivotieren von Zeilen Zeilen in Spalten auflösen, "Kreuztabelle" Beispiel: Monatsumsätze über Region

39 Pivotieren durch Aggregation mit DECODE SELECT region, SUM (DECODE(monat, 1, umsatz)) JAN, SUM (DECODE(monat, 2, umsatz)) FEB, SUM (DECODE(monat, 3, umsatz)) MAR, SUM (DECODE(monat, 4, umsatz)) APR, SUM (DECODE(monat, 5, umsatz)) MAI, SUM (DECODE(monat, 6, umsatz)) JUN -- usw. FROM umsaetze WHERE jahr = 2013 GROUP BY region

40 11g PIVOT-Klausel SELECT * FROM umsaetze PIVOT ( SUM(umsatz) FOR monat IN ( 1 JAN, 2 FEB, 3 MAR, 4 APR, 5 MAI, 6 JUN ) -- usw. ) WHERE jahr = 2013 Automatische Gruppierung verbleibender Spalten ( * ) Interne Umsetzung in "klassisches" SQL mit GROUP BY aber: optimierter Ausführungsplan!

41 11g PIVOT-Klausel Problem: Anzahl Spalten muss bekannt sein (wie immer in SQL) also kein "dynamisches" Pivotieren möglich Lösung 1: SQL-Statement mit PL/SQL erzeugen in APEX als Reportquelle nutzen

42 Beispiel: PIVOT generieren lassen FUNCTION pivot_umsaetze ( p_region IN umsaetze.region%type,p_jahr IN umsaetze.jahr%type,p_monat IN umsaetze.monat%type ) RETURN VARCHAR2 IS l_select VARCHAR2(10000); l_where VARCHAR2 (1000); c_monate CONSTANT VARCHAR2(100) := '01 JAN, 02 FEB, 03 MAR, 04 APR, 05 MAI, 06 JUN, ' '07 JUL, 08 AUG, 09 SEP, 10 OKT, 11 NOV, 12 DEZ'; BEGIN l_select := 'SELECT region, jahr, ' TRANSLATE(SUBSTR(c_monate, 1, (NVL(p_monat, 12)-1)*8 +6), ' ', ' ') ' FROM umsaetze'; l_where := CASE WHEN p_region IS NULL THEN NULL ELSE ' AND region = ' p_region END; l_where := l_where CASE WHEN p_jahr IS NULL THEN NULL ELSE ' AND jahr = ' p_jahr END; IF l_where IS NOT NULL THEN l_where := ' WHERE' SUBSTR (l_where, 5); END IF; END; RETURN l_select ' PIVOT (SUM(umsatz) FOR monat IN (' c_monate '))' l_where; Report

43 Generische Spalten im Report

44 Funktion für Spaltennamen

45 Funktion für Spaltennamen FUNCTION pivot_umsaetze_cols RETURN VARCHAR2 IS BEGIN RETURN 'Region:Jahr:JAN:FEB:MAR:APR:MAI:JUN:JUL:AUG:SEP:OKT:NOV:DEZ'; END;

46 Pivotierter Report

47 11g PIVOT-Klausel Lösung 2: PIVOT XML verwenden Nebeneffekt: Formatierung möglich

48 Pivotieren mit XML SELECT * FROM umsaetze PIVOT XML ( SUM(umsatz) sum_umsatz FOR monat IN ( SELECT DISTINCT monat FROM umsaetze) )

49 Pivotieren mit XML <PivotSet> <item> <column name = "MONAT">1</column> <column name = "SUM_UMSATZ">420355</column> </item> </PivotSet>

50 9i Pipelined Table Functions PL/SQL-Funktionen als Datenquelle für SQL nutzen ("FROM") Daten werden kontinuierlich ausgegeben ("PIPE") Registrierter Datentyp als Rückgabe

51 9i Pipelined Table Functions CREATE TYPE integer_array AS TABLE OF INTEGER; CREATE FUNCTION min_max ( "min" IN INTEGER, "max" IN INTEGER ) RETURN integer_array PIPELINED AS BEGIN FOR i IN "min".."max" LOOP PIPE ROW(i); END LOOP; RETURN; END;

52 9i Pipelined Table Functions SELECT COLUMN_VALUE FROM TABLE (min_max(1, 10));

53 9i Pipelined Table Functions Kapselung von PL/SQL-Programmlogik z.b. verschachtelte Funktionsaufrufe komplexe Berechnungen mit PL/SQL klarer zu programmieren als mit SQL validierbare Parameter kontinuierliche Ausgabe ("Staging")

54 10g SQL MODEL Clause Zellen, Bezüge, Formeln "Spreadsheet"-ähnliche Berechnungen

55 10g SQL MODEL Clause SELECT region, jahr, monat, TRUNC(umsatz) FROM umsaetze WHERE jahr = 2013 MODEL RETURN UPDATED ROWS PARTITION BY (region) DIMENSION BY (jahr, monat) MEASURES (umsatz) RULES (umsatz[2014, 1] = umsatz[2013, 1] *1.2)

56 10g SQL MODEL Clause SELECT MODEL PARTITION BY DIMENSION BY MEASURES RULES (umsatz[2014, FOR monat IN (SELECT DISTINCT monat FROM umsaetze WHERE jahr = 2013) ] = umsatz[2013, CV()] *1.2) ORDER BY region, jahr, monat

57 "Kleinigkeiten" 1. LISTAGG 2. ORDER BY mit SELECT-Statement 3. COALESCE anstatt NVL 4. MERGE

58 11g R2 LISTAGG -- Alphabetische Auflistung aller Anwendungen -- pro Workspace SELECT workspace_display_name workspace, LISTAGG (application_name, ', ') WITHIN GROUP (ORDER BY application_id) apps FROM apex_applications GROUP BY workspace_display_name -- Achtung: LISTAGG unterstützt max Byte!

59 ORDER BY mit SELECT-Statement SELECT * FROM EMP e ORDER BY ( SELECT yesterday FROM performance p -- wer war der Fleißigste WHERE e.empno = p.empno )

60 9i COALESCE anstatt NVL SELECT NVL( 1, 1/0 ) FROM dual -- ORA-01476: Division durch 0 SELECT COALESCE ( 1, 1/0 ) FROM dual -- 1 NVL wertet stets beide Argumente aus COALESCE kennt den "Short Circuit": wenn Argument 1 NOT NULL, dann Verzicht auf Berechnung von Argument 2 COALESCE akzeptiert mehr als 2 Parameter

61 COALESCE anstatt NVL Performance-Gewinn in Schleifen mit v( ' ' )-Syntax in APEX: SELECT COALESCE ( v('p1_tel1'), v('p1_tel2') ) FROM dual Weniger Kontext-Switches zwischen SQL und PL/SQL

62 COALESCE Sonderfall: Sequences SELECT COALESCE ( 1, my_seq.nextval ) FROM dual wird.nextval erwähnt, dann wird die Sequence stets erhöht (kein Short-Circuit).

63 9i R2 MERGE Insert oder Update in einem Statement nützlich im Zusammenspiel mit APEX_COLLECTIONS

64 9i R2 MERGE MERGE INTO umsaetze USING (SELECT * FROM apex_collections ) ON (region = n001 AND jahr = n002 AND monat = n003) WHEN MATCHED THEN UPDATE SET umsatz = n004 WHEN NOT MATCHED THEN INSERT (region, jahr, monat, umsatz) VALUES (n001, n002, n003, n004);

65 Zusammenfassung Trennung von Daten und Formatierung Aufgaben mit Views entkoppeln Formulare über Prozeduren TABLE API generieren lassen Hierarchische Abfragen als Datenlieferanten CONNECT BY Formulare über Views INSTEAD OF Trigger verwenden Dynamisches SQL in Reports "Function Returning SQL" nutzen Datenquelle über sehr komplexe Sachverhalte Pipelined Function schreiben

66 Buchempfehlung Sanjay Mishra, Alan Baulieu Buch & Kindle 494 Seiten Kurze Einführung Ausführliche Beispiele

67 Jürgen Sieben 877 Seiten, 2013 Umfangreiche Einführung und Vertiefung Viele Praxisbeispiele Locker und sehr gut verständlich Buchempfehlung

68 rund um Application Express Beratung Projektmanagement Coaching Andreas Wismann

Fortgeschrittene SQL-Techniken für APEX-Formulare und -Reports

Fortgeschrittene SQL-Techniken für APEX-Formulare und -Reports Fortgeschrittene SQL-Techniken für APEX-Formulare und -Reports Andreas Wismann WHEN OTHERS D-41564 Kaarst Schlüsselworte APEX 4.2, SQL, Tabular Forms, Classic Report, Interactive Report Einleitung "Darf

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

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

Art der Info: Technische Background Info Teil 3 (April 2002)

Art der Info: Technische Background Info Teil 3 (April 2002) Betrifft: Autor: Oracle9i New Features SQL und PL/SQL Patrick Malcherek (patrick.malcherek@trivadis.com) Art der Info: Technische Background Info Teil (April 00) Quelle: Aus dem NF9i-Kurs und NF9i-Techno-Circle

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

Art der Info: Technische Background Info Teil 2 (April 2002)

Art der Info: Technische Background Info Teil 2 (April 2002) Betrifft: Autor: Oracle 9i New Features SQL und PL/SQL Christine Hansen (christine.hansen@trivadis.com) Art der Info: Technische Background Info Teil 2 (April 2002) Quelle: Aus dem NF9i-Kurs und NF9i-Techno-Circle

Mehr

<Insert Picture Here> Security-Basics. Privilegien, Rollen, SQL und PL/SQL - inkl. 12c-Update. Carsten Czarski, ORACLE Deutschland B.V. Co.

<Insert Picture Here> Security-Basics. Privilegien, Rollen, SQL und PL/SQL - inkl. 12c-Update. Carsten Czarski, ORACLE Deutschland B.V. Co. Security-Basics Privilegien, Rollen, SQL und PL/SQL - inkl. 12c-Update Carsten Czarski, ORACLE Deutschland B.V. Co. KG Themen Rechte, Rollen und PL/SQL: Grundsätzliches Invokers vs.

Mehr

Die Datenmanipulationssprache SQL

Die Datenmanipulationssprache SQL Die Datenmanipulationssprache SQL Daten eingeben Daten ändern Datenbank-Inhalte aus Dateien laden Seite 1 Data Manipulation Language A DML statement is executed when you Add new rows to a table Modify

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

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

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

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

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

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

Ü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

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

Oracle 8i und 9i New Features. DOAG November Peter Jensch, Trivadis GmbH

Oracle 8i und 9i New Features. DOAG November Peter Jensch, Trivadis GmbH Oracle 8i und 9i New Features DOAG November 200 Peter Jensch, Trivadis GmbH Facts & Figures Über 300 Mitarbeiter (D und CH) Über 200 Oracle Consultant Über 300 Kunden (ohne Schulung) Über 000 Projekte

Mehr

NoSQL mit Postgres 15. Juni 2015

NoSQL mit Postgres 15. Juni 2015 Tag der Datenbanken 15. Juni 2015 Dipl.-Wirt.-Inform. Agenda l Vorstellung l Marktübersicht l Warum PostgreSQL? l Warum NoSQL? l Beispielanwendung Seite: 2 Vorstellung Dipl.-Wirt.-Inform. [1990] Erste

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

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

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

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

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

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

Art der Info: Technische Background Info Teil 1 (April 2002)

Art der Info: Technische Background Info Teil 1 (April 2002) Betrifft: Autor: Oracle 9i New Features SQL und PL/SQL Christine Hansen (christine.hansen@trivadis.com) Art der Info: Technische Background Info Teil 1 (April 2002) Quelle: Aus dem NF9i-Kurs und NF9i-Techno-Circle

Mehr

Die bisher bereits bekannten Aggregatsfunktionen MIN, MAX, SUM, AVG, COUNT, VARIANCE und STDDEV wurden um FIRST und LAST erweitert.

Die bisher bereits bekannten Aggregatsfunktionen MIN, MAX, SUM, AVG, COUNT, VARIANCE und STDDEV wurden um FIRST und LAST erweitert. Betrifft Autor FIRST, LAST Markus Jägle (markus.jaegle@trivadis.com) Art der Info Technische Background Info (April 2002) Quelle Aus dem NF9i-Kurs, NF9i-Techno-Circle der Trivadis und Oracle9i Data Warehousing

Mehr

Komplexe XML-Dokumente über XSU und Objekt-Typen aus der Datenbank generieren

Komplexe XML-Dokumente über XSU und Objekt-Typen aus der Datenbank generieren Komplexe XML-Dokumente über XSU und Objekt-Typen aus der Datenbank generieren Autor: Norbert Bahn, Opitz Consulting DOAGNews Q3_2005 Dieses Werk ist urheberrechtlich geschützt. Die dadurch begründeten

Mehr

Oracle SQL. Seminarunterlage. Version vom

Oracle SQL. Seminarunterlage. Version vom Seminarunterlage Version: 12.16 Version 12.16 vom 12. Oktober 2017 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen sind Warenzeichen

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

Wolkig bis heiter. Andreas Wismann WHEN OTHERS. APEX als Drehkreuz für Web Service-Anwendungen

Wolkig bis heiter. Andreas Wismann WHEN OTHERS. APEX als Drehkreuz für Web Service-Anwendungen Wolkig bis heiter APEX als Drehkreuz für Web Service-Anwendungen Andreas Wismann WHEN OTHERS Beratung Projektmanagement Coaching rund um Oracle Application Express In APEX Informationen von "woanders"

Mehr

SQL and PL/SQL unleashed. Neuheiten bei Oracle 11g und Oracle 12c im Bereich SQL und PL/SQL

SQL and PL/SQL unleashed. Neuheiten bei Oracle 11g und Oracle 12c im Bereich SQL und PL/SQL . Neuheiten bei Oracle 11g und Oracle 12c im Bereich SQL und PL/SQL Johannes Gritsch Themenübersicht Neue Scheduler Job Typen SQL_SCRIPT und BACKUP_SCRIPT SQL RowLimit: PERCENT und TIES WITH-Klausel mit

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

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

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

Vergessene (?) SQL- und PL/SQL- Funktionen

Vergessene (?) SQL- und PL/SQL- Funktionen Vergessene (?) SQL- und PL/SQL- Funktionen Folge 1 Vortrag DOAG-Regiogruppe Freiburg/Südbaden 29.01.13 bulk collect (1) Aufgabenstellung: ca. 50.000 eingelesene Werte an Hand einer ID auf eine vorhandene

Mehr

SQL aus der Praxis Neue Funktionen für Bäume und Beispiele für Analytic functions

SQL aus der Praxis Neue Funktionen für Bäume und Beispiele für Analytic functions SQL aus der Praxis Neue Funktionen für Bäume und Beispiele für Analytic functions Autor: Helmut Skarka DOAG 2008 pdv Technische Automation + Systeme GmbH, 2008 www.pdv-tas.de Seite 1 ÜBERBLICK Im folgenden

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

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

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

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

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

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

Arbeit mit zusammengesetzten Datentypen

Arbeit mit zusammengesetzten Datentypen Arbeit mit zusammengesetzten Datentypen Zusammengesetzte Datentypen Typen: PL/SQL RECORDS PL/SQL TABELLEN Enthalten interne Komponenten Sind wiederverwendbar Copyright Oracle Corporation, 1998. All rights

Mehr

SQL. Datenmanipulation. Datenmanipulationssprache. Ein neues Tupel hinzufügen. Das INSERT Statement

SQL. Datenmanipulation. Datenmanipulationssprache. Ein neues Tupel hinzufügen. Das INSERT Statement SQL Datenmanipulation Datenmanipulationssprache Ein DML Statement wird ausgeführt wenn: neue Tupel eingefügt werden existierende Tupel geändert werden existierende Tupel aus der Tabelle gelöscht werden

Mehr

Datenbanken Labor, MI : Übung 1 SQL - Abfragen Patrick Lipinski

Datenbanken Labor, MI : Übung 1 SQL - Abfragen Patrick Lipinski Aufgabe 1 Erstellen Sie eine Abfrage, die aus der EMP/DEPT-Tabelle die Felder Empno, Ename, Deptno und dname aller Mitarbeiter mit einem Gehalt von > 2500 ausgibt. select EMPNO, ENAME from EMP where SAL

Mehr

Speed up your Query Strategien zur Optimierung von SQL-Queries. Juni 2012 Ulrike Brenner

Speed up your Query Strategien zur Optimierung von SQL-Queries. Juni 2012 Ulrike Brenner Speed up your Query Strategien zur Optimierung von SQL-Queries Juni 2012 Ulrike Brenner Ulrike Brenner Seit 1999 Oracle Entwicklerin Oracle DB 8-11gR2 SQL PL/SQL Oracle Forms/Reports APEX Entwicklerin

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

Neugestaltung der Datenbank des Chemnitzer Studentennetzes

Neugestaltung der Datenbank des Chemnitzer Studentennetzes 12.12.2012 Neugestaltung der Datenbank des Chemnitzer Studentennetzes Verteidigung Bachelorarbeit Morris Jobke Prüfer: Dr. Frank Seifert Betreuer: Dipl.-Inf. Johannes Fliege Neugestaltung der Datenbank

Mehr

Oracle 12c: Neuerungen in PL/SQL. Roman Pyro DOAG 2014 Konferenz

Oracle 12c: Neuerungen in PL/SQL. Roman Pyro DOAG 2014 Konferenz Oracle 12c: Neuerungen in PL/SQL Roman Pyro DOAG 2014 Konferenz Herrmann & Lenz Services GmbH Herrmann & Lenz Solutions GmbH Erfolgreich seit 1996 am Markt Firmensitz: Burscheid (bei Leverkusen) Beratung,

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

Extracting Business Rules from PL/SQL-Code

Extracting Business Rules from PL/SQL-Code Extracting Business Rules from PL/SQL-Code Version 7, 13.07.03 Michael Rabben Knowledge Engineer Semantec GmbH, Germany Why? Where are the business rules? Business Rules are already hidden as logic in

Mehr

XML-Schnittstellen zum Import und Export von Daten für eine Oracle DB Ein Erfahrungsbericht DOAG 2006

XML-Schnittstellen zum Import und Export von Daten für eine Oracle DB Ein Erfahrungsbericht DOAG 2006 XML-Schnittstellen zum Import und Export von Daten für eine Oracle DB Ein Erfahrungsbericht DOAG 2006 Dr. Wolfgang Braunisch Opitz Consulting GmbH Seite 1 Gliederung Anforderungsszenario Lösungsalternativen

Mehr

Aufbau eines dynamischen ETL Frameworks auf Basis eines PL/SQL Codegenerators

Aufbau eines dynamischen ETL Frameworks auf Basis eines PL/SQL Codegenerators Aufbau eines dynamischen ETL Frameworks auf Basis eines PL/SQL Codegenerators München, 21. Nowember 2007 Nicola Marangoni & Jörg Westermayer Nicola.Marangoni@SHS-VIVEON.com Joerg.Westermayer@SHS-VIVEON.com

Mehr

Kapitel 4 Dynamisches SQL

Kapitel 4 Dynamisches SQL Kapitel 4 Dynamisches SQL Flien zum Datenbankpraktikum Wintersemester 2012/13 LMU München 2008 Thmas Bernecker, Tbias Emrich 2010 Tbias Emrich, Erich Schubert unter Verwendung der Flien des Datenbankpraktikums

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

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

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II - SS 2015. Metadaten

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II - SS 2015. Metadaten Fakultät für Informatik & Wirtschaftsinformatik Metadaten Metadaten sind Daten über Daten Data-Dictionary speichert Informationen über die Struktur der Daten, z.b.: Tabellen, Spalten, Datentypen Primär-

Mehr

Der SAS DataStep und die Prozedur SQL. 2014 Cellent Finance Solutions GmbH 05.06.2014 Seite: 1

Der SAS DataStep und die Prozedur SQL. 2014 Cellent Finance Solutions GmbH 05.06.2014 Seite: 1 Der SAS DataStep und die Prozedur SQL 2014 Cellent Finance Solutions GmbH 05.06.2014 Seite: 1 Zahlen und Fakten auf einen Blick Firmensitz: Geschäftsstellen: Branchenerfahrung: Umsatz: Anzahl Mitarbeiter:

Mehr

Komplexe Excel-Berichte mit APEX und jxls erstellen

Komplexe Excel-Berichte mit APEX und jxls erstellen Komplexe Excel-Berichte mit APEX und jxls erstellen Dietmar Aust Opal-Consulting Köln Schlüsselworte: Oracle APEX, MS Excel, jxls, Bericht, Template, Open Source Einleitung In fast jeder Webapplikation

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

Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5

Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5 Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5 Aufgabe 1: Projektion Datenbanksysteme I π A1,...,A n (π B1,...,B

Mehr

Dynamische Generierung von XML

Dynamische Generierung von XML Kunde: DOAGNews Ort, Datum: Artikel im Heft Q3 / 2005 Thema / Themen: Projekt: Autor: Artikel von merlin.zwo Dynamische Generierung von XML In Hakon Lugert Oracle & Technologien Systementwicklung Individuelle

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

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

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

Historisierung und Versionierung

Historisierung und Versionierung DOAG NRW-Regionaltreffen 7. Juli 2005, Aachen Historisierung und Versionierung für ein bestehendes Datenmodell ohne Änderung der Anwendung Martin Friemel, Martin Kubitza Enterprise Web AG, Duisburg fon

Mehr

SQL. Fortgeschrittene Konzepte Auszug

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

Mehr

Ü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

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

Mehr Ergebnisse: Linguistische Funktionen und Ähnlichkeitssuche mit SQL. Carsten Czarski ORACLE Deutschland B.V. & Co KG München

Mehr Ergebnisse: Linguistische Funktionen und Ähnlichkeitssuche mit SQL. Carsten Czarski ORACLE Deutschland B.V. & Co KG München Mehr Ergebnisse: Linguistische Funktionen und Ähnlichkeitssuche mit SQL Carsten Czarski ORACLE Deutschland B.V. & Co KG München Einleitung Jede Suche in den Tabellen im Data Warehouse ist eine SQL-Abfrage

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

Kapitel 4 Dynamisches SQL

Kapitel 4 Dynamisches SQL Kapitel 4 Dynamisches SQL Flien zum Datenbankpraktikum Wintersemester 2010/11 LMU München 2008 Thmas Bernecker, Tbias Emrich unter Verwendung der Flien des Datenbankpraktikums aus dem Wintersemester 2007/08

Mehr

(Von der Nähe zur Distanz zum User geordnet)

(Von der Nähe zur Distanz zum User geordnet) Datebanken Was ist eigentlich eine Datenbank? Datenbanken, Datenhaltungsschicht und Datenbankensysteme (hier als Synonyme zu verstehen) finden viele unterschiedliche Anwendungsbereiche. Datenbanken kann

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

SQL Intensivpraktikum SS 2008

SQL Intensivpraktikum SS 2008 SQL Intensivpraktikum SS 2008 Aggregation von Daten Arbeit mit Gruppen SQL1 basierend auf OAI-Kurs Copyright Oracle Corporation, 1998. All rights reserved. Gruppenfunktionen Gruppenfunktionen verarbeiten

Mehr

Erzeugen von Constraints

Erzeugen von Constraints Erzeugen von Constraints Was sind Constraints? Durch Constraints werden Regeln auf einem bestimmtem Tabellen-Level erzwungen. Die folgenden Constraint-Typen sind in Oracle integriert: NOT NULL UNIQUE Key

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

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

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

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

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

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

Urs Meier (urs.meier@trivadis.com) Art der Info Technical Info (Februar 2002) Aus unserer Projekterfahrung und Forschung

Urs Meier (urs.meier@trivadis.com) Art der Info Technical Info (Februar 2002) Aus unserer Projekterfahrung und Forschung Betrifft Optimizer Autor Urs Meier (urs.meier@trivadis.com) Art der Info Technical Info (Februar 2002) Quelle Aus unserer Projekterfahrung und Forschung Einführung Mit jedem Oracle Release nimmt die Anzahl

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

Oracle12c für Entwickler

Oracle12c für Entwickler Oracle12c für Entwickler Carsten.Czarski@oracle.com http://tinyurl.com/apexcommunity http://sql-plsql-de.blogspot.com http://oracle-text-de.blogspot.com http://plsqlexecoscomm.sourceforge.net http://plsqlmailclient.sourceforge.net

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

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

Oracle native json Support. Erste Schritte

Oracle native json Support. Erste Schritte Oracle native json Support Erste Schritte 1 Ausgangslage Als erster Schritt erstellen wir eine Tabelle, die wir für den weiteren Verlauf brauchen werden. Die Felder Id, Created und Username sind normale

Mehr

Fehlervermeidung und Debugging in APEX

Fehlervermeidung und Debugging in APEX Saubere Arbeit! Fehlervermeidung und Debugging in APEX Andreas Wismann WHEN OTHERS Beratung Programmierung Coaching rund um Oracle Application Express wismann@when-others.com http://when-others.com Einstieg

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

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

Kapitel 8: Datenintegrität

Kapitel 8: Datenintegrität Kapitel 8: Datenintegrität Datenintegrität Statische Bedingung (jeder Zustand) Dynamische Bedingung (bei Zustandsänderung) Bisher: Definition eines Schlüssels 1:N - Beziehung Angabe einer Domäne Jetzt:

Mehr

Oracle 10g Einführung

Oracle 10g Einführung Kurs Oracle 10g Einführung Teil 7 Einige interessante SQL und PL/SQL Erweiterungen für Administratoren Timo Meyer Administration von Oracle-Datenbanken Timo Meyer Sommersemester 2006 Seite 1 von 19 Seite

Mehr

PostgreSQL Ein Überblick

PostgreSQL Ein Überblick 26. August 2007 Agenda Neue Funktionen im Bereich SQL, XML und Volltextsuche Geschwindigkeitsverbesserungen Neue Erweiterungen (contrib) XML (1) Neuer Datentyp xml ( well-formedness ) Viele Funktionen

Mehr

DB2 SQL, der Systemkatalog & Aktive Datenbanken

DB2 SQL, der Systemkatalog & Aktive Datenbanken DB2 SQL, der Systemkatalog & Aktive Datenbanken Lehr- und Forschungseinheit Datenbanken und Informationssysteme 1 Ziele Auf DB2 Datenbanken zugreifen DB2 Datenbanken benutzen Abfragen ausführen Den Systemkatalog

Mehr

Die View von der View von der View PERFORMANTES SQL SCHREIBEN

Die View von der View von der View PERFORMANTES SQL SCHREIBEN Die View von der View von der View PERFORMANTES SQL SCHREIBEN Schlüsselworte SQL, Performance, Optimizer Uwe Embshoff Airpas Aviation AG Braunschweig Einleitung Es gibt viel Literatur zum Thema Oracle

Mehr

UEB. Übungen zum Seminar 4053

UEB. Übungen zum Seminar 4053 Übungen zum Seminar 4053 1.1 Aufgaben zu Kapitel 1... 2 1.2 Aufgaben zu Kapitel 2... 3 1.3 Aufgaben zu Kapitel 3... 6 1.4 Aufgaben zu Kapitel 4... 8 1.5 Aufgaben zu Kapitel 5... 9 1.6 Aufgaben zu Kapitel

Mehr

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

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

Mehr

Lösung zu Aufgabe 6. Lösung:

Lösung zu Aufgabe 6. Lösung: Lösung zu Aufgabe 6 1.Ihre Aufgabe ist es nun, diese Daten in das bestehende Datenbank-Schema zu integrieren und dazu die entsprechenden Tabellen zu erstellen. Abgabe: neue Tables 2 P Lösung: CREATE TABLE

Mehr