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

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

Datenbank. Datenbankmanagementsystem. Datenbanken. 16.10.2006 Felix Naumann. Datenbanken 1 Organisatorisches und Einführung

Datenbank. Datenbankmanagementsystem. Datenbanken. 16.10.2006 Felix Naumann. Datenbanken 1 Organisatorisches und Einführung Datenbanken 1 Organisatorisches und Einführung 16.10.2006 Felix Naumann Datenbanken 2 Anwendung Anwendung Datenbankmanagementsystem Datenbank 1 Überblick 3 Vorstellung der Arbeitsgruppe Organisatorisches

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

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

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

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

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

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

Themenblock: Erstellung eines Cube

Themenblock: Erstellung eines Cube Themenblock: Erstellung eines Cube Praktikum: Data Warehousing und Data Mining Einführung relationale Datenbanken Problem Verwaltung großer Mengen von Daten Idee Speicherung der Daten in Form von Tabellen

Mehr

Einführung relationale Datenbanken. Themenblock: Erstellung eines Cube. Schlüssel. Relationenmodell Relationenname Attribut. Problem.

Einführung relationale Datenbanken. Themenblock: Erstellung eines Cube. Schlüssel. Relationenmodell Relationenname Attribut. Problem. Themenblock: Erstellung eines Cube Einführung relationale Datenbanken Problem Verwaltung großer Mengen von Daten Praktikum: Data Warehousing und Data Mining Idee Speicherung der Daten in Form von Tabellen

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

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

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

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

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

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

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

Mehr

Kapitel 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

Konstante Relationen

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

Mehr

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

Web-Technologien. Prof. Dr. rer. nat. Nane Kratzke SQL. Praktische Informatik und betriebliche Informationssysteme

Web-Technologien. Prof. Dr. rer. nat. Nane Kratzke SQL. Praktische Informatik und betriebliche Informationssysteme Handout zur Unit Web-Technologien SQL 1 Prof. Dr. rer. nat. Nane Kratzke Praktische Informatik und betriebliche Informationssysteme Raum: 17-0.10 Tel.: 0451 300 5549 Email: nane.kratzke@fh-luebeck.de (Praktische

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

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

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

Einführung in die Informatik II

Einführung in die Informatik II Einführung in die Informatik II Die Structured Query Language SQL Prof. Dr. Nikolaus Wulff SQL Das E/R-Modell lässt sich eins zu eins auf ein Tabellenschema abbilden. Benötigt wird eine Syntax, um Tabellen

Mehr

Garten -Daten Bank. Was ist das? Dr. Karsten Tolle PRG2 SS 2013

Garten -Daten Bank. Was ist das? Dr. Karsten Tolle PRG2 SS 2013 Garten -Daten Bank Was ist das? Dr. Karsten Tolle PRG2 SS 2013 Inhalt heute Kurz: Motivation und Begriffe SQL (am Beispiel MySQL und Workbench) create table(tabelle erzeugen) insert into(einfügen) select

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

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

Datenbanken. Lernziele. Inhalt. Organisatorisches. Datenbank und Datenbanksystem. 1. Grundlagen Datenbanken. Wie entwerfe ich eine Datenbank?

Datenbanken. Lernziele. Inhalt. Organisatorisches. Datenbank und Datenbanksystem. 1. Grundlagen Datenbanken. Wie entwerfe ich eine Datenbank? SELECT s., s., sum(k.dauer) FROM s, a, Kurs k WHERE s.=a. AND a.=k. GROUP BY s. Lernziele Datenbanken ditact 2003 Salzburg Wie entwerfe ich eine Datenbank? Wie kann ich Daten einfügen, bearbeiten oder

Mehr

Inhaltsverzeichnis. jetzt lerne ich

Inhaltsverzeichnis. jetzt lerne ich Inhaltsverzeichnis jetzt lerne ich Einführung 15 1 Erste Schritte 21 1.1 Datenbanken und Datenbank-Managementsysteme 21 1.2 Zugriff auf Datenbanken 22 1.3 Was der Großvater noch wusste... 22 1.4 Einordnung

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

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

Kapitel DB:VI (Fortsetzung)

Kapitel DB:VI (Fortsetzung) Kapitel DB:VI (Fortsetzung) VI. Die relationale Datenbanksprache SQL Einführung SQL als Datenanfragesprache SQL als Datendefinitionssprache SQL als Datenmanipulationssprache Sichten SQL vom Programm aus

Mehr

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

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

Mehr

4. Structured Query Language (SQL)

4. Structured Query Language (SQL) 4. Structured Query Language (SQL) Rückblick Konzeptuelles Modell (ERM) können wir nun in (wenige) Relationen übersetzen Relationale Algebra gibt uns eine Sprache an die Hand, mit der wir Anfragen auf

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

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

2) Nennen Sie die Namen der 3 Ebenen des 3-Ebenen-Modells, und geben Sie an, was in jeder Ebene dargestellt wird.

