E-Business. Datenmodell

Größe: px
Ab Seite anzeigen:

Download "E-Business. Datenmodell"

Transkript

1 E-Business E-Business E-Business und Electronic Marketing Online-Marktforschung / Überblick 3. Online-Marktforschung / Webserver-Logfiles 4. Online-Marktforschung / Adaptive Conjointanalyse 5. Online-Werbung 6. Software-Agenten / 7. Software-Agenten / Agentenbasierte Marktplätze 8. Datenbanken / Relationale Datenbanken 9. Datenbanken / Data Warehousing Dr. Lars Schmidt-Thieme: Tel. 0721/ Lars.Schmidt-Thieme@wiwi.uni-karlsruhe.de Sprechstunde Montag Uhr, Zimmer 101.4, Bau III. [ :27:22] Datenmodell Datenmodell Schema und Zustand: Schema (Intension): bechreibt die Struktur einer Datenbank mittels sogenannter Schema-Konstrukte. Das Schema wird oft graphisch als Diagramm veranschaulicht. Zustand (Extension): beschreibt den Inhalt einer Datenbank zu einem bestimmten Zeitpunkt (snapshot). Der Zustand kann durch eine Menge von Vorkommen oder Instantiierungen von Schema-Konstrukten beschrieben werden. [ :27:22]

2 Datenmodell Datenmodell Datenmodell: Unter dem Datenmodell versteht man eine Menge von Begriffen, mit denen das Schema (d.h. die Struktur) einer Datenbank beschrieben werden kann. Konzeptuelle Datenmodelle (High Level-Datenmodelle): beschreiben Datenstrukturen mittels Begriffen, die nahe an den Vorstellungen der Benutzer sind. Entitiy Relationship-Modell (): beschreibt Daten als Entitäten mit Attributen und Relationen. Objekt-Datenmodell: beschreibt Daten als Objekte, die Instanzen von Klassen sind, die wiederum Eigenschaften und Methoden besitzen können; die Klassen sind in eine Vererbungshierarchie eingeordnet. repräsentierende Datenmodelle (Implementations-Datenmodelle): beschreiben Datenstrukturen mittels Begriffen, die relativ direkt in Software umgesetzt werden können. relationales Datenmodell: Datenstrukturen werden mittels Tabellen (Relationen) beschrieben. Netzwerk-Datenmodell: Datenstrukturen werden mittels Records und Mengen beschrieben. hierarchisches Datenmodell: Datenstrukturen werden mittels Records und Hierarchien beschrieben. Netzwerk- und hierarchische Datenmodelle werden nur noch in älteren Datenbanken verwendet (legacy systems). physikalische Datenmodelle (Low Level-Datenmodelle): beschreiben die Art und Weise der Speicherung, d.h. die Organisation der Daten in einem Computer im Detail. [ :27:23] Datenmodell Datenmodell Analog zu den drei verschiedenen Ebenen von Datenmodellen unterscheidet man i.d.r. drei verschiedene Schemata (Drei-Schema-Architektur): internes Schema: beschreibt die physikalischen Strukturen, die die Daten halten. konzeptuelles Schema: beschreibt die Struktur einer Datenbank für die Nutzer. externes Schema (oder user view): beschreibt einen Teil der Struktur einer Datenbank für einen bestimmten Nutzer/Nutzergruppe. Die Daten werden in Strukturen, die gemäß dem internen Schema organisiert sind, gehalten; zwischen internem Schema und höheren Schemata vermitteln sogenannte Abbildungen (mappings). [ :27:23]

3 Klassifizierung von Datenbanken Klassifizierung von Datenbanken Datenbanken können nach verschiedenen Kriterien eingeteilt werden: Datenmodell: relational oder objektorientiert (ältere auch: hierarchisch, Netzwerk-Datenmodell). Anzahl von Nutzern: Einplatz- und Mehrplatzsysteme. Lokalisierung: Zentralisierte Systeme, die auf einem Rechner leben, oder verteilte Systeme, die auf mehrere Rechner verteilt sind. Bei den verteilten Systemen unterscheidet man weiter in homogene Systeme, die auf allen Rechnern die gleiche Datenbanksoftware einsetzen, und heterogenen Systemen, die auf verschiedenen Rechnern unterschiedliche Datenbanksoftware einsetzen. Anwendbarkeit: Allgemein anwendbare Systeme und spezielle Systeme. Kosten: i.d.r. zwischen Hersteller Produkt Typ Website Verfügbarkeit IBM DB2 RDBMS Evaluation Oracle Oracle9i RDBMS Informix Informix RDBMS Personal Edition My My RDBMS open source Postgre Postgre RDBMS open source Software AG Adabas RDBMS Microsoft Access RDBMS - Object Design Poet ObjectStore ODBMS Object Server ODBMS Personal Edition Personal Edition Evaluation Versant Versant ODBMS Evaluation Exoffice Ozone ODBMS open source Tab. 1: Datenbank-Software (1 von 2) [ :27:24] Klassifizierung von Datenbanken $ und $ (2 von 2) [ :27:24]

