3.3 Constraints, Views, Triggers. Regelkonzepte in SQL: Übersicht

Größe: px
Ab Seite anzeigen:

Download "3.3 Constraints, Views, Triggers. Regelkonzepte in SQL: Übersicht"

Transkript

1 3.3 Constraints, Views, Triggers Datendefinition und Datenmanipulation in SQL 3.3 Constraints, Views and Triggers in SQL 2002 Prof. Dr. Rainer Manthey Informationssysteme 1 Regelkonzepte in SQL: Übersicht SQL-Schemata enthalten nicht nur reine Strukturdefinitionen, sondern können auch mit semantischem Wissen über den jeweiligen Anwendungsbereich "angereichert" werden, so dass eine "vernünftige" Verwendung der DB erfolgen kann. Drei Repräsentationsformen für logische Zusammenhänge zwischen Tabellen: deklarativ dargestellt: konstruktiv (zur Datenherleitung): Sichten (views) normativ/restriktiv: Integritätsbedingungen (constraints) imperativ dargestellt: Festlegungen automatisch ausgelöster Folgeänderungen "Auslöser" (triggers) Alle drei "Wissensformen" werden aus als Regeln bezeichnet. in diesem Abschnitt: kurze Einführung in die wichtigsten Konzepte zu SQL-Regeln Vertiefung möglich in Spezialvorlesungen zu diesen Konzepten: deduktive Datenbanken (views, constraints) aktive Datenbanken (triggers, constraints) 2002 Prof. Dr. Rainer Manthey Informationssysteme 2

2 Constraints - Integritätsbedingungen Constraints in SQL 2002 Prof. Dr. Rainer Manthey Informationssysteme 3 Constraint-Arten in SQL: Wiederholung Im Zusammenhang mit Schemadefinition wurden bereits verschiedene Formen von Integritätsbedingungen (engl.: [integrity] constraints) eingeführt, die sich direkt auf einzelne Tabellen beziehen: Bei CREATE TABLE-Anweisungen: "column constraints": NOT NULL, UNIQUE, CHECK "row constraints": UNIQUE, PRIMARY KEY, FOREIGN KEY, CHECK Auch bei der Definition von Wertebereichen mittels CREATE DOMAIN können "domain constraints" ähnlich "column constraints" definiert werden. CHECK-Constraint für ganze Tabelle: beliebige Bedingung als Integritätsbedingung für diese Tabelle (Absicht der SQL-Designer) Überprüfung der Bedingung bei jeder die Tabelle betreffenden Änderung. Normalfall : CHECK-Bedingung referenziert nur Spalten der jeweiligen Tabelle. aber auch zulässig: CHECK-Bedingung enthält geschachteltes SELECT Überprüfung wird ausgedehnt auf andere Tabellen sogar denkbar: CHECK-Bedingung referenziert ihre Tabelle gar nicht! 2002 Prof. Dr. Rainer Manthey Informationssysteme 4

