Inhalt. Beispiel-Datenbank. Verbunde/Joins (1) Verbunde/Joins (2)

Größe: px
Ab Seite anzeigen:

Download "Inhalt. Beispiel-Datenbank. Verbunde/Joins (1) Verbunde/Joins (2)"

Transkript

1 4 SQL SQL 4-2 Inhalt Beispiel-Datenbank 1 Verbunde 2 Mehr über Vergleiche, weitere Bedingungen 3 SELECT-Klausel, Duplikate 4 Nullwerte 5 Sichten 101 Lisa Weiss NULL 103 Daniel Sommer 104 Iris Winter AUFGABEN ATYP ANR THEMA MAXPT H 1 ER 10 H 2 SQL 10 Z 1 SQL 14 H 1 9 H 2 9 Z H Z SQL SQL 4-4 Verbunde/Joins (1) Wenn man Daten aus mehreren Tabellen verknüpft, spricht man von einem Verbund (eng Join) Folgende Anfrage enthält einen Verbund der Tabellen und : SELECT BATYP, BANR, BPUNKTE FROM S, B WHERE SSID = BSID -- Verbund-Bedingung AND SVORNAME = Lisa AND SNACHNAME = Weiss Verbunde/Joins (2) Die obige Anfrage deklariert zwei Tupelvariablen: 1 S soll über die 4 Tupel in laufen, und 2 B über die 8 Tupel in Im Prinzip werden alle 4 8 = 32 Kombinationen betrachtet, und jeweils die WHERE-Bedingung ausgewertet Ist sie wahr, wird die SELECT-Liste ausgegeben

2 4 SQL SQL 4-6 Verbunde/Joins (3) Verbunde/Joins (4) S 101 Lisa Weiss NULL SSID = BSID SVORNAME = Lisa S 101 Lisa Weiss NULL SSID = BSID SVORNAME = Lisa B H 1 9 SNACHNAME = Weiss also drucken: BATYP: H BANR: 1 BPUNKTE: 10 B H 1 9 SNACHNAME = Weiss also drucken: BATYP: H BANR: 2 BPUNKTE: 8 4 SQL SQL 4-8 Verbunde/Joins (5) Verbunde/Joins (6) S 101 Lisa Weiss NULL SSID = BSID SVORNAME = Lisa S 101 Lisa Weiss NULL SSID = BSID SVORNAME = Lisa B H 1 9 SNACHNAME = Weiss also drucken: BATYP: Z BANR: 1 BPUNKTE: 12 B H 1 9 SNACHNAME = Weiss nichts drucken (Bedingung falsch)

3 4 SQL SQL 4-10 Verbunde/Joins (7) Verbunde/Joins (8) 101 Lisa Weiss S NULL SSID = BSID SVORNAME = Lisa 101 Lisa Weiss S NULL SSID = BSID SVORNAME = Lisa B H 1 9 SNACHNAME = Weiss nichts drucken B H 1 9 SNACHNAME = Weiss nichts drucken 4 SQL SQL 4-12 Verbunde/Joins (9) Verbunde/Joins (10) 101 Lisa Weiss S NULL SSID = BSID SVORNAME = Lisa 101 Lisa Weiss S NULL SSID = BSID SVORNAME = Lisa B H 1 9 SNACHNAME = Weiss nichts drucken B H 1 9 SNACHNAME = Weiss nichts drucken

4 4 SQL SQL 4-14 Verbund-Bedingungen (1) Verbunde/Joins (11) Das waren 8 verschiedene Variablenbelegungen Nur für drei davon war die WHERE-Bedingung erfüllt Insgesamt liefert die Anfrage also alle Bewertungen für die Studentin Lisa Weiss: ATYP ANR PUNKTE H 1 10 H 2 8 Z 1 12 Die Verbund-Bedingung SSID = BSID muß explizit unter WHERE mit angegeben werden Sonst werden auch Tupel kombiniert, die sich auf verschiedene Studierende beziehen Übung: Was wäre das Ergebnis dieser Anfrage wenn die Verbundbedingung fehlen würde? SELECT SVORNAME, SNACHNAME FROM S, B WHERE SSID = BSID AND BATYP = H AND BANR = 1 4 SQL SQL 4-16 Verbund-Bedingungen (2) Es ist fast immer ein Fehler, wenn es zwei Tabellen gibt, die nicht durch Verbund-Bedingungen verknüpft sind (eventuell indirekt) Hier sind alle drei Tupelvariablen verbunden: SELECT AATYP, AANR, BPUNKTE, AMAXPT FROM S, B, AUFGABEN A WHERE SSID = BSID AND BATYP = AATYP AND BANR = AANR AND SVORNAME = Lisa AND SNACHNAME = Weiss Verbund-Bedingungen (3) Die Tabellen sind wie folgt verbunden: S SSID = BSID B BATYP = AATYP AND BANR = AANR Das entspricht den Schlüssel-Fremdschlüssel- Beziehungen zwischen den Tabellen A

5 4 SQL SQL 4-18 Verbund-Bedingungen - andere Notation (2) Verbund-Bedingungen - andere Notation (1) Die Verbund- Bedingung der Anfrage von Folie 3 kann auch folgendermaßen formuliert werden: SELECT BATYP, BANR, BPUNKTE FROM S [INNER] JOIN B ON SSID = BSID -- Verbund-Bedingung WHERE SVORNAME = Lisa AND SNACHNAME = Weiss Wenn ein natürlicher Verbund vorliegt, d h wenn der Verbund über alle gleichbenannten Attribute der zu verbindenden Tabellen erfolgt, kann folgendermaßen formuliert werden: SELECT BATYP, BANR, BPUNKTE FROM S NATURAL JOIN B WHERE SVORNAME = Lisa AND SNACHNAME = Weiss Hier muß keine Verbund-Bedingung angegeben werden 4 SQL SQL 4-20 Anfrageformulierung (1) Aufgabe: Geben Sie die Themen aller von Lisa Weiss gelösten Aufgaben aus Lisa Weiss ist eine Studentin, daher sind Tupelvariable S über und folgende Bedingung nötig: SVORNAME = Lisa AND SNACHNAME = Weiss Aufgaben-Themen werden verlangt, so daß eine Tupelvariable A über AUFGABEN benötigt wird Folgender Teil kann bereits erstellt werden: SELECT DISTINCT ATHEMA Anfrageformulierung (2) S und A sind nicht verbunden Es kann helfen, einen Verbindungsgraphen der Tabellen, basierend auf gemeinsamen Spalten (Fremdschlüssel), zu zeichnen: AUFGABEN DISTINCT, da viele Aufgaben das gleiche Thema haben können