2) Nennen Sie die Namen der 3 Ebenen des 3-Ebenen-Modells, und geben Sie an, was in jeder Ebene dargestellt wird. Übungen und Lösungen 1. Einführung Datenbanken 1) Welche Datenbanktypen kennen Sie? Wodurch sind sie gekennzeichnet? Hierarchische Datenbanken: Zwischen den Datensätzen besteht eine untergeordnete Rangfolge.

Mehr

Informatik II Datenorganisation Datenbanken

Informatik II Datenorganisation Datenbanken Informatik II Datenorganisation Datenbanken Studiengang Wirtschaftsingenieurwesen (2. Semester) Prof. Dr. Sabine Kühn Tel. (0351) 462 2490 Fachbereich Informatik/Mathematik skuehn@informatik.htw-dresden.de

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

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

Datenbanksprache SQL. Datenbanksprache SQL. 5.1 Anfragesprache SQL-DQL. from-klausel SS 2005

Datenbanksprache SQL. Datenbanksprache SQL. 5.1 Anfragesprache SQL-DQL. from-klausel SS 2005 Webbasierte Informationssysteme SS 2005 8. SQL-Vertiefung Prof. Dr. Stefan Böttcher Universität Paderborn Datenbanksprache SQL Structured Query Language (SQL) - am IBM San Jose Research Laboratory entwickelt

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

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

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

Relationale Datenbanken

Relationale Datenbanken Datenbanksysteme Relationale Datenbanken Relationales Datenmodell Deklarationen Anfragen! Entwurf, z.b. mit Entity Relationship Model! Deklaration! Speichern der Daten! Hauptspeicher, Cache, virtueller

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

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

Speicherung von XML in (objekt-)relationalen Datenbanken. Burkhard Schäfer

Speicherung von XML in (objekt-)relationalen Datenbanken. Burkhard Schäfer Speicherung von XML in (objekt-)relationalen Datenbanken Burkhard Schäfer Übersicht Motivation Anforderungen Ansätze modellorientiert strukturorientiert Zusammenfassung Motivation Warum XML in Datenbanken

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

Web Technologien Klassische Datenbanken am Beispiel von MySQL

Web Technologien Klassische Datenbanken am Beispiel von MySQL Web Technologien Klassische Datenbanken am Beispiel von MySQL Univ.-Prof. Dr.-Ing. Wolfgang Maass Chair in Information and Service Systems Department of Law and Economics WS 2011/2012 Wednesdays, 8:00

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

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

Ü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

OM Datenbanken. OM Datenbanken. 8.1 Was ist ein Datenbanksystem? Motivation

OM Datenbanken. OM Datenbanken. 8.1 Was ist ein Datenbanksystem? Motivation 1 Inhalt: Relationale Datenbanken 8.1 Was ist ein Datenbanksystem? 8.2 Relationale Datenbanksysteme 8.3 Abbildung des objektorientierten Modells auf Tabellen 2 8.1 Was ist ein Datenbanksystem? Motivation

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

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