3 Nicht-lokale CHECK-Constraints Beispiel für eine CHECK-Constraint, die eine "fremde" Tabelle referenziert: CREATE TABLE prüfer ( Name CHAR NOT NULL, CHECK ( Name IN ( SELECT Name FROM professoren )) ) Nur Professoren dürfen Prüfer sein! Würde die Integritätsbedingung nur bei Änderungen der 'prüfer'-tabelle erfolgen, "für die" diese Constraint (lokal) definiert ist, dann gäbe es leicht inkonsistente Zustände! Grund: Sowie ein Professor aus der 'professoren'-tabelle entfernt wird, wären alle 'prüfer'-zeilen, die diesen Professor referenzieren "inkonsistent" im Sinne der obigen Beschränkung! Die hier diskutierte CHECK-Constraint ist direkt äquivalent zu einer Fremdschlüsselbeschränkung auf der Spalte Name! 2002 Prof. Dr. Rainer Manthey Informationssysteme 5 Globale Integritätsbedingungen in SQL bisher nicht behandelt, aber im Standard definiert: assertions (dt.: Zusicherungen) Assertions dienen zur Formulierung globaler Integritätsbedingungen, die semantisch nicht an einzelne Tabellen gebunden sind. Syntaxformat: CREATE ASSERTION <constraint-name> CHECK ( <conditional-expression> ) Assertions sind im Prinzip ausreichend um alle denkbaren Integritätsbedingungen auszudrücken, d.h. alle "lokalen" Formen von Constraints sind redundant Constraint zur 'prüfer'-tabelle als Assertion (offensichtlich aufwändiger): CREATE ASSERTION ausreichend_qualifiziert CHECK NOT EXISTS ( SELECT * FROM prüfer P WHERE P.Name NOT IN ( SELECT Name FROM professoren ) ; 2002 Prof. Dr. Rainer Manthey Informationssysteme 6

4 CHECK-Constraints als Assertions Generelles Prinzip der Umformung (lokaler) CHECK-Constraints in (globale) Assertions: CREATE TABLE t (..... CONSTRAINT icname CHECK ( c )... ) Optional für jede CHECK-Constraint möglich! CREATE ASSERTION icname CHECK NOT EXISTS ( SELECT * FROM t WHERE NOT (c ) ) entspricht einem ansonsten impliziten Allquantor: "Für alle Zeilen von t gilt c!" 2002 Prof. Dr. Rainer Manthey Informationssysteme 7 Assertions als CHECK-Constraints? Ist es umgekehrt möglich, jede Assertion durch (ggf. mehrere) CHECK-Constraints auszudrücken, die auf alle beteiligten Tabellen verteilt sind? im Beispiel: Die Assertion ist direkt äquivalent zu der lokalen Version, die wir bereits auf der 'prüfer'-tabelle kennengelernt haben. Aber könnte man sie ebensogut auch auf der 'professoren'-tabelle lokal vereinbaren, die ja genauso betroffen ist wie 'prüfer'? CREATE ASSERTION ausreichend_qualifiziert CHECK NOT EXISTS ( SELECT * FROM prüfer P WHERE P.Name NOT IN ( SELECT Name FROM professoren )) CREATE TABLE prüfer (......, CHECK ( Name IN ( SELECT Name FROM professoren ) ) ) CREATE TABLE professoren (..., CHECK? ) 2002 Prof. Dr. Rainer Manthey Informationssysteme 8

5 Assertions repräsentiert durch CHECK-Constraints CREATE ASSERTION ausreichend_qualifiziert CHECK NOT EXISTS ( SELECT * FROM prüfer P WHERE P.Name NOT IN ( SELECT Name FROM professoren )) einzige "Lösung" hier: CHECK-Bedingung der Assertion unverändert als CHECK-Constraint auf der Tabelle 'professoren' übernehmen CREATE TABLE professoren (...., CHECK NOT EXISTS ( SELECT * FROM prüfer P WHERE P.Name NOT IN ( SELECT Name FROM professoren )) Unterschiedliche Bedeutung, wenn Professoren- Tabelle leer ist!! 2002 Prof. Dr. Rainer Manthey Informationssysteme 9 CHECK-Constraints mit Referenzen und Assertions: Resümee Die Verwendung der beiden "anspruchsvollen" Formen von SQL-Integritätsbedingungen - CHECK-Constraints mit eingebetteten Anfragen und Assertions - erfordert ein sehr gutes Verständnis der Möglichkeiten zur Formulierung von Bedingungsausdrücken in SQL ganz generell! Insbesondere die Wahl zwischen dem "Lokalisieren" tabellenübergreifender Constraints als Tabellenbeschränkungen oder dem Gebrauch globaler Assertions ist diffizil und sehr fehlerträchtig! im Zweifelsfall: Assertions verwenden! Leider werden beide Konzepte bisher von kommerziellen Produkten nicht zugelassen, obwohl sie seit langem zum SQL-Standard gehören! In der Forschung sind seit langem Methoden zur effizienten Überprüfung solcher "Mehrtabellenbeschränkungen" bekannt. Wer also komplexere Integritätsanforderungen formulieren will, muss auf "Notlösungen" mittels imperativem Code in Anwendungsprogrammen zurückgreifen Prof. Dr. Rainer Manthey Informationssysteme 10

6 Integritätsprüfung in SQL wichtiges Thema im Zusammenhang mit SQL-Constraints: Modalitäten der Überprüfung von Integritätsbedingungen Änderungen werden in SQL i.a. im Rahmen von Transaktionen abgesetzt: Transaktion: Folge von DML-Anweisungen, die als "unteilbare Einheit" angesehen wird Ausführung einer Transaktion erfolgt entweder ganz oder gar nicht! Transaktionen müssen immer zu konsistenten DB-Zuständen führen (alle Integritätsbedingungen erfüllt) genauere Diskussion des Konzepts "Transaktion": später separat! wichtiges Motiv zur Einführung von Transaktionen: Manche Übergänge von konsistentem Zustand in konsistenten Folgezustand sind nur durch inkonsistente Zwischenschritte möglich! Konsequenz für Integritätsprüfung bei Transaktionsverarbeitung: Prüfung sollte (eigentlich immer) am Transaktionsende erfolgen! 2002 Prof. Dr. Rainer Manthey Informationssysteme 11 Integritätsprüfung in SQL (2) in SQL dagegen: Wenn nichts Gegenteiliges definiert, erfolgt Integritätsprüfung immer sofort (d.h., direkt nach Bearbeiten der Änderung). Motivation: Viele einfache Tabellen-Constraints können und sollten sofort geprüft werden, da sie unabhängig von allen anderen Änderungen sind. aber insbesondere für referentielle Zyklen : Prüfung am Transaktionsende ist unerlässlich! z.b.: C 1 : "Jede Vorlesung wird von einem Professor gehalten!" C 2 : "Jeder Professor muss mindestens eine Vorlesung halten!" Vorlesung Professor Bei Einstellung eines neuen Professors wird ein konsistenter Zustand nur durch eine Transaktion aus zwei Einzeleinfügungen erreicht: INSERT INTO professoren INSERT INTO vorlesungen Jeder Zwischenzustand wäre inkonsistent: Keine Reihung möglich! 2002 Prof. Dr. Rainer Manthey Informationssysteme 12

7 Integritätsprüfung in SQL (3) daher: zwei Formen der Integritätsprüfung in SQL vorgesehen IMMEDIATE und DEFERRED Bedeutung: IMMEDIATE-Constraints werden sofort überprüft, DEFERRED-Constraints erst am Transaktionsende: leider: ohne explizite Angabe wird IMMEDIATE als Default-Modus angenommen: Ändern dieser Default-Einstellung: zusätzliche Klausel bei Constraint-Vereinbarung INITIALLY DEFERRED INITIALLY (dt.: anfangs)? Während einer Transaktion kann Default dynamisch geändert werden: SET CONSTRAINTS { < list-of-constraints > ALL } { DEFERRED IMMEDIATE } zusätzlich: Manche Constraints können als NOT DEFERRABLE deklariert werden. Fazit: Integritätsprüfung in "vollem" SQL ist eine diffizile Angelegenheit! 2002 Prof. Dr. Rainer Manthey Informationssysteme 13 Triggers - Reaktionsauslöser Triggers in SQL 2002 Prof. Dr. Rainer Manthey Informationssysteme 14

8 Trigger und aktive Datenbanken bereits in frühen SQL-Entwürfen und in ersten relationalen Systemen: Automatische Auslösung von Änderungen durch das DBMS als Reaktion auf explizite Änderungen durch Benutzer oder Anwendungsprogramme vorgesehen Vereinbarungen solcher automatischen Folgeänderungen in Regelform: Trigger andere Bezeichnung für Trigger: aktive Regel Bezeichnung für DBMS, das Trigger unterstützt: aktives DBMS Name des zugehörigen Forschungsgebiets: aktive Datenbanken im SQL92-Standard: noch kein Triggerkonzept vorgesehen aber: Trigger wurden bereits in fast allen kommerziellen DB-Produkten in ähnlicher Form seit längerem angeboten (ORACLE, DB/2, Sybase, Informix u.a.) im neuen SQL3-Standard (1999): umfangreiches Triggerkonzept erstmals standardisiert 2002 Prof. Dr. Rainer Manthey Informationssysteme 15 Aktive Regeln Aktive Regeln werden auch ECA-Regeln genannt, womit die drei Bestandteile dieser Regeln hervorgehoben werden: E C A "event" Ereignisspezifikation "condition" Auslösebedingung "action" Aktionsspezifikation Beispiel einer ECA-Regel (in Pseudo-Code): E C A ON IF DO modify(kontostand(k), V_neu) V_neu < dispositionskredit(k) sperre_konto(k) 2002 Prof. Dr. Rainer Manthey Informationssysteme 16

9 Aktive Regeln (2) prinzipielle Bedeutung einer aktiven Regel: zusätzliche, automatisch ausgelöste "Hintergrundaktivität" "Oberflächenprozeß" (z.b. Transaktion)... (suspendiert)... beobachten E C A? reagieren "Hintergrundaktivität" prüfen Kann rekursiv weitere aktive Regeln auslösen! 2002 Prof. Dr. Rainer Manthey Informationssysteme 17 SQL-Trigger: erstes Beispiel Beispiel eines SQL-Triggers: Auslösezeitpunkt Triggername CREATE TRIGGER erstevorlesung AFTER INSERT ON professoren REFERENCING NEW ROW AS Newcomer FOR EACH ROW WHEN (NOT EXISTS ( SELECT * Bedingung Aktion auslösende Änderung FROM vorlesungen WHERE Name = Newcomer.Name ) BEGIN ATOMIC INSERT INTO vorlesungen VALUES (Newcomer.Name, NULL, 4-std.); INSERT INTO übungen VALUES (Newcomer.Name, NULL, 2-std.) END "Transitionsvariable" 2002 Prof. Dr. Rainer Manthey Informationssysteme 18

10 SQL-Trigger: Zwischenbilanz Triggerkonzept von SQL: offenbar syntaktisch und semantisch ziemlich anspruchsvoll! im Gegensatz zu Views und Constraints: Trigger werden von Access bisher nicht direkt unterstützt! (nur indirekt über Formulare und Makros z.t. in Visual Basic) daher: detailliertere Einführung in SQL-Trigger erst später in dieser Vorlesung Auch das Zusammenwirken von Triggern und den (konzeptuell sehr ähnlichen) "referential actions" bei Fremdschlüsselbedingungen erfolgt später zusammen mit der Triggerdiskussion. wegen semantischer Probleme (komplexes Ausführungsmodell, komplexes Zusammenspiel mit Integritätsprüfung): SQL-Trigger werden bisher in der Praxis nur selten und mit grosser Vorsicht verwendet! aber: Anwendungsmöglichkeiten für aktive DB-Technologie sind sehr groß und gehen weit über die ursprüngliche Motivation durch "Reparatur" von Integritätsverletzungen hinaus! 2002 Prof. Dr. Rainer Manthey Informationssysteme 19 Views - Sichten Views in SQL 2002 Prof. Dr. Rainer Manthey Informationssysteme 20

11 Anfragen an Sichten: Expandierung zur Erinnerung: Sichtendefinition durch Kopplung eines Tabellennamens mit einer Anfrage (Tabellenausdruck) z.b.: CREATE VIEW C4-profs AS ( SELECT Name, Abteilung FROM professoren WHERE Grad = C4 ) Beantwortung von Anfragen, die sich auf Sichten beziehen, durch vorherige Expandierung der Sichtdefinition: statisches Einsetzen des AS-Ausdrucks SELECT Name FROM C4-profs WHERE Abteilung = III SELECT X.Name FROM ( SELECT Name, Abteilung FROM professoren WHERE Grad = C4 ) WHERE X.Abteilung = III AS X 2002 Prof. Dr. Rainer Manthey Informationssysteme 21 Rekursive Sichten Die Behandlung von Sichten in Anfragen durch Expandierung hat natürlich ihre Grenzen, wenn Sichtdefinitionen rekursiv werden, d.h., wenn eine Sicht sich in ihrem eigenen definierenden Ausdruck selbst referenziert. Beispiel: Gegeben eine Basistabelle 'direkt_benachbart' - definiere eine Sicht 'erreichbar', die Erreichbarkeit über Pfade von direkten benachbarten Knoten beliebiger Länge ausdrückt. In SQL könnte dies im Prinzip so aussehen: CREATE VIEW erreichbar AS ( (SELECT * FROM direkt_benachbart) UNION (SELECT X.von, Y.nach FROM direkt_benachbart AS X, erreichbar AS Y WHERE X.nach = Y.von) ) Diese Definition ist in SQL so nicht direkt erlaubt, aber seit SQL:1999 relativ ähnlich möglich (WITH RECURSIVE...). Um Anfragen über rekursiven Sichten beantworten zu können, muss das DBMS schrittweise während der Auswertung expandieren und stets auf Abbruch testen Prof. Dr. Rainer Manthey Informationssysteme 22

12 Änderungen von Sichten Sichten lassen sich auf zweierlei Weise ändern: Änderungen der zugrundeliegenden Basistabellen sind indirekt die Ursache für zusätzliche oder wegfallende Ableitungsmöglichkeiten: induzierte Änderungen der Sicht Änderungsbefehle werden direkt für die Sicht formuliert und müssen durch systematische Zurückführung auf die zugrundeliegenden Basistabellen realisiert werden: Sichtenänderungen (engl.: "view updates") in SQL: Induzierte Änderungen zeigen sich implizit bei der nächsten, auf die Basisdatenänderung folgenden Anfrage an die Sicht. Sichtenänderungen sind unter "strengen Auflagen" zugelassen, wenn eine eindeutige und sinnvolle automatische Realisierung möglich ist. Forschungsprobleme: nähere Diskussion in der Vorlesung "Deduktive DB" Wie bestimmt man effizient alle induzierten Änderungen? Welche Alternativen gäbe es für die Realisierung (da wo SQL "aufgibt")? 2002 Prof. Dr. Rainer Manthey Informationssysteme 23 Änderungen von Sichten: Beispiel induzierte Änderung auf einer Sicht: CREATE VIEW C4-profs AS ( SELECT Name, Abteilung FROM professoren WHERE Grad = C4 ) C4-profs professoren Name Abteilung Name Abteilung Grad induziert: Martini IV Martini IV C4 INSERT INTO professoren VALUES (,Martini',,IV',,C4') 2002 Prof. Dr. Rainer Manthey Informationssysteme 24

13 Änderungen von Sichten: Beispiel (2) INSERT INTO C4-profs VALUES (,Klein',,I') Sichtenänderung CREATE VIEW C4-profs AS ( SELECT Name, Abteilung FROM professoren WHERE Grad = C4 ) realisiert durch C4-profs professoren Name Abteilung Name Abteilung Grad induziert: Klein I Klein I C4 Sichtenänderungen werden immer nur indirekt durch eine induzierte Änderung wirksam! 2002 Prof. Dr. Rainer Manthey Informationssysteme 25 Sichtenänderungen in SQL: einfaches Grundprinzip häufig: Prinzipiell analoge Behandlung von Sichtenänderungen ("view updates") durch Expandierung ist möglich. Bei Modifikationen ist die Umsetzung meist offensichtlich, z.b.: CREATE VIEW C4-profs AS ( SELECT Name, Abteilung FROM professoren WHERE Grad = C4 ) UPDATE C4-profs SET Name = N.N. WHERE Abteilung = II UPDATE professoren SET Name = N.N. WHERE Abteilung = II AND Grad = C4 analog: Löschen von Zeilen in einer Sicht ist übersetzbar durch Löschen von Zeilen der zugrundeliegenden Basistabellen. bei Einfügungen: In der Sicht fehlende Spalten der Basistabellen sind "auffüllbar" durch Default-Werte (sofern deklariert) oder NULL Prof. Dr. Rainer Manthey Informationssysteme 26

14 Sichtenänderungen: problematische Fälle Problem: Es gibt Sichten, bei denen Änderungen gar nicht oder nicht eindeutig durch Expandierung auf Basistabellen rückführbar sind. charakteristisches Beispiel: JOIN-Sicht professoren Anlauf C3 II Baier C3 I Buhmann C3 III Cremers C4 III?? CREATE VIEW verantwortliche_abt AS ( SELECT P.Abteilung, V.Semester, V.Titel FROM professoren P, vorlesungen V WHERE P.Name = V.name ) vorlesungen Anlauf Inf I WS 00/01 Baier Inf III WS 00/01 Cremers Inf III WS 02/03 INSERT INTO verantwortliche_abt VALUES ( III, WS 01/02, Inf I ) 2002 Prof. Dr. Rainer Manthey Informationssysteme 27 Sichtenänderungen: problematische Fälle Analoge Anwendung des Prinzips "Verwende Defaults für fehlende Werte!" würde zu folgenden Einfügungen führen (mit N.N. als generellem Namensdefault): professoren Anlauf C3 II Baier C3 I Buhmann C3 III Cremers C4 III N.N. C4 III CREATE VIEW verantwortliche_abt AS ( SELECT P.Abteilung, V.Semester, V.Titel FROM professoren P, vorlesungen V WHERE P.Name = V.name ) vorlesungen Anlauf Inf I WS 00/01 Baier Inf III WS 00/01 Cremers Inf III WS 02/03 INSERT INTO verantwortliche_abt VALUES ( III, WS 01/02, Inf I ) N.N. Inf I WS 01/02 Aber ist diese Lösung wirklich gemeint? Warum soll nicht einer der aufgeführten Professoren der Abt. III die Vorlesung halten? Aber welcher? Und wieso gerade ein C4rer? 2002 Prof. Dr. Rainer Manthey Informationssysteme 28

15 Sichtenänderungen: problematische Fälle (3) professoren Anlauf C3 II Baier C3 I Buhmann C3 III Cremers C4 III vorlesungen Anlauf Inf I WS 00/01 Baier Inf III WS 00/01 Cremers Inf III WS 02/03 Noch offensichtlicheres Problem bei Löschungen aus Join-Sichten, z.b.: DELETE FROM verantwortliche_abt WHERE Semester = WS 00/01 AND Titel = Inf III AND Abteilung =,I' zu löschende Sichtzeile: ( I, WS 00/01, Inf III ) Zeile entsteht durch Join folgender Basistabellen-Zeilen: a) in professoren: ( Baier, C3,,I' ) b) in vorlesungen: ( Baier, Inf III, WS 00/01 ) Welche dieser beiden Zeilen soll gelöscht werden? a) oder b) oder beide?? 2002 Prof. Dr. Rainer Manthey Informationssysteme 29 Sichtenänderungen: problematische Fälle (4) DELETE FROM verantwortliche_abt WHERE Semester = WS 00/01 AND Titel = Inf III AND Abteilung = I professoren Anlauf C3 II Baier C3 I Buhmann C3 III Cremers C4 III? vorlesungen Anlauf Inf I WS 00/01 Baier Inf III WS 00/01 Cremers Inf III WS 02/03 Pragmatisch "vernünftige" Lösung: DBMS analysiert Sichtenänderung und bestimmt alle sinnvollen Alternativen der Realisierung Benutzer, der die Änderung wünscht, entscheidet darüber, welche Variante "gemeint" ist (in interaktivem Dialog) im Beispiel: Offensichtlich ist nur die Löschung aus 'vorlesungen' gemeint! 2002 Prof. Dr. Rainer Manthey Informationssysteme 30