6 4 SQL SQL 4-22 Abkürzung: nochmal (1) Anfrageformulierung (3) Man sieht, daß die Tabelle mit der Tupelvariablen B benötigt wird mit folgender Verbund- Bedingung: SSID = BSID AND BATYP = AATYP AND BANR = AANR Verbinden Sie aber nicht mehr Tabellen als nötig Wie bekannt, kann man Spalten ansprechen mit: VariableSpalte (geht immer) Spalte (falls der Spaltenname eindeutig ist) ZB ist diese Anfrage legal: SELECT ATYP, ANR, PUNKTE FROM S, B WHERE SSID = BSID AND VORNAME = Lisa AND NACHNAME = Weiss VORNAME und NACHNAME gibt es nur in S, ATYP, ANR und PUNKTE nur in B SID allein wäre jedoch mehrdeutig, da sowohl S als auch B ein Attribut mit diesem Namen haben 4 SQL SQL 4-24 Abkürzung: nochmal (2) Selbstverbund (1) Beispiel: SELECT AANR, SID, PUNKTE, MAXPT FROM B, AUFGABEN A WHERE BANR = AANR AND BATYP = H AND AATYP = H SQL verlangt, daß der Nutzer festlegt, ob er BANR oder AANR unter SELECT auswählt, obwohl beide gleich sind, so daß es eigentlich egal wäre Die Regel ist rein syntaktisch: Hat mehr als eine Tupelvariable in der FROM-Klausel das Attribut ANR, darf die Tupelvariable nicht fehlen oder das DBMS (zb Oracle) wird den Fehler ORA-00918: column ambiguously defined ausgeben DB2, SQL Server, Access, MySQL sind auch so pedantisch Es ist möglich, daß mehr als ein Tupel derselben Relation benötigt wird, um ein bestimmtes Ergebnis zu erhalten Gibt es einen Studenten, der in Hausaufgabe 1 und in Hausaufgabe 2 jeweils 10 Punkte hat? SELECT SVORNAME, SNACHNAME FROM S, H1, H2 WHERE SSID = H1SID AND SSID = H2SID AND H1ATYP = H AND H1ANR = 1 AND H2ATYP = H AND H2ANR = 2 AND H1PUNKTE = 10 AND H2PUNKTE = 10

7 4 SQL SQL 4-26 Selbstverbund (2) Selbstverbund über mehrere Tabellen(1) Studenten, die mind zwei Aufgaben gelöst haben: SELECT DISTINCT SVORNAME, SNACHNAME FROM S, A1, A2 WHERE SSID = A1SID AND SSID = A2SID AND A1ANR <> A2ANR Die Tupelvariablen A1 und A2 könnten auf das gleiche Tupel in zeigen, deshalb muß man verlangen, daß sie verschieden sind: Folgende Anfrage soll alle Studenten ausgeben, die eine Aufgabe über SQL und eine über ER-Entwurf gelöst haben: Da der Verbund über 3 Tabellen geht, reicht es nicht aus, nur 2 Kopien der Tabelle Aufgaben anzulegen, sondern auch von der Tabelle Bewertungen müssen 2 Kopien angelegt werden 4 SQL SQL 4-28 Selbstverbund über mehrere Tabellen (2) Inhalt Korrekte Lösung: SELECT DISTINCT SVORNAME, SNACHNAME FROM S, B1, B2, AUFGABEN A1, AUFGABEN A2 WHERE SSID = B1SID AND SSID = B2SID AND B1ATYP = A1ATYP AND B1ANR = A1ANR AND B2ATYP = A2ATYP AND B2ANR = A2ANR AND A1THEMA = SQL AND A2THEMA = ER 1 Verbunde 2 Mehr über Vergleiche, weitere Bedingungen 3 SELECT-Klausel, Duplikate 4 Nullwerte 5 Sichten

8 4 SQL SQL 4-30 Beispiel-Datenbank Vergleiche - Zur Erinnerung 101 Lisa Weiss NULL 103 Daniel Sommer 104 Iris Winter AUFGABEN ATYP ANR THEMA MAXPT H 1 ER 10 H 2 SQL 10 Z 1 SQL 14 H 1 9 H 2 9 Z H Z 1 7 Zahlen werden anders verglichen als Zeichenketten, zb 3 < 20, aber 3 > 20 Strings werden Zeichen für Zeichen verglichen, bis das Ergebnis klar ist In diesem Fall kommt 3 alphabetisch nach 2, daher ist der Rest der Zeichenkette nicht wichtig Es ist falsch, Zeichenketten mit Zahlen zu vergleichen, zb 3 > 20 Die verglichenen Werte müssen von kompatiblen Datentypen sein: Alle numerischen Typen sind kompatibel und alle String-Typen ebenfalls, aber numerische Typen sind nicht kompatibel mit String-Typen 4 SQL SQL 4-32 Zeichenkettenvergleich (1) Das Ergebnis eines Vergleichs (=, <>, <, <=, >, >=) zweier Zeichenketten kann vom DBMS abhängen a < b usw und A < B usw gelten in jedem System Die Systeme unterscheiden sich schon im Vergleich von Klein- und Großbuchstaben In Oracle kommen alle Großbuchstaben vor den Kleinbuchstaben (AS- CII), zb Z < a SQL Server, MS Access und MySQL sind case-insensitive, zb a = A Zeichenkettenvergleich (2) Ist die Reihenfolge (<, =, >) zweier Zeichen bekannt, so vergleicht das System Zeichen für Zeichen und der erste Vergleich, der nicht = ergibt, bestimmt das Ergebnis

9 4 SQL SQL 4-34 BETWEEN-Bedingungen Form: Vergleichswert [NOT] BETWEEN Wert1 AND Wert2 x BETWEEN y AND z ist äquivalent zu x >= y AND x <= z ZB: PUNKTE BETWEEN 5 AND 8 LIKE-Bedingungen (1) Form: Vergleichswert [NOT] LIKE Musterstring ZB: LIKE %informatikuni-hallede Das ist für alle -Adressen wahr, die mit informatikuni-hallede enden 4 SQL SQL 4-36 LIKE-Bedingungen (2) LIKE-Bedingungen (3) Das rechte Argument wird als Muster interpretiert % im Muster ersetzt eine Folge beliebiger Zeichen (den leeren String eingeschlossen) _ passt auf ein beliebiges einzelnes Zeichen LIKE muß zur Mustersuche verwendet werden Das Gleichheitszeichen überprüft nur Zeichengleichheit Auch wenn der Vergleichs-String % oder _ enthält Alle Studenten, deren Nachname mit S beginnt: SELECT VORNAME, NACHNAME FROM WHERE NACHNAME LIKE S% Bei Verwendung eines Gleichheitszeichens würde der String S% gesucht Um die Zeichen % und _ ohne ihre spezielle Bedeutung im Muster zu verwenden, wird ein Escape -Zeichen ( \ ) verwendet

10 4 SQL SQL 4-38 IN-Bedingungen Inhalt Form: 1 Verbunde Vergleichswert [NOT] IN ( Aufzählung von Werten, mit Komma getrennt ) ZB ATYP IN ( Z, E ) Dies ist äquivalent zu ATYP = Z OR ATYP = E 2 Mehr über Vergleiche, weitere Bedingungen 3 SELECT-Klausel, Duplikate 4 Nullwerte 5 Sichten 4 SQL SQL 4-40 SELECT-Klausel, SELECT legt die Terme fest, die ausgegeben werden, falls die WHERE-Bed wahr ist (Ergebnis-Spalten) SELECT * kann verwendet werden, um alle Spalten der Tabelle(n) unter FROM auszugeben, zb ist SELECT * FROM äquivalent zu SELECT SID, VORNAME, NACHNAME, FROM Duplikat-Eliminierung (1) In SQL müssen Duplikate explizit eliminiert werden ZB: Welche Aufgaben wurden von mindestens einem Studenten gelöst? ATYP ANR SELECT ATYP, ANR H 1 H 2 FROM Z 1 H 1 H 2 Z 1 H 1 Z 1 Die Duplikate treten auf, weil die Anfrage über alle Tupel in ausgeführt wird

