4.9 Datentyp TABLE (vereinfacht) 4.10 Konstruierte Datentypen. Definition einer Tabelle am Beispiel

Größe: px
Ab Seite anzeigen:

Download "4.9 Datentyp TABLE (vereinfacht) 4.10 Konstruierte Datentypen. Definition einer Tabelle am Beispiel"

Transkript

1 49 atentyp TABLE (vereinfacht) 4 er SQL-Standard 49 atentyp TABLE (vereinfacht) 4 er SQL-Standard 410 Konstruierte atentypen efinition einer Tabelle am Beispiel CREATE TABLE Stadt ( SName VARAR(50), PName VARAR(50), LCode AR(4), Einwohner NTEGER, LGrad NUMBER, BGrad NUMBER, PRMARY KEY (SName,PName,LCode) ) CREATE TABLE Land ( Provinzen VARAR(50) ARRAY[20] Organisationen ROW(Organiation VARAR(50), Art VARAR(20)) MULTSET CREATE TABLE Stadt ( Koordinaten ROW(LGrad NUMBER, BGrad NUMBER ) atenbanken und nformationssysteme, WS 2012/13 27 November 2012 Seite 44 atenbanken und nformationssysteme, WS 2012/13 27 November 2012 Seite Konstruierte atentypen 4 er SQL-Standard 410 Konstruierte atentypen 4 er SQL-Standard 410 Konstruierte atentypen Ein atentyp heißt konstruiert, sofern seine Werte aus Werten anderen Typen, sogenannter Element-Typen, zusammengesetzt sind er atentyp ARRAY fasst mehrere Werte seines Element-Typs geordnet zusammen, die über einen ndex referenziert werden können er Typ ROW lässt hingegen zu, dass Werte unterschiedlicher Element-Typen geordnet zusammengefasst werden und das der Zugriff auf die einzelnen Komponenten über Bezeichner, analog zu Spaltenbezeichern, ermöglicht wird er atentyp MULTSET fasst mehrere Werte eines Element-Typs, möglicherweise mit uplikaten, zu einer ungeordneten Menge zusammen ie fünfte Provinz eines Landes wird mittels Provinzen[5] referenziert er Längengrad innerhalb der Koordinaten einer Stadt kann mittels eines Pfadausdrucks der orm KoordinatenLGrad angesprochen werden Mittels ( EU, member ) ELEMENT Organisationen wird getestet, ob die Mitgliedschaften eines Landes bezüglich der EU den member-status hat atenbanken und nformationssysteme, WS 2012/13 27 November 2012 Seite 45 atenbanken und nformationssysteme, WS 2012/13 27 November 2012 Seite 47

2 411 Einfügen, Löschen und Ändern 4 er SQL-Standard 411 Einfügen, Löschen und Ändern Sequenznummern 4 er SQL-Standard 411 Einfügen, Löschen und Ändern Beim Einfügen von Zeilen muss die Eindeutigkeit des Primärschlüssels gewährleistet sein Einfügen Mittels NSERT kann eine neue Zeile, oder eine Menge von neuen Zeilen in eine Tabelle T eingefügt werden Werden nicht zu allen Attributen von T Werte gegeben, so werden für die fehlenden Werte möglicherweise vorgesehene efault-werte, bzw der Nullwert null genommen ie Angabe der Spaltennamen kann entfallen, wenn die Werte in der Reihenfolge der Spaltennamen in der CREATE-Anweisung definiert werden Beispiel Sequenznummerngenerator CREATE SEQUENCE LandSEQ AS NTEGER START WTH 1 /*kleiner (größer) oder gleich MAXVALUE (MNVALUE) sein*/ NCREMENT BY 1 /*eine positive (negative) Zahl*/ MNVALUE 1 /*muss kleiner MAXVALUE sein*/ MAXVALUE /*muss größer als MNVALUE sein*/ NO CYCLE /*CYCLE: wenn MAXVALUE (MNVALUE) erreicht, */ /*beginne wieder mit MNVALUE (MAXVALUE)*/ /*Mehrfachverwendung von Werten führt uu zu einem */ /*Laufzeitfehler*/ NSERT NTO Land (LandNr, LName, HStadt, läche) VALUES ( NEXT VALUE OR LandSEQ, Bavaria, Munich,70) atenbanken und nformationssysteme, WS 2012/13 27 November 2012 Seite 48 atenbanken und nformationssysteme, WS 2012/13 27 November 2012 Seite 50 4 er SQL-Standard 411 Einfügen, Löschen und Ändern 4 er SQL-Standard 411 Einfügen, Löschen und Ändern Aufnahme eines neuen Mitgliedes in die EU NSERT NTO Mitglied (LCode, Organisation, Art) VALUES ( PL, EU, member ) Alle Länder die Mitglied in irgendwelchen Organisationen sind, die aber noch nicht in der Relation Land auftreten, werden in diese Relation übernommen NSERT NTO Land ( LCode ) SELECT STNCT MLCode ROM Mitglied M WHERE NOT EXSTS ( SELECT LLCode ROM Land L WHERE LLCode = MLCode) Beispiel dentitätsspalte CREATE TABLE Land LandNr NTEGER GENERATE ALWAYS AS ENTTY ( START WTH 1 NCREMENT BY 1 MNVALUE 1 MAXVALUE NO CYCLE), NSERT NTO Land (LName, HStadt, läche) VALUES ( Bavaria, Munich, 70) atenbanken und nformationssysteme, WS 2012/13 27 November 2012 Seite 49 atenbanken und nformationssysteme, WS 2012/13 27 November 2012 Seite 51

3 4 er SQL-Standard 411 Einfügen, Löschen und Ändern 4 er SQL-Standard 411 Einfügen, Löschen und Ändern generierte Spalten er Wert eines Attributes ergibt sich automatisch aus den Werten anderer Attribute desselben Tupels Beispiel CREATE TABLE Land ( LandNr NTEGER GENERATE ALWAYS AS ENTTY ( ),, läche NUMBER, Einwohner NUMBER, ichte GENERATE ALWAYS (Einwohner / läche)) Ändern UPATE T SET A 1 = val 1,, A n = val n WHERE P Anstelle eines direkten Wertes innerhalb einer Zuweisung kann auch ein skalarer Ausdruck stehen m Zuge der Euro-Umstellung, werden die Angaben des Bruttosozialprodukt angepasst UPATE Land SET BruttoSP = CASE BruttoSP WHEN LCode = THEN BruttoSP * 0,5 WHEN LCode = THEN BruttoSP * 0,16 ELSE NULL EN atenbanken und nformationssysteme, WS 2012/13 27 November 2012 Seite 52 atenbanken und nformationssysteme, WS 2012/13 27 November 2012 Seite 54 4 er SQL-Standard 411 Einfügen, Löschen und Ändern 412 Sichten 4 er SQL-Standard 412 Sichten Löschen ELETE ROM T WHERE P Es werden alle Tupel aus T, für die der bedingte Ausdruck P wahr ist, markiert und anschließend aus T entfernt Beispiel Löschen des gesamten nhalts der Tabelle Stadt ELETE ROM Stadt Löschen von ausgewählten Zeilen ELETE ROM Stadt WHERE Einwohner < (SELECT AVG(Einwohner) ROM Stadt) Eine Sicht V ist eine durch einen Anfrageausdruck E definierte Tabelle: CREATE VEW V AS <E> m Unterschied zu den als Sicht definierten Tabellen bezeichnen wir die mittels CREATE TABLE definierten Tabellen als Basistabellen Bezeichner von Sichten dürfen in SQL überall stehen, wo ein Tabellenbezeichner stehen darf atenbanken und nformationssysteme, WS 2012/13 27 November 2012 Seite 53 atenbanken und nformationssysteme, WS 2012/13 27 November 2012 Seite 55

4 4 er SQL-Standard 412 Sichten 4 er SQL-Standard 412 Sichten efiniere zu der Tabelle Benachbart eine bezüglich Symmetrie abgeschlossene Tabelle symbenachbart in orm einer Sicht LCode1 Benachbart LCode2 CREATE VEW symbenachbart AS SELECT LCode1 AS Von, LCode2 AS Nach ROM Benachbart UNON SELECT LCode2 AS Von, LCode1 AS Nach ROM Benachbart Welche Länder sind zu eutschland benachbart? SELECT Nach ROM symbenachbart WHERE Von = Ändern von Sichten Sei R ein atenbank-schema Eine atenbankänderung ist eine unktion t von der Menge der nstanzen zu R auf sich selbst Eine Sicht ist eine unktion f von der Menge aller nstanzen zu R in die Menge aller nstanzen zu S, wobei S das durch die Sicht definierte Relationsschema ist Eine Sichtänderung ist eine unktion u von der Menge aller nstanzen zu S auf sich selbst Sei u eine Sichtänderung und t eine atenbankänderung, so dass für jede atenbank-nstanz gilt: u(f ()) = f (t()), dann nennen wir t eine Transformation von u Auf einer Sicht sind grundsätzlich nur solche Änderungen zulässig, zu denen eine Transformation existiert atenbanken und nformationssysteme, WS 2012/13 27 November 2012 Seite 56 atenbanken und nformationssysteme, WS 2012/13 27 November 2012 Seite 58 4 er SQL-Standard 412 Sichten 4 er SQL-Standard 412 Sichten Materialisierte und virtuelle Sichten Ein atenbanksystem kann Sichten entweder bei Bedarf jeweils neu berechnen, oder eine einmal berechnete Sicht für weitere Bearbeitungen permanent speichern m ersten all redet man von einer virtuellen Sicht, im zweiten all von einer materialisierten Sicht Soll eine Anfrage bearbeitet werden, die sich auf eine virtuelle Sicht bezieht, so wird vor Ausführung der Anfrage der Name der Sicht durch den sie definierenden Ausdruck ersetzt (Anfrage-Modifizierung) Gegenüber einer materialisierten Sicht hat eine virtuelle Sicht den Vorteil, dass ihr nhalt garantiert dem aktuellen Zustand der atenbank entspricht Beispiel A B B C r = a b s = b c x b b z insert (y,b,c) in v Es existiert keine Transformation v = r s = A B C a b c a b z x b c x b z Standardmäßig ist eine Sicht einer atenbank virtuell Materialiserte Sichten werden typischerweise für sogenannte atenlager (ata-warehouses) eingesetzt; zu ihrer Aktualisierung ist häufig ein erheblicher organisatorischer und systemtechnischer Aufwand vonnöten m folgenden betrachten wir ausschließlich virtuelle Sichten Eine interessante rage ist, ob in einer virtuellen Sicht Einfügen, Löschen und Ändern von Zeilen erlaubt sein kann, oder nicht delete (a,b,c) in v Es existiert keine Transformation update (a,b,c) zu (y,b,c) in v Es existiert keine Transformation atenbanken und nformationssysteme, WS 2012/13 27 November 2012 Seite 57 atenbanken und nformationssysteme, WS 2012/13 27 November 2012 Seite 59

5 4 er SQL-Standard 412 Sichten 4 er SQL-Standard 412 Sichten Projektionssicht Einfügen, Löschen und Ändern ist nur dann erlaubt, wenn der Schlüssel der Basistabelle komplett in der Sicht vorhanden ist nformationen über Länder sind nur anonymisiert erlaubt CREATE VEW Landnfo AS SELECT läche, Einwohner ROM Land NSERT NTO Landnfo VALUES (250000,20) NSERT nicht zulässig Verbundsicht n SQL-92 und in SQL:1999 werden eine Reihe von Regeln diskutiert, deren Erfülltsein die Existenz einer Transformation sichern iese Regeln garantieren im Wesentlichen ein eindeutiges Rückverfolgen der Sichtänderung zu einzelnen Zeilen in den Basistabellen Ordne jeder Stadt ihren Kontinent zu CREATE VEW Stadtnfo AS SELECT SSName, LKontinent ROM Stadt S, Lage L WHERE SLCode = LLCode NSERT NTO Stadtnfo VALUES ( reiburg, reiländereck ) NSERT nicht zulässig atenbanken und nformationssysteme, WS 2012/13 27 November 2012 Seite 60 atenbanken und nformationssysteme, WS 2012/13 27 November 2012 Seite 62 4 er SQL-Standard 412 Sichten 4 er SQL-Standard 412 Sichten n-line/temporary-table Sichten mittels WTH Selektionssicht Aufgrund von Einfügungen und Änderungen können als unerwünschter Seiteneffekt Zeilen aus der Sicht herausfallen und damit in anderen Sichten erkennbar werden ieser Seiteneffekt kann durch Hinzunahme der Klausel WTH ECK OPTON zu der Sichtdefinition verhindert werden Beschränkung auf Großstädte CREATE VEW Großstadt AS SELECT * ROM Stadt WHERE Einwohner >= 1000 UPATE Großstadt SET Einwohner=Einwohner*09 atenbanken und nformationssysteme, WS 2012/13 27 November 2012 Seite 61 Vergleiche: SELECT STNCT SLCode ROM Stadt S WHERE (SELECT AVG(Einwohner) ROM Stadt WHERE LCode = SLCode) = (SELECT MN(Einw) ROM (SELECT AVG(Einwohner) AS Einw ROM Stadt GROUP BY Lcode)); mit WTH avgeinwohner AS (SELECT LCode, AVG(Einwohner) AS Einw ROM Stadt GROUP BY Lcode), mineinwohner AS (SELECT MN(Einw) as mine ROM avgeinwohner) SELECT LCode ROM avgeinwohner S WHERE SEinw = (SELECT mine ROM mineinwohner); WTH führt zu einer klareren Struktur, im Sinne einer lokal definierten virtuellen Sicht (in-line view), materialisierten Sicht (temporären Tabelle) atenbanken und nformationssysteme, WS 2012/13 27 November 2012 Seite 63

6 4 er SQL-Standard 413 SQL und Programmiersprachen 413 SQL und Programmiersprachen 4 er SQL-Standard 413 SQL und Programmiersprachen (A) SQL-Erweiterung 4 SQL hat eine tabellenorientierte Sematik SQL hat eine im Vergleich zu einer Programmiersprache eingeschränkte Mächtigkeit, so dass es typischerweise ermöglicht wird, SQL von einem in einer gängigen Programmiersprache geschriebenen Programm aus aufzurufen Anwendungen können so unter Ausnutzung der vollen Mächtigkeit einer Programmiersprache atenbank-nstanzen verarbeiten mpedance-mismatch! eklaration von Variablen, Zuweisung von Werten an Variable, Sequenz von Anweisungen, bedingte Anweisungen und Wiederholungsanweisungen, unktionen und Prozeduren unktionen können als parametrisierbare virtuelle Sichten betrachtet werden 4 Oracle verwendet teilweise eine andere Syntax! atenbanken und nformationssysteme, WS 2012/13 27 November 2012 Seite 64 atenbanken und nformationssysteme, WS 2012/13 27 November 2012 Seite 66 4 er SQL-Standard 413 SQL und Programmiersprachen 4 er SQL-Standard 413 SQL und Programmiersprachen Ansätze der ntegration (A) Erweiterung von SQL um imperative Sprachelemente zur ormulierung von in der atenbank gespeicherten benutzerdefinierten unktionen und Prozeduren (SQL-Erweiterung) (B) Einbettung von SQL-Ausdrücken in eine Programmiersprache (statisches SQL) (C) Übergabe eines datenabhängig gebildeten SQL-Ausdrucks an eine atenbank während der Ausführung eines Programms (dynamisches SQL) Tabellen Benachbart LCode1 LCode2 symbenachbart LCode1 LCode2 Berechne zu der Tabelle Benachbart den symmetrischen Abschluss CREATE UNCTON symbenachbart() RETURNS TABLE ( LCode1 AR(4), LCode2 AR(4) ) RETURN (SELECT * ROM Benachbart UNON SELECT LCode2 AS LCode1, LCode1 AS LCode2 ROM Benachbart ) SELECT * ROM TABLE (symbenachbart()) T atenbanken und nformationssysteme, WS 2012/13 27 November 2012 Seite 65 atenbanken und nformationssysteme, WS 2012/13 27 November 2012 Seite 67

7 4 er SQL-Standard 413 SQL und Programmiersprachen 4 er SQL-Standard 413 SQL und Programmiersprachen Gib zu einem Land alle erreichbaren Länder mit der Mindestanzahl Grenzübergänge an CREATE UNCTON ErreichbarVon(Start AR(4)) RETURNS TABLE ( Nach AR(4), Anzahl NTEGER ) BEGN CREATE TABLE Erreichbar ( Nach AR(4), Anzahl NTEGER ); ECLARE alt, neu NTEGER; /* nitialisiere mit den direkt erreichbaren Ländern */ NSERT NTO Erreichbar SELECT TLCode2 AS Nach, 1 AS Anzahl ROM TABLE (symbenachbart()) T WHERE TLCode1 = Start; /* nitialisiere Abbruchbedingung */ SET alt = 0; SET neu = (SELECT COUNT(*) ROM Erreichbar); /* Berechne iterativ die indirekt erreichbaren Länder */ WHLE (alt <> neu) O SET alt = neu; NSERT NTO Erreichbar SELECT STNCT BLCode2, (AAnzahl + 1) ROM Erreichbar A, TABLE (symbenachbart()) B WHERE ANach = BLCode1 AN BLCode2 <> Start AN BLCode2 NOT N (SELECT Nach ROM Erreichbar); SET neu = (SELECT COUNT(*) ROM Erreichbar); EN WHLE; RETURN Erreichbar; EN atenbanken und nformationssysteme, WS 2012/13 27 November 2012 Seite 68 Zyklen und Mehrfachberechnungen sollen vermieden werden STNCT berücksichtigt den all, dass zum selben Land mehrere Wege gleicher Länge existieren können Zyklen werden berücksichtigt, indem ein weiteres Land nur dann hinzugefügt wird, wenn das neu berechnete Land nicht bereits als erreichbares Land bekannt ist Zyklen zum Start werden ebenfalls ausgeschlossen NSERT NTO Erreichbar SELECT STNCT BLCode2, (AAnzahl + 1) ROM Erreichbar A, TABLE (symbenachbart()) B WHERE ANach = BLCode1 AN BLCode2 <> Start AN BLCode2 NOT N (SELECT Nach ROM Erreichbar); atenbanken und nformationssysteme, WS 2012/13 27 November 2012 Seite 70 4 er SQL-Standard 413 SQL und Programmiersprachen 4 er SQL-Standard 413 SQL und Programmiersprachen nitialisiere Erreichbar mit den direkt erreichbaren Ländern NSERT NTO Erreichbar SELECT TLCode2 AS Nach, 1 AS Anzahl ROM TABLE (symbenachbart()) T WHERE TLCode1 = Start; ie Berechnung soll terminieren, wenn kein neues indirekt erreichbares Land hinzugekommen ist SET neu = (SELECT COUNT(*) ROM Erreichbar); WHLE (alt <> neu) O SET alt = neu; NSERT NTO Erreichbar SET neu = (SELECT COUNT(*) ROM Erreichbar) EN WHLE; (B) statisches SQL Stehen die auszuführenden SQL-Anfragen bereits zur Übersetzungszeit eines Programms als Teil des Programmcodes fest, dann redet man von einer statischen Einbettung von SQL in eine Programmiersprache Eine datenabhängige Änderung der Anfragen während der Ausführung des Programms ist dann nicht mehr möglich ie Ergebnisse einer SQL-Anfrage werden innerhalb des Programms mittels eines Cursors zugänglich gemacht atenbanken und nformationssysteme, WS 2012/13 27 November 2012 Seite 69 atenbanken und nformationssysteme, WS 2012/13 27 November 2012 Seite 71

8 4 er SQL-Standard 413 SQL und Programmiersprachen 4 er SQL-Standard 413 SQL und Programmiersprachen (C) dynamisches SQL EXEC SQL ECLARE StadtCursor CURSOR OR SELECT STNCT SSName, LLName ROM Stadt S, Land L WHERE SLCode = LandLCode; EXEC SQL OPEN StadtCursor; EXEC SQL ET StadtCursor NTO :stadtname, :landname; EXEC SQL CLOSE StadtCursor; Können wir einen SQL-Ausdruck während der Ausführung eines Programms in orm einer Zeichenkette an das atenbanksystem übergeben, so redet man von dynamischem SQL Standardisierte Schnittstellen: OBC und JBC Erweiterung von Java: SQLJ Berechnen einer Adjazenzmatrix <?php sql connect( Mondial, lausen, buch ); $AdjazenzMatrix = array(); $query = SELECT * ROM Benachbart ; $result = sql query($query); while ($row = sql fetch assoc($result)) { $i = $row[ von ]; $j = $row[ nach ]; $AdjazenzMatrix[$i][$j] = 1; }?> atenbanken und nformationssysteme, WS 2012/13 27 November 2012 Seite 72 atenbanken und nformationssysteme, WS 2012/13 27 November 2012 Seite 73

3.7 Struktur der Syntax

3.7 Struktur der Syntax 3. Der SQL-Standard 3.7. Struktur der Syntax Seite 1 3.7 Struktur der Syntax Orthogonalität der Syntax Ein Ausdruck, der eine Tabelle definiert, ist überall dort zulässig ist, wo eine Tabelle stehen darf.

Mehr

3.13 SQL und Programmiersprachen

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

Mehr

Kapitel 2: Einstieg in SQL

Kapitel 2: Einstieg in SQL Kapitel 2: Einstieg in SQL 2. Einstieg in SQL 2. SQL (Structured Query Language) ist die in der Praxis am weitesten verbreitete Datenbanksprache für relationale Datenbanken. Die Historie von SQL geht zurück

Mehr

Induktionsschluss: Sei Q RA eine Anfrage der Relationenalgebra mit n > 0 Operatoren.

Induktionsschluss: Sei Q RA eine Anfrage der Relationenalgebra mit n > 0 Operatoren. 1 Aufgabe 3.1: Wir beweisen durch Induktion über die Anzahl Operatoren π, σ,,,, δ eines Ausdrucks der Relationenalgebra, dass zu jeder Anfrage der Relationenalgebra eine äquivalente Anfrage in SQL existiert.

Mehr

4.5 Anfragen mit Mengenoperatoren

4.5 Anfragen mit Mengenoperatoren 4. Der SQL-Standard 4.5. Anfragen mit Mengenoperatoren 4.5 Anfragen mit Mengenoperatoren UNION,INTERSECT und. Die beteiligten Tabellen müssen zueinander kompatible Spaltentypen haben. Die Resultatspalte

Mehr

Kapitel 5: Der SQL-Standard

Kapitel 5: Der SQL-Standard Kapitel 5: Der SQL-Standard 5. Der SQL-Standard 5. Ein Anfrageausdruck in SQL besteht aus einer SELECT-Klausel, gefolgt von einer FROM-Klausel, gefolgt von einer WHERE-Klausel. Grundform eines SFW-Ausdruck

Mehr

Kapitel 7: Referentielle Integrität

Kapitel 7: Referentielle Integrität Kapitel 7: Referentielle Integrität Im Allgemeinen sind nur solche Instanzen einer Datenbank erlaubt, deren Relationen die der Datenbank bekannten Integritätsbedingungen (IB) erfüllen. Integritätsbedingungen

Mehr

4.14 Integrität und Trigger

4.14 Integrität und Trigger 4.14 Integrität und Trigger Im Allgemeinen sind nur solche Instanzen einer Datenbank erlaubt, deren Relationen die der Datenbank bekannten Integritätsbedingungen (IB) erfüllen. Integritätsbedingungen können

Mehr

Kapitel 2: Einstieg in SQL

Kapitel 2: Einstieg in SQL 2. Einstieg in SQL Seite 1 Kapitel 2: Einstieg in SQL SQL (Structured Query Language) ist die in der Praxis am weitesten verbreitete Datenbanksprache für relationale Datenbanken. Die Historie von SQL geht

Mehr

Beispiel zur referentiellen Integrität

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

Mehr

zu E 1 der Form (0, 1) erfüllen.

zu E 1 der Form (0, 1) erfüllen. 1 Aufgabe 4.1: Sei B ein Beziehungstyp über den drei Entitätstypen E 1, E 2 und E 3. Sei ohne Beschränkung der Allgemeinheit die Beziehungskomplexität zu E 1 der Form (0, 1). Wir zeigen, dass B durch die

Mehr

Kapitel 3: Der SQL-Standard

Kapitel 3: Der SQL-Standard 3. Der SQL-Standard Seite 1 Kapitel 3: Der SQL-Standard SQL ist die in der Praxis am weitesten verbreitete Datenbanksprache für relationale Datenbanken. Die Historie von SQL geht zurück bis 1974, die Anfangszeit

Mehr

Kapitel 4: Entwurf der Relationsschemata

Kapitel 4: Entwurf der Relationsschemata 4. Entwurf der Relationsschemata 4. Kapitel 4: Entwurf der Relationsschemata konzeptueller Entwurf: finde eine umfassende Strukturierung der gesamten Informationsanforderungen der Miniwelt. Resultat: konzeptuelles

Mehr

Welche Kunden haben die gleiche Ware bestellt? select distinct a1.name, a2.name from Auftrag a1, Auftrag a2 where a1.ware = a2.ware.

Welche Kunden haben die gleiche Ware bestellt? select distinct a1.name, a2.name from Auftrag a1, Auftrag a2 where a1.ware = a2.ware. *HVFKDFKWHOWH$QIUDJHQ In einer SQL-Anweisung können in der where-klausel, from-klausel, select-klausel wieder SQL-Anweisungen auftreten. Man spricht dann auch von einer geschachtelten Anfrage oder Unteranfrage.

Mehr

Kapitel 6: SQL und XML

Kapitel 6: SQL und XML 6. SQL und XML Seite 1 Kapitel 6: SQL und XML Wie können die Inhalte einer Datenbank als XML-Dokumente exportiert werden (Publizieren von XML? Wie können die Inhalte eines XML-Dokumentes in eine Datenbank

Mehr

Kapitel 4 Dynamisches SQL

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

Mehr

Datenbanksysteme 2013

Datenbanksysteme 2013 Datenbanksysteme 2013 Kapitel 8: Datenintegrität Vorlesung vom 14.05.2013 Oliver Vornberger Institut für Informatik Universität Osnabrück Datenintegrität Statische Bedingung (jeder Zustand) Dynamische

Mehr

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

Seminar 2. SQL - DML(Data Manipulation Language) und. DDL(Data Definition Language) Befehle.

Seminar 2. SQL - DML(Data Manipulation Language) und. DDL(Data Definition Language) Befehle. Seminar 2 SQL - DML(Data Manipulation Language) und DDL(Data Definition Language) Befehle. DML Befehle Aggregatfunktionen - werden auf eine Menge von Tupeln angewendet - Verdichtung einzelner Tupeln yu

Mehr

Kapitel 9. Embedded SQL. Prof. Dr. Wolfgang Weber Vorlesung Datenbanken 1

Kapitel 9. Embedded SQL. Prof. Dr. Wolfgang Weber Vorlesung Datenbanken 1 Kapitel 9 Embedded SQL Vorlesung Datenbanken 1 Embedded SQL (siehe auch [Date00]) Arbeitsweise ähnlich PL/SQL, allerdings: Normale Programmiersprache mit eingestreuten SQL-Befehlen und anderen Befehlen

Mehr

Praktische SQL-Befehle 2

Praktische SQL-Befehle 2 Praktische SQL-Befehle 2 Datenbanksysteme I WiSe 2018/2019 Todor Ivanov DB1 WS2018 1 Praktische SQL-Befehle Functions Views Triggers Voraussetzung: Laptop + MySQL/ MariaDB + Workbench! DB1 WS2018 2 Airport

Mehr

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

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

Mehr

Kapitel 4 Dynamisches SQL

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

Mehr

Relationales Datenbanksystem Oracle

Relationales Datenbanksystem Oracle Relationales Datenbanksystem Oracle 1 Relationales Modell Im relationalen Modell wird ein relationales Datenbankschema wie folgt beschrieben: RS = R 1 X 1 SC 1... R n X n SC n SC a a : i=1...n X i B Information

Mehr

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

Datenbanken im WI-Unterricht mit

Datenbanken im WI-Unterricht mit Datenbanken im WI-Unterricht mit Inhaltsverzeichnis 1 ER-Modell - Entity Relationship Modell 1 1.1 Entitäten................................................. 2 1.2 Relationen................................................

Mehr

Die Anweisung create table

Die Anweisung create table SQL-Datendefinition Die Anweisung create table create table basisrelationenname ( spaltenname 1 wertebereich 1 [not null],... spaltenname k wertebereich k [not null]) Wirkung dieses Kommandos ist sowohl

Mehr

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #3. SQL (Teil 1)

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #3. SQL (Teil 1) Vorlesung #3 SQL (Teil 1) Fahrplan Wiederholung/Zusammenfassung Relationales Modell Relationale Algebra Relationenkalkül Geschichte der Sprache SQL SQL DDL (CREATE TABLE...) SQL DML (INSERT, UPDATE, DELETE)

Mehr

Inhaltsverzeichnis. Einleitung

Inhaltsverzeichnis. Einleitung vn Inhaltsverzeichnis Einleitung Kapitel 1: Eine Einführung in relationale Datenbanken 7 Was ist eine relationale Datenbank? 9 Verknüpfen der einzelnen Tabellen 10 Die Reihenfolge der Zeilen ist beliebig

Mehr

Kapitel 4: Der SQL-Standard

Kapitel 4: Der SQL-Standard Kapitel 4: Der SQL-Standard 4. Der SQL-Standard 4. Ein Anfrageausdruck in SQL besteht aus einer SELECT-Klausel, gefolgt von einer FROM-Klausel, gefolgt von einer WHERE-Klausel. Grundform eines SFW-Ausdruck

Mehr

Zusammengesetzte Datentypen

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

Mehr

Kapitel 3: Entity-Relationship-Modell

Kapitel 3: Entity-Relationship-Modell Kapitel 3: Entity-Relationship-Modell Objekte und Beziehungen Objekte bilden die elementare Grundlage unserer Betrachtung. Objekte werden durch Tupel in Relationen repräsentiert und können durch Schlüsselwerte

Mehr

SQL. SQL: Structured Query Language. Früherer Name: SEQUEL. Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99

SQL. SQL: Structured Query Language. Früherer Name: SEQUEL. Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99 SQL Früherer Name: SEQUEL SQL: Structured Query Language Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99 SQL ist eine deklarative Anfragesprache Teile von SQL Vier große Teile:

Mehr

6. Trigger Charakterisierung von Triggern. 6. Trigger. Trigger definieren automatische Reaktionen auf Ereignisse, die durch Datenmanupilationen

6. Trigger Charakterisierung von Triggern. 6. Trigger. Trigger definieren automatische Reaktionen auf Ereignisse, die durch Datenmanupilationen 6. Trigger Charakterisierung von Triggern 6. Trigger Trigger definieren automatische Reaktionen auf Ereignisse, die durch Datenmanupilationen auf einer Relation ausgelöst werden. Trigger stellen eine einfache

Mehr

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

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

Mehr

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

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

Mehr

Kapitel 8: Datenintegrität

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

Mehr

Oracle 10g Einführung

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

Mehr

SQL. DDL (Data Definition Language) Befehle und DML(Data Manipulation Language)

SQL. DDL (Data Definition Language) Befehle und DML(Data Manipulation Language) SQL DDL (Data Definition Language) Befehle und DML(Data Manipulation Language) DML(Data Manipulation Language) SQL Abfragen Studenten MatrNr Name Vorname Email Age Gruppe 1234 Schmidt Hans schmidt@cs.ro

Mehr

SQL: Weitere Funktionen

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

Mehr

4. Objektrelationales Typsystem Kollektionstypen. Nested Table

4. Objektrelationales Typsystem Kollektionstypen. Nested Table Nested Table Bei einer Nested Table handelt es sich um eine Tabelle als Attributwert. Im Gegensatz zu Varray gibt es keine Beschränkung bei der Größe. Definition erfolgt auf einem Basistyp, als Basistypen

Mehr

Arbeit mit zusammengesetzten Datentypen

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

Mehr

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Blatt Nr. 8 Hausaufgabe 1 Übung zur Vorlesung Grundlagen: Datenbanken im WS13/14 Henrik Mühe (muehe@in.tum.de)

Mehr

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

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

Mehr

Datenintegrität. Kapitel 5 1

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

Mehr

3.17 Zugriffskontrolle

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

Mehr

Kapitel 1: Einführung 1.1 Datenbanken?

Kapitel 1: Einführung 1.1 Datenbanken? 1. Einführung 1.1. Datenbanken? Seite 1 Kapitel 1: Einführung 1.1 Datenbanken? 1. Einführung 1.1. Datenbanken? Seite 2 Willkommen! Studierenden-Datenbank Hans Eifrig hat die Matrikelnummer 1223. Seine

Mehr

Übung Datenbanksysteme Updates, Integritätsbedingungen, funktionale Abhängigkeiten

Übung Datenbanksysteme Updates, Integritätsbedingungen, funktionale Abhängigkeiten Übung Datenbanksysteme Updates, Integritätsbedingungen, funktionale Abhängigkeiten 12.1.2004 Änderungsoperationen bei SQL (Daten) Einfügen neuer Tupel (schon bekannt) INSERT INTO Table (Spalte1, Spalte2)

Mehr

Universität Augsburg, Institut für Informatik WS 2008/2009 Prof. Dr. W. Kießling 23. Nov Dr. A. Huhn, M. Endres, T. Preisinger Lösungsblatt 5

Universität Augsburg, Institut für Informatik WS 2008/2009 Prof. Dr. W. Kießling 23. Nov Dr. A. Huhn, M. Endres, T. Preisinger Lösungsblatt 5 Universität Augsburg, Institut für Informatik WS 2008/2009 Prof. Dr. W. Kießling 23. Nov. 2007 Dr. A. Huhn, M. Endres, T. Preisinger Lösungsblatt 5 Aufgabe 1: SQL-Queries Datenbanksysteme I a) Geben Sie

Mehr

Moderne Datenbankkonzepte

Moderne Datenbankkonzepte Verteilte Datenbanken Moderne Datenbankkonzepte Wünschenswert, aber extrem aufwändig ( Zweiphasen Commit) Objektrelationale Datenbanken Kompromiss zwischen relational und rein objektorientiert seit 1999

Mehr

10. Programmieren in SQL

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

Mehr

Erzeugung und Veränderung von Tabellen

Erzeugung und Veränderung von Tabellen Datenbanken - Objekte Erzeugung und Veränderung von Tabellen Objekt Tabelle View Sequence Index Synonym Basiseinheit zum Speichern; besteht aus Zeilen und Spalten; Logische Repräsentation; kann Teilmengen

Mehr

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

12. Datenschutz: Zugriffsrechte in SQL Datenschutz: Zugriffsrechte in SQL

12. Datenschutz: Zugriffsrechte in SQL Datenschutz: Zugriffsrechte in SQL 12. Datenschutz: Zugriffsrechte in SQL 12-1 Datenschutz: Zugriffsrechte in SQL 12. Datenschutz: Zugriffsrechte in SQL 12-2 Inhalt 1. Anforderungen, Allgemeines 2. Die SQL-Befehle GRANT und REVOKE 3. Sichten

Mehr

Antwort auf QB ist Menge von Tupeln, i-e. selbst wieder Relation (wie bei rel. Algebra) in QB "Zugriff" auf Tupel mit Tupel-Variablen

Antwort auf QB ist Menge von Tupeln, i-e. selbst wieder Relation (wie bei rel. Algebra) in QB Zugriff auf Tupel mit Tupel-Variablen Kapitel 6.3 SQL als Anfragesprache Kap. 6.3.1 Allgemeine Begriffe Identifiers: Var-Name ~ Tupel-Variable Table-Name ~ Rel., View Field-Name ~ Attribut-Bez. Key-Words: select where key is integer string

Mehr

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

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

Mehr

Datenintegrität. Kapitel 5 1

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

Mehr

DB I S. 1 Referentielle Aktionen [10 P.] Gegeben sei folgende Datendefinition:

DB I S. 1 Referentielle Aktionen [10 P.] Gegeben sei folgende Datendefinition: 1 Referentielle Aktionen Gegeben sei folgende Datendefinition: [10 P.] CREATE TABLE Wissenschaftler( SVNr int PRIMARY KEY, Vorname varchar(25) NOT NULL, Nachname varchar(25) NOT NULL, Gehalt int NOT NULL

Mehr

Daten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell. Jetzt: -> Formulierung in DDL

Daten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell. Jetzt: -> Formulierung in DDL Daten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell Jetzt: -> Formulierung in DDL Daten-Definitionssprache (DDL) DDL ist Teil von SQL (Structured

Mehr

Übung PL/SQL Trigger Lösungen

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

Mehr

Abfragen (Queries, Subqueries)

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

Mehr

Kapitel 1: Einführung 1.1 Datenbanken?

Kapitel 1: Einführung 1.1 Datenbanken? Kapitel 1: Einführung 1.1 Datenbanken? 1. Einführung 1.1. Datenbanken Grundlagen der Datenbanksysteme, WS 2012/13 29. Oktober 2012 Seite 1 1. Einführung 1.1. Datenbanken Willkommen! Studierenden-Datenbank

Mehr

Datenmanagement I SoSe 2006 Aufgabenblatt 4

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

Mehr

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

Uni Duisburg-Essen Fachgebiet Informationssysteme Prof. Dr. N. Fuhr. Praktikum: Datenbanken Woche 7: Noch mehr SQL

Uni Duisburg-Essen Fachgebiet Informationssysteme Prof. Dr. N. Fuhr. Praktikum: Datenbanken Woche 7: Noch mehr SQL Praktikum: Datenbanken Raum: LF230 Abgabe bis 6.-8.6. 2005 Datum Gruppe Vorbereitung Präsenz Rekursive Anfragen In einem vollen SELECT-Statement ist es auch möglich, rekursive Anfragen zu stellen. Rekursive

Mehr

Hochschule Karlsruhe Technik und Wirtschaft Fakultät für Informatik und Wirtschaftsinformatik

Hochschule Karlsruhe Technik und Wirtschaft Fakultät für Informatik und Wirtschaftsinformatik 1. Aufgabe (Normalisierung, 28 Punkte) Das Maklerbüro Foldur-Estate beschäftigt mehrere Makler, die jeweils unterschiedliche Mietwohnungen im Angebot haben. Jede Wohnung hat einen Vermieter, Vermieter

Mehr

Aufgabe 1: Integrität

Aufgabe 1: Integrität Aufgabe 1: Integrität Gegeben sei das folgende Schema: Personal: (PNR, Name, Gehalt, Abt, Vorges) a) Geben Sie das CREATE TABLE Statement an, um die Tabelle Personal zu erzeugen. Folgende Integritätsbedingungen

Mehr

2. Datenbank-Programmierung

2. Datenbank-Programmierung 2. Datenbank-Programmierung SQL ist eingeschränkt bezüglich der algorithmischen Mächtigkeit, z.b. Berechnung einer transitiven Hülle ist in Standard-SQL nicht möglich. Die Einschränkung ist von Bedeutung

Mehr

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

Datenbanksysteme noch Kapitel 7: SQL Vorlesung vom Oliver Vornberger. Institut für Informatik Universität Osnabrück Datenbanksysteme 2013 noch Kapitel 7: SQL Vorlesung vom 13.05.2013 Oliver Vornberger Institut für Informatik Universität Osnabrück Sprung Transititve Hülle Transitive Hülle 35.) Liste alle Voraussetzungen

Mehr

dbis Praktikum DBS I SQL Teil 2

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

Mehr

Es geht also im die SQL Data Manipulation Language.

Es geht also im die SQL Data Manipulation Language. 1 In diesem Abschnitt wollen wir uns mit den SQL Befehlen beschäftigen, mit denen wir Inhalte in Tabellen ( Zeilen) einfügen nach Tabelleninhalten suchen die Inhalte ändern und ggf. auch löschen können.

Mehr

Datenschutz: Zugriffsrechte in SQL

Datenschutz: Zugriffsrechte in SQL 12. Datenschutz: Zugriffsrechte in SQL 12-1 12. Datenschutz: Zugriffsrechte in SQL 12-2 Inhalt Datenschutz: Zugriffsrechte in SQL 1. Anforderungen, Allgemeines 2. Die SQL-Befehle GRANT und REVOKE 3. Sichten

Mehr

VIEWS UND WEITERE TABELLEN-OPERATIONEN

VIEWS UND WEITERE TABELLEN-OPERATIONEN KAPITEL 9 VIEWS UND WEITERE TABELLEN-OPERATIONEN 9.1 Vereinbarung und Einsatz von Views 9.1.1 Einrichtung von Views Die CREATE VIEW-Anweisung Von Ausnahmen abgesehen ist es wie wir zuvor erläutert haben

Mehr

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

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

Mehr

GROUP BY, HAVING und Sichten

GROUP BY, HAVING und Sichten GROUP BY, HAVING und Sichten Tutorübungen 09/33 zu Grundlagen: Datenbanken (WS 14/15) Michael Schwarz Technische Universität München 11.11 / 12.11.2014 1/12 GROUP BY HAVING Sichten Eine Tabelle studenten

Mehr

Logischer Entwurf. Stufen der Entwicklung einer Datenbank. Inhalt. Übersicht. 1. Datenbank - Entwurf ( ER - Diagramm)

Logischer Entwurf. Stufen der Entwicklung einer Datenbank. Inhalt. Übersicht. 1. Datenbank - Entwurf ( ER - Diagramm) 10. Logischer Entwurf 10-1 10. Logischer Entwurf 10-2 Stufen der Entwicklung einer Datenbank 1. Datenbank - Entwurf ( ER - Diagramm) Logischer Entwurf 2. Umsetzen des ER - Diagramms ins relationale Modell

Mehr

Gliederung. n Teil I: Einleitung und Grundbegriffe. n Teil II: Imperative und objektorientierte Programmierung

Gliederung. n Teil I: Einleitung und Grundbegriffe. n Teil II: Imperative und objektorientierte Programmierung Gliederung n Teil I: Einleitung und Grundbegriffe l 1. Organisatorisches l 2. Grundlagen von Programmiersprachen n Teil II: Imperative und objektorientierte Programmierung l 1. Grundelemente der Programmierung

Mehr

Datenbanken SQL. Insert, Update, Delete, Drop. Krebs

Datenbanken SQL. Insert, Update, Delete, Drop. Krebs Datenbanken SQL Insert, Update, Delete, Drop Krebs Inhalt 1. Datensätze einfügen: INSERT 2. Datensätze verändern: UPDATE 3. Datensätze löschen: DROP vs. DELETE Beispiel Datenbank Schule Klasse P_Klasse

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

Datenintegrität. Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung

Datenintegrität. Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung Datenintegrität Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung Statische vs. dynamische Integritätsbedingungen Statische Integritätsbedingungen Bedingungen

Mehr

Kapitel 10. JDBC und SQLJ. Prof. Dr. Wolfgang Weber Vorlesung Datenbanken 1

Kapitel 10. JDBC und SQLJ. Prof. Dr. Wolfgang Weber Vorlesung Datenbanken 1 Kapitel 10 JDBC und SQLJ 1 JDBC und SQLJ Bisher: Einbettung von SQL (statisch bzw. dynamisch) in C, C++, COBOL, ADA (embedded SQL) bzw. prozedurale Erweiterungen für SQL in Oracle (PL/SQL) Was ist mit

Mehr

Create-Table-Befehl. CREATE TABLE Tabellenname ( { Spalte { Datentyp Gebietsname } [ Spaltenbedingung [ ] ] Tabellenbedingung }

Create-Table-Befehl. CREATE TABLE Tabellenname ( { Spalte { Datentyp Gebietsname } [ Spaltenbedingung [ ] ] Tabellenbedingung } Create-Table-Befehl CREATE TABLE Tabellenname ( { Spalte { Datentyp Gebietsname } [ Spaltenbedingung [ ] ] Tabellenbedingung } [, ] ) Liste der wichtigsten Datentypen in SQL INTEGER INT SMALLINT NUMERIC(x,y)

Mehr

Datenbank und Tabelle mit SQL erstellen

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

Mehr

Der Einsatz von SELECT from INSERT auf dem System i

Der Einsatz von SELECT from INSERT auf dem System i Zwei Operationen werden zu einer neuen Funktion von Jinmei Shen und Karl Hanson INSERT und SELECT waren vor V6R1 in DB2 für i5/os zwei getrennte Operationen. Um eingefügte Spaltenwerte abzufragen, konnte

Mehr

Klausur PI Datenbanken II vom Name: Praktische Informatik (Krägeloh)

Klausur PI Datenbanken II vom Name: Praktische Informatik (Krägeloh) Versehen Sie jedes Aufgabenblatt/-blätter mit Ihrem Namen und geben es mit ab! Seite 1 Aufgabe 1: ( 30 Punkte) 1) Ein Entity-Set E1 wird in die Subklassen S1 und S2 spezialisiert. Was bedeutet die Aussage:

Mehr

Relationenmodell. Ziel:

Relationenmodell. Ziel: Relationenmodell Ziel:! geringe Redundanz,! gute Handhabbarkeit,! einfache Zugriffe über möglichst wenige Tabellen! Sicherstellung von Konsistenz und Integrität. Beispielrelation Verkaeufer-Produkt Verk.-Nr.

Mehr

Datenbanken Unit 9: OLAP, OLTP und objektrelationale Datenbanken

Datenbanken Unit 9: OLAP, OLTP und objektrelationale Datenbanken Datenbanken Unit 9: OLAP, OLTP und objektrelationale Datenbanken 17. V. 2017 Outline 1 Organisatorisches 2 SQL 3 OLTP, OLAP, SAP, and Data Warehouse OLTP and OLAP SAP 4 Objekt-relationale Datenbanken Beispiel

Mehr

SQL 2. Ziele. Fortgeschrittene SQL-Konstrukte. Aggregatfunktionen revisited. Subqueries. Korrelierte Subqueries

SQL 2. Ziele. Fortgeschrittene SQL-Konstrukte. Aggregatfunktionen revisited. Subqueries. Korrelierte Subqueries SQL 2 Lehr- und Forschungseinheit Datenbanken und Informationssysteme 1 Ziele Fortgeschrittene SQL-Konstrukte groupby having union / intersect / except Aggregatfunktionen revisited Subqueries Korrelierte

Mehr

Universität Augsburg, Institut für Informatik WS 2011/2012 Prof. Dr. W. Kießling 09. Dez Dr. M. Endres, Dr. S. Mandl, F. Wenzel Lösungsblatt 6

Universität Augsburg, Institut für Informatik WS 2011/2012 Prof. Dr. W. Kießling 09. Dez Dr. M. Endres, Dr. S. Mandl, F. Wenzel Lösungsblatt 6 Universität Augsburg, Institut für Informatik WS 2011/2012 Prof. Dr. W. Kießling 09. Dez. 2011 Dr. M. Endres, Dr. S. Mandl, F. Wenzel Lösungsblatt 6 Datenbanksysteme I Aufgabe 1: Deklarative Änderungsoperationen

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

Einführung in die Informatik II

Einführung in die Informatik II Einführung in die Informatik II Relationale Datenbanken und SQL Theorie und Anwendung Prof. Dr. Nikolaus Wulff Gründe für eine Datenbank Meist werden Daten nicht in XML-Dokumenten, sondern innerhalb einer

Mehr

Übersicht der wichtigsten MySQL-Befehle

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

Mehr

Datenbanken Unit 4: Das Relationale Modell & Datenintegrität

Datenbanken Unit 4: Das Relationale Modell & Datenintegrität Datenbanken Unit 4: Das Relationale Modell & Datenintegrität 15. III. 2016 Outline 1 Organisatorisches 2 SQL 3 Relationale Algebra Notation 4 Datenintegrität Organisatorisches Erster Zwischentest: nach

Mehr

Triggern. Change Data Capture

Triggern. Change Data Capture Triggern. Change Data Capture Triggers Was sind Triggers? Eine bestimmte Art von gespeicherte Prozedur, die automatisch ausgeführt wird wenn eine DML oder DDL Anweisung ausgeführt wird Eine Menge von Aktionen,

Mehr

9. Sicherheitsaspekte

9. Sicherheitsaspekte 9. Sicherheitsaspekte Motivation Datenbanken enthalten häufig sensible Daten (z.b. personenbezogene oder unternehmenskritische) Vielzahl verschiedener Benutzer hat Zugriff (z.b. Anwendungen, Mitarbeiter,

Mehr

Teil VIII. Weitere Datenbanksprachen

Teil VIII. Weitere Datenbanksprachen Teil VIII Weitere Datenbanksprachen Weitere Datenbanksprachen 1 Programmiersprachenanbindung 2 QBE 3 Änderungen in QBE 4 Anfragen in Access Sattler / Saake Datenbanksysteme Wintersemester 2010/11 8 1 Programmiersprachenanbindung

Mehr