16 Änderbare Sichten in SQL in Standard-SQL: Stattdessen drastische Beschränkung der Zulässigkeit von Änderungsoperationen auf Sichten Konzept der änderbaren Sicht (engl.: updatable view ) Ist eine Sicht änderbar, dann sind alle Änderungsoperationen auf dieser Sicht zulässig. Ist eine Sicht dagegen nicht änderbar, dann ist keine solche Operation zulässig. (Differenzierung nach Änderungsart erfolgt nicht, obwohl oft sinnvoll!) Diese Beschränkung ist drastisch, da auch Fälle verhindert werden, in denen eine sinnvolle Rückführung auf Basistabellen denkbar wäre. auch bei änderbaren Sichten: Fehlschlag einer Sichtenänderung ist möglich, wenn Integritätsbedingungen auf zugrundeliegenden Basistabellen durch automatische Rückführung verletzt würden... Defaultvereinbarungen für benötigte Spalten fehlen (bei INSERT) 2002 Prof. Dr. Rainer Manthey Informationssysteme 31 Änderbare Sichten (2) Bedingungen für Änderbarkeit von Sichten in SQL (u.a.): AS-Teil der Sichtdefinition muss ein SELECT-Block sein! ( keine relationenalgebraische Verknüpfung) Kein SELECT DISTINCT zulässig! In der SELECT-Liste: nur direkte, einfache Spaltenreferenzen möglich! (d.h. keine Aggregierung zulässig) FROM-Teil darf nur genau eine Tabelle referenzieren (Basistabelle oder weitere Sicht) Wenn der FROM-Teil eine weitere Sicht referenziert, muss diese Sicht ebenfalls änderbar sein! Der WHERE-Teil darf keine geschachtelte Referenz auf dieselbe Tabelle enthalten, die im FROM-Teil referenziert wird! Keine GROUP BY- oder HAVING-Klausel erlaubt! 2002 Prof. Dr. Rainer Manthey Informationssysteme 32