DBSP. Vorlesung. Prof. Dr. rer. nat. Nane Kratzke. Unit. Praktische Informatik und betriebliche Informationssysteme

DBSP. Vorlesung. Prof. Dr. rer. nat. Nane Kratzke. Unit. Praktische Informatik und betriebliche Informationssysteme Handout zur Vorlesung Vorlesung DBSP Unit Datenbanken SQL 1 Prof. Dr. rer. nat. Nane Kratzke Praktische Informatik und betriebliche Informationssysteme Raum: 17-0.10 Tel.: 0451 300 5549 Email: kratzke@fh-luebeck.de

Mehr

Kapitel 5 Dr. Jérôme Kunegis. SQL: Grundlagen. WeST Institut für Web Science & Technologien

Kapitel 5 Dr. Jérôme Kunegis. SQL: Grundlagen. WeST Institut für Web Science & Technologien Kapitel 5 Dr. Jérôme Kunegis SQL: Grundlagen WeST Institut für Web Science & Technologien Lernziele Kenntnis der Grundkonzepte von SQL Fähigkeit zur praktischen Anwendung von einfachen SQL-Anweisungen

Mehr

Agenda. Themenblock: Data Warehousing (I) Referenzarchitektur. Eigenschaften eines Data Warehouse. Einführung Data Warehouse Data Access mit SQL

Agenda. Themenblock: Data Warehousing (I) Referenzarchitektur. Eigenschaften eines Data Warehouse. Einführung Data Warehouse Data Access mit SQL Themenblock: Data Warehousing (I) Praktikum: Data Warehousing und Data Mining 2 Eigenschaften eines Data Warehouse Referenzarchitektur Integrierte Sicht auf beliebige Daten aus verschieden Datenbanken

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

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

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

Datenmodellierung und Datenbanksysteme. Vorlesung. Informationswissenschaft und Informationssysteme. Hans Uszkoreit & Brigi1e Jörg

Datenmodellierung und Datenbanksysteme. Vorlesung. Informationswissenschaft und Informationssysteme. Hans Uszkoreit & Brigi1e Jörg Vorlesung Informationswissenschaft und Informationssysteme Hans Uszkoreit & Brigi1e Jörg Definitionen Data modeling in software engineering is the process of creating a data model by applying formal data

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

Fachbereich Informatik Praktikum 1

Fachbereich Informatik Praktikum 1 Hochschule Darmstadt DATA WAREHOUSE SS2015 Fachbereich Informatik Praktikum 1 Prof. Dr. S. Karczewski Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 14.April.2015 1. Kurzbeschreibung In diesem Praktikum geht

Mehr

Relationale Datenbanken Kursziele

Relationale Datenbanken Kursziele Relationale Datenbanken Kursziele DB Grundlagen Daten-Modellierung Relationales Modell und DB => Praxis: Mit SQL als Anfragesprache Mit MySQL als DB RDB 1-1 Kursinhalt (Tage) 1. DB Einleitung / Entity-Relationship

Mehr

Einführung in SQL Datenbanken bearbeiten

Einführung in SQL Datenbanken bearbeiten Einführung in SQL Datenbanken bearbeiten Jürgen Thomas Entstanden als Wiki-Buch Bibliografische Information Diese Publikation ist bei der Deutschen Nationalbibliothek registriert. Detaillierte Angaben

Mehr

Datenbanken: Architektur & Komponenten 3-Ebenen-Architektur

Datenbanken: Architektur & Komponenten 3-Ebenen-Architektur Datenbanken: Architektur & Komponenten 3-Ebenen-Architektur Moderne Datenbanksysteme sind nach der 3-Ebenen-Architektur gebaut: Anwendung 1 Web-Anwendung Anwendung 2 Java-Programm... Anwendung n Applikation

Mehr

Datenbanksysteme 1 Organisatorisches und Einführung. 19.4.2010 Felix Naumann