4 Das Entity-Relationship-Modell wurde 1976 von P. Chen eingeführt. Bestandteile des s sind: Entität: modelliert einen Gegenstand. Eine Entität besitzt Attribute. Attribut: modelliert eine Eigenschaft eines Gegenstandes. Jede Instanz einer Entität besitzt zu jedem Attribut einen Wert. Relation: modelliert eine Beziehung zwischen zwei Gegenständen. Name modelliert Diagramm-Darstellung Entität Gegenstand Rechteck Attribut Eigenschaft eines Gegenstandes Oval Relation Beziehung zwischen Gegenständen Raute Tab. 1: Bestandteile des s Abb. 1: Beispiel: Eine Entität Kunde mit gewöhnlichen Attributen (Name, Geschlecht), einem zusammengesetzten Attribut (Adresse), einem mehrwertige Attribut (Vorname) und einem abgeleiteten Attribut (Anrede). [ :27:25] Attribute: einfach-zusammengesetzt: einfache (oder atomare) Attribute können nicht weiter in Bestandteile zerlegt werden; zusammengesetzte Attribute hingegen bestehen aus anderen Attributen. einwertig-mehrwertig: einwertige Attribute besitzten für jede Instanz genau einen Wert, mehrwertige Attribute können für eine Instanz mehrere Werte besitzen. gespeichert-abgeleitet: gespeicherte Attribute werden in der Datenbank abgelegt, abgeleitete Attribute können aus anderen Informationen erschlossen werden. Abb. 1: Beispiel: Eine Entität Kunde mit gewöhnlichen Attributen (Name, Geschlecht), einem zusammengesetzten Attribut (Adresse), einem mehrwertige Attribut (Vorname) und einem abgeleiteten Attribut (Anrede). Wertebereich: Die Werte eines Attributes für eine Instanz stammen aus einem zuvor festgelegten Bereich (z.b. ganze Zahlen, Daten, Zeichenketten bestimmter Maximallänge etc.). null-wert: Der Wert null als Wert eines Attributes für eine Instanz bezeichnet einen fehlenden Wert oder ein nicht-zutreffendes Attribut. [ :27:25]

5 : Entitäten : Entitäten Entitäten: Gegenstände vom gleichen Typ, d.h. solche, die durch die gleichen Attribute und Relationen beschrieben werden können, modelliert man als Instanzen einer Entität. Schlüsselattribut: ein Attribut, dessen Wert unter allen Instanzen einer Entität höchstens einmal vorkommen darf, d.h. die Entität eindeutig bestimmt, nennt man Schlüssel. Eine Entität besitzt meistens einen Schlüssel, kann aber auch keinen oder mehrere Schlüssel besitzen. Schlüsselattribute werden durch Unterstreichung gekennzeichnet. regulär-schwach: eine Entität mit mindestens einem Schlüssel heißt regulär, eine Entität ohne Schlüssel nennt man schwach. [ :27:25] : Relationen : Relationen Relationen: Relationen dienen zur Modellierung von Beziehungen zwischen Gegenständen, d.h. sie setzen verschiedene Entitäten zueinander in Beziehung; diese heißen partizipierende Entitäten. Wertigkeit: die Anzahl der Entitäten, die über eine Relation in Beziehung zueinander gesetzt werden, bezeichnet man als Wertigkeit der Relation. Oft sind Relationen zweiwertig (binär), etwa [Kunde] erteilt [Auftrag] Eine dreiwertige Relation wäre etwa: [Kunde] erteilt [Auftrag] bei [Mitarbeiter] Abb. 1: Zweiwertige (binäre) Relation. Abb. 2: Dreiwertige (ternäre) Relation. Rollennamen: die Stellen, an denen Instanzen von Entitäten in eine Relation eingesetzt werden können, bezeichnet man als Rollen. Im obigen Beispiel könnte man die Rollen als Auftragserteiler, Auftrag und Auftragsbearbeiter bezeichnen. Rollen sind wichtig, wenn Instanzen von Entitäten in mehreren Rollen gleichzeitig vorkommen können. [ :27:26]

6 : Relationen : Relationen Kardinalitäts-Nebenbedingung: eine optionale Kardinalitäts-Nebenbedingung bei einer binären Relation gibt an, wie oft eine bestimmte Instanz einer Entität mit einer anderen Instanz in der Relation vorkommen darf. 1:1: jede Instanz einer Entität darf mit höchstens einer anderen Instanz in Beziehung gesetzt werden. Bsp.: Abb. 1: Kardinalitätsnebenbedingung 1:1. [Rechnung] erstellt für [Auftrag]. (Jeder Auftrag besitzt höchstens eine Rechnung und jede Rechnung bezieht sich auf höchstens einen Auftrag.) 1:n (oder n:1): Instanzen in der ersten Rolle dürfen mit bis zu n verschiedenen Instanzen in der zweiten Rolle in Beziehung gesetzt werden, aber Instanzen in der zweiten Rolle mit höchstens einer in der ersten Rolle (bzw. umgekehrt). Bsp.: Abb. 2: Kardinalitätsnebenbedingung 1:n. Abb. 3: Kardinalitätsnebenbedingung n:m. (1 von 2) [ :27:27] : Relationen [Kunde] erteilt [Auftrag]. (Ein Kunde kann mehrere Aufträge erteilen aber derselbe Auftrag kann nicht von mehreren Kunden erteilt werden.) n:m: Instanzen in der ersten Rolle dürfen mit höchstens m Instanzen in der zweiten und Instanzen in der zweiten Rolle mit höchstens n Instanzen in der ersten Rolle in Beziehung gesetzt werden. Bsp: [Auftrag] enthält [Produkt]. (Ein Auftrag kann mehrere Produkte enthalten und ein Produkt in mehreren Aufträgen enthalten sein.) (2 von 2) [ :27:27]