17 Integritätsbedingungen für Sichten Obwohl Sichten vom SQL-Standard ebenfalls als Tabellen angesehen werden (abgeleitete Tabellen statt Basistabellen), sind sie in SQL (bisher) nur "Bürger zweiter Klasse", denn man kann ihnen keine Integritätsbedingungen zuordnen, auch wenn dies eigentlich sinnvoll wäre. Folgende Definition wäre z.b. sinnvoll, ist aber nicht zulässig: CREATE VIEW C4-profs AS ( ( SELECT Name, Abteilung FROM professoren WHERE Grad = C4 ), PRIMARY KEY Name, CHECK Abteilung IN ('I'; 'II'; 'III'; 'IV'; 'V'; 'VI') ); Wahrscheinlich wäre die CHECK-Constraint für die Abteilungsnummern bereits auf der Basistabelle 'professoren' vereinbart und würde dadurch auch bei Sichtenänderungen indirekt mit überprüft. Aber die Primärschlüsselbedingung könnte man u.u. nicht herleiten Prof. Dr. Rainer Manthey Informationssysteme 33 Integritätsbedingungen für Sichten (2) Sichten dürfen auch nicht in FOREIGN KEY-Constraints von Tabellen referenziert werden (weil Sichten keine Schlüssel haben dürfen)! aber: Sichten dürfen sowohl in Assertions als auch in CHECK-Constraints innerhalb einer CREATE TABLE-Anweisung referenziert werden! Die meisten SQL-Bücher schweigen sich über diese Möglichkeit aus oder "kennen" sie gar nicht - in den kommerziellen Systemen ist sie sowieso gar nicht erst implementiert worden, da Assertions und Referenzen in CHECK- Constraints generell fehlen. Damit ergibt sich die "seltsame" Situation, dass eine Fremdschlüsselbeziehung zu einer Sicht zwar nicht "direkt" über FOREIGN KEY, aber "indirekt" über eine an sich bedeutungsäquivalente CHECK-Constraint ausdrückbar ist: nicht zulässig: zulässig: REFERENCES C4-profs (Name) CHECK IN (SELECT Name FROM C4-profs) 2002 Prof. Dr. Rainer Manthey Informationssysteme 34