Datenbanksysteme 1 Organisatorisches und Einführung. 19.4.2010 Felix Naumann Datenbanksysteme 1 Organisatorisches und Einführung 19.4.2010 Felix Naumann Datenbanken 2 Anwendung Anwendung Datenbankmanagementsystem Datenbank Mehr-Schichtenarchitekturen 3 1 Schicht: PC 2 Schichten:

Mehr

Einführung in SQL mit Oracle

Einführung in SQL mit Oracle Seminar Einführung in SQL mit Oracle von Prof. Dr. Rainer Schwenkert Hochschule München c Vervielfältigung nur mit Zustimmung des Autors Themenbereiche SQL-Historie Wichtige DDL- und DML-Anweisungen Der

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

Lothar Piepmeyer. Grundkurs Datenbanksysteme. Von den Konzepten bis zur Anwendungsentwicklung ISBN: 978-3-446-42354-1

Lothar Piepmeyer. Grundkurs Datenbanksysteme. Von den Konzepten bis zur Anwendungsentwicklung ISBN: 978-3-446-42354-1 Lothar Piepmeyer Grundkurs Datenbanksysteme Von den Konzepten bis zur Anwendungsentwicklung ISBN: 978-3-446-42354-1 Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-42354-1

Mehr

IMPLEMENTIERUNG VON OPERATIONEN AUF RELATIONEN

IMPLEMENTIERUNG VON OPERATIONEN AUF RELATIONEN Joins 1 IMPLEMENTIERUNG VON OPERATIONEN AUF RELATIONEN Literatur Priti Mishara, Maragaret H. Eich, Join Processing in Relational Databases, ACM Computing Surveys, Vol. 24, No. 1, March 1992 Goetz Graefe,

Mehr

Arbeiten mit ACCESS 2013

Arbeiten mit ACCESS 2013 Dipl.-Hdl., Dipl.-Kfm. Werner Geers Arbeiten mit ACCESS 2013 Datenbanken mit Datenmodellierung Tabellen, Abfragen, Formularen und Berichten Beziehungen Makros Datenaustausch SQL Structured Query Language

Mehr

Temporale Daten in objekt-relationalen Datenbanksystemen

Temporale Daten in objekt-relationalen Datenbanksystemen Temporale Daten in objekt-relationalen Datenbanksystemen Carsten Kleiner Universität Hannover Institut für Informatik FG Datenbanken und Informationssysteme (dbis) 30159 Hannover 13.Workshop Grundlagen

Mehr

1. Funktionen und Datenflüsse; Tabellenkalkulationssysteme

1. Funktionen und Datenflüsse; Tabellenkalkulationssysteme Grundwissen Informatik 1. und Datenflüsse; Tabellenkalkulationssysteme Zellbezug relativer Zellbezug absoluter Zellbezug iterative Berechnungen Datentypyen z. B. A4 A ist der Spaltenbezeichner 4 ist die

Mehr

Datenbanken I - Einführung

Datenbanken I - Einführung - Einführung April, 2011 1 von 30 Outline 1 Organisatorisches 2 Vorlesungsinhalt 3 Begrisklärung 4 Motivation 5 Abstraktion 6 Datenmodelle 7 Literaturangabe 2 von 30 Scheinkriterien Belegübung Regelmäÿige

Mehr

Datenbanksysteme 1 Organisatorisches und Einführung. 19.4.2010 Felix Naumann

Datenbanksysteme 1 Organisatorisches und Einführung. 19.4.2010 Felix Naumann Datenbanksysteme 1 Organisatorisches und Einführung 19.4.2010 Felix Naumann Datenbanken 2 Anwendung Anwendung Datenbankmanagementsystem Datenbank Mehr-Schichtenarchitekturen 3 1 Schicht: PC 2 Schichten:

Mehr

Anfragebearbeitung. Kapitel 7. Anfragebearbeitung 285 / 520