7 : Relationen partielle und vollständige Partizipation: Muß jede Instanz einer Entität (in einer bestimmten Rolle) in einer bestimmten Relation in Beziehung gesetzt sein, spricht man von vollständiger Partizipation der Entität an der Relation (in der gegebenen Rolle); falls eine solche Nebenbedingung nicht besteht, spricht man von partieller Partizipation. Bsp.: : Relationen Abb. 1: Vollständige und partielle Partizipation. [Kunde] erteilt [Auftrag]. Die Entität Auftrag partizipiert vollständig an der Relation, da kein Auftrag ohne erteilenden Kunden existiert; die Entität (1 von 2) [ :27:27] : Relationen Kunde partizipiert nur partiell, da es Kunden ohne bisherige Aufträge geben kann. (2 von 2) [ :27:27]

8 : Entitäten & Relationen : Entitäten & Relationen Relationen: Attribute: Wie Entitäten können Relationen Attribute besitzen. Jede Instanz der Relation (d.h. jedes Tupel von in der entsprechenden Beziehung stehenden Instanzen von Entitäten) besitzt zu jedem Attribut einer Relation einen Wert. Abb. 1: Relation mit Attribut. [ :27:28] : Entitäten & Relationen : Entitäten & Relationen Schwache Entitäten: Unter schwachen Entitäten versteht man Entitäten ohne Schlüssel. Schwache Entitäten werden stets über eine Relation identifiziert. Unter allen mit einer bestimmten anderen Instanz einer Entität in dieser Relation in Beziehung stehenden Instanzen der schwachen Entität wird eine Instanz der schwachen Entität durch ein Attribut (oder eine Menge von Attributen) eindeutig gekennzeichnet. - Man nennt diese Relation die identifizierende Relation, die andere Entität Abb. 1: Schwache Entität Auftrag mit identifizierender Relation erteilt, identifizierender Entität Kunde und partiellem Schlüssel Bestelldatum. Abb. 2: Durch eines Schlüssels Auftragsnr entsteht eine reguläre Entität Auftrag. (1 von 2) [ :27:30]

9 : Entitäten & Relationen die identifizierende Entität (oder Besitzer-Entität) und das Attribut den partiellen Schlüssel. Schwache Entitäten partizipieren an ihrer identifizierenden Relation stets vollständig. (2 von 2) [ :27:30] : Beispiel : Beispiel [ :27:31]

10 Relationales Datenmodell Relationales Datenmodell Das relationale Datenmodell wurde 1970 von Ted Codd (IBM Research) eingeführt. Es basiert auf Tabellen. Man nennt: Attribut: der Name einer Spalte. Bereich: Wertebereich für die Inhalte einer Spalte. Tupel: eine Zeile. Relation: die ganze Tabelle. null-wert: Zellen ohne Eintrag besitzen den speziellen Wert null (fehlende Werte, unzutreffende Attribute). Schlüssel: jede minimale Menge von Attributen, die die Tupel einer Relation eindeutig kennzeichnet. I.d.R. wird einer dieser Schlüssel als Primärschlüssel hervorgehoben (in den Diagrammen unterstrichen). Abb. 1: Beispiel für eine Relation mit Primärschlüssel Kundennr. [ :27:32] Relationales Datenmodell Relationales Datenmodell Fremdschlüssel: unter einem Fremdschlüssel versteht man ein Attribut (oder eine Menge von Attributen), in denen der Schlüsselwert einer anderen Relation gehalten wird, d.h.: das Fremdschlüssel-Attribut muß den gleichen Wertebereich haben wie das Schlüsselattribut der referenzierten Relation, für jedes Tupel der referenzierenden Relation muß der Wert des Fremdschlüssels sich entweder als Schlüsselwert eines Tupels der referenzierten Relation finden oder null sein (referentielle Integrität). Im ersten Fall sagt man, das Tupel der referenzierenden Relation referenziert das Tupel der referenzierten Relation. Abb. 1: Beispiel für einen Fremdschlüssel. Der Fremdschlüssel Kundennr der referenzierende Relation Bestellung verweist auf den Schlüssel Kundennr der referenzierten Relation Kunde. - Die letzte Zeile verletzt die referentielle Integrität (es gibt keinen Kunden mit Kundennumer 5). [ :27:33]