11 4 SQL SQL 4-42 Duplikat-Eliminierung (2) Könnte eine Anfrage Duplikate enthalten und gibt es keinen Grund, diese mit auszugeben, verwendet man SELECT DISTINCT : SELECT DISTINCT ATYP, ANR FROM ATYP ANR H 1 H 2 Z 1 Man beachte, daß DISTINCT immer zu ganzen Zeilen gehört, nicht zu einzelnen Spalten: SELECT ATYP, ANR, DISTINCT THEMA FROM AUFGABEN Falsch! Umbenennung von Spalten (1) Um Ausgabe-Spalten umzubenennen: SELECT VORNAME V_Name, NACHNAME "Name" FROM V_NAME Lisa Daniel Iris Name Weiss Sommer Winter 4 SQL SQL 4-44 Umbenennung von Spalten (2) Inhalt Ohne die doppelten Anführungszeichen wird die Überschrift in Großbuchstaben ausgegeben Mit den doppelten Anführungszeichen wird die Überschrift genau so ausgegeben, wie sie in der SQL- Anweisung geschrieben wurde Sie kann dann auch Sonderzeichen bzw Leerzeichen enthalten 1 Verbunde 2 Mehr über Vergleiche, weitere Bedingungen 3 SELECT-Klausel, Duplikate 4 Nullwerte 5 Sichten

