Funktion definieren Gibt Summe der Gehälter zurück. Aufruf in einem SQL-Statement
|
|
- Kilian Schmidt
- vor 8 Jahren
- Abrufe
Transkript
1 Funktion definieren Gibt Summe der Gehälter zurück Aufruf in einem SQL-Statement Dr. Christian Senger Einführung PL/SQL 1
2 Procedures & Transaktionen CREATE OR REPLACE PROCEDURE write_log ( log_code IN INTEGER, log_msg IN VARCHAR2) IS INSERT INTO emp_log (log_code, log_msg, USER(), SYSDATE()); COMMIT; EXCEPTION WHEN OTHERS THEN ROLLBACK; CREATE OR REPLACE PROCEDURE add_emp IS INSERT INTO emp (emp_id, emp_name) VALUES (1, 'Senger'); IF <Bedingung> THEN write_log(1, 'Problem mit Senger'); ROLLBACK; END IF; COMMIT; Dr. Christian Senger Einführung PL/SQL 2
3 Procedures & Transaktionen CREATE OR REPLACE PROCEDURE write_log ( log_code IN INTEGER, log_msg IN VARCHAR2) IS INSERT INTO emp_log (log_code, log_msg, USER(), SYSDATE()); CREATE OR REPLACE PROCEDURE add_emp IS INSERT INTO emp (emp_id, emp_name) VALUES (1, 'Senger'); IF <Bedingung> THEN write_log(1, 'Problem mit Senger'); ROLLBACK; END IF; COMMIT; Dr. Christian Senger Einführung PL/SQL 3
4 Procedures & Transaktionen CREATE OR REPLACE PROCEDURE write_log ( log_code IN INTEGER, log_msg IN VARCHAR2) IS PRAGMA AUTONOMOUS_TRANSACTION; INSERT INTO emp_log (log_code, log_msg, USER(), SYSDATE()); COMMIT; EXCEPTION WHEN OTHERS THEN ROLLBACK; CREATE OR REPLACE PROCEDURE add_emp IS INSERT INTO emp (emp_id, emp_name) VALUES (1, 'Senger'); IF <Bedingung> THEN write_log(1, 'Problem mit Senger'); ROLLBACK; END IF; COMMIT; Dr. Christian Senger Einführung PL/SQL 4
5 TRIGGER Konzept, um automatisch auf vordefinierte Ereignisse in der Datenbank zu reagieren Trigger sind mit Datenbanktabelle oder View verknüpft Auslösung durch DML Befehle INSERT, UPDATE und DELETE Einsatzbereiche: Datenintegrität Datensicherheit, Logging, Auditing referentielle Integrität (besser durch Constraints) Produktivitätssteigerung Ausführungszeitpunkte: Vor der Ausführung des DML Befehls Nach der Ausführung des DML Befehls Anstelle eines DML-Befehls Bearbeitung durch Trigger bezieht sich entweder auf das DML-Statement (Statement Trigger) auf jeden einzelnen betroffenen Datensatz (Row Trigger) Dr. Christian Senger Einführung PL/SQL 5
6 Syntax Dr. Christian Senger Einführung PL/SQL 6
7 Syntax & Anmerkungen INSTEAD OF Trigger nur bei Views Vordefinierte Variablen :new und :old für den Zugriff auf die alten/neuen Werte (nur bei ROW-Trigger) WHEN darf keine SQL-Anfragen enthalten keine zyklischen Abhängigkeiten erlaubt Aktivieren/Deaktivieren eines Triggers: ALTER TRIGGER <NAME> ENABLE DISABLE; Tabelle user_triggers enthält Triggercode Dr. Christian Senger Einführung PL/SQL 7
8 STATEMENT-TRIGGER CREATE OR REPLACE TRIGGER beispiel_statement_trigger AFTER DELETE ON schlafplatz DBMS_OUTPUT.PUT_LINE('Benutzer ' user() ' hat ein DELETE Statement auf Tabelle "schlafplatz" durchgeführt'); SHOW ERRORS; SET serveroutput ON DELETE FROM schlafplatz WHERE anzahl_plaetze < 2; Zeilen gelöscht -- Benutzer SENGER hat ein DELETE Statement auf Tabelle "schlafplatz" durchgeführt Dr. Christian Senger Einführung PL/SQL 8
9 ROW-TRIGGER CREATE OR REPLACE TRIGGER beispiel_row_trigger AFTER UPDATE OF anzahl_plaetze ON schlafplatz FOR EACH ROW DBMS_OUTPUT.PUT_LINE( :old.bezeichnung ' hatte vorher ' :old.anzahl_plaetze ' und hat jetzt ' :new.anzahl_plaetze ' Plätze'); SHOW ERRORS; SET serveroutput ON UPDATE schlafplatz SET anzahl_plaetze = anzahl_plaetze Max hatte vorher 3 und hat jetzt 4 Plätze -- Kathrinchen hatte vorher 1 und hat jetzt 2 Plätze -- Marten hatte vorher 2 und hat jetzt 3 Plätze Dr. Christian Senger Einführung PL/SQL 9
10 Checks CREATE OR REPLACE TRIGGER check_eintragung_zeit BEFORE INSERT ON schlafplatz IF to_char(sysdate,'hh24:mi') BETWEEN '08:00' and '12:00' THEN raise_application_error(-20001, 'Schlafpätze dürfen nur Nachmittags eingetragen werden'); END IF; INSERT INTO schlafplatz VALUES( schlafplatz_seq.nextval, 'Markus', 'Hamburg', 2, 10); -- Fehlerbericht: -- SQL-Fehler: ORA-20001: Schlafpätze dürfen nur Nachmittags eingetragen werden -- ORA-06512: in "SENGER.CHECK_EINTRAGUNG_ZEIT", Zeile 3 -- ORA-04088: Fehler bei der Ausführung von Trigger 'SENGER.CHECK_EINTRAGUNG_ZEIT' Dr. Christian Senger Einführung PL/SQL 10
11 Bedingungen für Ausführung CREATE OR REPLACE TRIGGER print_salary_changes BEFORE DELETE OR INSERT OR UPDATE ON employee FOR EACH ROW WHEN (new.emp_id > 0) DECLARE sal_diff number; sal_diff := :new.sal - :old.sal; dbms_output.put('old salary: ' :old.sal); dbms_output.put(' New salary: ' :new.sal); dbms_output.put_line(' Difference ' sal_diff); Dr. Christian Senger Einführung PL/SQL - Trigger 11 von 42
12 Unterscheidung der auslösenden Triggeraktion CREATE OR REPLACE TRIGGER print_salary_changes BEFORE DELETE OR INSERT OR UPDATE ON employee_salary FOR EACH ROW WHEN (new.emp_id > 0) DECLARE sal_diff number; IF (INSERTING) THEN dbms_output.put('inserting'); ELSIF (DELETING) THEN dbms_output.put('deleting'); ELSIF (UPDATING) THEN dbms_output.put('updating'); ELSE raise_application_error(-20001, '?'); END IF; Dr. Christian Senger Einführung PL/SQL - Trigger 12 von 42
13 Abarbeitungsreihenfolge CREATE TABLE trigger_test_beschreibung ( beschreibung_id NUMBER PRIMARY KEY, text varchar2(10) ); CREATE OR REPLACE TRIGGER vor_update_statement BEFORE UPDATE ON trigger_test_beschreibung DBMS_OUTPUT.PUT_LINE('vor dem Update, Statement '); CREATE OR REPLACE TRIGGER nach_update_statement AFTER UPDATE ON trigger_test_beschreibung DBMS_OUTPUT.PUT_LINE('nach dem Update, Statement '); CREATE OR REPLACE TRIGGER vor_update_row BEFORE UPDATE ON trigger_test_beschreibung FOR EACH ROW DBMS_OUTPUT.PUT_LINE('vor dem Update, Row (' :old.text '>' :new.text ')'); CREATE OR REPLACE TRIGGER nach_update_row AFTER UPDATE ON trigger_test_beschreibung FOR EACH ROW DBMS_OUTPUT.PUT_LINE('nach dem Update, Row (' :old.text '>' :new.text ')'); Dr. Christian Senger Einführung PL/SQL 13
14 SELECT * FROM user_triggers; Fakultät für Informatik & Wirtschaftsinformatik user_triggers -- Ausschnitt aus den Ergebnissen -- TRIGGER_NAME TRIGGER_TYPE TABLE_NAME VOR_UPDATE_STATEMENT BEFORE STATEMENT TRIGGER_TEST_BESCHREIBUNG -- NACH_UPDATE_ROW AFTER EACH ROW TRIGGER_TEST_BESCHREIBUNG -- NACH_UPDATE_STATEMENT AFTER STATEMENT TRIGGER_TEST_BESCHREIBUNG -- VOR_UPDATE_ROW BEFORE EACH ROW TRIGGER_TEST_BESCHREIBUNG Dr. Christian Senger Einführung PL/SQL 14
15 Abarbeitungsreihenfolge INSERT INTO trigger_test_beschreibung VALUES(1, 'eins'); INSERT INTO trigger_test_beschreibung VALUES(2, 'zwei'); INSERT INTO trigger_test_beschreibung VALUES(3, 'drei'); UPDATE trigger_test_beschreibung SET text=upper(text) WHERE beschreibung_id < 3; -- Ergebnis: -- vor dem Update, Statement -- vor dem Update, Row (eins->eins) -- nach dem Update, Row (eins->eins) -- vor dem Update, Row (zwei->zwei) -- nach dem Update, Row (zwei->zwei) -- nach dem Update, Statement SELECT * FROM trigger_test_beschreibung; BESCHREIBUNG_ID TEXT EINS 2 ZWEI 3 drei Dr. Christian Senger Einführung PL/SQL 15
16 Einschub: Datum SELECT sysdate FROM dual SELECT value FROM nls_session_parameters WHERE parameter = NLS_DATE_FORMAT'; -- DD.MM.RR ALTER session SET NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS'; SELECT sysdate FROM dual :23:48 -- YYYY-MM-DD HH24:MI:SS Dr. Christian Senger Einführung PL/SQL 16
17 INSTEAD OF Trigger CREATE TABLE stadt_temperatur_fahrenheit ( ); timestamp DATE, stadt VARCHAR2(60), fahrenheit NUMBER(4,1), PRIMARY KEY (timestamp, stadt) CREATE OR REPLACE VIEW berlin_temperatur_celsius (timestamp, celcius) AS SELECT timestamp, (fahrenheit- 32) * 5.0/9.0 FROM stadt_temperatur_fahrenheit WHERE stadt='berlin'; Dr. Christian Senger Einführung PL/SQL 17 von 42
18 INSTEAD OF Trigger CREATE OR REPLACE TRIGGER berlin_temperatur_hinzufuegen INSTEAD OF INSERT ON berlin_temperatur_celsius FOR EACH ROW INSERT INTO stadt_temperatur_fahrenheit VALUES(:new.timestamp, 'berlin', :new.celcius * 9.0/ ); SHOW ERRORS; INSERT INTO stadt_temperatur_fahrenheit VALUES(sysdate-2/24, 'berlin', 67); INSERT INTO berlin_temperatur_celsius VALUES(sysdate-1/24, 10.2); SELECT * FROM stadt_temperatur_fahrenheit; :51:47 berlin :52:33 berlin 50,4 -- Übung: Trigger für Update auf stadt_temperatur_fahrenheit Dr. Christian Senger Einführung PL/SQL 18 von 42
19 Mutating Table Eine Tabelle wird als Mutating Table bezeichnet, wenn Änderungen an dieser Tabelle den Trigger aktiviert haben oder diese Tabelle aufgrund von ON DELETE... Constraints eventuell modifiziert werden muss. Auf diese Tabellen darf von einem Row-Trigger aus nicht zugegriffen werden. Mögliche Lösung: Temporäre Daten im ROW-Trigger ablegen und diese in einem AFTER- Statement-Trigger verarbeiten Trigger auf View definieren und mit Instead of -Trigger arbeiten Übung: Ein Schlafplatz wird gelöscht die Beliebtheitsränge sollen entsprechend verschoben werden Dr. Christian Senger Einführung PL/SQL 19
20 Mutating Table CREATE OR REPLACE TRIGGER beliebtheit_neu_berechnen AFTER DELETE ON schlafplatz FOR EACH ROW UPDATE schlafplatz SET beliebtheit_rang=beliebtheit_rang-1 WHERE beliebtheit_rang > :new.beliebtheit_rang; DELETE FROM schlafplatz WHERE bezeichnung = 'Max -- SQL-Fehler: ORA-04091: Tabelle SENGER.SCHLAFPLATZ wird gerade geändert, Trigger/Funktion sieht dies möglicherweise nicht -- ORA-06512: in "SENGER.BELIEBTHEIT_NEU_BERECHNEN", Zeile 2 -- ORA-04088: Fehler bei der Ausführung von Trigger 'SENGER.BELIEBTHEIT_NEU_BERECHNEN DROP TRIGGER beliebtheit_neu_berechnen; Dr. Christian Senger Einführung PL/SQL 20
21 Mutating Table II CREATE TABLE schlafplatz_beliebtheit_temp ( schlafplatz_id NUMBER, geloeschter_beliebtheit_rang NUMBER ); -- Temporäre Tabelle CREATE OR REPLACE TRIGGER beliebtheit_neu_berechnen1 AFTER DELETE ON schlafplatz FOR EACH ROW DBMS_OUTPUT.PUT_LINE('schlafplatz_id ' :old.schlafplatz_id ',' :old.beliebtheit_rang); INSERT INTO schlafplatz_beliebtheit_temp VALUES(:old.schlafplatz_id, :old.beliebtheit_rang); -- ROW-TRIGGER schreibt beim Löschen in die temporäre Tabelle. Dr. Christian Senger Einführung PL/SQL 21
22 Mutating Table CREATE OR REPLACE TRIGGER beliebtheit_neu_berechnen2 AFTER DELETE ON schlafplatz DECLARE CURSOR cur_beliebtheit IS SELECT * FROM schlafplatz_beliebtheit_temp ORDER BY geloeschter_beliebtheit_rang DESC; FOR temp_daten IN cur_beliebtheit LOOP UPDATE schlafplatz SET beliebtheit_rang = beliebtheit_rang-1 WHERE beliebtheit_rang > temp_daten.geloeschter_beliebtheit_rang; END LOOP; DELETE FROM schlafplatz_beliebtheit_temp; -- Abschließender STATEMENT-TRIGGER darf die Tabelle wieder verändern. Dr. Christian Senger Einführung PL/SQL 22
23 weitere Trigger Data Definition Language Event Trigger: BEFORE / AFTER CREATE BEFORE / AFTER GRANT BEFORE / AFTER ALTER BEFORE / AFTER DROP z.b. für Auditing, Logging Dr. Christian Senger Einführung PL/SQL 23
24 PL/SQL Literatur Einführung in PL/SQL: Oracle PL/SQL Programmierung, 2. Auflage; Steven Feuerstein & Bill Pribyl; Deutsche Übersetzung von Dorothea Reder; O Reilly; 2. Auflage April 2003; ISBN X; Seiten 1084 Oracle PL/SQL - kurz & gut, 2. Auflage; Steven Feuerstein, Bill Pribyl & Chip Dawes; Deutsche Übersetzung von Wolfgang Gabriel & Lars Schulten; 2. Auflage September 2003; ISBN ; Seiten 134 Overview of PL/SQL (Oracle Seiten): Dr. Christian Senger Einführung PL/SQL 24
Fakultät für Informatik & Wirtschaftsinformatik DB & IS II - SS Trigger. Andreas Schmidt Trigger 1/25
Trigger Andreas Schmidt Trigger 125 Trigger Konzept, um automatisch auf vordefinierte Ereignisse in der Datenbank zu reagieren Trigger sind mit Datenbanktabelle verknüpft Auslösung durch DML Befehle INSERT,
MehrÜ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
MehrUniversität Duisburg-Essen Informationssysteme Prof. Dr.-Ing. N. Fuhr. Praktikum Datenbanken / DB2 Woche 8: Trigger, SQL-PL
Betreuer: Sascha Kriewel, Tobias Tuttas Raum: LF 230 Bearbeitung: 26., 27. und 29. Juni 2006 Datum Team (Account) Vorbereitung Präsenz Aktuelle Informationen, Ansprechpartner und Material unter: http://www.is.inf.uni-due.de/courses/dbp_ss07/index.html
MehrProzedurale 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.
Mehr6. Datenintegrität. Integritätsbedingungen
6. Integritätsbedingungen dienen zur Einschränkung der Datenbankzustände auf diejenigen, die es in der realen Welt tatsächlich gibt. sind aus dem erstellten Datenmodell ableitbar (semantisch) und können
MehrPrakt. Datenbankprogrammierung. Sommersemester 2005
Prakt. Datenbankprogrammierung Sommersemester 2005 II,11: Erstellen von Datenbank- Triggern Martin-Luther-Universität Halle, Institut für Informatik, Datenbanken Christian Goldberg Überblick über Trigger
MehrDipl. 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
MehrPrakt. Datenbankprogrammierung. Sommersemester Überblick über Trigger. II,11: Erstellen von Datenbank- Triggern. Datenbank-Trigger: Beispiel
Prakt. Datenbankprogrammierung Sommersemester 2005 II,11: Erstellen von Datenbank- Triggern Überblick über Trigger Ein Trigger ist ein PL/SQL-Block, der bei einem bestimmten festgelegten Ereignis (Event)
MehrDynamisches 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
MehrFakultä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-
MehrSQL (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Ü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)
MehrWhitepaper. 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
MehrReferentielle 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
MehrSemantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung
6. Datenintegrität Motivation Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung nur sinnvolle Attributwerte (z.b. keine negativen Semester) Abhängigkeiten
MehrDatenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin
Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin PhpMyAdmin = grafsches Tool zur Verwaltung von MySQL-Datenbanken Datenbanken erzeugen und löschen Tabellen und Spalten einfügen,
MehrTrigger schreiben. Überblick über Trigger. Datenbank Trigger: Beispiel. Aufbau eines Triggers
Überblick über Trigger Trigger schreiben Ein Trigger ist ein PL/SQL Block, der implizit aufgerufen wird, wenn ein bestimmtes Ereignis eintritt. Ein Trigger kann ein Datenbanktrigger oder ein Anwendungstrigger
MehrMengenvergleiche: 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
MehrHochschule 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.
MehrReferentielle 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
MehrDatenintegritä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
MehrIV. 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.
MehrDatenintegrität. Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen
Datenintegrität Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen Formulierung von Integritätsbedingungen ist die wichtigste Aufgabe des DB-Administrators!
MehrFunktionen. Ü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
MehrDATENBANKEN 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.
MehrDatenintegrität. Arten von Integritätsbedingungen. Statische Integritätsbedingungen. Referentielle Integrität. Integritätsbedingungen in SQL.
Datenintegrität Arten von Integritätsbedingungen Statische Integritätsbedingungen Referentielle Integrität Integritätsbedingungen in SQL Trigger 1 Datenintegrität Einschränkung der möglichen Datenbankzustände
MehrWS 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,
MehrSQL 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
MehrViews 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
MehrDatenbanksysteme 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
MehrDatenintegrität. Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen
Datenintegrität Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen Formulierung von Integritätsbedingungen ist die wichtigste Aufgabe des DB-Administrators!
MehrUnterabfragen (Subqueries)
Unterabfragen (Subqueries) Die kürzeste Formulierung ist folgende: SELECT Felderliste FROM Tabelle1 WHERE Tabelle1.Feldname Operator (SELECT Feldname FROM Tabelle2 WHERE Bedingung); wobei Tabelle1 und
MehrOracle 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,
MehrDatenbanken: Datenintegrität. www.informatikzentrale.de
Datenbanken: Datenintegrität Definition "Datenkonsistenz" "in der Datenbankorganisation (...) die Korrektheit der gespeicherten Daten im Sinn einer widerspruchsfreien und vollständigen Abbildung der relevanten
MehrÜ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
Mehr7. 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
MehrSQL: 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
MehrDatenbanktechnologie mit praktischen Übungen in MySQL und PHP
Datenbanktechnologie mit praktischen Übungen in MySQL und PHP Übung, Sommersemester 2013 22. April 2013 - MySQL Sebastian Cuy sebastian.cuy@uni-koeln.de Datenbanken Was sind eigentlich Datenbanken? Eine
MehrEntwicklung einer Informix- Administrationsdatenbank mit ERwin
Entwicklung einer Informix- Administrationsdatenbank mit ERwin Ausgangslage Ein oder mehrere Informix-Datenbankserver Mehrere Datenbanken Sehr viele Tabellen 21.10.1997 2 Problemstellung Fehlerprävention
Mehr10.6 Programmier-Exits für Workitems
10.6 Programmier-Exits für Workitems 279 10.6 Programmier-Exits für Workitems 10.6.1 Das Interface IF_SWF_IFS_WORKITEM_EXIT Am Schritt einer Workflow-Definition im Reiter»Programmier-Exits«können verschiedene
MehrDB2 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
Mehr5.3 Datenänderung/-zugriff mit SQL (DML)
5.3 Datenänderung/-zugriff mit SQL (DML) Hinweis: - DML-Anweisungen sind mengenorientiert - Mit einer Anweisungen kann mehr als ein Tupel eingefügt, geändert, gelöscht oder gelesen werden Benutzungs- und
MehrSchnellübersichten. SQL Grundlagen und Datenbankdesign
Schnellübersichten SQL Grundlagen und Datenbankdesign 5 Datenbanken 2 6 Tabellen erstellen und verwalten 3 7 Daten einfügen, aktualisieren, löschen 4 8 Einfache Datenabfragen 5 9 Schlüsselfelder und Indizes
MehrReferenzielle 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
MehrLabor 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.
MehrStruktur von PL/SQL. Oracle PL/SQL Die Programmiersprache von Oracle. Ein Beispiel. Bildschirmausgabe. Using Oracle PL/SQL.
Oracle PL/SQL Die Programmiersprache von Oracle Struktur von PL/SQL Using Oracle PL/SQL http://www-db.stanford.edu/~ullman/fcdb/oracle/or-plsql.html Constraints and Triggers http://www-db.stanford.edu/~ullman/fcdb/oracle/or-triggers.html
MehrPostgreSQL und memcached
Building a Query Cache imos GmbH 11.11.2011 / PGconf.DE Outline Einführung 1 Einführung 2 3 Szenario Einführung Webapplikation Pro Request viele, größtenteils einfache, Queries Einteilung von Caches Tradeoff
MehrNachtrag: 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
MehrSQL 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
MehrBeispiel 1: Filmdatenbank
Beispiel 1: Filmdatenbank Die Filmdatenbank hat drei Tabellen (ACTOR, MOVIE, PLAYED) Aufgabe 1: Erstelle mit Hilfe der SQL-DDL die drei Tabellen und die Datenbank (MOVIEDB) ACTOR (ActorID, Name, Birthday,
MehrProgrammieren für mobile Endgeräte SS 2013/2014. Dozenten: Patrick Förster, Michael Hasseler
Programmieren für mobile Endgeräte SS 2013/2014 Programmieren für mobile Endgeräte 2 Informationen aus der Datenbank lesen Klasse SQLiteDatabase enthält die Methode query(..) 1. Parameter: Tabellenname
MehrSuchmaschinen. Universität Augsburg, Institut für Informatik SS 2014 Prof. Dr. W. Kießling 23. Mai 2014 Dr. M. Endres, F. Wenzel Lösungsblatt 6
Universität Augsburg, Institut für Informatik SS 2014 Prof. Dr. W. Kießling 23. Mai 2014 Dr. M. Endres, F. Wenzel Lösungsblatt 6 Aufgabe 1: Pareto mit SV-Semantik Suchmaschinen Pareto Definition: x < P
Mehr4.14.3 Bedingungen über Werte. 4.14.4 Statische Integrität. CHECK-Klausel
4.14.3 Bedingungen über Werte 4.14.4 Statische Integrität Zu jeder Tabelle werden typischerweise ein Primärschlüssel und möglicherweise weitere Schlüssel festgelegt (UNIQUE-Klausel). In jeder Instanz zu
MehrEinfü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
MehrTag 4 Inhaltsverzeichnis
Tag 4 Inhaltsverzeichnis Normalformen Problem Formen (1-4) Weitere Formen Transaktionen Synchronisationsprobleme Überblick Autocommit Locking Savepoints Isolation levels Übungen RDB 4-1 Normalformen Problematik
MehrDie 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
MehrEntwicklungsumgebung 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
MehrSQL 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-
MehrSQL. 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
MehrBibliografische 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
Mehr3.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
MehrSQL. Automatisierung: Trigger
Automatisierung: Trigger Eine besondere Art von Prozeduren sind Trigger, die automatisch ausgeführt werden, wenn unterschiedliche Ereignisse in der Datenbank ausgelöst werden. Die Art der Ereignisse bestimmen
MehrIBM Informix SQL. Seminarunterlage. Version 11.04 vom
Seminarunterlage Version: 11.04 Version 11.04 vom 27. April 2015 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen sind Warenzeichen
MehrBeispiel zur referentiellen Integrität
3. Der SQL-Standard 3.14. Integrität und Trigger Seite 1 Beispiel zur referentiellen Integrität CREATE TABLE T1( k1 NUMERIC NOT NULL PRIMARY KEY); CREATE TABLE T2( k2 NUMERIC NOT NULL PRIMARY KEY, k1 NUMERIC,
MehrVO 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
MehrEinfü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
MehrEinstellungen zur Verwendung von Flashback-Abfragen
Thema Autor REISE IN DIE VERGANGENHEIT Kamel Bouzenad (kamel.bouzenad@trivadis.com) Art der Info Infos für Entwickler und DBAs (April 2002) Quelle Oracle-Dokumentation sowie beratende Aktivitäten Überblick
MehrSQL 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
MehrOracle 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-
MehrPHP und MySQL. Integration von MySQL in PHP. Zellescher Weg 12 Willers-Bau A109 Tel. +49 351-463 - 32424. Michael Kluge (michael.kluge@tu-dresden.
Zentrum für Informationsdienste und Hochleistungsrechnen (ZIH) PHP und MySQL Integration von MySQL in PHP Zellescher Weg 12 Willers-Bau A109 Tel. +49 351-463 - 32424 (michael.kluge@tu-dresden.de) MySQL
MehrFachhochschule Kaiserslautern Labor Datenbanken mit MySQL SS2006 Versuch 1
Fachhochschule Kaiserslautern Fachbereiche Elektrotechnik/Informationstechnik und Maschinenbau Labor Datenbanken Versuch 1 : Die Grundlagen von MySQL ------------------------------------------------------------------------------------------------------------
MehrPowerful 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
MehrEin Ausflug zu ACCESS
Ein Ausflug zu ACCESS Die folgenden Folien zeigen beispielhaft, wie man sein DB- Wissen auf ACCESS übertragen kann betrachtet wird ACCESS 2002, da gerade im Bereich der Nutzung von SQL hier einiges nachgearbeitet
MehrGesicherte Prozeduren
Gesicherte Prozeduren Wenn eine Anwendung auf einer Client-Maschine läuft, wird normalerweise jede SQL-Anweisung einzeln vom Client an den Server gesandt, und jedes Ergebnistupel wird einzeln zurückgeliefert.
MehrOracle: 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
MehrTag 4 Inhaltsverzeichnis
Tag 4 Inhaltsverzeichnis Normalformen Problem Formen (1-4) Weitere Formen Transaktionen Synchronisationsprobleme Überblick Autocommit Locking Savepoints Isolation levels Übungen RDB 4-1 Normalformen Problematik
MehrUniversitä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
MehrO REILLY. Oracle PL/SQL Programmierung. - - - - Paris - - Steven Feuerstein. mit Bill Pribyl. Deutsche Übersetzung von Dorothea Reder 2.
2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. 2. AUFLAGE Oracle PL/SQL Programmierung Steven Feuerstein mit Bill
MehrKurs. Teil 7 UNDO-Management. Universität Hannover. Agenda. Einführung. Nutzung RBS Oracle 9i Einführung Performance Tuning.
Kurs Oracle 9i Performance Tuning Teil 7 UNDO-Management Timo Meyer Wintersemester 2005 / 2006 Seite 1 von 23 Seite 1 von 23 1. 2. Nutzung des Rollback Segments 3. 4. 5. Größe von UNDO- TBS berechnen 6.
Mehrcs241: Datenbanken mit Übungen HS 2011
UNIVERSITÄT BASEL Prof. Dr. Heiko Schuldt MSc. Nenad Stojnić BSc. Ivan Giangreco BSc. Florian Lindörfer cs241: Datenbanken mit Übungen HS 2011 Übung 5 Abgabe bis: 4.11.2011 Hinweise: Modalitäten der Abgabe:
MehrMySQL: 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
Mehrmit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007
6. Übung zur Vorlesung Datenbanken im Sommersemester 2007 mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007 Aufgabe 1: Rekursion Betrachten Sie die folgende Tabelle
MehrFakultät für Informatik & Wirtschaftsinformatik DB & IS II - WS Metadaten. Andreas Schmidt Metadaten 1/17
Metadaten Andreas Schmidt Metadaten 1/17 Metadaten Metadaten sind Daten über Daten Data-Dictionary speichert Informationen über die Struktur der Daten, z.b.: Tabellen, Spalten, Datentypen Primär- und Fremdschlüssel,
MehrMySQL Installation. AnPr
Name Klasse Datum 1 Allgemeiner Aufbau Relationale Datenbank Management Systeme (RDBMS) werden im Regelfall als Service installiert. Der Zugriff kann über mehrere Kanäle durchgeführt werden, wobei im Regelfall
MehrLogging und Debugging. Gerd Volberg OPITZ CONSULTING Deutschland GmbH
Logging und Debugging Gerd Volberg OPITZ CONSULTING Deutschland GmbH Bochum, 20. Februar 2014 OPITZ CONSULTING GmbH Seite 1 Agenda 1. Logging Datenmodell Tabellen Views 2. Debugging Debug-Package Funktionen
MehrÜbersicht über Datenbanken
Übersicht über Datenbanken Vergleich zwischen normaler Datenorganisation und Datenbanken Definition einer Datenbank Beispiel (inkl. Zugriff) Der Datenbankadministrator Relationale Datenbanken Transaktionen
MehrDatenbanksysteme 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
MehrDie 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
MehrTerminierungs-Analyse von SQL-Triggern. Sommersemester 05 T. Jahn Seminar Intelligente Datenbanken SQL-Trigger: Terminierungs-Analyse 1
Terminierungs- von SQL-Triggern T. Jahn Seminar Intelligente Datenbanken SQL-Trigger: Terminierungs- 1 Terminierungs- von SQL-Triggern Seminar Intelligente Datenbanken Prof. Dr. R. Manthey Andreas Behrend
MehrFachhochschule Deggendorf Platzziffer:...
Sommersemester 2008 Zahl der Blätter: 9 Fachbereich: Betriebswirtschaft WI Bachelor Hilfsmittel: alles ohne Computer Zeit: 90 Minuten 1 Betrachten Sie die drei markierten Zeilen. 1. Angenommen Sie hätten
MehrOracle 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
MehrPostgreSQL unter Debian Linux
Einführung für PostgreSQL 7.4 unter Debian Linux (Stand 30.04.2008) von Moczon T. und Schönfeld A. Inhalt 1. Installation... 2 2. Anmelden als Benutzer postgres... 2 2.1 Anlegen eines neuen Benutzers...
MehrThemen 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
MehrDeinstallationsanleitung
Deinstallationsanleitung Einleitung Bei der Deinstallation des Moduls ist es wichtig, dass Sie die Reihenfolge der unten stehenden Schritte exakt einhalten, da es sonst zu Fehlern im Shopsystem kommen
MehrProjektbericht Gruppe 12. Datenbanksysteme WS 05/ 06. Gruppe 12. Martin Tintel Tatjana Triebl. Seite 1 von 11
Datenbanksysteme WS 05/ 06 Gruppe 12 Martin Tintel Tatjana Triebl Seite 1 von 11 Inhaltsverzeichnis Inhaltsverzeichnis... 2 1. Einleitung... 3 2. Datenbanken... 4 2.1. Oracle... 4 2.2. MySQL... 5 2.3 MS
MehrKapitel 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:
MehrNaxtron GmbH Schlosstalstrasse 210 8408 Winterthur. Subject. New Features Oracle 9i Tuning. Edo Bezemer. Author
Naxtron GmbH Schlosstalstrasse 210 8408 Winterthur Subject New Features Oracle 9i Tuning Author Edo Bezemer Oracle Engineering Date August 2002 INHALTSVERZEICHNIS PERFORMANCE UND TUNING...3 TABELLEN ONLINE
Mehr