11 Abbildung ER -> Relational Abbildung ER -> Relational Aus einem kann man durch einfache Umformungen ein relationales Modell gewinnen: 1. reguläre Entität: Relation mit allen einfachen Attributen als Attribute; von zusammengesetzten Attributen werden nur die einfachen Bestandteile übernommen (und die Struktur vernachlässigt). Ein Schlüsselattribut wird als Primärschlüssel ausgewählt (im Fall eines zusammengesetzten Schlüsselattributes bildet die Menge dessen einfacher Bestandteile den Primärschlüssel). 2. schwache Entität: Relation mit allen einfachen Attributen sowie allen einfachen Bestandteilen zusammengesetzter Attribute als Attribute; zusätzlich werden die Attribute des Primärschlüssels der identifizierenden Entität als Fremdschlüssel aufgenommen. Diese bilden zusammen mit den Attributen des partiellen Schlüssels den Primärschlüssel. 3. binäre 1:1-Relation: Nehme in eine der beiden partizipierenden Entitäten die Attribute des Primärschlüssels der anderen partizipierenden Entität als Fremdschlüssel sowie alle Attribute der Relation als Attribute auf. 4. binäre 1:n-Relation: Nehme in die partizipierende Entität auf der n-seite die Attribute des Primärschlüssels der partizipierenden Entität auf der 1-Seite als Entität Relation binär 1:1 Relation binär 1:n Relation binär n:m Relation n-wertig Einfaches Attribut Zusammengesetztes Attribut Mehrwertiges Attribut Schlüssel Tab. 1: Relationales Modell Relation ("entity relation") Fremdschlüssel in Relation zu einer der beiden Entitäten Fremdschlüssel in Relation zu der Entität auf n-seite Relation ("relationship relation") mit 2 Fremdschlüsseln Relation ("relationship relation") mit n Fremdschlüsseln Attribut Menge von Attributen der einfachen Bestandteile Relation mit Fremdschlüssel Primär- bzw. Sekundärschlüssel (1 von 2) [ :27:33] Abbildung ER -> Relational Fremdschlüssel sowie alle Attribute der Relation als Attribute auf. binäre n:m-relation: Erzeuge eine neue Relation ("relationship relation" im Gegensatz zu "entity relation") mit den Attributen der Primärschlüssel der beiden partizipierenden Entitäten als Fremdschlüssel sowie allen Attributen der Relation als weiteren Attributen; die beiden Fremdschlüssel bilden gemeinsam den Primärschlüssel. mehrwertige Relation: Erzeuge eine neue Relation ("relationship relation") mit den Attributen der Primärschlüssel der partizipierenden Entitäten als Fremdschlüssel sowie allen Attributen der Relation als weiteren Attributen; die Fremdschlüssel bilden gemeinsam den Primärschlüssel. mehrwertiges Attribut: Erzeuge eine neue Relation mit den einfachen Attributen als Attributen sowie den Attributen des Primärschlüssels der Entität oder Relation, zu der das Attribut gehört, als Fremdschlüssel. Die Attribute plus der Fremdschlüssel bilden den Primärschlüssel. (2 von 2) [ :27:33]

12 Abbildung ER -> Relational Abbildung ER -> Relational Abb. 2: Relationales Modell der Entität. Abb. 1: : Entität mit verschiedenen Arten von Attributen. [ :27:34] Abbildung ER -> Relational Abbildung ER -> Relational Abb. 3: Relationales Modell der Entität. Abb. 1: : binäre Relation 1:n. Abb. 2: : Variante der obigen Relation mit Attribut an der Relation. [ :27:35]

13 Abbildung ER -> Relational Abbildung ER -> Relational Abb. 2: Relationales Modell der Entität. Abb. 1: : schwache Entität. [ :27:35] Abbildung ER -> Relational Abbildung ER -> Relational Abb. 2: Relationales Modell der Entität. Abb. 1: : binäre Relation n:m. [ :27:36]

14 Relationales Datenmodell Relationales Datenmodell (1 von 2) [ :27:38] Relationales Datenmodell Abb. 1: Beispiel für ein relationales Schema. (2 von 2) [ :27:38]

