Einführung in die Datenbanktechnik

Größe: px
Ab Seite anzeigen:

Download "Einführung in die Datenbanktechnik"

Transkript

1 Einführung in die Datenbanktechnik Boris Glavic II-1

2 Einführung in die Datenbanktechnik Grundlagen & Zusammenhänge Was ist eine Datenbank, was ist ein Datenbanksystem, wozu das alles? Aufgaben von Datenbankverwaltungssystemen, Grundbegriffe, Arbeitsweise Relationales Datenmodell Grundsätze, Relationen, Tupel, Integritätsbedingungen, einfaches SQL (Datendefinition und Datenmanipulation) Datenbankentwurf Schrittweiser Entwurfsvorgang, konzeptuelle Modellierung, das Gegenstands- /Beziehungsmodell und seine Anwendung, Regeln für die Umsetzung konzeptueller Schemata II-2

3 Relationenmodell ein logisches Datenmodell heute klar der Marktführer besonders einfache, einheitliche Strukturen formale Grundlagen flexible, mächtige Operatoren > (relativ) gute Verständlichkeit, Erlernbarkeit lange umstritten: Effizienz von Implementierungen II-3

4 Relationenmodell Urprung: E.F. Codd 1970 erste Systeme 1975 (für Praxis: 1985) heute breite kommerzielle Nutzung, Standardisierung, viele Erweiterungen Beispielsysteme: Oracle IBM UDB (DB2) Microsoft SQL Server Sybase, Informix, Access, MySQL,... wichtig: Relationenmodell Standard (SQL) Systeme II-4

5 Relationenmodell: Grundsätze Datenbank ::= Menge von Relationen als Tabellen auffassbar (aber Vorsicht!) dynamisch veränderbar jede Zeile: Kollektion zusammengehöriger Werte (Darstellung z.b. eines Umweltsachverhaltes; ein Tupel) jede Spalte: Attribut mit Werten aus einem Wertebereich (genauer einer Domäne: Wertebereich mit bestimmter Bedeutung; Werte sind aus DB-Sicht atomar (sollen)) jede Relation hat einen (eindeutigen) Namen und eine Überschrift (die Namen ihrer Attribute) II-5

6 Relation R A1 A2.... An w11 w w1n wi1 wi2.... win wk1 wk2.... wkn II-6

7 Relation Attribut Relationenschema Relationsname R A1 A2.... An Relationeninstanz Wert w11 w w1n wi1 wi2.... win wk1 wk2.... wkn Tupel II-7

8 ANGESTELLTER VName NName AHV# Gebtag Adresse Geschlecht Salär Vorges Abt Kurt Huesli Zürich m Beate Tell Küssnacht w Ruedi Becker Wallisellen m Boris Frisch Zug m Sonja Maradona Bern w Guiseppe Wagner Zürich m Amando Verdi Dübendorf m Mirella Freni Dübendorf w NULL 1 II-8

9 Relationenmodell: formaler Relationenschema R (A 1, A 2,..., A n ) Attribute A i : Name einer Rolle, die eine Domäne D j in R spielt: D j = dom (A i ) R: Relationenname n: Grad der Relation zu definieren: Relationenname Attributnamen Domänen *) Zuordnung Attribut > Domäne *) *) stattdessen oft nur Attribut > Wertebereich II-9

10 Relationenmodell: formaler Relation (Instanz) r von R: r(r) = { t 1,..., t k } mit t j = < w 1,..., w n >, w i dom(a i ) {NULL} n-tupel Intension R, Extension r(r) auch: r(r) dom(a 1 ) x dom(a 2 ) x... x dom(a n ) also maximal dom(a 1 ). dom(a 2 )..... dom(a n ) Tupel je Zeitpunkt: genau eine Extension r(r) für jedes R der relationalen Datenbank dynamische Änderungen (einfügen, löschen, ändern): r 1 (R) > r 2 (R) II-10

11 Relationenmodell: Charakteristika und Konventionen Relation ist Menge von Tupeln > keine Reihenfolge (Ordnung) unterstellt (im Gegensatz zu Sätzen in einer Datei) > Tabellenschreibweise suggeriert Reihenfolge lediglich: nicht darauf verlassen! Tupel ist geordnete Liste von Werten > Reihenfolge wesentlich (aber nur hinsichtlich Korrespondenz mit dem Schema) Werte: (aus DB-Sicht) atomar ( 1. Normalform ); NULL als Wert möglich (meist genau ein solcher Wert, für alle Domänen gemeinsam) II-11

12 Schlüsselattribute Relation ist Menge von Tupeln > alle Tupel müssen voneinander verschieden sein > je zwei Tupel können nicht für alle Attribute dieselben Werte haben dies gilt meist schon für eine Teilmenge SK der Attribute: t 1, t 2 r(r), t 1 t 2 : t 1 [SK] t 2 [SK] > SK heisst Superschlüssel von R ein Schlüssel K einer Relation R ist ein Superschlüssel K, wenn K K: K ist kein Superschlüssel von R (d.h. K ist minimaler Superschlüssel) > Identifikationsschlüssel für Tupel von R Beispiel: die Matrikelnummer für Studierende II-12