Anfragebearbeitung. Kapitel 7. Anfragebearbeitung 285 / 520 Kapitel 7 Anfragebearbeitung 285 / 520 Übersicht Anfrage Übersetzer Ausführungsplan Laufzeitsystem Ergebnis 286 / 520 Übersetzung Übersetzung SQL ist deklarativ, irgendwann muß Anfrage aber für Laufzeitsystem

Mehr

Listener: Bei Oracle erfolgt die Steuerung (konventionell) via listener.ora (Listener Konfiguration), tnsnames.ora (Client Konfiguration)

Listener: Bei Oracle erfolgt die Steuerung (konventionell) via listener.ora (Listener Konfiguration), tnsnames.ora (Client Konfiguration) Protokoll 1: Listener: Bei Oracle erfolgt die Steuerung (konventionell) via listener.ora (Listener Konfiguration), tnsnames.ora (Client Konfiguration) Abschnitt 2.1 (Ausführungen zum Shutdown / Startup)

Mehr

4.1 SQL. Wichtige skalare Datentypen

4.1 SQL. Wichtige skalare Datentypen 4. Basierend auf dem Tupelkalkül und der relationalen Algebra wurden mit dem Aufkommen relationaler DBMS auch spezielle Sprachen entwickelt. SQL ist die derzeit am weitesten verbreitete Anfragesprache

Mehr

Vorlesung Datenbankmanagementsysteme

Vorlesung Datenbankmanagementsysteme Vorlesung Datenbankmanagementsysteme Relationale Datenbanken Vorlesung Datenbankmanagementsysteme Relationale Datenbanken M. Lange, S. Weise Folie #4-1 Relationale Datenbanken Wiederholung - Datenbankmodelle,

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

DB2 SQL, der Systemkatalog & Aktive Datenbanken

DB2 SQL, der Systemkatalog & Aktive Datenbanken DB2 SQL, der Systemkatalog & Aktive Datenbanken Lehr- und Forschungseinheit Datenbanken und Informationssysteme 1 Ziele Auf DB2 Datenbanken zugreifen DB2 Datenbanken benutzen Abfragen ausführen Den Systemkatalog

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

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 und IBM DB2 Datentypen 14.12.2011

ORACLE und IBM DB2 Datentypen 14.12.2011 1/27 ORACLE und IBM DB2 Datentypen PHP-User-Group Stuttgart 14.12.2011 ORACLE Datentypen ein Überblick IBM DB2 Datentypen ein Überblick 2/27 ORACLE und IBM DB2 Datentypen Wer Wer bin bin ich ich?? Thomas

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

Datenbankmodelle 2. Das relationale Modell

Datenbankmodelle 2. Das relationale Modell Datenbankmodelle 2 Das relationale Modell Datenbankmodelle ER-Modell Netzwerkmodell hierarchisches Modell relationales Modell objektorientierte Modelle Relationales Modell - 2 relationales Modell basiert

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

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

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

Einstieg in relationale Datenbanken mit MySQL. Dr. Kerstin Puschke September 2009

Einstieg in relationale Datenbanken mit MySQL. Dr. Kerstin Puschke September 2009 Einstieg in relationale Datenbanken mit MySQL Dr. Kerstin Puschke September 2009 1 Lizenz Lizenz Dieser Text steht unter einer Creative Commons Attribution-Share Alike 3.0 Germany Lizenz, siehe http://creativecommons.org/licenses/by-sa/3.0/de/

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

Herbstsemester 2009. Datenbanken mit Übungen Kapitel 4: SQL. H. Schuldt. Inhalt

Herbstsemester 2009. Datenbanken mit Übungen Kapitel 4: SQL. H. Schuldt. Inhalt Herbstsemester 2009 Datenbanken mit Übungen Kapitel 4: SQL H. Schuldt Inhalt Datenmanipulationssprache SQL: SQL (Structured Query Language) ist die Standardsprache für die Datendefinition und Datenmanipulation

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

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