15 (Standard Query Language) ist der Industriestandard zur Definition relationaler Schemata (data definition language (DDL)) und Manipulation der Inhalte relationaler Datenbanken (data manipulation language (DML)). ist ein ISO/ANSI-Standard: Die Grundlage von war SEQUEL (Structured English Query Language) von IBM wurde von ISO/ANSI normiert (/1, -86) Update des Standards zu /2, -92. Seitdem wird an einem zweiten Update des Standards gearbeitet (/3). wird von nahezu allen relationalen Datenbanksystemen unterstützt. Bei vielen einfacherern DBMS (etwa mysql) ist die Umsetzung des Standards unvollständig. Fast alle DBMS bieten eine Fülle nicht-standard-konformer Erweiterungen. ist ein Textformat, in dem Anfragen an die Datenbank direkt formuliert werden können. Das Ergebnis einer Anfrage kann eine Fehlercode oder eine Ergebnismenge (result set) sein. Der Zugriff auf die Datenbank kann über verschiedene Schnittstellen erfolgen: direkter Zugriff: der Benutzer kann selbst anfragen formulieren und bekommt die Fehlermeldungen bzw. das Resultset als Tabelle angezeigt. einfache standalone-clients als Konsolenanwendung oder mit GUI (Bestandteil der Datenbank, für mysql etwa mysql und kmysql). WWW-Clients (realisert mittels CGI, Servlet, JSP, XSP etc.). indirekter Zugriff: der Benutzer editiert Daten im GUI einer Anwendung, die die Veränderungen in geeignete -Statements formuliert und die Resultsets von Anfragen entsprechend darstellt. [ :27:39] - DDL - DDL Datenbanken: DBMS können i.d.r. mit mehreren Datenbanken gleichzeitig verwalten. Das Anlegen einer solchen Datenbank geschieht oft nicht selbst in, sondern mittels eines Tools (durch Aufruf einer Methode des DBMS-APIs). In mysql beispielsweise kann wie folgt eine neue Datenbank auch via angelegt und ausgewählt werden: create database database-name; use database-name; Alle Folgeoperationen beziehen sich auf die ausgewählte Datenbank. Mit drop database database-name; kann eine Datenbank wieder zerstört werden. Tabellen: Jede Datenbank besitzt ein Schema in Form einer Menge von Tabellen. Eine Tabelle kann mit create table table-name ({ table-spec }) ; erzeugt werden, wobei table-spec eine durch Kommata getrennte Liste von Tabellenangaben ist, d.h. von Spaltenangaben: column-name column-type [not null] [primary key] [references table-name [(column-commalist)] ] Bezeichnung int smallint float(p) decimal(p,q) char(n) varchar(n) bit(n) varbit(n) date, time, timestamp blob clob, nclob bfile Beschreibung ganze Zahl (4 Byte) ganze Zahl (2 Byte) Fließkommazahl (Genauigkeit p: Anzahl gültiger Ziffern) formatierte Fließkommazahl (Genauigkeit p: Anzahl gültiger Ziffern, Skala q: Anzahl der Nachkommastellen) Zeichenkette der (festen) Länge n Zeichenkette mit maximaler Länge n Bitfolge der (festen) Länge n Bitfolge mit maximaler Länge n Datum, Uhrzeit bzw. kombinierte Angabe von Datum und Uhrzeit binary large object character large object (variabler bzw. konstanter Länge) binary file (außerhalb der Datenbank gespeichert) Tab. 1: Datentypen in. (1 von 2) [ :27:39]

16 - DDL Angabe des Primärschlüssels: Mit primary key (column-commalist) Angabe eines Fremdschlüssels: foreign key (column-commalist) references table-name [(column-commalist)] drop table table-name; kann eine Tabelle wieder gelöscht werden. (2 von 2) [ :27:39] - DDL - DDL create table kunde (kundennr integer not null primary key, name varchar(30)) ; create table bestellung (rechnungsnr integer not null primary key, rechnungsdatum date, rechnungsbetrag integer, kundennr integer references kunde); create table produkt (bezeichnung varchar(30) not null primary key, stueckkosten integer); create table posten (rechnungsnr integer not null references bestellung, produktbezeichnung varchar(30) not null references produkt (bezeichnung), stueckzahl integer, primary key (rechnungsnr, produktbezeichnung) ); Abb. 2: Erzeugung des Beispiel-Schemas mittels. Abb. 1: Beispiel für ein relationales Schema. [ :27:40]

17 - DML - DML Tabelleninhalte modifizieren: Zur Modifikation von Tabelleninhalten stehen drei -Befehle zur Verfügung: Mit insert into table-name { [column-commalist] table-expr }; können Zeilen in eine Tabelle eingefügt werden, wobei die Ausdrücke table-expr im einfachsten Fall die Gestalt values (scalar-expr-commalist) besitzen. Mit delete from table-name [where cond-expr]; können Zeilen aus einer Tabelle wieder entfernt werden, wobei die Ausdrücke cond-expr im einfachsten Fall die Gestalt column-name comparision-operator value insert into kunde values (1, "Frank Mueller"); insert into produkt values ("Spark II", 400); insert into bestellung values (2001, " ", 2000, 1); insert into posten values (2001, "Spark II", 1); Abb. 1: Einfügen von Daten. delete from kunde where kundennr = 2000; delete from bestellung where rechnungsdatum < " "; Abb. 2: Löschen von Daten. update produkt set stueckkosten = 1.2 * stueckkosten ; Abb. 3: Verändern von Daten. (1 von 2) [ :27:40] - DML besitzen oder eine Kombination solcher Ausdrücke mittels der boolschen Operatoren and, or und not. Mit update table-name set column-name = scalar-expr [where cond-expr]; können Zeilen einer Tabelle verändert werden. (2 von 2) [ :27:40]

