Crashkurs: Relationale Datenbanksysteme

Größe: px
Ab Seite anzeigen:

Download "Crashkurs: Relationale Datenbanksysteme"

Transkript

1 Crashkurs: Relationale Datenbanksysteme Felix Naumann Überblick Vormittag Motivation Warum sind RDBMS und XML Systeme für die Informationsintegration wichtig? RDBMS Relational Database Management System Relationale Datenbanken Relationales Modell (Datenmodell) Relationale Algebra (Datenanfrage) SQL (Anfragesprache) Felix Naumann, CK Informationssysteme, WS 04/05 2

2 Überblick Nachmittag RDBMS Anfragebearbeitung Anfrageoptimierung XML Grundkonzepte XML Schema Felix Naumann, CK Informationssysteme, WS 04/05 3 Quellen RDBMS Folien u.a. in Anlehnung an VL Data Warehousing, Prof. Leser VL Einführung in Datenbanken, Prof. Freytag Felix Naumann, CK Informationssysteme, WS 04/05 4

3 Was ist Informationsintegration? Informationsintegration ist die Zusammenführung von Daten und Inhalt verschiedener Quellen zu einer einheitlichen Informationsmenge. Informationsintegration ist die korrekte, vollständige und effiziente Zusammenführung von Daten und Inhalt verschiedener, heterogener Quellen zu einer einheitlichen und strukturierten Informationsmenge zur effektiven Interpretation durch Nutzer und Anwendungen Felix Naumann, CK Informationssysteme, WS 04/05 5 Integrierte Informationssysteme Anfrage Integriertes Informationssystem Oracle, DB2 Anwendung Dateisystem Web Service HTML Form Integriertes Info.-system Felix Naumann, CK Informationssysteme, WS 04/05 6

4 Motivation RDBMS Oracle, DB2 Am weitesten verbreitetes Datenbankmodell Gut verstanden, weitgehend erforscht Integriertes Informationssystem Oft selbst ein RDBMS Anfrage Anwendung Dateisystem Web Service HTML Form Integriertes Info.-system Felix Naumann, CK Informationssysteme, WS 04/05 7 Motivation XML Anfrage Integriertes Informationssystem Oracle, DB2 Anwendung Dateisystem Web Service HTML Form Integriertes Info.-system Transformation nach XML Input/Output XML Gute XML Werkzeuge (SAX/DOM) Einfache Kommunikation, Interoperabilität Felix Naumann, CK Informationssysteme, WS 04/05 8

5 Was sind Daten? Digitale Repräsentation von Dingen Entitäten Wissen Information in der wirklichen Welt. Kernfragen: Welche Daten speichere ich? Wie speichere ich die Daten? Wie frage ich Daten ab? Wie erledige ich all dies effizient? Unterstützung durch Datenbanksystem Felix Naumann, CK Informationssysteme, WS 04/05 9 Datenbanksysteme Bestandteile Datenbank Die Daten selbst + Metadaten (Beschreibung der Daten) Datenbankmanagementsystem (DBMS) Softwarekomponente zum Zugriff auf eine oder mehrere Datenbanken. Server-basiert Felix Naumann, CK Informationssysteme, WS 04/05 0

6 DBMS Beispiele DBMS Oracle, DB2 Informix, Sybase NCR Terada, SQL- Server PostGreSQL, Interbase mysql,... Data Warehouses OLTP OLAP Alle großen Softwaresysteme nutzen ein, mehrere oder sehr viele DBMS SAP Siebel SRS Sogar das geplante Microsoft Windows File- System (Longhorn) Felix Naumann, CK Informationssysteme, WS 04/05 DBMS Aufgaben Unterstützung des Datenmodells Bereitstellung einer Anfragesprache (DDL & DML) Robustheit Wahrung der Datenintegrität (Konsistenz etc.) Abfangen von Systemfehlern Speicherverwaltung Transaktionsmanagement Auch im Mehr-Benutzer-Betrieb Effiziente Anfragebearbeitung Userverwaltung & Zugangskontrolle Felix Naumann, CK Informationssysteme, WS 04/05 2