18 Sichtdefinitionen als Integritätsbedingungen? bei genauerer Betrachtung: Eine Sichtdefinition sollte eigentlich selbst wie eine Integritätsbedingung wirken! CREATE VIEW ordinarien AS ( SELECT Name, Grad FROM professoren WHERE Grad > C3 ) kritisch INSERT INTO ordinarien VALUES ( Manthey, C3 ) Beispielzustand von professoren : ordinarien Karpinski C4 V Martini C4 IV Cremers C4 III Blum C3 V Buhmann C3 III Manthey C3 NULL INSERT INTO professoren VALUES ( Manthey, C3, NULL) vernünftig (aber trotzdem problematisch): Gewünschte Zeile sollte eigentlich nicht in neuen Zustand der Sicht erscheinen! 2002 Prof. Dr. Rainer Manthey Informationssysteme 35 CHECK-Option für Sichten für solche Fälle: Möglichkeit, Sichtdefinition quasi als Integritätsbedingung zu vereinbaren CHECK OPTION Wird CHECK OPTION bei einer Sichtdefinition mit vereinbart, dann werden alle Sichtenänderungen zurückgewiesen, die die Sichtdefinition verletzen : CREATE VIEW ordinarien AS ( SELECT Name, Grad FROM professoren WHERE Grad > C3 ) WITH CHECK OPTION bei Sichten, die auf anderen Sichten aufbauen: Wahl zwischen LOCAL und CASCADED als Variante der CHECK OPTION (Default: CASCADED) LOCAL: Überprüfung nur auf der nächsten Ebene CASCADED: Überprüfungen bei allen zugrundeliegenden Sichten Folge: sehr komplexe, oft nicht intuitiv nachvollziehbare Automatismen (Empfehlung von Date: immer CHECK OPTION mit CASCADED ) 2002 Prof. Dr. Rainer Manthey Informationssysteme 36

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

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

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

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

Universität Duisburg-Essen Informationssysteme Prof. Dr.-Ing. N. Fuhr. Praktikum Datenbanken / DB2 Woche 8: Trigger, SQL-PL

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

Mehr

mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007

mit 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

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

Datenintegrität. Arten von Integritätsbedingungen. Statische Integritätsbedingungen. Referentielle Integrität. Integritätsbedingungen in SQL.

Datenintegrität. Arten von Integritätsbedingungen. Statische Integritätsbedingungen. Referentielle Integrität. Integritätsbedingungen in SQL. Datenintegrität Arten von Integritätsbedingungen Statische Integritätsbedingungen Referentielle Integrität Integritätsbedingungen in SQL Trigger 1 Datenintegrität Einschränkung der möglichen Datenbankzustände

Mehr

Ein Ausflug zu ACCESS

Ein 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

Mehr

Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung

Semantische 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

Mehr

Vorlesung Dokumentation und Datenbanken Klausur