18 - Querys - Querys Anfragen: select select-item-commalist from table-ref-commalist [where cond-expr] [group by column-ref-commalist] [having cond-expr] wobei die Ausdrücke select-item von der Gestalt scalar-expr [as column-name] [range-variable.] * sind. Die Ausdrücke table-ref sind wie folgt aufgebaut: table-name [AS range-variable [(column-commalist)]] table-expr [AS range-variable [(column-commalist)]] join-table-expr select * from bestellung; rechnungsnr rechnungsdatum rechnungsbetrag kundennr Abb. 1: Einfache Anfrage (vollständige Tabelle). select kundennr as knr, rechnungsbetrag from bestellung; knr rechnungsbetrag Abb. 2: Einfache Anfrage (Auswahl und Umbennung von Feldern). [ :27:41] - Querys - Querys Anfragen: Einfache Anfragen richten sich an eine Tabelle (Abb. 1 und 2 letzte Folie), komplexere Anfragen verbinden mehrere Tabellen des Schemas: Der join-operator (dargestellt als Komma oder mittels join) bildet das kartesische Produkt beider Tabellen. I.d.R. möchte man nicht alle Kombinationsmöglichkeiten der Zeilen zweier Tabellen, sondern lediglich die Kombination von durch einen foreign key miteinander verbundenen Zeilen. Dies erreicht man entweder durch eine nachgeschaltete where-klausel, einen left join oder right join-operator mit Angabe einer on-klausel oder einen natural left join- bzw. natural right join-operator (ein join auf allen Attributen mit gleichen Namen). Siehe Abb. 3. select name,rechnungsbetrag from kunde,bestellung where kunde.kundennr = bestellung.kundennr; select name,rechnungsbetrag from bestellung left join kunde on kunde.kundennr = bestellung.kundennr; select name,rechnungsbetrag from bestellung natural left join kunde; name rechnungsbetrag Frank Mueller 2000 Heribert Mayer 6000 Frank Mueller 1600 Abb. 1: Anfrage (Verbindung zweier Tabellen). [ :27:41]

19 - Querys - Querys Aggregation: Man kann über die Werte einer Spalte aller zu einer bestimmten Gruppe gehörigen Zeilen aggregieren, indem man: in einer group by-klausel Spaltennamen angibt, die eine Gruppierung der Zeilen definieren, in einem select-expr eine Aggregierungsfunktion auf einer der Spalten angibt. Zulässige Aggregierungsfunktionen sind: sum, count, max, min, avg Siehe Abb. 1. Mittels einer having-klausel kann man aus den aggregierten Zeilen noch mal solche auswählen, die zu spezifizierenden Kriterien genügen (Abb. 2). Sortierung: Durch Angabe einer order by-klausel kann man die Zeilen des Resultsets sortieren. Man gibt die Spaltennamen an, nach denen sortiert werden soll, sowie asc oder desc für aufbzw. absteigende Sortierung (Abb. 3). select name,sum(rechnungsbetrag) from bestellung natural left join kunde group by name; name sum(rechnungsbetrag) Frank Mueller 3600 Heribert Mayer 6000 Abb. 1: Anfrage (Aggregation). select name,sum(rechnungsbetrag) from bestellung natural left join kunde group by name having count(*) > 1; name sum(rechnungsbetrag) Frank Mueller 3600 Abb. 2: Anfrage (Aggregation). select kundennr,rechnungsbetrag from bestellung order by rechnungsbetrag desc; kundennr rechnungsbetrag Abb. 3: Anfrage (Sortierung). [ :27:41] - Querys - Querys Schachtelung: select-ausdrücke select name können als from posten natural left join bestellung Bestandteil in natural left join kunde where-klauseln where produktbezeichnung in erscheinen, (select produktbezeichnung insbesondere also from posten natural left join bestellung geschachtelt natural left join kunde werden. Abb. 1 where name="frank Mueller"); etwa zeigt ein name -Statement, Heribert Mayer mithilfe dessen man folgende Anfrage formuliert: Abb. 1: Anfrage (Schachtelung). Finde die Namen aller Kunden, die ein Produkt gekauft haben, das auch Frank Mueller gekauft hat. (Geschachtelte select-ausdrücke werden derzeit von (1 von 2) [ :27:42]

20 - Querys mysql noch nicht unterstützt.) (2 von 2) [ :27:42] - Querys - Querys Weitere -Konzepte: Transaktionen. Definition und Verwendung von Views. Verwaltung von Zugriffsrechten. Verwendung von Triggern. Verwendung von Cursorn. Stored Procedures. [ :27:42]

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

Relationales Datenbanksystem Oracle

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

Mehr

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

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

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

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

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

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

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

DB1. DB SQL-DQL 1 Mario Neugebauer

DB1. DB SQL-DQL 1 Mario Neugebauer DB1 DB1-12 041-SQL-DQL 1 Mario Neugebauer Einführung Informationsmodellierung Relationales Datenbankmodell Datenbanksprache SQL Einführung Daten-Abfrage-Sprache - DQL Daten-Definitions-Sprache - DDL Daten-Manipulations-Sprache

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

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

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

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

Ü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

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

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

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

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

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

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

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

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