13 Schlüsselattribute Schlüssel können ein Attribut oder mehrere Attribute haben die Eindeutigkeit des Schlüssels muss (zeitinvariant) für jede DB-Instanz gelten prinzipiell kann es je Relationenschema mehrere Schlüssel geben: Schlüsselkandidaten > wähle daraus den Primärschlüssel aus (mit möglichst wenigen Attributen) die Festlegung des Primärschlüssels gehört zum Relationenschema II-13

14 Relationenmodell: Übersicht relationales DB-Schema: Menge von Relationenschemata S = {R 1,..., R m } + Menge von Konsistenzbedingungen DB-Instanz von S: DB = {r 1,..., r m } mit r i Instanz von R i alle Konsistenzbedingungen sind erfüllt relationale DB: Schema + (jeweils aktuelle) Instanz II-14

15 ANGESTELLTER VName NName AHV# Gebtag Adresse Geschlecht Salär Vorges Abt ABTEILUNG ABT_ORT AName ANummer Leiter Anfdatum ANummer AOrt PROJEKT ARBEITET_AN PName PNummer POrt Abt Ang Projekt Stunden ANGEHÖRIGER Ang Name Geschlecht Gebtag Verwgrad II-15

16 ANGESTELLTER VName NName AHV# Gebtag Adresse Geschlecht Salär Vorges Abt Kurt Huesli Zürich m Beate Tell Küssnacht w Ruedi Becker Wallisellen m Boris Frisch Zug m Sonja Maradona Bern w Guiseppe Wagner Zürich m Amando Verdi Dübendorf m Mirella Freni Dübendorf w NULL 1 ABTEILUNG AName ANummer Leiter Anfdatum Forschung Verwaltung Management PROJEKT PName PNummer POrt Abt ProduktX 1 Zug 5 ProduktY 2 Baden 5 ProduktZ 3 Kloten 5 Informatik 10 Zürich 4 Reorganisation 20 Kloten 1 Soziales 30 Zürich 4 ABT_ORT ANummer AOrt 1 Kloten 4 Zürich 5 Zug 5 Baden 5 Kloten II-16

17 ARBEITET_AN Ang Projekt Stunden NULL ANGEHÖRIGER Ang Name Geschlecht Gebtag Verwgrad 8635 Alice w Tochter 8635 Max m Sohn 8635 Ueli m Ehemann 9260 Greti w Ehefrau 5908 Beat m Sohn 5908 Alice w Tochter 5908 Liesli w Ehefrau II-17

18 Konsistenzbedingungen im Schema festzulegen; müssen von allen Instanzen eingehalten werden (a) Schlüsselbedingungen Festlegung der Schlüsselkandidaten > Eindeutigkeit (oft wird nur der Primärschlüssel definiert) (b) Gegenstandsintegritätsbedingung der Wert eines Primärschlüssels darf nie NULL sein ( > Identifikationsfähigkeit von Tupeln) (c) referentielle Integritätsbedingung II-18

19 Referentielle Integrität informell: ein Tupel einer Relation, das sich auf eine andere Relation bezieht, muss sich dort auf ein tatsächlich existierendes Tupel beziehen formeller: das Konzept Fremdschlüssel (foreign key) Relationen R, S (R = S ist möglich!) Ein Attribut FK von R heisst Fremdschlüssel, wenn sich seine Werte auf Tupel einer (anderen) Relation S beziehen sollen. genauer:... auf den Primärschlüssel K dort II-19

20 Referentielle Integrität Ein Attribut FK von R heisst Fremdschlüssel, wenn sich seine Werte auf Tupel einer (anderen) Relation S beziehen sollen. genauer:... auf den Primärschlüssel K dort > FK in R und K in S müssen dieselbe Domäne haben (statt Attribut kann auch Attributkombination stehen; FK und K müssen dann gleichviele Attribute umfassen und der Reihe nach dieselben Domänen haben) Fremdschlüsselattribute werden wiederum im Relationenschema festgelegt (mehrere je Relation möglich!) II-20

21 ANGESTELLTER VName NName AHV# Gebtag Adresse Geschlecht Salär Vorges Abt ABTEILUNG ABT_ORT AName ANummer Leiter Anfdatum ANummer AOrt PROJEKT ARBEITET_AN PName PNummer POrt Abt Ang Projekt Stunden ANGEHÖRIGER Ang Name Geschlecht Gebtag Verwgrad II-21

22 Referentielle Integrität Ein Attribut FK von R heisst Fremdschlüssel, wenn sich seine Werte auf Tupel einer (anderen) Relation S beziehen sollen. referentielle Integrität: t R muss gelten: t S: t[fk] = t [K] oder t[fk] = NULL für alle festgelegten Fremdschlüsselattribute muss referentielle Integrität gelten II-22

23 Konsistenzbedingungen und Mutationen von Relationen Mutationen: Tupel einfügen Tupel löschen Tupelwerte verändern dabei müssen die im Schema festgelegten Konsistenzbedingungen eingehalten bleiben II-23

24 Konsistenzbedingungen und Mutationen von Relationen Tupel einfügen: Schlüsseleindeutigkeit könnte verletzt werden NULL als Primärschlüsselattribut könnte verlangt werden Fremdschlüsselwert könnte nicht existieren mögliche Reaktionen: Einfügeoperation zurückweisen (Erklärung!) Korrektur versuchen (Benutzer befragen!), z.b. Abteilung einfügen > Kaskaden möglich II-24