Vorlesung Dokumentation und Datenbanken Klausur Dr. Stefan Brass 5. Februar 2002 Institut für Informatik Universität Giessen Vorlesung Dokumentation und Datenbanken Klausur Name: Geburtsdatum: Geburtsort: (Diese Daten werden zur Ausstellung des Leistungsnachweises

Mehr

Datenintegritä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 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!

Mehr

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:

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

Datenintegritä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 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!

Mehr

6. Datenintegrität. Integritätsbedingungen

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

Mehr

Terminierungs-Analyse von SQL-Triggern. Sommersemester 05 T. Jahn Seminar Intelligente Datenbanken SQL-Trigger: Terminierungs-Analyse 1

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

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

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Dateiname: ecdl5_01_00_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Grundlagen

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

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank

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

Sichten II. Definition einer Sicht. Sichten. Drei-Ebenen-Schema-Architektur. Vorteile Vereinfachung von Anfragen Strukturierung der Datenbank

Sichten II. Definition einer Sicht. Sichten. Drei-Ebenen-Schema-Architektur. Vorteile Vereinfachung von Anfragen Strukturierung der Datenbank Vorteile Vereinfachung von Anfragen Strukturierung der Datenbank Sichten II logische Datenunabhängigkeit (Sichten stabil bei Änderungen der Datenbankstruktur) Beschränkung von Zugriffen (Datenschutz) Definition

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

Datenbankentwurf. 4.2 Logischer Entwurf. Kapitel 4. ER-Modell. Umsetzung. Entwurfsdokumentation. relationales Modell. Verbesserung

Datenbankentwurf. 4.2 Logischer Entwurf. Kapitel 4. ER-Modell. Umsetzung. Entwurfsdokumentation. relationales Modell. Verbesserung 4.2 Logischer Entwurf Datenbankentwurf 4.2 Logischer Entwurf 2002 Prof. Dr. Rainer Manthey Informationssysteme Logischer Entwurf: Einordnung Entwurfsdokumentation logische Strukturen "auf dem Papier" konzeptueller

Mehr

Urlaubsregel in David

Urlaubsregel in David Urlaubsregel in David Inhaltsverzeichnis KlickDown Beitrag von Tobit...3 Präambel...3 Benachrichtigung externer Absender...3 Erstellen oder Anpassen des Anworttextes...3 Erstellen oder Anpassen der Auto-Reply-Regel...5

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

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. 7 Übung zur Vorlesung Grundlagen: Datenbanken im WS13/14 Henrik Mühe (muehe@in.tum.de) http://www-db.in.tum.de/teaching/ws1314/dbsys/exercises/

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

Datenbanken: Datenintegrität. www.informatikzentrale.de

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

PowerPoint 2010 Mit Folienmastern arbeiten

PowerPoint 2010 Mit Folienmastern arbeiten PP.002, Version 1.1 07.04.2015 Kurzanleitung PowerPoint 2010 Mit Folienmastern arbeiten Der Folienmaster ist die Vorlage für sämtliche Folien einer Präsentation. Er bestimmt das Design, die Farben, die

Mehr

5.3 Datenänderung/-zugriff mit SQL (DML)

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

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

Informatik 12 Datenbanken SQL-Einführung

Informatik 12 Datenbanken SQL-Einführung Informatik 12 Datenbanken SQL-Einführung Gierhardt Vorbemerkungen Bisher haben wir Datenbanken nur über einzelne Tabellen kennen gelernt. Stehen mehrere Tabellen in gewissen Beziehungen zur Beschreibung

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

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

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

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

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

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken. In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access Die Grundlagen der Datenbanken kurspc15 Inhaltsverzeichnis Access... Fehler! Textmarke nicht

Mehr

2. Einrichtung der ODBC-Schnittstelle aus orgamax (für 32-bit-Anwendungen)

2. Einrichtung der ODBC-Schnittstelle aus orgamax (für 32-bit-Anwendungen) 1. Einführung: Über den ODBC-Zugriff können Sie bestimmte Daten aus Ihren orgamax-mandanten in anderen Anwendungen (beispielsweise Microsoft Excel oder Microsoft Access) einlesen. Dies bietet sich beispielsweise

Mehr

Das SQL-Schlüsselwort ALL entspricht dem Allquantor der Prädikatenlogik

Das SQL-Schlüsselwort ALL entspricht dem Allquantor der Prädikatenlogik Beispielaufgaben Informationssysteme erstellt von Fabian Rump zur IS Vorlesung 2009/10 1 Multiple Choice Aussage richtig falsch Eine SQL-Abfrage beginnt immer mit dem Schlüsselwort SELECT Eine Datenbank

Mehr

Benutzerverwaltung Business- & Company-Paket

Benutzerverwaltung Business- & Company-Paket Benutzerverwaltung Business- & Company-Paket Gemeinsames Arbeiten mit der easyfeedback Umfragesoftware. Inhaltsübersicht Freischaltung des Business- oder Company-Paketes... 3 Benutzerverwaltung Business-Paket...

Mehr

WS 2002/03. Prof. Dr. Rainer Manthey. Institut für Informatik III Universität Bonn. Informationssysteme. Kapitel 1. Informationssysteme

WS 2002/03. Prof. Dr. Rainer Manthey. Institut für Informatik III Universität Bonn. Informationssysteme. Kapitel 1. Informationssysteme Informationssysteme Informationssysteme WS 2002/03 Prof. Dr. Rainer Manthey Institut für Informatik III Universität Bonn 2002 Prof. Dr. Rainer Manthey Informationssysteme 1 DB und/oder IS: terminologischer

Mehr

ONLINE-AKADEMIE. "Diplomierter NLP Anwender für Schule und Unterricht" Ziele

ONLINE-AKADEMIE. Diplomierter NLP Anwender für Schule und Unterricht Ziele ONLINE-AKADEMIE Ziele Wenn man von Menschen hört, die etwas Großartiges in ihrem Leben geleistet haben, erfahren wir oft, dass diese ihr Ziel über Jahre verfolgt haben oder diesen Wunsch schon bereits

Mehr

Ist Fernsehen schädlich für die eigene Meinung oder fördert es unabhängig zu denken?

Ist Fernsehen schädlich für die eigene Meinung oder fördert es unabhängig zu denken? UErörterung zu dem Thema Ist Fernsehen schädlich für die eigene Meinung oder fördert es unabhängig zu denken? 2000 by christoph hoffmann Seite I Gliederung 1. In zu großen Mengen ist alles schädlich. 2.

Mehr

OP-LOG www.op-log.de

OP-LOG www.op-log.de Verwendung von Microsoft SQL Server, Seite 1/18 OP-LOG www.op-log.de Anleitung: Verwendung von Microsoft SQL Server 2005 Stand Mai 2010 1 Ich-lese-keine-Anleitungen 'Verwendung von Microsoft SQL Server

Mehr

Also kann nur A ist roter Südler und B ist grüner Nordler gelten.

Also kann nur A ist roter Südler und B ist grüner Nordler gelten. Aufgabe 1.1: (4 Punkte) Der Planet Og wird von zwei verschiedenen Rassen bewohnt - dem grünen und dem roten Volk. Desweiteren sind die Leute, die auf der nördlichen Halbkugel geboren wurden von denen auf

Mehr

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.

Mehr

Schlüssel bei temporalen Daten im relationalen Modell

Schlüssel bei temporalen Daten im relationalen Modell Schlüssel bei temporalen Daten im relationalen Modell Gesine Mühle > Präsentation > Bilder zum Inhalt zurück weiter 322 Schlüssel im relationalen Modell Schlüssel bei temporalen Daten im relationalen Modell

Mehr

SEMINAR Modifikation für die Nutzung des Community Builders

SEMINAR Modifikation für die Nutzung des Community Builders 20.04.2010 SEMINAR Modifikation für die Nutzung des Community Builders Step by Step Anleitung ecktion SEMINAR Modifikation für die Nutzung des Community Builders Step by Step Anleitung Bevor Sie loslegen

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen

Mehr

7. Übung - Datenbanken

7. Übung - Datenbanken 7. Übung - Datenbanken Informatik I für Verkehrsingenieure Aufgaben inkl. Beispiellösungen 1. Aufgabe: DBS a Was ist die Kernaufgabe von Datenbanksystemen? b Beschreiben Sie kurz die Abstraktionsebenen

Mehr

Bauteilattribute als Sachdaten anzeigen

Bauteilattribute als Sachdaten anzeigen Mit den speedikon Attributfiltern können Sie die speedikon Attribute eines Bauteils als MicroStation Sachdaten an die Elemente anhängen Inhalte Was ist ein speedikon Attribut?... 3 Eigene Attribute vergeben...

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

Kostenstellen verwalten. Tipps & Tricks

Kostenstellen verwalten. Tipps & Tricks Tipps & Tricks INHALT SEITE 1.1 Kostenstellen erstellen 3 13 1.3 Zugriffsberechtigungen überprüfen 30 2 1.1 Kostenstellen erstellen Mein Profil 3 1.1 Kostenstellen erstellen Kostenstelle(n) verwalten 4

Mehr

FORUM HANDREICHUNG (STAND: AUGUST 2013)

FORUM HANDREICHUNG (STAND: AUGUST 2013) FORUM HANDREICHUNG (STAND: AUGUST 2013) Seite 2, Forum Inhalt Ein Forum anlegen... 3 Forumstypen... 4 Beiträge im Forum schreiben... 5 Beiträge im Forum beantworten... 6 Besondere Rechte der Leitung...

Mehr

Whitepaper. Produkt: combit Relationship Manager / address manager. Integration der Ansicht "Adressen" in eigene Solution

Whitepaper. Produkt: combit Relationship Manager / address manager. Integration der Ansicht Adressen in eigene Solution combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager / address manager Integration der Ansicht "Adressen" in eigene Solution Integration der Ansicht "Adressen" in

Mehr

SQL SQL. SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R. Grundlagen der Datenbanksysteme I

SQL SQL. SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R. Grundlagen der Datenbanksysteme I SQL SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R VII-1 Beispielrelationen Filiale ( Name Leiter Stadt Einlagen ) Konto ( KontoNr KundenNr FilialName Saldo ) Kredit

Mehr

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus:

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Unterrichtsmaterialien in digitaler und in gedruckter Form Auszug aus: If-clauses - conditional sentences - Nie mehr Probleme mit Satzbau im Englischen! Das komplette Material finden Sie hier: School-Scout.de

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion

Mehr

Whitepaper. Produkt: combit Relationship Manager. Einbindung externer FiBu-/Warenwirtschaftsdaten. combit GmbH Untere Laube 30 78462 Konstanz

Whitepaper. Produkt: combit Relationship Manager. Einbindung externer FiBu-/Warenwirtschaftsdaten. combit GmbH Untere Laube 30 78462 Konstanz combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager Einbindung externer FiBu-/Warenwirtschaftsdaten Einbindung externer FiBu-/Warenwirtschaftsdaten - 2 - Inhalt Ausgangssituation

Mehr

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können. Tutorial: Wie erfasse ich einen Termin? In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können. Neben den allgemeinen Angaben zu einem

Mehr

Folgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert:

Folgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert: Firewall für Lexware professional konfigurieren Inhaltsverzeichnis: 1. Allgemein... 1 2. Einstellungen... 1 3. Windows XP SP2 und Windows 2003 Server SP1 Firewall...1 4. Bitdefender 9... 5 5. Norton Personal

Mehr

Mai 2006. Hauptseminar: Nichtrelationale Datenbanken Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln

Mai 2006. Hauptseminar: Nichtrelationale Datenbanken Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln Hauptseminar: Nichtrelationale Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln Mai 2006 Was ist eine Datenbank? Erweiterung relationaler um eine Deduktionskomponente Diese

Mehr

Integritätsbedingungen / Normalformen- Beispiel: Kontoführung

Integritätsbedingungen / Normalformen- Beispiel: Kontoführung Technische Universität München WS 2003/04, Fakultät für Informatik Datenbanksysteme I Prof. R. Bayer, Ph.D. Lösungsblatt 8 Dipl.-Inform. Michael Bauer Dr. Gabi Höfling 12.01. 2004 Integritätsbedingungen

Mehr

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes. Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel

Mehr

Software Engineering Klassendiagramme Assoziationen

Software Engineering Klassendiagramme Assoziationen Software Engineering Klassendiagramme Assoziationen Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Lesen von Multiplizitäten (1) Multiplizitäten werden folgendermaßen

Mehr

1 topologisches Sortieren

1 topologisches Sortieren Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung

Mehr

Microsoft Update Windows Update

Microsoft Update Windows Update Microsoft bietet mehrere Möglichkeit, Updates durchzuführen, dies reicht von vollkommen automatisch bis zu gar nicht. Auf Rechnern unserer Kunden stellen wir seit September 2006 grundsätzlich die Option

Mehr

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 von Markus Mack Stand: Samstag, 17. April 2004 Inhaltsverzeichnis 1. Systemvorraussetzungen...3 2. Installation und Start...3 3. Anpassen der Tabelle...3

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

! " # $ " % & Nicki Wruck worldwidewruck 08.02.2006

!  # $  % & Nicki Wruck worldwidewruck 08.02.2006 !"# $ " %& Nicki Wruck worldwidewruck 08.02.2006 Wer kennt die Problematik nicht? Die.pst Datei von Outlook wird unübersichtlich groß, das Starten und Beenden dauert immer länger. Hat man dann noch die.pst

Mehr

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Suche schlecht beschriftete Bilder mit Eigenen Abfragen Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere

Mehr

How to do? Projekte - Zeiterfassung

How to do? Projekte - Zeiterfassung How to do? Projekte - Zeiterfassung Stand: Version 4.0.1, 18.03.2009 1. EINLEITUNG...3 2. PROJEKTE UND STAMMDATEN...4 2.1 Projekte... 4 2.2 Projektmitarbeiter... 5 2.3 Tätigkeiten... 6 2.4 Unterprojekte...

Mehr

teischl.com Software Design & Services e.u. office@teischl.com www.teischl.com/booknkeep www.facebook.com/booknkeep

teischl.com Software Design & Services e.u. office@teischl.com www.teischl.com/booknkeep www.facebook.com/booknkeep teischl.com Software Design & Services e.u. office@teischl.com www.teischl.com/booknkeep www.facebook.com/booknkeep 1. Erstellen Sie ein neues Rechnungsformular Mit book n keep können Sie nun Ihre eigenen

Mehr

IBIS Professional. z Dokumentation zur Dublettenprüfung

IBIS Professional. z Dokumentation zur Dublettenprüfung z Dokumentation zur Dublettenprüfung Die Dublettenprüfung ist ein Zusatzpaket zur IBIS-Shopverwaltung für die Classic Line 3.4 und höher. Dubletten entstehen dadurch, dass viele Kunden beim Bestellvorgang

Mehr

Kleines Handbuch zur Fotogalerie der Pixel AG

Kleines Handbuch zur Fotogalerie der Pixel AG 1 1. Anmelden an der Galerie Um mit der Galerie arbeiten zu können muss man sich zuerst anmelden. Aufrufen der Galerie entweder über die Homepage (www.pixel-ag-bottwartal.de) oder über den direkten Link

Mehr

Einführung in die Algebra

Einführung in die Algebra Prof. Dr. H. Brenner Osnabrück SS 2009 Einführung in die Algebra Vorlesung 13 Einheiten Definition 13.1. Ein Element u in einem Ring R heißt Einheit, wenn es ein Element v R gibt mit uv = vu = 1. DasElementv

Mehr

Updatehinweise für die Version forma 5.5.5

Updatehinweise für die Version forma 5.5.5 Updatehinweise für die Version forma 5.5.5 Seit der Version forma 5.5.0 aus 2012 gibt es nur noch eine Office-Version und keine StandAlone-Version mehr. Wenn Sie noch mit der alten Version forma 5.0.x

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

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

Stammdaten Auftragserfassung Produktionsbearbeitung Bestellwesen Cloud Computing

Stammdaten Auftragserfassung Produktionsbearbeitung Bestellwesen Cloud Computing Stammdaten Auftragserfassung Produktionsbearbeitung Bestellwesen Cloud Computing Finanzbuchhaltung Wenn Sie Fragen haben, dann rufen Sie uns an, wir helfen Ihnen gerne weiter - mit Ihrem Wartungsvertrag

Mehr

3. Stored Procedures und PL/SQL

3. Stored Procedures und PL/SQL 3. Stored Procedures und PL/SQL 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

Mehr

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden. In einer Website haben Seiten oft das gleiche Layout. Speziell beim Einsatz von Tabellen, in denen die Navigation auf der linken oder rechten Seite, oben oder unten eingesetzt wird. Diese Anteile der Website

Mehr

Beispiel 1: Filmdatenbank

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

Mehr

Was meinen die Leute eigentlich mit: Grexit?

Was meinen die Leute eigentlich mit: Grexit? Was meinen die Leute eigentlich mit: Grexit? Grexit sind eigentlich 2 Wörter. 1. Griechenland 2. Exit Exit ist ein englisches Wort. Es bedeutet: Ausgang. Aber was haben diese 2 Sachen mit-einander zu tun?

Mehr

Handbuch zum Excel Formular Editor

Handbuch zum Excel Formular Editor Handbuch zum Excel Formular Editor Mit diesem Programm können Sie die Zellen von ihrer Excel Datei automatisch befüllen lassen. Die Daten können aus der Coffee Datenbank, oder einer weiteren Excel Datendatei

Mehr

Artikel Schnittstelle über CSV

Artikel Schnittstelle über CSV Artikel Schnittstelle über CSV Sie können Artikeldaten aus Ihrem EDV System in das NCFOX importieren, dies geschieht durch eine CSV Schnittstelle. Dies hat mehrere Vorteile: Zeitersparnis, die Karteikarte

Mehr

E-Mail-Inhalte an cobra übergeben

E-Mail-Inhalte an cobra übergeben E-Mail-Inhalte an cobra übergeben Sie bieten ihren potentiellen oder schon bestehenden Kunden über ihre Website die Möglichkeit, per Bestellformular verschiedene Infomaterialien in Papierform abzurufen?

Mehr

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser Seite 1 von 14 Cookie-Einstellungen verschiedener Browser Cookie-Einstellungen verschiedener Browser, 7. Dezember 2015 Inhaltsverzeichnis 1.Aktivierung von Cookies... 3 2.Cookies... 3 2.1.Wofu r braucht

Mehr

YouTube: Video-Untertitel übersetzen

YouTube: Video-Untertitel übersetzen Der Easytrans24.com-Ratgeber YouTube: Video-Untertitel übersetzen Wie Sie mit Hilfe von Easytrans24.com in wenigen Schritten Untertitel für Ihre YouTube- Videos in mehrere Sprachen übersetzen lassen können.

Mehr

Konstante Relationen

Konstante Relationen Konstante Relationen values-syntax erzeugt konstante Relation values ( [, Konstante] * )[, ( [, Konstante] * )]* Beispiel values (1, eins ), (2, zwei ), (3, drei ); Resultat ist eine

Mehr

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me Bevor Sie die Platte zum ersten Mal benutzen können, muss sie noch partitioniert und formatiert werden! Vorher zeigt sich die Festplatte

Mehr

Step by Step Webserver unter Windows Server 2003. von Christian Bartl

Step by Step Webserver unter Windows Server 2003. von Christian Bartl Step by Step Webserver unter Windows Server 2003 von Webserver unter Windows Server 2003 Um den WWW-Server-Dienst IIS (Internet Information Service) zu nutzen muss dieser zunächst installiert werden (wird

Mehr

Kapitel 10 Aktive DBMS

Kapitel 10 Aktive DBMS Kapitel 10 Aktive DBMS 10 Aktive DBMS 10 Aktive DBMS...1 10.1 Einführung und Definition...2 10.2 Funktionsprinzip: ADBMS und ECA-Modell...4 10.3 Potentiale und Vorteile ADBMS...5 10.4 Aktive Elemente einer

Mehr

Grundlagen der Theoretischen Informatik, SoSe 2008

Grundlagen der Theoretischen Informatik, SoSe 2008 1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)

Mehr

Benutzeranleitung Kontoverwaltung

Benutzeranleitung Kontoverwaltung Benutzeranleitung Kontoverwaltung Die Provisionierungs-Plattform http://cp.solution.ch dient der Verwaltung von Hosted Exchange 2010 und SharePoint Benutzern. Provisionierungs-Zustände Bei der Provisionierung

Mehr