Ü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

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

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

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

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

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

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

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

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

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

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

SQL-Sprachvielfalt. Peter Willadt (Ludwig-Erhard-Schule) SQL-Befehle / 47

SQL-Sprachvielfalt. Peter Willadt (Ludwig-Erhard-Schule) SQL-Befehle / 47 SQL-Sprachvielfalt DML Data Manipulation Language: Daten einfügen, ändern und löschen DQL Data Query Language: Daten abfragen DDL Data Definition Language: Tabellen und andere Strukturelemente erzeugen,

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

7. Datenbankdefinitionssprachen

7. Datenbankdefinitionssprachen 7. Datenbankdefinitionssprachen SQL-DDL Teil der Standardsprache für relationale Datenbanksysteme: SQL ODL (Object Definition Language) für objektorientierte Datenbanksysteme nach dem ODMG-Standard VL

Mehr

Praktische SQL-Befehle

Praktische SQL-Befehle Praktische SQL-Befehle Datenbanksysteme I WiSe 2018/2019 Todor Ivanov DB1 WS2018 1 Praktische SQL-Befehle Nested Selects Inserts Updates Views Triggers Constraints Functions Voraussetzung: Laptop + MySQL/

Mehr

Üben von DDL und DML. Ergebnis:

Üben von DDL und DML.   Ergebnis: SQL DDL Üben von DDL und DML https://www.jdoodle.com/execute-sql-online Ergebnis: Befehlsgruppen in SQL DDL Data Definition Language DML Data Manipulation Language CREATE: Tabellen anlegen DROP: Tabellen

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

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

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

Es geht also im die SQL Data Manipulation Language.

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

Mehr

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

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

Ü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

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

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

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

Mehr

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

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

Mehr

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

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

3.3. Implementierung in SQL DDL-Grundlagen Constraint-Verzögerung Implementierungs-Strategien

3.3. Implementierung in SQL DDL-Grundlagen Constraint-Verzögerung Implementierungs-Strategien CREATE TABLE SPEND_STAT ( S_STATUS VARCHAR2(1), STAT_TXT VARCHAR2(15), PRIMARY KEY (S_STATUS) ENABLE ) ; 3.3. Implementierung in SQL DDL-Grundlagen Constraint-Verzögerung Implementierungs-Strategien DDL:

Mehr

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

Datenbanksysteme Kapitel 7: SQL Vorlesung vom Oliver Vornberger. Institut für Informatik Universität Osnabrück Datenbanksysteme 2013 Kapitel 7: SQL Vorlesung vom 6.05.2013 Oliver Vornberger Institut für Informatik Universität Osnabrück Sprung Transititve Hülle SQL 1970 Edgar Codd: A relational model for large shared

Mehr

Webbasierte Informationssysteme

Webbasierte Informationssysteme SS 2004 Prof. Dr. Stefan Böttcher Universität Paderborn - SS 2004 - Prof. Dr. Stefan Böttcher Folie 1 Was ist eine relationale Datenbank? Menge von Relationen (=Tabellen) und Constraints (=Integritätsbedingungen)

Mehr

Datenbank und Tabelle mit SQL erstellen

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

Mehr

Übung 01 Tabellen erstellen

Übung 01 Tabellen erstellen UEB-01-1 Übung 01 Tabellen erstellen Die folgende Musterrechnung dokumentiert eine Miniwelt "Rechnung" in einer Firma. 1. Welche Objekte und Beziehungen lassen sich daraus ableiten? 2. Erstellen Sie ein

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

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

Es geht also um die sogenannte SQL- Data Definition Language.

Es geht also um die sogenannte SQL- Data Definition Language. In diesem Abschnitt werden wir uns die SQL Befehle ansehen, mit denen ein sogenanntes Datenbankschema angelegt, gepflegt und auch wieder gelöscht werden kann. Es geht also um die sogenannte SQL- Data Definition

Mehr

SQL. Allgemeines CREATE TABLE DROP TABLE ALTER TABLE INSERT INTO UPADTE DELETE SELECT

SQL. Allgemeines CREATE TABLE DROP TABLE ALTER TABLE INSERT INTO UPADTE DELETE SELECT Allgemeines DROP TABLE ALTER TABLE INSERT INTO UPADTE DELETE SELECT Gute Tabellen sollen nun in eine DB auf den Rechner. Verwenden dazu DBMS ite. Verwenden Datenbanksprache (structured query language).

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

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

Garten -Daten Bank. -survivalpack - Dr. Karsten Tolle PRG2 SS 2016

Garten -Daten Bank. -survivalpack - Dr. Karsten Tolle PRG2 SS 2016 Garten -Daten Bank -survivalpack - Dr. Karsten Tolle PRG2 SS 2016 Inhalt heute Kurz: Motivation und Begriffe SQL (survival pack) create table(tabelle erzeugen) insert into(einfügen) select (Anfragen) Struktur

Mehr

Datenbanken. Seminararbeit. Einführung in das wissenschaftliche Arbeiten