25 Konsistenzbedingungen und Mutationen von Relationen Tupel löschen: ein durch Fremdschlüssel referenziertes Tupel könnte betroffen sein mögliche Reaktionen: Löschoperation zurückweisen (Erklärung!) Löschoperation kaskadieren referenzierende Tupel modifizieren ( > NULL-Wert, falls nicht selbst Primärschlüssel) Benutzer entscheidet fallweise, Festlegung im Schema möglich II-25

26 Konsistenzbedingungen und Mutationen von Relationen Tupelwerte ändern: alle Konsistenzbedingungen könnten verletzt werden unkritische Attribute: solche, die weder Primärnoch Fremdschlüssel sind mögliche Reaktionen: wie gehabt (als Löschen + Einfügen auffassbar) II-26

27 Relationenmodell: Übersicht Relationenschema R (A 1, A 2,..., A n ) Relation (Instanz) r von R: r(r) = { t 1,..., t k } mit t j = < w 1,..., w n >, w i dom(a i ) {NULL} Schlüssel relationales DB-Schema: Menge von Relationenschemata S = {R 1,..., R m } + Menge von Konsistenzbedingungen DB-Instanz von S: DB = {r 1,..., r m } mit r i Instanz von R i und alle Konsistenzbedingungen erfüllt relationale DB: Schema + (jeweils aktuelle) Instanz II-27

28 SQL: Datenbanksprache für das Relationenmodell SQL: structured query language Konstrukte für Datendefinition (DDL-Teil) Konstrukte für Datenmanipulation (DML-Teil)... und mehr viele Konstrukte (mit verschiedenen Optionen); hier nicht mehr als ein kleiner erster Eindruck II-28

29 SQL: Datendefinition create table Definition eines neuen Relationenschemas und Anlegen einer (initial leeren) Tabelle dazu alter table Verändern eines bestehenden Relationenschemas drop table Entfernen eines bestehenden Relationenschemas, inklusive Wegwerfen der Instanz dazu II-29

30 SQL: Datendefinition create table Abteilung ( AName varchar(15), ANummer integer, Leiter char(4), Anfdatum char(8) ); II-30

31 SQL: Datendefinition create table Abteilung Name ( AName varchar(15), ANummer integer, Leiter char(4), Domäne Anfdatum char(8) ); Attribut II-31

32 SQL: Datendefinition create table Abteilung ( AName varchar(15) not null, ANummer integer not null, Leiter char(4), Anfdatum char(8), primary key (ANummer), unique (AName), foreign key (Leiter) references Angestellter ); II-32

33 SQL: Datendefinition drop table Angehöriger; löscht Relationenschema und zugehörige Instanz Konsistenz beachten! alter table Angestellter add Ausbildung varchar (12); für neues Attribut werden NULL-Werte eingefügt, daher ist der Zusatz not null verboten II-33

34 SQL: Datenmanipulation Tupel einfügen (insert) Tupelwerte verändern (update) Tupel löschen (delete) Tupel/Tupelteile auffinden (select), einzeln oder Mengen davon: Anfragen, Abfragen ( queries ) > Ergebnis ist wiederum eine Relation! Relationenalgebra als Grundlage II-34

35 SQL: Anfragen deskriptiv (statt prozedural) was gesucht?, nicht wie finden? als ad hoc-sprache oder eingebettetes SQL (Kopplung mit allgemeiner Programmiersprache) oft auch hinter anderen Schnittstellen versteckt allgemeine Form ( SFW-Klausel ): select <Liste von Attributen> from <Liste von Relationen> where <Bedingung>; II-35

36 Beispiele SQL-Anfragen select Gebtag, Adresse < Projektion from Angestellter where NName = Frisch ; < Selektion Gebtag Adresse Zug II-36

37 Beispiele SQL-Anfragen select Abt from Angestellter where Salär 30000; Abt select distinct Abt from Angestellter where Salär 30000; Abt II-37

38 Beispiele SQL-Anfragen select AHV# from Angestellter; = select from where AHV# Angestellter true; select PName, PNummer, POrt, Abt from Projekt where... ; = select from Projekt where... ; II-38

39 Beispiele SQL-Anfragen Korrelation von Relationen (Verbindung; join ) Vor- und Nachnamen sowie Adressen aller Angestellter der Forschungsabteilung select from where and VName, NName, Adresse Angestellter, Abteilung AName = Forschung ANummer = Abt; VName NName Adresse Kurt Huesli Zürich Beate Tell Küssnacht Sonja Maradona Bern Guiseppe Wagner Zürich II-39

40 Beispiele SQL-Anfragen Korrelation von Relationen (Verbindung; join ) für jedes in Zürich durchgeführte Projekt ist seine Nummer, die Nummer der durchführenden Abteilung sowie Nachname, Adresse und Geburtstag von deren Leiter auszugeben select from where and and PNummer, P.Abt, NName, Adresse, Gebtag Projekt P, Angestellter, Abteilung P.Abt = ANummer Leiter = AHV# POrt = Zürich ; PNummer Abt NName Adresse Gebtag 10 4 Frisch Zug Frisch Zug II-40

41 Beispiele SQL-Anfragen Korrelation von Relationen (Verbindung; join ) Name und Orte aller Abteilungen select AName, AOrt from Abteilung A, Abt_Ort O where A.ANummer = O. ANummer; AName Forschung Forschung Forschung Verwaltung Management AOrt Zug Baden Kloten Zürich Kloten II-41