12 4 SQL SQL 4-46 Beispiel-Datenbank Nullwerte (1) 101 Lisa Weiss NULL 103 Daniel Sommer 104 Iris Winter AUFGABEN ATYP ANR THEMA MAXPT H 1 ER 10 H 2 SQL 10 Z 1 SQL 14 H 1 9 H 2 9 Z H Z 1 7 Wie in Kapitel 2 erwähnt, können Tabelleneinträge einen Nullwert enthalten (falls nicht mit NOT NULL in der Tabellendeklaration ausgeschlossen) Der Nullwert ist von allen normalen Werten des Datentyps verschieden, insbesondere ist er verschieden von der Zahl 0 und dem leeren String Ohne Nullwerte wäre es nötig, die meisten Relationen aufzuspalten ( Subklassen ): ZB _MIT_ , _OHNE_ Oder extra Relation: STUD_ (SID, ) 4 SQL SQL 4-48 Nullwerte (2) Nullwerte werden in vielen verschiedenen Situationen verwendet, zb: Ein Wert existiert, ist aber unbekannt Es existiert kein Wert Es könnte ein (unbekannter) Wert existieren, oder auch keiner Spalte ist auf dieses Tupel nicht anwendbar (den Wert gibt es für dieses Tupel nicht Wert wird später zugewiesen/bekannt gegeben Jeder Wert ist möglich Dreiwertige Logik (1) SQL benutzt eine dreiwertige Logik, um Bedingungen mit Nullwerten auszuwerten: wahr/falsch/unbekannt Da man an die normale zweiwertige Logik gewöhnt ist, kann es Überraschungen geben einige Äquivalenzen gelten nicht Für Berechnungen (zb +) gilt: Ist einer der Eingabewerte (Argumente) Null, so das Ergebnis auch Null Ist zb A Null, so ist A+B ebenfalls Null

13 4 SQL SQL 4-50 Dreiwertige Logik (2) Betrachten Sie folgende Anfrage: SELECT VORNAME, NACHNAME FROM WHERE = xyz@acmorg Was passiert, wenn ein Student in der Spalte einen Nullwert hat? Er wird nicht ausgegeben Aber er tritt auch nicht im Ergebnis dieser Anfrage auf (weil der Wert nicht bekannt ist): SELECT VORNAME, NACHNAME FROM WHERE NOT ( = xyz@acmorg ) Dreiwertige Logik (3) Die Bedingung = xyz@acmorg ist, wenn Null ist, weder falsch noch wahr SQL verwendet eine dreiwertige Logik, um Nullwerte zu behandeln Die drei Wahrheitswerte sind wahr, falsch und (unbekannt oder null) In SQL ergibt ein Vergleich mit einem Nullwert immer den dritten Wahrheitswert unbekannt 4 SQL SQL 4-52 Dreiwertige Logik (4) P Q NOT P P AND Q P OR Q falsch falsch wahr falsch falsch falsch null wahr falsch null falsch wahr wahr falsch wahr null falsch null falsch null null null null null null null wahr null null wahr wahr falsch falsch falsch wahr wahr null falsch null wahr wahr wahr falsch wahr wahr Form: Term IS [NOT] NULL Beispiel: IS NULL oder IS NOT NULL Test auf Null (1)

14 4 SQL SQL 4-54 Test auf Null (2) Aufgabe: Die folgende Anfrage gibt alle Studenten mit einer -Adresse in der Domäne uni-hallede aus: SELECT VORNAME, NACHNAME FROM WHERE IS NOT NULL AND LIKE %uni-hallede Ist der Test auf Null notwendig? Oder ist folgende Anfrage äquivalent? SELECT VORNAME, NACHNAME FROM WHERE LIKE %uni-hallede Probleme mit Nullwerten Wichtig: Null-Werte zählen weder zu den Gleichheiten noch zu den Ungleichheiten: ZB ist X = X unbekannt und nicht wahr, wenn X Null ist 4 SQL SQL 4-56 Inhalt Beispiel-Datenbank 1 Verbunde 2 Mehr über Vergleiche, weitere Bedingungen 3 SELECT-Klausel, Duplikate 4 Nullwerte 5 Sichten 101 Lisa Weiss NULL 103 Daniel Sommer 104 Iris Winter AUFGABEN ATYP ANR THEMA MAXPT H 1 ER 10 H 2 SQL 10 Z 1 SQL 14 H 1 9 H 2 9 Z H Z 1 7

15 4 SQL SQL 4-58 Sichten (1) Sichten erlauben es, eine Anfrage in der Datenbank abzuspeichern, und ihr einen Namen zu geben (man kann auch die Ergebnisspalten umbenennen): CREATE VIEW HA 1(NACHNAME, VORNAME, PUNKTE A1) AS SELECT SNACHNAME, SVORNAME, BPUNKTE FROM S, B WHERE BATYP = H AND BANR = 1 AND SSID = BSID Man kann Sichten ( virtuelle Tabellen ) in Anfragen wie normale Tabellen ( Basistabellen ) nutzen Sichten (2) Beispiel: Anfrage an die Sicht: SELECT XNACHNAME, XVORNAME FROM HA 1X WHERE XPUNKTE A1 > 8 Das DBMS kann intern den Namen der Sicht einfach durch die definierende Anfrage ersetzen: SELECT XNACHNAME, XVORNAME FROM (SELECT NACHNAME, VORNAME, PUNKTE FROM S, B WHERE ATYP = H AND ANR = 1 AND SSID = BSID) X WHERE XPUNKTE > 8 4 SQL SQL 4-60 Sichten (3) Sichten sind abgeleitete, virtuelle Tabellen, die aus den (tatsächlich abgespeicherten) Basistabellen berechnet werden Nur der Text der definierenden Anfrage wird dauerhaft im System gespeichert Sichten können also nie Informationen enthalten, die nicht auch in den Basistabellen enthalten ist Sichten können aber die in den Basistabellen enthaltene Information anders strukturiert anzeigen Sichten (4) Die Anfrage der Sicht wird im Prinzip immer neu ausgewertet, wenn die Sicht benutzt wird Wenn die in der Sicht verwendeten Basistabellen (, ) geändert werden, spiegelt die Sicht automatisch diese Änderungen wider Sie ist also immer ganz aktuell

16 4 SQL SQL 4-62 Syntax (1) Sichten (5) Sichten können auch in der Definition anderer Sichten verwendet werden Auf diese Art können komplexe Anfragen Schritt für Schritt aufgebaut werden Sichtdefinitionen können gelöscht werden mit: DROP VIEW NAME CREATE VIEW NAME (attribut1, attribut2, ) AS Anfrage In Oracle kann man folgendes schreiben: CREATE OR REPLACE VIEW NAME Überschreibt ggf bereits existierende Definition 4 SQL SQL 4-64 Anwendungen von Sichten (1) Anwendungen von Sichten (2) Bequemlichkeit / Wiederverwendung: Wiederkehrende Muster in Anfragen sind bereits vordefiniert Die Basisrelationen sollten keine Redundanzen enthalten Relationen mit abgeleiteten Informationen sind aber manchmal in Anfragen bequemer Redundante Daten in Sichten sind kein Problem, weil diese Daten ja nicht abgespeichert werden, sondern nach Bedarf berechnet werden Schrittweiser Aufbau komplexer Anfragen Anpassung des DB-Schemas an die Wünsche verschiedener Benutzer / Benutzer-Gruppen Sicherheit: Bestimmte Benutzer sollten nur einen Teil einer Tabelle (gewisse Zeilen/Spalten) sehen können, oder nur aggregierte/anonymisierte Daten Ohne Sichten ist die Granularität für Zugriffsrechte im wesentlichen die Tabelle Nur die Änderungsrechte können üblicherweise auch für einzelne Spalten vergeben werden Logische Datenunabhängigkeit: Man kann neue Attribute zu einer Tabelle hinzufügen, und die alte Version noch als Sicht zur Verfügung stellen

Teil 12: Sichten (Views, Virtuelle Tabellen)

Teil 12: Sichten (Views, Virtuelle Tabellen) 12. Sichten (Views) 12-1 Teil 12: Sichten (Views, Virtuelle Tabellen) Literatur: Elmasri/Navathe:Fundamentals of Database Systems, 3rd Edition, 1999. Section. 8.5, Views (Virtual Tables) in SQL Silberschatz/Korth/Sudarshan:

Mehr

5. SQL II 5-1. Teil 5: SQL II

5. SQL II 5-1. Teil 5: SQL II 5. SQL II 5-1 Literatur: Teil 5: SQL II Elmasri/Navathe:Fundamentals of Database Systems, 3. Auflage, 1999. Chap. 8, SQL The Relational Database Standard (Sect. 8.2, 8.3.3, part of 8.3.4.) Silberschatz/Korth/Sudarshan:

Mehr

Details zu den Ausdrücken nach FROM, WHERE, GROUP BY und HAVING finden Sie in den Abschnitten über JOIN, WHERE und GROUP BY.

Details zu den Ausdrücken nach FROM, WHERE, GROUP BY und HAVING finden Sie in den Abschnitten über JOIN, WHERE und GROUP BY. SELECT - Der Grundbefehl zur Auswahl von Daten Die SELECT-Anweisung fragt Daten aus einer Datenbank ab und stellt diese in einer virtuellen Tabelle zur Verfügung. Diese virtuelle Tabelle, eine Menge von

Mehr

Einführung in SQL. 1. Grundlagen SQL. Structured Query Language. Viele Dialekte. Unterteilung: i. DDL (Data Definition Language)

Einführung in SQL. 1. Grundlagen SQL. Structured Query Language. Viele Dialekte. Unterteilung: i. DDL (Data Definition Language) Einführung in SQL 1. Grundlagen Structured Query Language Viele Dialekte Unterteilung: i. DDL (Data Definition Language) ii. iii. DML (Data Modifing Language) DRL (Data Retrival Language) 1/12 2. DDL Data

Mehr

MySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben.

MySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben. MySQL-Befehle 1. Einleitung In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben. 2. Arbeiten mit Datenbanken 2.1 Datenbank anlegen Eine Datenbank kann man wie folgt

Mehr

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

Datumsangaben, enthält mindestens Jahr, Monat, Tag

Datumsangaben, enthält mindestens Jahr, Monat, Tag Datenbanken mit SQL Informatik - Sprenger Häufig wird mit Tabellenkalkulationen gearbeitet, obwohl der Einsatz von Datenbanken sinnvoller ist. Tabellenkalkulationen wie Microsoft Excel oder LibreOffice

Mehr

SQL. Structured Query Language

SQL. Structured Query Language SQL Structured Query Language Grundlagen zu Abfrage SQL Jede SQL-Abfrage enthält die drei Hauptbefehle: select (engl. auswählen), from (engl. von) und where (engl. wo). Mit select gibt man an, welche Spalten

Mehr

4. SQL I 4-1. Teil 4: SQL I

4. SQL I 4-1. Teil 4: SQL I 4. SQL I 4-1 Literatur: Teil 4: SQL I Elmasri/Navathe: Fundamentals of Database Systems, 3. Auflage, 1999. Chap. 8, SQL The Relational Database Standard (Sect. 8.2, 8.3.3, Teil von 8.3.4.) Silberschatz/Korth/Sudarshan:

Mehr

4. SQL I 4-1. Teil 4: SQL I

4. SQL I 4-1. Teil 4: SQL I 4. SQL I 4-1 Literatur: Teil 4: SQL I Elmasri/Navathe: Fundamentals of Database Systems, 3. Auflage, 1999. Chap. 8, SQL The Relational Database Standard (Sect. 8.2, 8.3.3, Teil von 8.3.4.) Silberschatz/Korth/Sudarshan:

Mehr

SQL. Komplexe Abfragen. SQL-Komplexe Abfragen. SQL-Komplexe Abfragen. Komplexe Abfragen verknüpfen mehrere Tabellen miteinander.

SQL. Komplexe Abfragen. SQL-Komplexe Abfragen. SQL-Komplexe Abfragen. Komplexe Abfragen verknüpfen mehrere Tabellen miteinander. SQL Komplexe Abfragen Komplexe Abfragen verknüpfen mehrere Tabellen miteinander. Voraussetzung für das Verständnis ist die Beherrschung einfacher SELECT-Abfragen Die Möglichkeit, Tabellen zu verknüpfen,

Mehr

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

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

Mehr

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

Kapitel 3: Datenbanksysteme

Kapitel 3: Datenbanksysteme LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2015 Kapitel 3: Datenbanksysteme Vorlesung:

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

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten Einführung in SQL Die Sprache SQL (Structured Query Language) ist eine Programmiersprache für relationale Datenbanksysteme, die auf dem ANSI-SQL-Standard beruht. SQL wird heute von fast jedem Datenbanksystem

Mehr

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

6. SQL III 6-1. Teil 6: SQL III

6. SQL III 6-1. Teil 6: SQL III 6. SQL III 6-1 Literatur: Teil 6: SQL III Elmasri/Navathe:Fundamentals of Database Systems, 3. Auflage, 1999. Chap. 8, SQL The Relational Database Standard (Sect. 8.2, 8.3.3, part of 8.3.4.) Silberschatz/Korth/Sudarshan:

Mehr

ACCESS SQL ACCESS SQL

ACCESS SQL ACCESS SQL ACCESS SQL Datenbankabfragen mit der Query-Language ACCESS SQL Datenbankpraxis mit Access 34 Was ist SQL Structured Query Language Bestehend aus Datendefinitionssprache (DDL) Datenmanipulationssprache

Mehr

Themen des Kapitels. 2 Grundlagen von PL/SQL. PL/SQL Blöcke Kommentare Bezeichner Variablen Operatoren. 2.1 Übersicht. Grundelemente von PL/SQL.

Themen des Kapitels. 2 Grundlagen von PL/SQL. PL/SQL Blöcke Kommentare Bezeichner Variablen Operatoren. 2.1 Übersicht. Grundelemente von PL/SQL. 2 Grundlagen von PL/SQL Grundelemente von PL/SQL. 2.1 Übersicht Themen des Kapitels Grundlagen von PL/SQL Themen des Kapitels PL/SQL Blöcke Kommentare Bezeichner Variablen Operatoren Im Kapitel Grundlagen

Mehr

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

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

Mehr

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

U 8 SQL. = Structured Query Language (heute auch Standard Query Language) ALLGEMEIN:

U 8 SQL. = Structured Query Language (heute auch Standard Query Language) ALLGEMEIN: U 8 SQL = Structured Query Language (heute auch Standard Query Language) ALLGEMEIN: - Abfragesprache für relationale Datenbanken, die plattformübergreifend verwendet wird - Vereinfachte Verwendung über

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

Tabellenausdrücke. Bedingungen

Tabellenausdrücke. Bedingungen Anfragetypen in SQL zwei Typen von SQL-Ausdrücken: Resultat: abgeleitete Tabelle ( derived table ) Tabellenausdrücke DB Bedingungen Problem (?): Nur Tabellenausdrücke dürfen direkt vom Benutzer als Anfrage

Mehr

Datenbanken. Ein DBS besteht aus zwei Teilen:

Datenbanken. Ein DBS besteht aus zwei Teilen: Datenbanken Wikipedia gibt unter http://de.wikipedia.org/wiki/datenbank einen kompakten Einblick in die Welt der Datenbanken, Datenbanksysteme, Datenbankmanagementsysteme & Co: Ein Datenbanksystem (DBS)

Mehr

Microsoft Access 2010 SQL nutzen

Microsoft Access 2010 SQL nutzen Microsoft Access 2010 SQL nutzen Welche Bestellungen hat Kunde x aufgegeben? Welche Kunden haben noch nie bestellt? Wer hat welche Bestellungen von welchen Kunden aufgenommen? S(tructured)Q(uery)L(anguage)

Mehr

Oracle: Abstrakte Datentypen:

Oracle: Abstrakte Datentypen: Oracle: Abstrakte Datentypen: Oracle bietet zwei mögliche Arten um abstrakte Datentypen zu implementieren: Varying Array Nested Table Varying Array (kunde) kdnr kdname gekaufteart 1 Mustermann 1 4 5 8

Mehr

Structured Query Language (SQL) als standardisierte Anfragesprache für relationale Datenbanken

Structured Query Language (SQL) als standardisierte Anfragesprache für relationale Datenbanken Rückblick Structured Query Language (SQL) als standardisierte Anfragesprache für relationale Datenbanken Data Definition Language zur Schemadefinition (z.b. CREATE TABLE zum Anlegen von Tabellen) Data

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

SQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar

SQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar Qt-Seminar Dienstag, 10.2.2009 SQL ist......die Abkürzung für Structured Query Language (früher sequel für Structured English Query Language )...ein ISO und ANSI Standard (aktuell SQL:2008)...eine Befehls-

Mehr

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

Inhalt. Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle. Daten und Tabellen - ein Beispiel. Daten und Tabellen - Normalisierung

Inhalt. Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle. Daten und Tabellen - ein Beispiel. Daten und Tabellen - Normalisierung Inhalt Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle Daten und Tabellen Normalisierung, Beziehungen, Datenmodell SQL - Structured Query Language Anlegen von Tabellen Datentypen (Spalten,

Mehr

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

Software-Engineering Einführung

Software-Engineering Einführung Software-Engineering Einführung 7. Übung (04.12.2014) Dr. Gergely Varró, gergely.varro@es.tu-darmstadt.de Erhan Leblebici, erhan.leblebici@es.tu-darmstadt.de Tel.+49 6151 16 4388 ES Real-Time Systems Lab

Mehr

SQL Teil 2. SELECT Projektion Selektion Vereinigung, Schnitt, Differenz Verbund Komplexer SELECT-Ausdruck

SQL Teil 2. SELECT Projektion Selektion Vereinigung, Schnitt, Differenz Verbund Komplexer SELECT-Ausdruck SELECT Projektion Selektion Vereinigung, Schnitt, Differenz Verbund Fahren fort mit SQL Befehlen. Bilden Relationenalgebra auf SQL ab. So Umsetzung von Anfragen an die DB (bzw. Tabellen) möglich. SELECT

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

Datenbanken für Online Untersuchungen

Datenbanken für Online Untersuchungen Datenbanken für Online Untersuchungen Im vorliegenden Text wird die Verwendung einer MySQL Datenbank für Online Untersuchungen beschrieben. Es wird davon ausgegangen, dass die Untersuchung aus mehreren

Mehr

Aufbau des SELECT-Befehls. Im Folgenden werden zunächst Abfragen aus einer Tabelle vorgenommen.

Aufbau des SELECT-Befehls. Im Folgenden werden zunächst Abfragen aus einer Tabelle vorgenommen. Datenbankabfragen (Query) mit SQL (Structured Query Language) 1 Aufbau des SELECT-Befehls Im Folgenden werden zunächst Abfragen aus einer Tabelle vorgenommen. SQL-Syntax: SELECT spaltenliste FROM tabellenname

Mehr

Kompaktes Datenbank-Wissen rund um die Datenbank-Programmierung mit Transact-SQL

Kompaktes Datenbank-Wissen rund um die Datenbank-Programmierung mit Transact-SQL UnternehmensDatenbanken im Netzwerk Teil 3: SQL Programmierung - Grundlagen SQL-Befehle Funktionen Operatoren Datentypen Datenbank erstellen Tabellen SQL-Abfragen Autor: Rainer Egewardt Copyright Kompaktes

Mehr

Eine völlig andere Form Abfragen zu erstellen ist, sie mit Hilfe der Datenbankabfragesprache SQL zu gestalten.

Eine völlig andere Form Abfragen zu erstellen ist, sie mit Hilfe der Datenbankabfragesprache SQL zu gestalten. Einführung SQL 2010 Niko Becker Mit unseren Übungen zu ACCESS können Sie Aufbau und Struktur einer relationalen Datenbank kennenlernen. Wir zeigen Ihnen wie Sie Tabellen, Formulare und Berichte erstellen

Mehr

SQL structured query language

SQL structured query language Umfangreiche Datenmengen werden üblicherweise in relationalen Datenbank-Systemen (RDBMS) gespeichert Logische Struktur der Datenbank wird mittels Entity/Realtionship-Diagrammen dargestellt structured query

Mehr

Teil 7: Data Warehouses und neuere SQL-Konstrukte

Teil 7: Data Warehouses und neuere SQL-Konstrukte 7. Data Warehouses und neuere SQL-Konstrukte 7-1 Teil 7: Data Warehouses und neuere SQL-Konstrukte Literatur: Kemper/Eickler: Datenbanksysteme, 7. Aufl., Kap. 17, Oldenbourg, 2009. Elmasri/Navathe: Fundamentals

Mehr

Vorlesung Informatik II

Vorlesung Informatik II Vorlesung Informatik II Universität Augsburg Wintersemester 2011/2012 Prof. Dr. Bernhard Bauer Folien von: Prof. Dr. Robert Lorenz Lehrprofessur für Informatik 08. Exkurs: Datenbanken 1 Motivation Datenbanksysteme

Mehr

Teil 7: Data Warehouses und neuere SQL-Konstrukte

Teil 7: Data Warehouses und neuere SQL-Konstrukte 7. Data Warehouses und neuere SQL-Konstrukte 7-1 Teil 7: Data Warehouses und neuere SQL-Konstrukte Literatur: Kemper/Eickler: Datenbanksysteme, 7. Aufl., Kap. 17, Oldenbourg, 2009. Elmasri/Navathe: Fundamentals

Mehr

Uni Duisburg-Essen Fachgebiet Informationssysteme Prof. Dr. N. Fuhr

Uni Duisburg-Essen Fachgebiet Informationssysteme Prof. Dr. N. Fuhr Raum: LF 230 Bearbeitung: 9.-11. Mai 2005 Datum Gruppe Vorbereitung Präsenz Aktuelle Informationen unter: http://www.is.informatik.uni-duisburg.de/courses/dbp_ss03/ Tabellen in IBM DB2 Tabellen Eine relationale

Mehr

Einleitung Projektion Selektion Join Mengenop. Vollst.keit. Einleitung Projektion. Selektion Join. Vollst.keit. Einleitung Projektion Selektion Join

Einleitung Projektion Selektion Join Mengenop. Vollst.keit. Einleitung Projektion. Selektion Join. Vollst.keit. Einleitung Projektion Selektion Join Parsen der Anfrage (SQL) Transformation in eine Standardform (Relationenalgebra) Logische Optimierung Transformation in alternative Zugriffspläne, Physische Optimierung Ausführung des gewählten Zugriffsplans

Mehr

SQL-DDL und SQL-Anfragen. CREATE TABLE Kategorie (Bezeichnung VARCHAR(15) NOT NULL PRIMARY KEY, Klassifikationskriterium VARCHAR(100) NOT NULL )

SQL-DDL und SQL-Anfragen. CREATE TABLE Kategorie (Bezeichnung VARCHAR(15) NOT NULL PRIMARY KEY, Klassifikationskriterium VARCHAR(100) NOT NULL ) Technische Universität München WS 2003/04, Fakultät für Informatik Datenbanksysteme I Prof. R. Bayer, Ph.D. Lösungsblatt 6 Dipl.-Inform. Michael Bauer Dr. Gabi Höfling 1.12.2003 SQL-DDL und SQL-Anfragen

Mehr

Datenbanken erstellen Liste von Datenbanken anzeigen Datenbanken löschen. MySQL 4, 5. Kapitel 06: Datenbanken. Marcel Noe

Datenbanken erstellen Liste von Datenbanken anzeigen Datenbanken löschen. MySQL 4, 5. Kapitel 06: Datenbanken. Marcel Noe MySQL 4, 5 Kapitel 06: Datenbanken Gliederung 1 Datenbanken erstellen 2 3 Datenbanken erstellen CREATE DATABASE erstellt. Optional kann der Parameter IF NOT EXISTS die Datenbank bereits existiert.

Mehr

Vorlesung Datenbankmanagementsysteme

Vorlesung Datenbankmanagementsysteme Vorlesung Datenbankmanagementsysteme SQL zur Datenanalyse & Einführung Online Analytical Processing (OLAP) (auf Basis von Oracle) Vorlesung Datenbankmanagementsysteme SQL zur Datenanalyse M. Lange, S.

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

TimeSafe Leistungserfassung

TimeSafe Leistungserfassung Keep your time safe. TimeSafe Leistungserfassung Adressimport 1/8 Inhaltsverzeichnis Inhaltsverzeichnis... 2 1 Allgemeines... 3 1.1 Adressen in der TimeSafe Leistungserfassung... 3 1.2 Organisationen und/oder

Mehr

Einführung in Datenbanken und SQL

Einführung in Datenbanken und SQL Veranstaltung Pr.-Nr.: 101023 Einführung in Datenbanken und SQL Veronika Waue WS 07/08 Übung 5 Welche Lehrangebote haben die Pruefungsnummer 10027? Jeder Titel soll nur einmal ausgegeben werden. (Achtung

Mehr

Handbuch organice SQL-Reportgenerator

Handbuch organice SQL-Reportgenerator organice Software GmbH Handbuch organice SQL-Reportgenerator Benutzerhandbuch Stand: August 2013 Inhalt 1. Allgemeine Informationen... 3 1.1 Einführung... 3 1.2 Voraussetzungen... 3 1.3 Zielgruppe... 3

Mehr

3. Das Relationale Datenmodell

3. Das Relationale Datenmodell 3. Das Relationale Datenmodell Das Relationale Datenmodell geht zurück auf Codd (1970): E. F. Codd: A Relational Model of Data for Large Shared Data Banks. Comm. of the ACM 13(6): 377-387(1970) DBMS wie

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: Relationales Datenbankmodell RDM

Datenbanken: Relationales Datenbankmodell RDM Das RDM wurde in den 70'er Jahren von Codd entwickelt und ist seit Mitte der 80'er Jahre definierter Standard für Datenbanksysteme! Der Name kommt vom mathematischen Konzept einer Relation: (Sind A, B

Mehr

Klausur zur Vorlesung Datenbanksysteme I

Klausur zur Vorlesung Datenbanksysteme I Prof. Dr. W. Kießling 30.01.2002 Lehrstuhl für Datenbanken und Informationssysteme Universität Augsburg Klausur zur Vorlesung Datenbanksysteme I Wintersemester 2001/2002 Name Vorname Matrikelnummer Aufgabe

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

Vielen Dank an Dennis Riehle für die Bereitstellung dieser Folien

Vielen Dank an Dennis Riehle für die Bereitstellung dieser Folien Vielen Dank an Dennis Riehle für die Bereitstellung dieser Folien 1.1 Definition Datenbank Ein Datenbanksystem (DBS) ist ein System zur elektronischen Datenverwaltung. Die wesentliche Aufgabe eines DBS

Mehr

Die SQL-Syntax für den Befehl CREATE TABLE sieht folgendermassen aus:

Die SQL-Syntax für den Befehl CREATE TABLE sieht folgendermassen aus: Einführung in MySQL SQL (Structured Query Language) ist eine Computersprache zum Speichern, Bearbeiten und Abfragen von Daten in relationalen Datenbanken. Eine relationale Datenbank kann man sich als eine

Mehr

5. Übungsblatt (Testatwoche: Mai 2010)

5. Übungsblatt (Testatwoche: Mai 2010) 5. Übungsblatt (Testatwoche: 18. - 20. Mai 2010) Einführung in Datenbanksysteme Datenbanken für die Bioinformatik Heinz Schweppe, Katharina Hahn Aufgabe 1 (Kardinalitäten von Ergebnisrelationen) 6 Punkte

Mehr

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP Datenbanktechnologie mit praktischen Übungen in MySQL und PHP Übung, Sommersemester 2013 29. April 2013 - MySQL 2 Sebastian Cuy sebastian.cuy@uni-koeln.de Aufgaben Anmerkungen Best practice: SQL Befehle

Mehr

Relationale Datenbanken in der Praxis

Relationale Datenbanken in der Praxis Seite 1 Relationale Datenbanken in der Praxis Inhaltsverzeichnis 1 Datenbank-Design...2 1.1 Entwurf...2 1.2 Beschreibung der Realität...2 1.3 Enitiy-Relationship-Modell (ERM)...3 1.4 Schlüssel...4 1.5

Mehr

SQL Self-Join. Bei der Verbundbildung wird mehr als einmal Bezug auf eine Relation genommen Prinzip der Verbundbildung

SQL Self-Join. Bei der Verbundbildung wird mehr als einmal Bezug auf eine Relation genommen Prinzip der Verbundbildung Self-Join Bei der Verbundbildung wird mehr als einmal Bezug auf eine Relation genommen Prinzip der Verbundbildung Select * From Tabellenname T1, Tabellenname T2; -- T1=T2 Anwendungsbeispiel: Finde die

Mehr

Aufgabensammlung SQL SW4 1. Einfache Anfragen

Aufgabensammlung SQL SW4 1. Einfache Anfragen Aufgabensammlung SQL SW4 1. Einfache Anfragen Buch: Kapitel 4.6 und 4.7. Datenbank: Die folgenden Anfragen beziehen sich auf die Universitätsdatenbank des Buches. Alle Umlaute werden umschrieben (hören

Mehr

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

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R 1.008. Vorlesung #5. SQL (Teil 3) Vorlesung #5 SQL (Teil 3) Fahrplan Besprechung der Übungsaufgaben Rekursion Rekursion in SQL-92 Rekursion in DBMS- Dialekten (Oracle und DB2) Views (Sichten) - gespeicherte Abfragen Gewährleistung der

Mehr

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

Benutzerverwaltung, Sichten und Datenintegrität

Benutzerverwaltung, Sichten und Datenintegrität Benutzerverwaltung, Sichten und Einige Vergleiche zwischen MySQL, Oracle und PostgreSQL OStR Michael Dienert, StR Ahmad Nessar Nazar 29. November und 30. November 2011 1 von 113 OStR Michael Dienert, StR

Mehr

Institut für Informatik

Institut für Informatik Aufgaben für die 14. und 15. zur LV "Grundlagen der Informatik" Thema: Datenbanken ( ERM: Entity-Relationship-Modell und SQL: Structured Query Language ) sowie HTML (Hypertext Markup Language) -------------------------------------------------------------------------------------------------------------------------

Mehr

Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen.

Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. LIKE (Transact-SQL) SQL Server 2012 Dieser Artikel wurde noch nicht bewertet

Mehr

7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2

7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2 5 Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn 7 7. Datenbank-Zugriff Zum Beispiel aus PHP-Skripten: Client 7-2 Struktur einer Datenbank 7-3 Erzeugen von Datenbanken

Mehr

cs241: Datenbanken mit Übungen HS 2011

cs241: Datenbanken mit Übungen HS 2011 UNIVERSITÄT BASEL Prof. Dr. Heiko Schuldt MSc. Nenad Stojnić BSc. Ivan Giangreco BSc. Florian Lindörfer cs241: Datenbanken mit Übungen HS 2011 Übung 5 Abgabe bis: 4.11.2011 Hinweise: Modalitäten der Abgabe:

Mehr

SQL C.J. Dates Empfehlungen

SQL C.J. Dates Empfehlungen In seinem Buch SQL and Relational Theory: How to Write Accurate SQL Code, erschienen 2009 bei O Reilly, setzt sich C.J. Date mit SQL auseinander. Kurz gesagt: es ist beklagenswert, wie weit entfernt SQL

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

E-Commerce: IT-Werkzeuge. Web-Programmierung. Kapitel 6: Datenbankabfragen mit SQL und PHP. Stand: 24.11.2014. Übung WS 2014/2015

E-Commerce: IT-Werkzeuge. Web-Programmierung. Kapitel 6: Datenbankabfragen mit SQL und PHP. Stand: 24.11.2014. Übung WS 2014/2015 Übung WS 2014/2015 E-Commerce: IT-Werkzeuge Web-Programmierung Kapitel 6: Datenbankabfragen mit SQL und PHP Stand: 24.11.2014 Benedikt Schumm M.Sc. Lehrstuhl für ABWL und Wirtschaftsinformatik Katholische

Mehr

Online-Kurs 'Datenbanken und Datenmodellierung'

Online-Kurs 'Datenbanken und Datenmodellierung' Online-Kurs 'Datenbanken und Datenmodellierung' n Print-Version - 15.04.2002 (c) StR S. Winter - Universität Passau Inhaltsverzeichnis 1 Der Aufbau von SQL-Anfragen im Überblick 1.1 Der Aufbau einer SQL-Anfrage

Mehr

SQL. Abfragesprache Datenmanipulation - DML

SQL. Abfragesprache Datenmanipulation - DML SQL Abfragesprache Datenmanipulation - DML SQL DML-Operationen DML = Data Manipulation Language Sprache zur Veränderung der Daten Operationen Daten selektieren Daten einfügen Daten ändern Daten löschen

Mehr

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

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

Mehr

S(tructured)Q(uery)L(anguage)

S(tructured)Q(uery)L(anguage) S(tructured)Q(uery)L(anguage) Welche Kunden haben wir? Welche Kunden wohnen in Chicago? Welche Bestellung wurden zwischen dem 01.03.2006 und dem 31.03.2006 aufgegeben? Leibniz Universität IT Services Anja

Mehr

Übung 7 DBMS-FUNKTIONALITÄTEN UND DATENIMPORT

Übung 7 DBMS-FUNKTIONALITÄTEN UND DATENIMPORT Übung 7 DBMS-FUNKTIONALITÄTEN UND DATENIMPORT 1 Metadaten a) Wozu werden Metadaten im Umfeld von DBMS benötigt? b) Nennen Sie mindestens zwei weitere Anwendungsfelder, in denen Metadaten zum Einsatz kommen.

Mehr

Bibliografische Informationen digitalisiert durch http://d-nb.info/995021198

Bibliografische Informationen digitalisiert durch http://d-nb.info/995021198 Auf einen Blick 1 Einleitung 15 2 Datenbankentwurf 23 3 Datenbankdefinition 43 4 Datensätze einfügen (INSERT INTO) 95 5 Daten abfragen (SELECT) 99 6 Daten aus mehreren Tabellen abfragen (JOIN) 143 7 Unterabfragen

Mehr

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

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

Mehr

Multimedia im Netz Wintersemester 2013/14. Übung 03 (Nebenfach)

Multimedia im Netz Wintersemester 2013/14. Übung 03 (Nebenfach) Multimedia im Netz Wintersemester 2013/14 Übung 03 (Nebenfach) Ludwig-Maximilians-Universität München Multimedia im Netz WS 2013/14 - Übung 3-1 Datenbanken und SQL Mit Hilfe von Datenbanken kann man Daten

Mehr

Datenbanken Unit 1: Einleitung

Datenbanken Unit 1: Einleitung Datenbanken Unit 1: Einleitung 23. II. 2016 Eine Frage zum Einstieg Eine Frage Was macht ein(e) LogistikerIn eigentlich so? Eine Frage zum Einstieg Eine Frage Was macht ein(e) LogistikerIn eigentlich so?

Mehr

SQL,Teil 3: Unterabfragen, Views & Berechnungen

SQL,Teil 3: Unterabfragen, Views & Berechnungen SQL,Teil 3: Unterabfragen, Views & Berechnungen W. Spiegel Übersicht Hinweis... Unterabfragen (subqueries) Virtuelle Spalten: AS Logik Berechnungen: Aggregatfunktionen in SQL GROUP BY & HAVING Views (Sichten)

Mehr

SQL-Anweisungen. SELECT (SQL Data Query Language)

SQL-Anweisungen. SELECT (SQL Data Query Language) SQL-Anweisungen SELECT (SQL Data Query Language) SELECT * SELECT * FROM "meine Tabelle"; SELECT feldname1, feldname2 SELECT feldname1, feldname2 FROM meinetabelle ORDER BY feldname2, feldname1 DESC; WHERE

Mehr

Relationentheorie grundlegende Elemente

Relationentheorie grundlegende Elemente Relationentheorie grundlegende Elemente Symbol Bedeutung Entsprechung in SQL π AAAA Projektion SELECT σ F Selektion WHERE ρ Umbenennung RENAME; AS Natural Join NATURAL JOIN (nicht in MS SQL Server verwendbar)

Mehr

Teil III. Relationale Datenbanken Daten als Tabellen

Teil III. Relationale Datenbanken Daten als Tabellen Teil III Relationale Datenbanken Daten als Tabellen Relationale Datenbanken Daten als Tabellen 1 Relationen für tabellarische Daten 2 SQL-Datendefinition 3 Grundoperationen: Die Relationenalgebra 4 SQL

Mehr

Sructred Query Language

Sructred Query Language Sructred Query Language Michael Dienert 11. November 2010 Inhaltsverzeichnis 1 Ein kurzer Versionsüberblick 1 2 SQL-1 mit einigen Erweiterungen aus SQL-92 2 3 Eine Sprache zur Beschreibung anderer Sprachen

Mehr

Access Grundkurs. M. Eng. Robert Maaßen

Access Grundkurs. M. Eng. Robert Maaßen Access Grundkurs M. Eng. Robert Maaßen Wer steht da? M. Eng. Robert Maaßen ich@robertmaassen.de www.robertmaassen.de Studium: Informatik Vertiefungsrichtung Medientechnik, Diplom Ingenieur (FH), HAWK,

Mehr

Daten Bank. 5. Vorlesung

Daten Bank. 5. Vorlesung Daten Bank 5. Vorlesung 4. VL von bis Person (0,n) lebt_in (0,n) Ort AusweisNr. Name Vorname PLZ Ortsname SQL: create insert select 1. Normalform Schlüssel und Funktionale Abhängigkeiten Dr. Karsten Tolle

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

Erste Schritte, um selber ConfigMgr Reports zu erstellen

Erste Schritte, um selber ConfigMgr Reports zu erstellen Thomas Kurth CONSULTANT/ MCSE Netree AG thomas.kurth@netree.ch netecm.ch/blog @ ThomasKurth_CH Erste Schritte, um selber ConfigMgr Reports zu erstellen Configuration Manager Ziel Jeder soll nach dieser

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

Objektrelationale und erweiterbare Datenbanksysteme

Objektrelationale und erweiterbare Datenbanksysteme Objektrelationale und erweiterbare Datenbanksysteme Erweiterbarkeit SQL:1999 (Objekt-relationale Modellierung) In der Vorlesung werden nur die Folien 1-12 behandelt. Kapitel 14 1 Konzepte objekt-relationaler

Mehr

3. Spezielle ER-Modelle und Tabellenableitung. Transformation von ER-Diagrammen in Relationen

3. Spezielle ER-Modelle und Tabellenableitung. Transformation von ER-Diagrammen in Relationen 3. Spezielle ER-Modelle und Tabellenableitung Spezialfälle von ER-Modellen Grundlage, was sind Relationen Transformation von ER-Diagrammen in Relationen 56 Lesebeispiel Access (Realisierungmodell!) 57

Mehr

Einführung in Datenbanksysteme. H. Wünsch 01.2001

Einführung in Datenbanksysteme. H. Wünsch 01.2001 Einführung in Datenbanksysteme H. Wünsch 01.2001 H. Wünsch 01/2001 Einführung Datenbanken 2 Was sind Datenbanken? Datenbanken sind Systeme zur Beschreibung, Speicherung und Wiedergewinnung von Datenmengen.

Mehr

SQL-Befehlsliste. Vereinbarung über die Schreibweise

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

Mehr

Datenbanksysteme Kapitel: SQL Data Definition Language

Datenbanksysteme Kapitel: SQL Data Definition Language Datenbanksysteme Kapitel: SQL Data Definition Language Prof. Dr. Peter Chamoni Mercator School of Management Lehrstuhl für Wirtschaftsinformatik, insb. Business Intelligence Prof. Dr. Peter Chamoni - Prof.

Mehr