Datenbanken. Seminararbeit. Einführung in das wissenschaftliche Arbeiten Seminararbeit vorgelegt von: Gutachter: Studienbereich: Christian Lechner Dr. Georg Moser Informatik Datum: 6. Juni 2013 Inhaltsverzeichnis Inhaltsverzeichnis 1 Einführung in Datenbanken 1 1.1 Motivation....................................

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

Datenzugriffskomponente mit JPA 2.1

Datenzugriffskomponente mit JPA 2.1 Datenzugriffskomponente mit JPA 2.1 (Grundlagen der Java Persistence Architecture) Vladislav Faerman Gliederung Einführung Konfiguration Objekt-Relationales Mapping (ORM) mit JPA Das zentrale Konzept der

Mehr

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

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

Mehr

Entitätstypen, Attribute, Relationen und Entitäten

Entitätstypen, Attribute, Relationen und Entitäten Einführung Datenmodellierung Entitätstypen, Attribute, Relationen und Entitäten Wozu Datenbanken? Datenbanken dienen zur Speicherung und Verwaltung großer Datenbestände Beispiele: Adressdaten aller Kunden

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

Wie definieren wir das Relationen-

Wie definieren wir das Relationen- Wie definieren wir das Relationen- schema für eine Datenbank? Professoren PersNr Name Rang Raum 2125 Sokrates C4 226 2126 Russel C4 232 2127 Kopernikus C3 310 2133 Popper C3 52 2134 Augustinus C3 309 2136

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

Am Campus Bockenheim, im Sozialzentrum/Neue Mensa Foyer. zwischen 10 Uhr und 16 Uhr Der Eintritt ist kostenfrei.

Am Campus Bockenheim, im Sozialzentrum/Neue Mensa Foyer. zwischen 10 Uhr und 16 Uhr Der Eintritt ist kostenfrei. Am Campus Bockenheim, im Sozialzentrum/Neue Mensa Foyer. zwischen 10 Uhr und 16 Uhr Der Eintritt ist kostenfrei. Garten - Daten Bank - survival pack - Dr. Karsten Tolle PRG2 SS 2018 Inhalt heute Kurz:

Mehr

Management of Information Systems. Tutorat: Session 3 Einführung in SQL

Management of Information Systems. Tutorat: Session 3 Einführung in SQL Management of Information Systems Tutorat: Session 3 Einführung in SQL 2 Setup 1. XAMPP-Console starten in C:\xampp\ 1. Apache starten bis erscheint 2. MySQL starten bis erscheint 3. An den Rechnern im

Mehr

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

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

Mehr

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

Lösungen der Übungsaufgaben von Kapitel 10

Lösungen der Übungsaufgaben von Kapitel 10 Lösungen der Übungsaufgaben von Kapitel 10 1. Legen Sie mit einem SQL - Befehl eine neue Tabelle PERSON_KURZ mit den Feldern Kurz_Id, Kurz_Name an. Machen Sie das so, dass Kurz_Id der Primärschlüssel wird

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

Visualisierung in Informatik und Naturwissenschaften

Visualisierung in Informatik und Naturwissenschaften Visualisierung in Informatik und Naturwissenschaften Datenbankvisualisierung Sven Bernhard 12.06.1999 Datenbankvisualisierung Datenbanktheorie in 5 Minuten Visualisierung vs. Datenbanken Visualisierung

Mehr

8. Tabellendefinition in SQL 8-1. Tabellendefinitionen

8. Tabellendefinition in SQL 8-1. Tabellendefinitionen 8. Tabellendefinition in SQL 8-1 Tabellendefinitionen 8. Tabellendefinition in SQL 8-2 Inhalt 1. Schlüssel 2. Fremdschlüssel 3. CREATE TABLE-Syntax 4. DROP TABLE 5. ALTER TABLE 8. Tabellendefinition in

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

Datenschutz: Zugriffsrechte in SQL

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

Mehr

5.8 Bibliotheken für PostgreSQL

5.8 Bibliotheken für PostgreSQL 5.8 Bibliotheken für PostgreSQL Haskell/WASH: Modul Dbconnect PHP: pqsql-funktionen Java/JSP: JDBC Perl: DBI database interface modul Vorläufige Version 80 c 2004 Peter Thiemann, Matthias Neubauer 5.9

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

2. Relationale Datenbanken

2. Relationale Datenbanken 2. Relationale Datenbanken Inhalt 2.1 Entity-Relationship-Modell 2.2 Relationales Modell 2.3 Relationale Entwurfstheorie 2.4 Relationale Algebra 2.5 Structured Query Language (SQL) 2 2.1 Entity-Relationship-Modell

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

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

Datenmodelle und Datenbanken 2

Datenmodelle und Datenbanken 2 Datenmodelle und Datenbanken 2 Prof. N. Fuhr Institut für Informatik und Interaktive Systeme Arbeitsgruppe Informationssysteme 24. Februar 2005 Hinweise zur Bearbeitung Die Zeit läuft erst, wenn Sie alle

Mehr

SQL-Befehlsliste. Vereinbarung über die Schreibweise

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

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