42 Beispiele SQL-Anfragen Korrelation von Relationen (Verbindung; join ); Selbstbezug Namen aller Angestellten aus Dübendorf, samt Namen ihrer Vorgesetzten select from where and A.NName, V.NName Angestellter A V A.Adresse = Dübendorf A.Vorges = V.AHV#; A.NName V.NName Verdi Frisch II-42

43 Join Typen Kreuzprodukt ( cross product ) -Alle möglichen Kombinationen von Tupeln aus den Relationen die Bedingung aus der Where-Klausel erfüllen select from where A.NName, B.PName Angestellter A, Projekt B A.Adresse = Dübendorf II-43

44 Join Typen Innerer Verbund (implizit) ( implicit inner join ) -Alle möglichen Kombinationen von Tupeln aus den Relationen die Bedingung aus der Where-Klausel erfüllen -Where Klausel enthält Bedingung(en) die sich auf mehrere Relationen beziehen select from where A.NName, V.NName Angestellter A, Angehöriger B A.AHV# = B.Ang II-44

45 Join Typen Innerer Verbund (explizit) ( explicit inner join ) -Alle möglichen Kombinationen von Tupeln aus den Relationen die Bedingung aus der Where-Klausel erfüllen -Where Klausel enthält Bedingung(en) die sich auf mehrere Relationen beziehen select from A.NName, B.Name Angestellter A join Angehöriger B on (A.AHV# = B.Ang) II-45

46 Join Typen Äußerer Verbund ( outer join ) Left outer join: select A.NName, B.Name from Angestellter A left outer join Angehöriger B on (A.AHV# = B.Ang) Right outer join: select A.NName, B.Name from Angestellter A right outer join Angehöriger B on (A.AHV# = B.Ang) Full outer join: select A.NName, B.Name from Angestellter A full outer join Angehöriger B on (A.AHV# = B.Ang) II-46

47 Beispiele SQL-Anfragen Sub-Anfragen ( sub queries ); select from where and A.NName, V.NName (select * from Angestellter) A, Angestellter V A.Adresse = Dübendorf A.Vorges = V.AHV#; A.NName V.NName Verdi Frisch II-47

48 Generische Sicht Das Ergebnis einer SQL-Anfrage in der bisher betrachteten Form kann folgendermaßen berechnet werden 1. Falls die Anfrage Sub-Anfragen enthält berechne deren Ergebnis indem 2. und 3. Auf die Sub-Anfrage angewendet wird 2. Bilde die in der From-Klausel angegeben Verbünde. Für nicht durch explizite Verbünde verknüpfte Teile bilde Kreuzprodukt 3. Entferne alle Tupel aus dem Ergebnis die Bedingung aus der Where-Klausel erfüllen 4. Berechne für alle verbleibenden Tupel die Ausdrücke der Select-Klausel II-48

49 Aggregatfunktionen Beispiele SQL-Anfragen select SUM (Salär) from Angestellter {where... } ; select AVG (Salär) from Angestellter {where... } ; SUM_Salär AVG_Salär select from select from COUNT (AHV#) Angestellter; COUNT (distinct Salär) Angestellter; COUNT_AHV# 8 COUNT_Salär 6 II-49

50 Beispiele SQL-Anfragen Aggregatfunktionen mit Gruppierung select SUM (Salär), Abt from Angestellter group by Abt Aggregatfunktionen mit Having select SUM (Salär), Abt from Angestellter group by Abt having SUM(Salär) > Sum(salär) Abt II-50

51 Beispiele SQL-Anfragen geschachtelte Anfragen Namen aller Angestellten, welche weibliche Angehörige haben VName Beate select VName, NName Boris from Angestellter Kurt where AHV# in ( select Ang from Angehöriger where Geschlecht = w ); NName Tell Frisch Huesli II-51

52 Beispiele SQL-Anfragen Arten von geschachtelten Anfragen IN / NOT IN: AHV# in (select from...) Ang EXISTS / NOT EXISTS: exists (select ANY / ALL: from...); Ang AHV# = any (select Ang from...) II-52

53 Beispiele SQL-Anfragen geschachtelte Anfragen mit Korrelationen select from where VName, NName Angestellter A salär > ALL (select salär from Angestellter B where A.Vorges = B.AHV# ); II-53

54 Generische Sicht Das Ergebnis einer SQL-Anfrage in der bisher betrachteten Form kann folgendermaßen berechnet werden 1. Falls die Anfrage From-Klausel Sub-Anfragen enthält berechne deren Ergebnis indem 2. und 3. auf die Sub-Anfrage angewendet wird 2. Bilde die in der From-Klausel angegeben Verbünde. Für nicht durch explizite Verbünde verknüpfte Teile bilde Kreuzprodukt 3. Für jedes Tupel im Ergebnis berechne geschachtelte Sub-Anfragen und benutze deren Ergebnisse um zu bestimmen ob das Tupel die Where- Bedingung erfüllt. 4. Entferne alle Tupel aus dem Ergebnis die Bedingung aus der Where- Klausel nicht erfüllen 5. Fasse Tupel zu Gruppen zusammen falls die Group by-klausel vorhanden ist 6. Berechne für alle verbleibenden Tupel/Gruppen die Ausdrücke der Select- Klausel 7. Entferne alle Tupel aus dem Ergebnis die Bedingung aus der Having- Klausel nicht erfüllen II-54

55 Änderungen in SQL Tupel einfügen insert into Abteilung values ( Qualitätssicherung, 6, 4077, ); referentielle Integrität? not null - Klausel beachten II-55

56 Änderungen in SQL Einfügetupel = Anfrageergebnis create table Abt_Info ( AName varchar(15), AnzAng integer, TotSal integer ); insert into select from where group by Abt_Info AName, COUNT(AHV#), SUM(Salär) Abteilung, Angestellter ANummer = Abt AName; ABT_INFO AName AnzAng TotSal Forschung Verwaltung Management II-56

57 Änderungen in SQL Tupel löschen delete from Angestellter where NName = Tell ; delete from Angestellter;??? II-57

58 Änderungen in SQL Tupelwerte ändern update Projekt set POrt = Zug, Abt = 5 where PNummer = 10; update Angestellter set Salär = Salär * where Salär 30000; II-58

Datenbanken: Grundlagen und Trends

Datenbanken: Grundlagen und Trends Datenbanken: Grundlagen und Trends Dr. Patrick Ziegler pziegler@ifi.uzh.ch http://www.ifi.uzh.ch/dbtg/ Inhalt Grundlagen & Zusammenhänge Was ist eine Datenbank, was ist ein Datenbanksystem, wozu das alles?

Mehr

Einführung in die Datenbanktechnik

Einführung in die Datenbanktechnik Einführung in die Datenbanktechnik Prof. Dr. Klaus R. Dittrich III-1 Einführung in die Datenbanktechnik Grundlagen & Zusammenhänge Was ist eine Datenbank, was ist ein Datenbanksystem, wozu das alles? Aufgaben

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

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

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

Mehr

Datenbanken. Zusammenfassung. Datenbanksysteme

Datenbanken. Zusammenfassung. Datenbanksysteme Zusammenfassung Datenbanksysteme Christian Moser Seite 1 vom 7 12.09.2002 Wichtige Begriffe Attribut Assoziation API Atomares Attribut Datenbasis DBMS Datenunabhängigkeit Datenbankmodell DDL DML DCL ER-Diagramm

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

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

Das relationale Datenmodell

Das relationale Datenmodell Das relationale Datenmodell Konzepte Attribute, Relationenschemata, Datenbank-Schemata Konsistenzbedingungen Beispiel-Datenbank Seite 1 Einführung Zweck datenmäßige Darstellung von Objekten und Beziehungen

Mehr

Kapitel 2: Das Relationale Modell

Kapitel 2: Das Relationale Modell Ludwig Maximilians Universität München Institut für Informatik Lehr- und Forschungseinheit für Datenbanksysteme Skript zur Vorlesung Datenbanksysteme I Wintersemester 2012/2013 Kapitel 2: Das Relationale

Mehr

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

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

Mehr

Datenbanken im WI-Unterricht mit

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

Mehr

SQL: Übersicht. SQL (Structured Query Language) ist ANSI und ISO Standard 1975 SEQUEL = Structured English Query Language für System R

SQL: Übersicht. SQL (Structured Query Language) ist ANSI und ISO Standard 1975 SEQUEL = Structured English Query Language für System R SQL: Übersicht SQL (Structured Query Language) ist ANSI und ISO Standard 1975 SEQUEL = Structured English Query Language für System R (IBM) 1979 Oracle V2 (Relational Software Inc. ) erstes SQL Produkt

Mehr

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

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

Mehr

SQL: Weitere Funktionen

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

Mehr

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

Vorlesung: Relationale Datenbanksysteme

Vorlesung: Relationale Datenbanksysteme Vorlesung: Relationale Datenbanksysteme Softwareentwicklungsprojekt 1+2 Softwaretechnik 2 Dienstorientiertes Rechnen in der Praxis Dipl.-Inf. Andreas Göbel Friedrich-Schiller-Universität Jena Lehrstuhl

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

Mehr

Übersicht der wichtigsten MySQL-Befehle

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

Mehr

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

Kapitel 2: Das Relationale Modell

Kapitel 2: Das Relationale Modell Ludwig Maximilians Universität München Institut für Informatik Lehr- und Forschungseinheit für Datenbanksysteme Skript zur Vorlesung Wintersemester 2006/2007 Kapitel 2: Das Relationale Modell Vorlesung:

Mehr

Grundlagen von SQL. Informatik 2, FS18. Dr. Hermann Lehner (Material von Dr. Markus Dahinden) Departement Informatik, ETH Zürich

Grundlagen von SQL. Informatik 2, FS18. Dr. Hermann Lehner (Material von Dr. Markus Dahinden) Departement Informatik, ETH Zürich Grundlagen von SQL Informatik 2, FS18 Dr. Hermann Lehner (Material von Dr. Markus Dahinden) Departement Informatik, ETH Zürich Markus Dahinden 13.05.18 1 Grundlagen von SQL (Structured Query Language)

Mehr

5/14/18. Grundlagen von SQL. Grundlagen von SQL. Google, Facebook und Co. setzen auf SQL. Whatsapp

5/14/18. Grundlagen von SQL. Grundlagen von SQL. Google, Facebook und Co. setzen auf SQL. Whatsapp 5/14/18 Grundlagen von SQL (Structured Query Language) Datenbanksprache Befehle Datenbanken und Tabellen erstellen/verändern Daten manipulieren (eingeben, ändern, löschen) Datenbank durchsuchen (Queries

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. Übung zur Vorlesung Einführung in die Informatik 2 für Ingenieure (MSE) Alexander van Renen (renen@in.tum.de)

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

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. 07 Übung zur Vorlesung Grundlagen: Datenbanken im WS15/16 Harald Lang, Linnea Passing (gdb@in.tum.de)

Mehr

Als Datenbanksystem wird ein Datenbankverwaltungssystem zusammen mit einer oder mehrerer Datenbanken bezeichnet.

Als Datenbanksystem wird ein Datenbankverwaltungssystem zusammen mit einer oder mehrerer Datenbanken bezeichnet. Datenbankverwaltungssystem (DBVS/DBMS) Ein Datenbankverwaltungssystem (DBVS, data base management system : DBMS) ist die Gesamtheit aller Programme (Ressourcen) zur Erzeugung, Verwaltung (einschl. Daten-

Mehr

Datenbanksysteme 2013

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

Mehr

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 Data Manipulation Language (DML) und Query Language (QL)

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

Mehr

Daniel Warner SQL. Das Praxisbuch. Mit 119 Abbildungen. Franzis

Daniel Warner SQL. Das Praxisbuch. Mit 119 Abbildungen. Franzis Daniel Warner SQL Das Praxisbuch Mit 119 Abbildungen Franzis Inhaltsverzeichnis Teil I - Einleitung 15 1 Einleitung 17 1.1 Zum Aufbau des Buchs 17 1.2 Hinweise zur Buch-CD 18 1.3 Typografische Konventionen

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

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

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

Kapitel 7: Referentielle Integrität

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

Mehr

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

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

Mehr

Inhaltsverzeichnis. Vorwort Kapitel 1 Einleitung... 15

Inhaltsverzeichnis. Vorwort Kapitel 1 Einleitung... 15 Vorwort..................................................... 13 Kapitel 1 Einleitung.......................................... 15 Kapitel 2 SQL der Standard relationaler Datenbanken... 19 2.1 Die Geschichte................................

Mehr

Garten - Daten Bank. - survival pack -

Garten - Daten Bank. - survival pack - Garten - Daten Bank - survival pack - Dr. Karsten Tolle PRG2 SS 2017 Inhalt heute Kurz: Motivation und Begriffe SQL (survival pack) create table (Tabelle erzeugen) insert into (Einfügen) select (Anfragen)

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. 07 Übung zur Vorlesung Grundlagen: Datenbanken im WS16/17 Harald Lang, Linnea Passing (gdb@in.tum.de

Mehr

Datenintegrität. Kapitel 5 1

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

Mehr

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

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

Mehr

Finalklausur zur Vorlesung Datenbanksysteme I Wintersemester 2003/2004 Prüfer: Prof. R. Bayer, Ph.D. Datum: Zeit: 16.

Finalklausur zur Vorlesung Datenbanksysteme I Wintersemester 2003/2004 Prüfer: Prof. R. Bayer, Ph.D. Datum: Zeit: 16. Finalklausur zur Vorlesung Datenbanksysteme I Wintersemester 2003/2004 Prüfer: Prof. R. Bayer, Ph.D. Datum: 13.02.2004 Zeit: 16. Uhr Hinweis: Die Bearbeitungszeit beträgt 90 Minuten. Bitte benutzen Sie

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

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

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

Inhaltsverzeichnis. Vorwort 13. Kapitel 1 Einleitung 15

Inhaltsverzeichnis. Vorwort 13. Kapitel 1 Einleitung 15 Vorwort 13 Kapitel 1 Einleitung 15 Kapitel 2 SQL-der Standard relationaler Datenbanken... 19 2.1 Die Geschichte 19 2.2 Die Bestandteile 20 2.3 Die Verarbeitung einer SQL-Anweisung 22 2.4 Die Struktur von

Mehr

Abfragen (Queries, Subqueries)

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

Mehr

Datenbanksysteme Kapitel 2: SQL Data Definition Language

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

Mehr

Logischer Entwurf von Datenbanken

Logischer Entwurf von Datenbanken Logischer Entwurf von Datenbanken Relationales Datenbankschema Wintersemester 16/17 DBIS 1 Typischer Datenbankentwurf Anforderungsanalyse und -spezifikation Miniwelt Konzeptioneller Entwurf E/R-Diagramm

Mehr

Die Anweisung create table

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

Mehr

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

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

Mehr

Datenbanken Entity-Relationship-Modell und Datenbankentwurf 1. Andreas Heß Hochschule Furtwangen

Datenbanken Entity-Relationship-Modell und Datenbankentwurf 1. Andreas Heß Hochschule Furtwangen Datenbanken Entity-Relationship-Modell und Datenbankentwurf 1 Andreas Heß Hochschule Furtwangen Inhalte heute Einführung ins Entity-Relationship-Modell Einführung ins relationale Modell Umsetzung vom E/R-

Mehr

Kapitel 8: Datenintegrität

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

Mehr

Datenintegrität. Kapitel 5 1

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

Mehr

Anwendungsentwicklung Datenbanken SQL. Stefan Goebel

Anwendungsentwicklung Datenbanken SQL. Stefan Goebel Anwendungsentwicklung Datenbanken SQL Stefan Goebel SQL Structured Query Language strukturierte Abfragesprache von ANSI und ISO standardisiert deklarativ bedeutet was statt wie SQL beschreibt, welche Daten

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

Das Relationen-Modell. Prof. Dr. T. Kudraß 1

Das Relationen-Modell. Prof. Dr. T. Kudraß 1 Das Relationen-Modell Prof. Dr. T. Kudraß 1 Einführung Geht auf klassische Arbeit von Codd zurück (1970) Meistgenutztes Datenmodell Anbieter: IBM (DB2), Informix, Microsoft (SQL-Server), Sybase, Oracle

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

Datenbanken Unit 4: Das Relationale Modell & Datenintegrität

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

Mehr

4.14 Integrität und Trigger

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

Mehr

Aufgabe 1: Integrität

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

Mehr

Kapitel 6. Datenmalipulation (DML) d. h. insert, update, delete, select im Relationenmodell (in Oracle)

Kapitel 6. Datenmalipulation (DML) d. h. insert, update, delete, select im Relationenmodell (in Oracle) Kapitel 6 Datenmalipulation (DML) d. h. insert, update, delete, select im Relationenmodell (in Oracle) 1 Datenmanipulationssprache (DML) SQL Einfügen: Insert-Statement Ändern: Update-Statement Löschen:

Mehr

Wirtschaftsinformatik 7a: Datenbanken. Dozent: R. Witte

Wirtschaftsinformatik 7a: Datenbanken. Dozent: R. Witte Wirtschaftsinformatik 7a: Datenbanken Dozent: R. Witte Drei Gäste bezahlen nach einem gemeinsamen Abendessen eine Rechnung von 30 Euro, so dass jeder 10 Euro gibt. Der Wirt gibt dem Kellner den Auftrag

Mehr

Datenbanken 1. Sommersemester Übung 1

Datenbanken 1. Sommersemester Übung 1 Datenbanken 1 Sommersemester 2017 Übung 1 Übersicht Entwurf Anforderungsanalyse -> Dokumentation der Anford. Konzeptuelles Modell -> ER-Diagramm Logisches Modell -> Relationales Datenmodell Physisches

Mehr

SQL als Zugriffssprache

SQL als Zugriffssprache SQL als Zugriffssprache Der Select Befehl: Aufbau Select- und From-Klausel Where-Klausel Group-By- und Having-Klausel Union Join-Verbindung Order-By-Klausel Der Update-Befehl Der Delete-Befehl Der Insert-Befehl

Mehr

Inhaltsverzeichnis Vorwort zur vierten Auflage Vorwort zur dritten Auflage Vorwort zur zweiten Auflage Vorwort zur ersten Auflage Hinweise zur CD

Inhaltsverzeichnis Vorwort zur vierten Auflage Vorwort zur dritten Auflage Vorwort zur zweiten Auflage Vorwort zur ersten Auflage Hinweise zur CD Vorwort zur vierten Auflage 11 Vorwort zur dritten Auflage 13 Vorwort zur zweiten Auflage 15 Vorwort zur ersten Auflage 17 Hinweise zur CD 19 1 Datenbanken und Datenbanksysteme 21 1.1 Zentralisierung der

Mehr

Informatik II Vorlesung am D-BAUG der ETH Zürich. Vorlesung 12, 2017 Datenbanksysteme: Datendefinition in SQL, Kompliziertere Datenbankabfragen

Informatik II Vorlesung am D-BAUG der ETH Zürich. Vorlesung 12, 2017 Datenbanksysteme: Datendefinition in SQL, Kompliziertere Datenbankabfragen Informatik II Vorlesung am D-BAUG der ETH Zürich Vorlesung 12, 2017 Datenbanksysteme: Datendefinition in SQL, Kompliziertere Datenbankabfragen Datendefinition (DDL) in SQL Anlegen einer Tabelle create

Mehr

dbis Praktikum DBS I SQL Teil 2

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

Mehr

Oracle 10g Einführung

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

Mehr

Programmierung und Datenbanken II

Programmierung und Datenbanken II Programmierung und Datenbanken II Sommersemester 2015 Wiederholung ANSI/SPARC Externe Ebene Autovermietung Konzeptuelles Schema Logisches Schema Kunde(E-Mail, Name) mietet(e-mail, von_bis, Kennz.) Konzeptuelle

Mehr

Introduction to Data and Knowledge Engineering. 6. Übung SQL

Introduction to Data and Knowledge Engineering. 6. Übung SQL Introduction to Data and Knowledge Engineering 6. Übung SQL Aufgabe 6.1 Datenbank-Schema Buch PK FK Autor PK FK ISBN Titel Preis x ID Vorname Nachname x BuchAutor ISBN ID PK x x FK Buch.ISBN Autor.ID FB

Mehr

Informatik II Vorlesung am D-BAUG der ETH Zürich. Vorlesung 12, Datenbanksysteme: Datendefinition in SQL, Kompliziertere Datenbankabfragen

Informatik II Vorlesung am D-BAUG der ETH Zürich. Vorlesung 12, Datenbanksysteme: Datendefinition in SQL, Kompliziertere Datenbankabfragen Informatik II Vorlesung am D-BAUG der ETH Zürich Vorlesung 12, 30.5.2016 Datenbanksysteme: Datendefinition in SQL, Kompliziertere Datenbankabfragen Datendefinition (DDL) in SQL Datentypen character (n),

Mehr

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

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

Mehr

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

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

Mehr

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

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

Mehr

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

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

Mehr

Prüfung Informatik für Ökonomen II. 14. Januar Teil 1: Datenbanktechnik Musterlösungen

Prüfung Informatik für Ökonomen II. 14. Januar Teil 1: Datenbanktechnik Musterlösungen Name Vorname Matrikelnummer DB Prüfung Informatik für Ökonomen II 14. Januar 2009 Teil 1: Datenbanktechnik Musterlösungen Bitte freilassen! 1.1 1.2 1.3 Summe Aufgabe 1.1 Gegenstand-Beziehungs-Modell (Total:

Mehr

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

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

Mehr

DB-Datenbanksysteme. DB SQL-DML 1 Mario Neugebauer

DB-Datenbanksysteme. DB SQL-DML 1 Mario Neugebauer DB-Datenbanksysteme DB-13 043-SQL-DML 1 Mario Neugebauer Einführung Informationsmodellierung Relationales Datenbankmodell Datenbanksprache SQL Einführung Daten-Abfrage-Sprache - DQL Daten-Definitions-Sprache

Mehr

insert, update, delete Definition des Datenbankschemas select, from, where Rechteverwaltung, Transaktionskontrolle

insert, update, delete Definition des Datenbankschemas select, from, where Rechteverwaltung, Transaktionskontrolle Einführung in SQL insert, update, delete Definition des Datenbankschemas select, from, where Rechteverwaltung, Transaktionskontrolle Quelle Wikipedia, 3.9.2015 SQL zur Kommunikation mit dem DBMS SQL ist

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

Relationen-Algebra. Prof. Dr. T. Kudraß 1

Relationen-Algebra. Prof. Dr. T. Kudraß 1 Relationen-Algebra Prof. Dr. T. Kudraß 1 Relationale Anfragesprachen Query Language (QL): Manipulation und Retrieval von Daten einer Datenbank Relationenmodell erlaubt einfache, mächtige Anfragesprachen

Mehr

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

Garten -Daten Bank. Was ist das? Dr. Karsten Tolle PRG2 SS 2014 Garten -Daten Bank Was ist das? Dr. Karsten Tolle PRG2 SS 2014 Inhalt heute Kurz: Motivation und Begriffe SQL (survival package) create table(tabelle erzeugen) insert into(einfügen) select (Anfragen) Struktur

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

Vorlesung DBIS I (WS 2005/2006) Teil 4

Vorlesung DBIS I (WS 2005/2006) Teil 4 otivation Das Relationenmodell Vorlesung Prof. Johann Christoph Freytag, Ph.D. Institut für Informatik Humboldt-Universität zu Berlin WS 2005/2006 Ziel des Relationenmodells Hoher Grad an Datenunabhängigkeit

Mehr

4. Datenbanksprache SQL

4. Datenbanksprache SQL 4. Datenbanksprache SQL Standard-Sprache für das Arbeiten mit relationalen Datenbanken: Structured Query Language Datendefinition: Anlegen, Ändern und Löschen von Datenbankstrukturen Datenmanipulation:

Mehr

PRG2 Folien Zicari Teil 5. Einführung in Datenbanken SS 2007

PRG2 Folien Zicari Teil 5. Einführung in Datenbanken SS 2007 PRG2 Folien Zicari Teil 5 Einführung in Datenbanken SS 2007 Prof. Dott. Ing. Roberto Zicari Johann Wolfgang Goethe-Universität Frankfurt am Main PRG2 V-1 Fachbereich Informatik und Mathematik SQL SQL =

Mehr

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

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

Mehr

SQL. erfolgreich Madrid Amsterdam An imprint of Pearson

SQL. erfolgreich Madrid Amsterdam An imprint of Pearson 10 01101110 John-Harry 01110 Wieken 0110 0110 0110 10 01101 011 01110 0110 010 011011011 0 10 01111010 01101 011011 0110 0110 01110 011011101 01101 0110 010 0101 10 011011101 0101 0110 010 010 0110 01101110

Mehr

1 Relationenalgebra [8 P.] Gegeben seien die folgenden Relationenschemata: Hafen(HNR, Ort, Grundsteinlegung)

1 Relationenalgebra [8 P.] Gegeben seien die folgenden Relationenschemata: Hafen(HNR, Ort, Grundsteinlegung) 1 Relationenalgebra Gegeben seien die folgenden Relationenschemata: [8 P.] Hafen(HNR, Ort, Grundsteinlegung) Matrose(MNR, Nachname, Geburtsdatum, Ausbildungsort Hafen.HNR) Schi(SNR, Name, Bruttoregistertonnen,

Mehr

Programmierung und Datenbanken II

Programmierung und Datenbanken II Programmierung und Datenbanken II Sommersemester Wiederholung Modellierung Kunde(E-Mail, Name) Abstraktion Analysemodell Analyse Entwurf Entwurfsmodell Implementierung mietet(e-mail, von_bis, Kennz.) Auto(Kennz.,

Mehr