7 Schichtenmodell (ANSI/X3/SPARC) Externes Schema Externes Schema Externes Schema Sichten (Anwendungen, Nutzer) Konzeptionelles Schema Logisches Modell (Tabellen, Attribute, Anfragen Internes Schema Physisches Modell (Indexierung, Speicherung) Felix Naumann, CK Informationssysteme, WS 04/05 3 Schichtenmodell Interne (physische) Sicht Speichermedium (Tape, Festplatte) Speicherort (Zylinder, Block) Konzeptionelle (logische) Sicht Unabhängig von physischer Sicht Definiert durch Datenmodell Stabiler Bezugspunkt für interne und externe Sichten Externe (logische) Sicht Anwendungsprogramme Nur auf die relevanten Daten Enthält Aggregationen und Transformationen Felix Naumann, CK Informationssysteme, WS 04/05 4

8 Schichtenmodell Objekte Interne (physische) Sicht Dateien Konzeptionelle (logische) Sicht Schema Relationen, Typen, Integritätsbedingungen Externe (logische) Sicht Views Felix Naumann, CK Informationssysteme, WS 04/05 5 Schichtenmodell Beispiel (Vorschau) Konzeptionelle (logische) Sicht CREATE TABLE Book( ISBN VARCHAR(00) Title VARCHAR(00) Price DECIMAL(6,2)) Externe (logische) Sicht CREATE VIEW cheapbooks AS ( SELECT * FROM Book WHERE Price < 0,00 ) Interne (physische) Sicht CREATE INDEX BookIndex ON Book (ISBN) Felix Naumann, CK Informationssysteme, WS 04/05 6

9 Datenbankentwurf. Konzeptioneller Entwurf ER-Modell & ER-Diagramm Relationenmodell Physischer Entwurf HW und SW abhängig 3. Konzeptioneller Entwurf der externen Anwendungen Konzeptioneller Entwurf ist unabhängig vom physischen Entwurf! Felix Naumann, CK Informationssysteme, WS 04/05 7 Überblick RDBMS Relational Database Management System Relationale Datenbanken Relationales Modell (Datenmodell) Relationale Algebra (Datenanfrage) SQL (Anfragesprache) Anfragebearbeitung Optimierung Felix Naumann, CK Informationssysteme, WS 04/05 8

10 Relationales Modell Auch Relationenmodell Relationales Datenmodell Ziele Daten-Unabhängigkeit Trennung vom hierarchischen und Netzwerk- Modellen Felix Naumann, CK Informationssysteme, WS 04/05 9 Relationales Modell Definitionen Domäne Integer, Real, String {rot, grün, blau} Relation (Tabelle) Seien D,..,D n Domänen Relation R ist Teilmenge aus D D 2... D n...vom Grad n Tupel (Zeile) Ein Element aus R Attribut (Spalte) Relationenschema R(A :D,..., A n :D n ) Kardinalität R ist die (aktuelle) Anzahl der Tupel in R Felix Naumann, CK Informationssysteme, WS 04/05 20

11 Relationales Datenmodell Extension Extension einer Relation Die Menge der momentanen Tupel Kann sich durch Operationen ändern Kann als Tabelle dargestellt werden Beispiel Domänen: D = Integer, D 2 = String, D 3 = String, D 4 = Integer Relationenschema: Mitarbeiter(P_ID: D, Vorname: D 2, Nachname: D 3, Alter: D 4 ) Felix Naumann, CK Informationssysteme, WS 04/05 2 Relationales Datenmodell Zeilen/ Tupel Mitarbeiter P_ID Vorname Peter 2 Stefanie 5 Petra 7 Andreas Spalten/Attribute Nachname Alter Müller 32 Meier 34 Weger 28 Zwickel Felix Naumann, CK Informationssysteme, WS 04/05 22

12 Relationales Datenmodell vs. XML Relationen sind Mengen Keine Duplikate Tupel sind ungeordnet Attributwerte sind Atomar XML ist Graphbasiert Duplikate erlaubt (bzw. nicht definiert) In XML Dokumenten ist Reihenfolge wichtig Elemente sind geschachtelt Felix Naumann, CK Informationssysteme, WS 04/05 23 Relationales Modell Definitionen Datenbankschema Menge von Relationenschemata Relationale Datenbank Datenbankschema und alle zu dem Schema gehörenden Extensionen Felix Naumann, CK Informationssysteme, WS 04/05 24

13 Relationales Modell Schlüssel Sei R(A :D,..., A n :D n ) ein Relationenschema und sei S {A,..., A n } S ist Schlüssel, falls Eindeutigkeit: Falls zwei Tupel such unterscheiden, unterscheiden sie auch in den Attributen des Schlüssels. Minimalität: Es gibt kein S S, welches Eindeutigkeit erfüllt Felix Naumann, CK Informationssysteme, WS 04/05 25 Relationales Modell Schlüssel P_ID Vorname Nachname Alter Peter Müller 32 2 Stefanie Meier 34 5 Petra Weger 28 7 Andreas Müller 44 Peter Schmidt 32 Schlüssel: {PID}, {Vorname, Nachname} Nicht Schlüssel (z.b.): {Vorname}: Nicht eindeutig {Vorname, Alter}: Nicht eindeutig {PID, Vorname}: Nicht minimal {Vorname, Nachname, Alter}: Nicht minimal Felix Naumann, CK Informationssysteme, WS 04/05 26

14 Relationales Modell Schlüssel Primärschlüssel Ein ausgezeichneter Schlüssel Schlüssel als Meta-Information Kann nicht aus Extension abgelesen werden Wichtige Entwurfsentscheidung Felix Naumann, CK Informationssysteme, WS 04/05 27 Relationales Modell Fremdschlüssel Seien R(A,..., A n ) und S(B,..., B m ) zwei Relationenschemata. Sei F ein Schlüssel für S Also F = {B d,..., B dl } {B,..., B m } Falls zusätzlich F {A,..., A n }, heißt F Fremdschlüssel von S in R Felix Naumann, CK Informationssysteme, WS 04/05 28

15 Relationales Modell Fremdschlüssel mitarbeiter p_id projekte proj_id vorname Peter Stefanie Petra Andreas... p_id 7... nachname Müller Meier Weger Zwickel... name DWH ecommerce SAP... alter kunde BMW Metro RAG... p_id ist Schlüssel proj_id ist Schlüssel p_id ist Fremdschlüssel Felix Naumann, CK Informationssysteme, WS 04/05 29 Relationales Modell Integritätsbedingungen Jede Relation hat mindestens einen Schlüssel. Attribute im Schlüssel dürfen nicht NULL sein. Attributwerte in Domäne Zu jedem Fremdschlüsselwert muss es einen entsprechenden Schlüsselwert geben. Zusicherungen (Assertions) Das Alter von Angestellten ist immer > Felix Naumann, CK Informationssysteme, WS 04/05 30

16 Relationales Modell Schemata Felix Naumann, CK Informationssysteme, WS 04/05 3 Relationales Modell Schemata Felix Naumann, CK Informationssysteme, WS 04/05 32

17 Pause Überblick RDBMS Relational Database Management System Relationale Datenbanken Relationales Modell (Datenmodell) Relationale Algebra (Datenanfrage) SQL (Anfragesprache) Anfragebearbeitung Optimierung Felix Naumann, CK Informationssysteme, WS 04/05 34

18 Relationale Algebra Anfragesprache 5 Grundoperationen Vereinigung Differenz Kartesisches Produkt Projektion Selektion Abgeleitete Operationen Join, Natural Join, Semi-Join Division Schnittmenge Operationen bilden von Relation zu Relation ab (Abgeschlossenheit). Operationen können zu Ausdrücken zusammengesetzt werden Felix Naumann, CK Informationssysteme, WS 04/05 35 Relationale Algebra Vereinigung R S Attribute von R und S Gleiche Anzahl Gleiche Domänen Ergebnis Mengentheoretische Vereinigung gleiche Struktur wie R bzw. S Duplikat-frei R S R + S Felix Naumann, CK Informationssysteme, WS 04/05 36

19 Relationale Algebra Vereinigung Mitarbeiter m p_id vorname Peter 2 Stefanie Employees e nachname Müller Meier alter m e p_id vorname Peter 2 Stefanie 5 Petra nachname Müller Meier Weger alter p_id vorname nachname alter 7 Andreas Zwickel 44 5 Petra Weger 28 7 Andreas Zwickel Felix Naumann, CK Informationssysteme, WS 04/05 37 Relationale Algebra Vereinigung Jetzt: Kleine Vorschau, warum Informationsintegration so schwierig ist Anderes Schema Null Werte Gleiche IDs Gleiche real-world Objekte Felix Naumann, CK Informationssysteme, WS 04/05 38

20 Relationale Algebra Vereinigung Mitarbeiter m p_id vorname nachname alter Peter Müller 32 2 Stefanie Meier 34 Employees e p_id vorname nachname age 5 Petra Weger 28 7 Andreas Zwickel 44 Anderes Schema: m e nicht definiert! Felix Naumann, CK Informationssysteme, WS 04/05 39 Relationale Algebra Vereinigung Mitarbeiter m p_id vorname nachname alter Null-Werte Peter 7 Andreas Employees e p_id vorname 5 Petra 7 Andreas Müller Zwickel nachname Weger Zwickel alter 28 NULL m e p_id vorname Peter 7 Andreas 5 Petra 7 Andreas nachname Müller Zwickel Weger Zwickel alter NULL Felix Naumann, CK Informationssysteme, WS 04/05 40

21 Relationale Algebra Vereinigung Mitarbeiter m p_id vorname nachname alter Peter Müller 32 7 Stefanie Meier 34 Employees e p_id vorname nachname age 5 Petra Weger 28 7 Andreas Zwickel 44 IDS: Schlüsseleigenschaft gilt nicht mehr! m e p_i d vorname Peter Stefani Petra e Andreas nachname Müller Meier Weger Zwickel alter Felix Naumann, CK Informationssysteme, WS 04/05 4 Relationale Algebra Vereinigung Mitarbeiter m p_id vorname Peter 8 Andreas Employees e p_id vorname nachname Müller Zwickel nachname alter age m e p_i d vorname Peter Andreas Petra Andreas nachname Müller Zwickel Weger Zwickel alter Petra Andreas Weger Zwickel IDS: Schlüsseleigenschaft gilt zwar, aber Duplikate! Felix Naumann, CK Informationssysteme, WS 04/05 42

22 Relationale Algebra Differenz R / S Attribute von R und S Gleiche Anzahl Gleiche Domänen Ergebnis Mengentheoretische Differenz gleiche Struktur wie R bzw. S R - S R / S R Felix Naumann, CK Informationssysteme, WS 04/05 43 Relationale Algebra Differenz Mitarbeiter m p_id vorname nachname alter Peter Müller 32 7 Andreas Zwickel 34 Employees e Peter Müller 32 p_id vorname nachname alter 7 Andreas Zwickel 34 m / e p_id vorname nachname alter Felix Naumann, CK Informationssysteme, WS 04/05 44

23 Relationale Algebra Kartesisches Produkt R S Attribute Unterschiedliche Anzahl Unterschiedliche Domäne Ergebnis Keine doppelten Attributnamen Alle Kombinationen von Tupeln in R und S Größe: R S Eher von theoretischem Interesse Felix Naumann, CK Informationssysteme, WS 04/05 45 Relationale Algebra Kartesisches Produkt mitarbeiter p_id vorname nachname alter projekte proj_id p_id name kunde Peter Müller 32 DWH BMW 2 Stefanie Meier 34 2 ecommerce Metro mitarbeiter x projekte p_id vorname nachname alter proj_id p_id name kunde Peter Müller 32 DWH BMW Peter Müller 32 2 ecommerce Metro 2 Stefanie Meier 34 DWH BMW 2 Stefanie Meier 34 2 ecommerce Metro Felix Naumann, CK Informationssysteme, WS 04/05 46

24 Relationale Algebra Projektion proj (R) Sei R(A,..., A n ) ein Relationenschema. Proj = {A j,..., A jn } {A,..., A n } Ergebnis Hat Struktur A j,..., A jn Es können Duplikate entstehen, die entfernt werden müssen. proj (R) R Felix Naumann, CK Informationssysteme, WS 04/05 47 Relationale Algebra Projektion mitarbeiter mitarbeiter p_id 2 vorname Peter Stefanie nachname Müller Meier alter p_i d 2 vorname Peter Stefani e nachnam Müller e Müller alte 32r 34 Π vorname,nachname (mitarbeiter) vorname nachname Peter Müller Stefanie Meier Π nachname (mitarbeiter) nachnam Müller e Felix Naumann, CK Informationssysteme, WS 04/05 48

25 Relationale Algebra Selektion σ cond (R) Sei R(A :D,..., A n :D n ) ein Relationenschema cond ist Selektionsbedingung Form: A i op A j oder Ai op const Ai, Aj {A,..., An} Di = Dj, und const Di Op {=,,,,<,>} Boolescher Ausdruck Junktoren: UND, ODER, NICHT Ergebnis Alle Tupel aus, die cond erfüllen Gleiche Struktur wie R σ cond (R) = sf cond R R Felix Naumann, CK Informationssysteme, WS 04/05 49 Relationale Algebra Selektion mitarbeiter p_id vorname Peter Stefani e Petra Andreas nachname Müller Meier Weger Zwickel alter σ alter>33 (mitarbeiter) p_id vorname nachname alter 2 Stefanie Meier 34 7 Andreas Zwickel 44 σ alter>33, nachname = Meier (mitarbeiter) p_id vorname nachname alter 2 Stefanie Meier 34 σ alter= p_id (mitarbeiter) p_id vorname nachname alter Felix Naumann, CK Informationssysteme, WS 04/05 50

26 Relationale Algebra Join R >< cond S Seien R(A :D,..., A n :D n ) und S(B :E,..., B m :E m ) Relationenschemata. cond ist Joinbedingung Wichtigster, schwierigster Form: A i op B j und somit interessantester Op {=,,,,<,>} Operator! D i und E j kompatibel Boolescher Ausdruck Junktoren: UND, ODER, NICHT R >< cond S = σ cond (R X S) Felix Naumann, CK Informationssysteme, WS 04/05 5 Relationale Algebra Join mitarbeiter p_id vorname Peter 2 Stefanie 5 Petra 7 Andreas nachname Müller Meier Weger Zwickel alter projekte proj_id p_id name DWH ecommerce SAP kunde BMW Metro RAG mitarbeiter >< p_id = p_id projekte p_id vorname nachname Alter proj_id p_id name kunde Peter Müller 32 DWH BMW Peter Müller 32 2 ecommerce Metro 7 Andreas Zwickel SAP RAG Felix Naumann, CK Informationssysteme, WS 04/05 52

27 Relationale Algebra Schnittmenge R S Attribute von R und S Gleiche Anzahl Gleiche Domänen Ergebnis Mengentheoretische Schnittmenge gleiche Struktur wie R bzw. S Duplikat-frei R S = R / (R / S) nachdenken! Felix Naumann, CK Informationssysteme, WS 04/05 53 Relationale Algebra Schnittmenge Mitarbeiter m p_id vorname nachname alter Peter Müller 32 7 Andreas Zwickel 34 Employees e 7 Andreas Zwickel 34 p_id vorname nachname alter 5 Petra Weger 28 7 Andreas Zwickel 34 m e p_id vorname nachname alter Felix Naumann, CK Informationssysteme, WS 04/05 54

28 Relationale Algebra Weitere Operatoren Join Varianten Semi-Join Natural Join θ-join Outer Join (Left-, Right- und Full-Outer Join) Division Felix Naumann, CK Informationssysteme, WS 04/05 55 Relationale Algebra - Anfragen mitarbeiter p_id vorname nachname alter Peter Müller Stefanie Petra Andreas Meier Weger Zwickel Vor- und Nachname aller Mitarbeiter älter als 40? Π vorn., nachn. (σ alter > 40 (mitarbeiter)) Felix Naumann, CK Informationssysteme, WS 04/05 56

29 Relationale Algebra - Anfragen mitarbeiter p_id projekte proj_id vorname Peter Stefanie Petra Andreas... p_id 7... DWH SAP nachname Müller Meier Weger Zwickel... name ecommerce... alter BMW RAG... Π m.nachn.,p.name (σ m.p_id = p.p_id (mit. x proj.)) kunde Metro... Nachname und Projektname aller Mitarbeiter Π m.nachn.,p.name (mit. >< m.p_id = p.p_id proj.) Π m.nachn.,p.name (mit. >< proj.) Felix Naumann, CK Informationssysteme, WS 04/05 57 Überblick RDBMS Relational Database Management System Relationale Datenbanken Relationales Modell (Datenmodell) Relationale Algebra (Datenanfrage) SQL (Anfragesprache) Anfragebearbeitung Optimierung Felix Naumann, CK Informationssysteme, WS 04/05 58

30 SQL Structured Query Language Erstmals: System R, IBM Almaden ANSI-SQL (89), SQL-2(92), SQL-3(98) Sehr weit verbreitet. Deklarativer Charakter: Was soll das DBMS zeigen? Nicht: Wie soll das DBMS das zu Zeigende finden (prozedural)? Fünf Grundbefehle: Create, Insert, Update, Delete, Select DDL versus DML Felix Naumann, CK Informationssysteme, WS 04/05 59 SQL Anfragen Grundform SELECT R i.a, R i2.a 2,, R im.a m FROM R i, R i2,, R im WHERE <cond> Beispiel SELECT Vorname, Nachname FROM mitarbeiter WHERE Alter > Felix Naumann, CK Informationssysteme, WS 04/05 60

31 SQL Beispiele SELECT Name Projektion FROM projekt SELECT * Selektion FROM project Kartesisches WHERE Budget < Produkt SELECT mitarbeiter.nachname, projekt.name FROM mitarbeiter, projekt SELECT mitarbeiter.nachname, projekt.name FROM mitarbeiter, projekt Join WHERE mitarbeiter.p_id = projekt.p_id Felix Naumann, CK Informationssysteme, WS 04/05 6 SQL Beispiele SELECT mitarbeiter.nachname, projekt.name FROM mitarbeiter, projekt WHERE mitarbeiter.p_id = projekt.p_id AND projekt.budget < SELECT m.nachname, p.name FROM mitarbeiter m, projekt p Abkürzung WHERE m.p_id = p.p_id SELECT m.nachname FROM mitarbeiter m, projekt p WHERE m.p_id = p.p_id Es muss nicht jede AND p.budget < Relation im SELECT auftauchen Felix Naumann, CK Informationssysteme, WS 04/05 62

32 SQL Weitere Funktionen DISTINCT ORDER BY UNION, DIFFERENCE, INTERSECTION Schachtelung Aggregation GROUP BY Alle sind für die Informationsintegration wichtig Felix Naumann, CK Informationssysteme, WS 04/05 63 SQL Beispiele SELECT DISTINCT mitarbeiter.vorname FROM mitarbeiter, projekt WHERE mitarbeiter.p_id = projekt.p_id AND projekt.budget < SELECT m.nachname, p.name FROM mitarbeiter m, projekt p WHERE m.p_id = p.p_id ORDER BY p.budget ASC (bzw. DESC) Felix Naumann, CK Informationssysteme, WS 04/05 64

33 SQL Beispiele SELECT mitarbeiter.vorname, projekt.name FROM mitarbeiter, projekt WHERE mitarbeiter.p_id = projekt.p_id AND projekt.budget < UNION SELECT mitarbeiter.vorname, projekt.name FROM mitarbeiter, projekt WHERE mitarbeiter.p_id = projekt.p_id AND projekt.budget > Felix Naumann, CK Informationssysteme, WS 04/05 65 SQL Beispiele SELECT m.vorname, p.name FROM mitarbeiter m, projekt p WHERE m.p_id = p.p_id AND p.partner IN (SELECT company.name FROM company WHERE company.country = DE ) Schachtelung Felix Naumann, CK Informationssysteme, WS 04/05 66

34 SQL Beispiele Aggregation AVG, COUNT, SUM, MIN, MAX SELECT AVG(Budget) FROM projekt SELECT SUM(p.Budget), MAX(p.Budget) FROM mitarbeiter m, projekt p WHERE m.p_id = p.p_id AND m.nachname = Schmidt SELECT COUNT(*) FROM mitarbeiter Felix Naumann, CK Informationssysteme, WS 04/05 67 SQL Beispiele SELECT m.nachname, SUM(p.Budget) FROM mitarbeiter m, projekt p WHERE m.p_id = p.p_id GROUP BY m.nachname SELECT m.nachname, AVG(p.Budget) FROM mitarbeiter m, projekt p WHERE m.p_id = p.p_id GROUP BY m.nachname HAVING MIN(p.Budget) > 50, Felix Naumann, CK Informationssysteme, WS 04/05 68

35 SQL DDL DDL: Data Definition Language Definition von Tabellen, Indexen, Views,... Administration: Tablespaces, Segmente, Parameter Benutzerverwaltung: User, Gruppen, Rechte,... CREATE TABLE mitarbeiter ( p_id NUMBER, vorname VARCHAR2(00), nachname VARCHAR2(00), alter NUMBER(2) CHECK (alter>0 AND alter<50), adresse VARCHAR2(000) ); Felix Naumann, CK Informationssysteme, WS 04/05 69 DQL DDL Datentypen INTEGER, SMALLINT REAL, DOUBLE, NUMERIC(a,b), DECIMAL(a,b) CHAR(n), VARCHAR(n) BIT DATE, TIME, TIMESTAMP, INTERVAL Attributnamen eindeutig Felix Naumann, CK Informationssysteme, WS 04/05 70

36 Datentypen CHAR(n) n maximal 256 VARCHAR(n) n maximal 4000 Falls n > 254: Kein Group By Order By DISTINCT Mengenoperationen (UNION, DIFFERENCE, INTERSECTION) BLOB Binary large object Max 2GB Binärdaten CLOB Character large object Felix Naumann, CK Informationssysteme, WS 04/05 7 SQL Insert Einfügen von Werten in Tabelle Prinzipiell ein Tupel pro Insert: INSERT INTO mitarbeiter VALUES (, Peter, Müller, 38, 00 Berlin ); INSERT INTO projekte (proj_id,p_id,name) VALUES (, 3, BMW ); Erweiterungen Bulk-Insert INSERT INTO... SELECT... Insert in mehrere Tabellen: INSERT INTO... INTO... INTO Felix Naumann, CK Informationssysteme, WS 04/05 72

37 SQL Update Ändern von Werten in Tabellen Ändert mehrere Werte in einer Tabelle UPDATE projekte SET status = abgebrochen, kunde = kunde -insolvent WHERE kunde= Grundig Typisches Muster UPDATE tabelle SET... = (SELECT... FROM... WHERE) WHERE id in (SELECT... FROM... WHERE) Felix Naumann, CK Informationssysteme, WS 04/05 73 Delete Löschen von Tupeln in einer Tabellen DELETE FROM projekte WHERE status= abgeschlossen Typisches Muster DELETE FROM projekte WHERE id in (SELECT... FROM... WHERE) Felix Naumann, CK Informationssysteme, WS 04/05 74

38 Pause & Übung Überblick RDBMS Relational Database Management System Relationale Datenbanken Relationales Modell (Datenmodell) Relationale Algebra (Datenanfrage) SQL (Anfragesprache) Anfragebearbeitung Optimierung Felix Naumann, CK Informationssysteme, WS 04/05 76

39 Anfragebearbeitung - Problem Anfragen sind deklarativ. Anfragen müssen in ausführbare (prozedruale) Form transformiert werden. Ziele QEP prozeduraler Query Execution Plan Effizienz Schnell Wenig Ressourcenverbrauch (CPU, I/O, RAM, Bandbreite) Felix Naumann, CK Informationssysteme, WS 04/05 77 Anfragebearbeitung Prinzipieller Ablauf. Parsen der Anfrage (Syntax) 2. Überprüfen der Elemente (Semantik) 3. Berechnung von Ausführungsplänen Exponentiell viele 4. Wahl des optimalen Ausführungsplans Regelbasierter Optimierer Kostenbasierter Optimierer 5. Anfrageausführung Felix Naumann, CK Informationssysteme, WS 04/05 78

40 Abfragebearbeitung Syntax SQL Anfrage wird in interne Darstellung übersetzt: Z.B: Relationale Algebra Syntaktische Korrektheit prüfen Felix Naumann, CK Informationssysteme, WS 04/05 79 Anfragebearbeitung Semantik Während der Übersetzung semantische Korrektheit prüfen Existieren die Relationen/Attribute? Korrekte Typen für Vergleiche? Aggregation korrekt? Felix Naumann, CK Informationssysteme, WS 04/05 80

41 Anfragebearbeitung Beispiel SELECT m.nachname FROM mitarbeiter m, projekt p WHERE m.p_id = p.p_id AND p.budget < Π m.nachname (σ m.p_id = p.p_id, p.budget < (m x p)) Felix Naumann, CK Informationssysteme, WS 04/05 8 Anfragebearbeitung Anfragebaum Π m.nachname (σ m.p_id = p.p_id, p.budget < (m x p)) π(nachname) σ(p.budget < ) σ(m.p_id = p.p_id) X mitarbeiter projekte Felix Naumann, CK Informationssysteme, WS 04/05 82

42 Anfragebearbeitung Ausführung Interpretation des Baums als Ausführungsplan. Kartesisches Produkt 2. Zwei Selektionen 3. Projektion Sehr aufwendig! π(nachname) σ(p.budget < ) σ(m.p_id = p.p_id) X mitarbeiter projekte Felix Naumann, CK Informationssysteme, WS 04/05 83 Anfragebearbeitung Transformationsregeln Transformation der internen Darstellung Ohne Semantik zu verändern Zur effizienteren Ausführung Insbesondere: Kleine Zwischenergebnisse Äquivalente Ausdrücke Zwei Ausdrücke der relationalen Algebra heißen äquivalent, falls Gleiche Operanden (= Relationen) Stets gleiche Antwortrelation Felix Naumann, CK Informationssysteme, WS 04/05 84

43 Anfragebearbeitung einige Transformationsregeln Kommutativität m x p = p x m Assoziativität (m x p) x q = m x (p x q) Kaskade von Projektionen Π m.nachname (Π m.vorname, m.nachname m) = Π m.nachname (m) Kaskade von Selektionen σ m.p_id = p.p_id (σ p.budget < (m)) = σ m.p_id = p.p_id AND p.budget < (m) Felix Naumann, CK Informationssysteme, WS 04/05 85 Anfragebearbeitung einige Transformationsregeln Zusammenfassen von Selektion und Kartesischen Produkt zu Join σ m.p_id = p.p_id (m x p) = m >< m.p_id = p.p_id p Vertauschen von Selektion und Projektion Π m.nachname,m (σ m.p_id = p.p_id (m x p)) = Π m.nachname (σ m.p_id = p.p_id (Π m.nachname,m.p_id, p.p_id (m x p))) Vertauschen von Selektion und Join σ p.budget < (p >< m.p_id = p.p_id m) = σ p.budget < (p) >< m.p_id = p.p_id m Vertauschen von Projektion und Join Felix Naumann, CK Informationssysteme, WS 04/05 86

44 Anfragebearbeitung Beispiel π(nachname) π(nachname) σ(p.budget < ) σ(p.budget < ) σ(m.p_id = p.p_id) X >< m.p_id = p.p_id mitarbeiter projekte mitarbeiter projekte Felix Naumann, CK Informationssysteme, WS 04/05 87 Anfragebearbeitung Beispiel π(nachname) π(nachname) σ(p.budget < ) >< m.p_id = p.p_id >< m.p_id = p.p_id σ(p.budget < ) mitarbeiter projekte mitarbeiter projekte Felix Naumann, CK Informationssysteme, WS 04/05 88

45 Anfragebearbeitung Beispiel π(nachname) π(nachname) >< m.p_id = p.p_id >< m.p_id = p.p_id π(m.nachname, m.p_id, p.p_id) σ(p.budget < ) σ(p.budget < ) mitarbeiter projekte mitarbeiter projekte Felix Naumann, CK Informationssysteme, WS 04/05 89 Überblick RDBMS Relational Database Management System Relationale Datenbanken Relationales Modell (Datenmodell) Relationale Algebra (Datenanfrage) SQL (Anfragesprache) Anfragebearbeitung Optimierung Felix Naumann, CK Informationssysteme, WS 04/05 90

46 Anfragebearbeitung - Optimierung Regelbasierte Optimierung Fester Regelsatz schreibt Transformationen gemäß der genannten Regeln vor. Prioritäten unter den Regeln Nicht hier. Kostenbasierte Optimierung Kostenmodell Transformationen um Kosten zu verkleinern Felix Naumann, CK Informationssysteme, WS 04/05 9 Anfragebearbeitung - Optimierung Kostenmodell Kardinalitäten der Relationen Werteverteilungen (Histogramme) Selektivität Selektionen Joins Hardware Speichergröße Bandwidth I/O Zeiten Felix Naumann, CK Informationssysteme, WS 04/05 92

47 Anfragebearbeitung Optimierung π(nachname) π(nachname) [20] σ(p.budget < ) σ(p.budget < ) [20] [990] σ(m.p_id = p.p_id) [00.000] X >< m.p_id = p.p_id [990] mitarbeiter projekte [.000] [00] mitarbeiter projekte [.000] [00] Felix Naumann, CK Informationssysteme, WS 04/05 93 Anfragebearbeitung Optimierung π(nachname) π(nachname) σ(p.budget < ) [20] >< m.p_id = p.p_id [20] >< m.p_id = p.p_id [990] σ(p.budget < ) [5] mitarbeiter projekte [.000] [00] mitarbeiter projekte [.000] [00] Felix Naumann, CK Informationssysteme, WS 04/05 94

48 Anfragebearbeitung Optimierung Freiheitsgrade: Algebraische Anfrageumformung Joinreihenfolge Joinmethode Nested Loop, Sort-Merge, Hash... Indexzugriff oder Full-Table-Scan Operatorreihenfolge Felix Naumann, CK Informationssysteme, WS 04/05 95 Anfragebearbeitung Optimierung Joinreihenfolge Join ist i.d.r. teuerster Operator. Optimierung konzentriert sich auf beste Reihenfolge. Bei n Relationen n! Alternativen Aber: Die meisten haben kartesisches Produkt. Viele Algorithmen Dynamische Programmierung (in VL) Bei mehr-prozessor Systemen nicht nur Reihenfolge sondern auch Parallelisierung Felix Naumann, CK Informationssysteme, WS 04/05 96

49 Anfragebearbeitung Optimierung Joinmethode Nested Loops Join Zwei geschachtelte Schleifen Innere und äußere Relation Aufwand: n m Sort Merge Join Sortiere jede Relation Ein mischender Cursor-Durchlauf durch jede Relation Aufwand: n log n + m log m + n + m Günstig, falls Relationen sowieso sortiert, oder bei Index Hash Join Felix Naumann, CK Informationssysteme, WS 04/05 97 Anfragebearbeitung Optimierung Nested Loops Äußere vs. Innere Relation FOR EACH r in R FOR EACH s in S IF(r.A = s.a) THEN Output (r,s) Aufwandsunterschied R und S? Ja, wegen Organisation der Tupel als Seiten auf Festplatte Felix Naumann, CK Informationssysteme, WS 04/05 98

50 Anfragebearbeitung Optimierung R: S: P R = Anzahl Seiten R P S = Anzahl Seiten S R außen: P R + T R P S = = 296 S außen: P S + T S P R = = Felix Naumann, CK Informationssysteme, WS 04/05 99 Literatur RDBMS Principles of Database Systems, Jeffrey Ullman, Computer Science Press, 988 Informationsintegration Principles of Distributed Database Systems M. Tamer Özsu, Patrick Valduriez ISBN: Mediators in the Architecture of Future Information Systems"; Gio Wiederhold IEEE Computer, March 992, pages Felix Naumann, CK Informationssysteme, WS 04/05 00

Data Warehousing. Relationale Datenbanken. Ulf Leser Wissensmanagement in der Bioinformatik

Data Warehousing. Relationale Datenbanken. Ulf Leser Wissensmanagement in der Bioinformatik Data Warehousing Relationale Datenbanken Ulf Leser Wissensmanagement in der Bioinformatik Inhalt dieser Vorlesung Relationale Datenbanken Relationales Modell und relationale Operatoren SQL Anfragebearbeitung

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

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004)

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004) Nachtrag: Farben Farbblindheit (Light und Bartlein 2004) 1 Vorgeschlagene Farbskalen (Light and Bartlein 2004) Farbkodierung metrisch skalierter Daten Unterscheide: 1. Sequential Data (ohne Betonung der

Mehr

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

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

SQL (Structured Query Language) Schemata Datentypen

SQL (Structured Query Language) Schemata Datentypen 2 SQL Sprachelemente Grundlegende Sprachelemente von SQL. 2.1 Übersicht Themen des Kapitels SQL Sprachelemente Themen des Kapitels SQL (Structured Query Language) Schemata Datentypen Im Kapitel SQL Sprachelemente

Mehr

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software SQL Tutorial SQL - Tutorial SS 06 Hubert Baumgartner INSO - Industrial Software Institut für Rechnergestützte Automation Fakultät für Informatik Technische Universität Wien Inhalt des Tutorials 1 2 3 4

Mehr

7. Übung - Datenbanken

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

Mehr

Wiederholung VU Datenmodellierung

Wiederholung VU Datenmodellierung Wiederholung VU Datenmodellierung VL Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester

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

Wiederholung VU Datenmodellierung

Wiederholung VU Datenmodellierung Wiederholung VU Datenmodellierung VU Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester

Mehr

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

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

Mehr

SQL. Fortgeschrittene Konzepte Auszug

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

Mehr

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

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

Mehr

Informationsintegration I Einführung

Informationsintegration I Einführung Informationsintegration I Einführung Felix Naumann Integrierte Informationssysteme Anfrage Integriertes Informationssystem Oracle, DB2 Anwendung Dateisystem Web Service HTML Form Integriertes Info.-system

Mehr

Relationales Modell: SQL-DDL. SQL als Definitionssprache. 7. Datenbankdefinitionssprachen. Anforderungen an eine relationale DDL

Relationales Modell: SQL-DDL. SQL als Definitionssprache. 7. Datenbankdefinitionssprachen. Anforderungen an eine relationale DDL Relationales Modell: SQLDDL SQL als Definitionssprache SQLDDL umfaßt alle Klauseln von SQL, die mit Definition von Typen Wertebereichen Relationenschemata Integritätsbedingungen zu tun haben Externe Ebene

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

Allgemeines zu Datenbanken

Allgemeines zu Datenbanken Allgemeines zu Datenbanken Was ist eine Datenbank? Datensatz Zusammenfassung von Datenelementen mit fester Struktur Z.B.: Kunde Alois Müller, Hegenheimerstr. 28, Basel Datenbank Sammlung von strukturierten,

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

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

XAMPP-Systeme. Teil 3: My SQL. PGP II/05 MySQL

XAMPP-Systeme. Teil 3: My SQL. PGP II/05 MySQL XAMPP-Systeme Teil 3: My SQL Daten Eine Wesenseigenschaft von Menschen ist es, Informationen, in welcher Form sie auch immer auftreten, zu ordnen, zu klassifizieren und in strukturierter Form abzulegen.

Mehr

Datenbanksysteme I Anfragebearbeitung und -optimierung Felix Naumann

Datenbanksysteme I Anfragebearbeitung und -optimierung Felix Naumann Datenbanksysteme I Anfragebearbeitung und -optimierung 9.1.2008 Felix Naumann Anfragebearbeitung Grundproblem 2 Anfragen sind deklarativ. SQL, Relationale Algebra Anfragen müssen in ausführbare (prozedurale)

Mehr

IV. Datenbankmanagement

IV. Datenbankmanagement Wirtschaftsinformatik 2 (PWIN) IV. Datenbankmanagement Kapitel 2: Datenmanipulationssprache SQL Wirtschaftsinformatik 2 (PWIN) SS 2009, Professur für Mobile Business & Multilateral Security 1 Agenda 1.

Mehr

OPERATIONEN AUF EINER DATENBANK

OPERATIONEN AUF EINER DATENBANK Einführung 1 OPERATIONEN AUF EINER DATENBANK Ein Benutzer stellt eine Anfrage: Die Benutzer einer Datenbank können meist sowohl interaktiv als auch über Anwendungen Anfragen an eine Datenbank stellen:

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

Datenbanken. Prof. Dr. Bernhard Schiefer. bernhard.schiefer@fh-kl.de http://www.fh-kl.de/~schiefer

Datenbanken. Prof. Dr. Bernhard Schiefer. bernhard.schiefer@fh-kl.de http://www.fh-kl.de/~schiefer Datenbanken Prof. Dr. Bernhard Schiefer bernhard.schiefer@fh-kl.de http://www.fh-kl.de/~schiefer Wesentliche Inhalte Begriff DBS Datenbankmodelle Datenbankentwurf konzeptionell, logisch und relational

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 22. April 2013 - MySQL Sebastian Cuy sebastian.cuy@uni-koeln.de Datenbanken Was sind eigentlich Datenbanken? Eine

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

Übung Datenbanken in der Praxis. Datenmodifikation mit SQL

Übung Datenbanken in der Praxis. Datenmodifikation mit SQL Datenmodifikation mit SQL Folie 45 SQL - Datenmodifikation Einfügen INSERT INTO Relation [(Attribut, Attribut,...)] VALUES (Wert, Wert,...) INSERT INTO Relation [(Attribut, Attribut,...)] SFW-Anfrage Ändern

Mehr

DBS ::: SERIE 5. Join Right Semi- Join Left Semi-Join Projektion Selektion Fremdschlüssel. Kreuzprodukt

DBS ::: SERIE 5. Join Right Semi- Join Left Semi-Join Projektion Selektion Fremdschlüssel. Kreuzprodukt DBS ::: SERIE 5 Die Relation produkt enthält Hersteller, Modellnummer und Produktgattung (pc, laptop oder drucker aller Produkte. Die Modellnummer ist (der Einfachheit halber eindeutig für alle Hersteller

Mehr

SQL. strukturierte Datenbankabfragesprache eine Datenbanksprache zur. Structured Query Language:

SQL. strukturierte Datenbankabfragesprache eine Datenbanksprache zur. Structured Query Language: SQL Structured Query Language: strukturierte Datenbankabfragesprache eine Datenbanksprache zur Definition, Abfrage und Manipulation von Daten in relationalen Datenbanken In der SQL-Ansicht arbeiten In

Mehr

SQL und MySQL. Kristian Köhntopp

SQL und MySQL. Kristian Köhntopp SQL und MySQL Kristian Köhntopp Wieso SQL? Datenbanken seit den frühen 1950er Jahren: Hierarchische Datenbanken Netzwerkdatenbanken Relationale Datenbanken = SQL Relational? 10 9 8 7 6 f(y) := y = x r(y)

Mehr

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

Arbeiten mit einem lokalen PostgreSQL-Server

Arbeiten mit einem lokalen PostgreSQL-Server Arbeiten mit einem lokalen PostgreSQL-Server Download für das Betriebssystem Windows PostgreSQL-Server und pgadmin: http://www.enterprisedb.com/products-servicestraining/pgdownload#windows pgadmin: http://www.pgadmin.org/download/windows.php

Mehr

Schlüssel bei temporalen Daten im relationalen Modell

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

Mehr

Objektrelationale Datenbanken

Objektrelationale Datenbanken Vorlesung Datenbanksysteme vom 26.11.2008 Objektrelationale Datenbanken Konzepte objektrelationaler DBs SQL:1999 OO vs. OR Konzepte objektrelationaler Datenbanken Große Objekte (LOBs: Large Objects) Mengenwertige

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

Informatik 12 Datenbanken SQL-Einführung

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

Mehr

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

9. Einführung in Datenbanken

9. Einführung in Datenbanken 9. Einführung in Datenbanken 9.1 Motivation und einführendes Beispiel 9.2 Modellierungskonzepte der realen Welt 9.3 Anfragesprachen (Query Languages) 9.1 Motivation und einführendes Beispiel Datenbanken

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

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

Wirtschaftsinformatik 7a: Datenbanken. Hochschule für Wirtschaft und Recht SS 16 Dozent: R. Witte

Wirtschaftsinformatik 7a: Datenbanken. Hochschule für Wirtschaft und Recht SS 16 Dozent: R. Witte Wirtschaftsinformatik 7a: Datenbanken Hochschule für Wirtschaft und Recht SS 16 Dozent: R. Witte Drei Gäste bezahlen nach einem gemeinsamen Abendessen eine Rechnung von 30 Euro, so dass jeder 10 Euro gibt.

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

Carl-Christian Kanne. Einführung in Datenbanken p.1/513

Carl-Christian Kanne. Einführung in Datenbanken p.1/513 Einführung in Datenbanken Carl-Christian Kanne Einführung in Datenbanken p.1/513 Kapitel 1 Einführung Einführung in Datenbanken p.2/513 Einführung Was ist ein Datenbanksystem (DBS)? Ein System zum Speichern

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

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

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

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

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

Mehr

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

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

Index- und Zugriffsstrukturen für. Holger Brämer, 05IND-P

Index- und Zugriffsstrukturen für. Holger Brämer, 05IND-P Index- und Zugriffsstrukturen für Data Warehousing Holger Brämer, 05IND-P Index- und Zugriffstrukturen für Data Warehousing Materialisierte Sichten Bitmap-Indexe Verbundindexe Materialisierte Sichten gehören

Mehr

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

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

Mehr

Einteilung von Datenbanken

Einteilung von Datenbanken Datenbanksysteme (c) A.Kaiser; WU-Wien 1 Einteilung von Datenbanken 1. formatierte Datenbanken 2. unformatierte Datenbanken Information Retrieval Systeme 2 Wozu Datenbanken? Speicherung und Verwaltung

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

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

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

Mehr

105.3 SQL-Datenverwaltung

105.3 SQL-Datenverwaltung LPI-Zertifizierung 105.3 SQL-Datenverwaltung Copyright ( ) 2009 by Dr. W. Kicherer. This work is licensed under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License. To view a

Mehr

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

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

Mehr

Andreas Heuer Gunter Saake Kai-Uwe Sattler. Datenbanken. kompakt

Andreas Heuer Gunter Saake Kai-Uwe Sattler. Datenbanken. kompakt Andreas Heuer Gunter Saake Kai-Uwe Sattler Datenbanken kompakt Inhaltsverzeichnis Vorwort v 1 Was sind Datenbanken 1 1.1 Warum Datenbanken 1 1.2 Datenbanksysteme 4 1.3 Anforderungen: Die Codd'schen Regeln

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

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

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

Mehr

Datenbanken II Speicherung und Verarbeitung großer Objekte (Large Objects [LOBs])

Datenbanken II Speicherung und Verarbeitung großer Objekte (Large Objects [LOBs]) Datenbanken II Speicherung und Verarbeitung großer Objekte (Large Objects [LOBs]) Hochschule für Technik, Wirtschaft und Kultur Leipzig 06.06.2008 Datenbanken II,Speicherung und Verarbeitung großer Objekte

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

Kalkülteil. Structured Query Language, SQL. 1. Semantik: erzeuge alle Kombinationen von Tupeln

Kalkülteil. Structured Query Language, SQL. 1. Semantik: erzeuge alle Kombinationen von Tupeln Structured Query Language, SQL vom American National Standards Institute, ANSI, genormte Datenbanksprache. enthält eine Teilsprache, die eine relationale Anfragesprache ist, Mischung von tupelorientierten

Mehr

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort... 13

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort... 13 Auf einen Blick Vorwort... 13 Teil 1 Vorbereitung Kapitel 1 Einleitung... 17 Kapitel 2 SQL der Standard relationaler Datenbanken... 21 Kapitel 3 Die Beispieldatenbanken... 39 Teil 2 Abfrage und Bearbeitung

Mehr

SQL. Ziele. Grundlagen von SQL. Beziehung zur relationalen Algebra SELECT, FROM, WHERE. Joins ORDER BY. Aggregatfunktionen. dbis.

SQL. Ziele. Grundlagen von SQL. Beziehung zur relationalen Algebra SELECT, FROM, WHERE. Joins ORDER BY. Aggregatfunktionen. dbis. SQL Lehr- und Forschungseinheit Datenbanken und Informationssysteme Ziele Grundlagen von SQL Beziehung zur relationalen Algebra SELECT, FROM, WHERE Joins ORDER BY Aggregatfunktionen Lehr- und Forschungseinheit

Mehr

Einführung. Kapitel 1 2 / 508

Einführung. Kapitel 1 2 / 508 Kapitel 1 Einführung 2 / 508 Einführung Was ist ein Datenbanksystem (DBS)? Ein System zum Speichern und Verwalten von Daten. Warum kein herkömmliches Dateisystem verwenden? Ausfallsicherheit und Skalierbarkeit

Mehr

Fragenkatalog zum Kurs 1666 (Datenbanken in Rechnernetzen) Kurstext von SS 96

Fragenkatalog zum Kurs 1666 (Datenbanken in Rechnernetzen) Kurstext von SS 96 Fragenkatalog zum Kurs 1666 (Datenbanken in Rechnernetzen) Kurstext von SS 96 Dieser Fragenkatalog wurde aufgrund das Basistextes und zum Teil aus den Prüfungsprotokollen erstellt, um sich auf mögliche

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

Übersicht über Datenbanken

Übersicht über Datenbanken Übersicht über Datenbanken Vergleich zwischen normaler Datenorganisation und Datenbanken Definition einer Datenbank Beispiel (inkl. Zugriff) Der Datenbankadministrator Relationale Datenbanken Transaktionen

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

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

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 2009 Kapitel 3: Datenbanksysteme Vorlesung:

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

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort 13

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort 13 Auf einen Blick Vorwort 13 Teil 1 Vorbereitung Kapitel 1 Einleitung 17 Kapitel 2 SQL - der Standard relationaler Datenbanken 21 Kapitel 3 Die Beispieldatenbanken 39 Teil 2 Abfrage und Bearbeitung Kapitel

Mehr

Datenbanksysteme I Anfragebearbeitung und -optimierung Felix Naumann

Datenbanksysteme I Anfragebearbeitung und -optimierung Felix Naumann Datenbanksysteme I Anfragebearbeitung und -optimierung 22.6.2009 Felix Naumann Anfragebearbeitung Grundproblem 2 Anfragen sind deklarativ. SQL, Relationale Algebra Anfragen müssen in ausführbare (prozedurale)

Mehr

Datenbanken. Sommersemester 2010 Probeklausur

Datenbanken. Sommersemester 2010 Probeklausur Prof. Dr. V. Linnemann Christoph Reinke Universität zu Lübeck Institut für Informationssysteme Lübeck, den 29. Juli 2010 Datenbanken Sommersemester 2010 Probeklausur Hinweise: Es ist sinnvoll, die Aufgaben

Mehr

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

mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007 6. Übung zur Vorlesung Datenbanken im Sommersemester 2007 mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007 Aufgabe 1: Rekursion Betrachten Sie die folgende Tabelle

Mehr

Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009

Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009 Hochschule Darmstadt DATENBANKEN Fachbereich Informatik Praktikum 3 Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009 PL/SQL Programmierung Anwendung des Cursor Konzepts und Stored Procedures Und Trigger

Mehr

Seminar Informationsintegration und Informationsqualität. Dragan Sunjka. 30. Juni 2006

Seminar Informationsintegration und Informationsqualität. Dragan Sunjka. 30. Juni 2006 Seminar Informationsintegration und Informationsqualität TU Kaiserslautern 30. Juni 2006 Gliederung Autonomie Verteilung führt zu Autonomie... Intra-Organisation: historisch Inter-Organisation: Internet

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

Modul Datenbanksysteme 2 Prüfung skizzenhaft SS Aug. 2007. Name: Note:

Modul Datenbanksysteme 2 Prüfung skizzenhaft SS Aug. 2007. Name: Note: 1 Modul Datenbanksysteme 2 Prüfung skizzenhaft SS Aug. 2007 Name: Note: Nr. Aufgaben Max. Punkte Erreichte Punkte 1 Grundlagen ~ 10% Vgl. Hinweis unten 2 Integrität, Procedures, Triggers, Sichten ~ 20%

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

Datenbanksysteme I Anfragebearbeitung und -optimierung. 27.6.2011 Felix Naumann

Datenbanksysteme I Anfragebearbeitung und -optimierung. 27.6.2011 Felix Naumann Datenbanksysteme I Anfragebearbeitung und -optimierung 27.6.2011 Felix Naumann Anfragebearbeitung Grundproblem 2 Anfragen sind deklarativ. SQL, Relationale Algebra Anfragen müssen in ausführbare (prozedurale)

Mehr

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

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

Mehr

3. Übung. Einführung MS Access. TU Dresden - Institut für Bauinformatik Folie-Nr.: 1

3. Übung. Einführung MS Access. TU Dresden - Institut für Bauinformatik Folie-Nr.: 1 WP3-13 Bauinformatik-Vertiefte Grundlagen 3. Übung Einführung MS Access Folie-Nr.: 1 Allgemeines Microsoft Access ist ein Datenbank-Management-System (DBMS) zur Verwaltung von Daten in Datenbanken und

Mehr

Data Cube. Aggregation in SQL. Beispiel: Autoverkäufe. On-line Analytical Processing (OLAP) 1. Einführung. 2. Aggregation in SQL, GROUP BY

Data Cube. Aggregation in SQL. Beispiel: Autoverkäufe. On-line Analytical Processing (OLAP) 1. Einführung. 2. Aggregation in SQL, GROUP BY Data Cube On-line Analytical Processing (OLAP). Einführung Ziel: Auffinden interessanter Muster in großen Datenmengen 2. Aggregation in SQL, GROUP BY 3. Probleme mit GROUP BY 4. Der Cube-Operator! Formulierung

Mehr

Tag 4 Inhaltsverzeichnis

Tag 4 Inhaltsverzeichnis Tag 4 Inhaltsverzeichnis Normalformen Problem Formen (1-4) Weitere Formen Transaktionen Synchronisationsprobleme Überblick Autocommit Locking Savepoints Isolation levels Übungen RDB 4-1 Normalformen Problematik

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

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

Raumbezogene Datenbanken (Spatial Databases)

Raumbezogene Datenbanken (Spatial Databases) Raumbezogene Datenbanken (Spatial Databases) Ein Vortrag von Dominik Trinter Alexander Christian 1 Inhalte Was ist ein raumbezogenes DBMS? Modellierung Abfragen Werkzeuge zur Implementierung Systemarchitektur

Mehr

Fachhochschule Deggendorf Platzziffer:...

Fachhochschule Deggendorf Platzziffer:... Sommersemester 2008 Zahl der Blätter: 9 Fachbereich: Betriebswirtschaft WI Bachelor Hilfsmittel: alles ohne Computer Zeit: 90 Minuten 1 Betrachten Sie die drei markierten Zeilen. 1. Angenommen Sie hätten

Mehr

Vorlesung Dokumentation und Datenbanken Klausur

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

Mehr

Einführung. Informationssystem als Abbild der realen Welt

Einführung. Informationssystem als Abbild der realen Welt Was ist ein Datenbanksystem? Anwendungsgrundsätze Betrieb von Datenbanksystemen Entwicklung von Datenbanksystemen Seite 1 Informationssystem als Abbild der realen Welt Modellierung (Abstraktion) Sachverhalte

Mehr

Wirtschaftsinformatik 2. Tutorium im WS 11/12

Wirtschaftsinformatik 2. Tutorium im WS 11/12 Wirtschaftsinformatik 2. Tutorium im WS 11/12 Entity/Relationship-Modell SQL Statements Tutorium Wirtschaftsinformatik WS 11/12 2.1 Datenmodellierung mit ERM (1) Datenmodellierung zur Erarbeitung des konzeptionellen

Mehr

Themen. M. Duffner: Datenbanksysteme

Themen. M. Duffner: Datenbanksysteme Datenbanksysteme Themen Theorie Einführung Datenbank, Datenbankmanagementsystem (DBMS), Aufgaben eines DBMS Relationale Datenbanken Daten als Tabellen Datenbankentwurf im Entity-Relationship-Modell Abfragesprache

Mehr

MIN oder MAX Bildung per B*Tree Index Hint

MIN oder MAX Bildung per B*Tree Index Hint E-Mail: rainer@lambertz-c.de Internet: http://www.lambertz-c.de MIN oder MAX Bildung per B*Tree Index Hint Zugegeben, der Trick Min- oder Maximalwerte per Index Hint zu ermitteln ist nicht neu. Gewöhnlich

Mehr