Datenbanksysteme (2) Einführung in SQL
|
|
|
- Bertold Hoch
- vor 10 Jahren
- Abrufe
Transkript
1 Kapitel 19: Datenbanksysteme (2) Einführung in SQL Einführung in die Informatik Wintersemester 2007/08 Prof. Bernhard Jung Übersicht 1. Einführung SQL 2. Datenbankanfragen mit SQL (select from where) 3. Erzeugen, Ändern und Löschen von Tabelleninhalten mit SQL 4. Erzeugen, Ändern und Löschen von Tabellen mit SQL (DDL) 5. Konzepte: Transaktionen, ACID-Eigenschaften, Datensicherheit Hauptlernziele Die Umsetzung der Relationenalgebra in SQL verstehen Fähigkeit, einfachere Datenbankabfragen u. andere Datenbankoperationen in SQL zu formulieren Literatur Gumm & Sommer. Einführung in die Informatik. Oldenbourg Lehrhilfe SQL. Institut für Informatik, TU Bergakademie Freiberg. - erhältlich in den Übungen 1
2 Datenbanksysteme - Statistiken (1) Markt für Datenbanksysteme (nach ) 2006: $15.2 Milliarden 2008: ca $20 Milliarden Linux / Open Source Datenbanken 2003: $299 Millionen Markt-Anteile (2006; Gartner Dataquest) Oracle: 47.1% IBM: 21.1% Microsoft: 17.1% Datenbanksysteme Statistiken (2) 2
3 Datenbanksysteme Statistiken (3) from Wdh - Beispielrelationen 1 Assistent: Persnr Name Fachgebiet Boss 3002 Platon Ideenlehre Aristoteles Syllogistik Wittgenstein Sprachtheorie Rhetikus Planetenbewegung Newton Keplersche Gesetze Spinoza Gott und Natur 2134 Student: Professor: Matrnr Name Sem Persnr Name Rang Raum Xenokrates Sokrates C Jonas Russel C Fichte Kopernikus C Aristoxenos Popper C Schopenhauer Augustinus C Carnap Curie C Theophrastos Kant C Feuerbach 2 3
4 Wdh - Beispielrelationen 2 Vorlesung: voraussetzen: hören: Vorlnr Titel SWS Leser Vorgänger Nachfolger Matrnr Vorlnr 5001 Grundzüge Ethik Erkenntnistheorie Gewäsch Logik Wissenschaftstheorie Bioethik Der Wiener Kreis Glaube und Wissen Die 3 Kritiken prüfen: Matrnr Vorlnr Persnr Note Was ist SQL? SQL = Structured Query Language SQL ist Standardsprache für relationale Datenbankmanagementsysteme (DBMS) SQL stellt Möglichkeiten bereit zur Definition der Struktur von Datenbanken (Datendefinitionssprache; DDL) Manipulation der Datenbankinhalte (Datenmanipulationssprache; DML) anfragen, einfügen, löschen, ändern von Datensätzen SQL ist eine deklarative Programmiersprache i.ggs. zu imperativen oder objekt-orientierten Programmiersprachen (wie Python, Java, C++, C#, ) SQL ist eine Implementierung der Relationenalgebra aber kleinere Unterschiede z.b. Ordnung der Tabellenzeilen in SQL z.b. Duplikate von Tabellenzeilen in SQL erlaubt Bekannte auf SQL basierende DBMS: Oracle, IBM DB2, Microsoft SQL Server, Access, Ingres, MySQL, 4
5 SQL Historie ca SEQUEL, Vorläufer von SQL wird für das Projekt System R von IBM entwickelt SQL gelangt mit SQL/Data Systems erstmals durch IBM auf den Markt SQL1 wird von ANSI als Standard verabschiedet SQL1 wird jetzt auch von ISO als Standard verabschiedet und 1989 nochmals überarbeitet Der SQL2 bzw. SQL-92 Standard wird von der ISO verabschiedet SQL3 bzw. SQL:1999 wird verabschiedet; u.a. reguläre Ausdrücke, einfachere objektorientierte Features 2003 SQL:2003 Integration einfacherer XML-Strukturen 2006 SQL:2006 weitere Integration von XML Relationale Datenbanksprache SQL Datenbanksprache (DL): - Datendefinitionssprache (DDL) - Datenmanipulationssprache (DML): - Änderungssprache - Anfragesprache Datenmanipulationssprache / Anfrage Standardanfrageschema: select... Projektion from... Relation / Produkt / Join where... Selektion / Differenz / Durchschnitt all / any / in / exists... Division / Quantifizierung group by... Aggregation union... Vereinigung order by... Sortierung 5
6 SQL Einfache Anfragen Einfache Anfragen: select Spalte(n) from Tabelle(n) where Bedingung; Anzeigen von Spalte(n) der Zeilen aus Tabelle(n), die einer Bedingung genügen Umfasst Projektion, Selektion und Join der Relationenalgebra! Anfragen über einer Tabelle: select * from Assistent; select Matrnr, Name, Sem from Student where Sem < 5; select distinct SWS from Vorlesung where Leser = 2125 and not TITEL = 'Ethik'; Spaltenauswahl Projektion in Relationenalgebra Spaltenname, Konstante ** distinct, all all SQL> select Boss from Assistent; BOSS Auswahl von Spalten, Konstanten Auswahl aller Spalten Duplikatebeseitigung SQL> select distinct Boss from Assistent; BOSS gleiches Ergebnis wie bei: select all Boss from Assistent; 6
7 Spaltenauswahl Spaltenname, Konstante ** distinct, all all Auswahl von Spalten, Konstanten Auswahl aller Spalten Duplikatebeseitigung SQL> select 'Guten Tag, ', Name from Assistent; 'GUTENTAG NAME Guten Tag, Platon Guten Tag, Aristoteles Guten Tag, Wittgenstein Guten Tag, Rhetikus Guten Tag, Newton Guten Tag, Spinoza Zeilenauswahl Selektion in Relationenalgebra SQL: durch Formulierung von Bedingungen in WHERE-Klausel: Spaltenname, Konstante =, =,!=,!=, <>, <>, >, >, >=, >=, <, <, <= <= and, and, or, or, not not between and and like like...%..._... is is null, null, is is not not null null Angabe von Spalten und Konstanten Vergleichsoperator logische Verknüpfung Bereichsangabe Zeichenmuster Leerwert select Titel from Vorlesung where Leser = 2125 and not TITEL = 'Ethik'; 7
8 Zeilenauswahl - Beispiele SQL> select * from Vorlesung where Leser = 2125; VORLNR TITEL SWS LESER Ethik Gewäsch Logik SQL> select Titel from Vorlesung where Leser = 2125; TITEL Ethik Gewäsch Logik SQL> select Titel from Vorlesung where Leser = 2125 and not Titel = 'Ethik'; TITEL Gewäsch Logik SQL Anfragen über mehrere Tabellen Join in Relationenalgebra in Beispielen jeweils Equi-Join (d.h. Gleichheit von Attributwerten): select Name, Titel from Professor, Vorlesung where Persnr = Leser and Titel = 'Logik'; Welche Professoren lesen 'Logik'? Join select Name, Titel from Student, hören, Vorlesung where Student.Matrnr = hören.matrnr and hören.vorlnr = Vorlesung.Vorlnr; select s.name, v.titel from Student s, hören h, Vorlesung v where s.matrnr = h.matrnr and h.vorlnr = v.vorlnr; Welche Studenten hören welche Vorlesung? Welche Studenten hören welche Vorlesung? (alternative Syntax) 8
9 Ergebnisse der Anfragen der vorangehenden Folie NAME TITEL Sokrates Logik NAME TITEL Jonas Glaube und Wissen Fichte Grundzüge Schopenhauer Logik Schopenhauer Grundzüge Carnap Ethik Carnap Wissenschaftstheorie Carnap Der Wiener Kreis Theophrastos Grundzüge Theophrastos Ethik Theophrastos Gewäsch Feuerbach Grundzüge Feuerbach Glaube und Wissen Geschachtelte Anfragen select * from Assistent where Boss = (select Persnr from Professor where Name = 'Sokrates'); Wer sind die Assistenten von Sokrates? Ergebnistabelle PERSNR NAME FACHGEBIET BOSS Platon Ideenlehre Aristoteles Syllogistik
10 Geschachtelte Anfragen select * from prüfen where Note < (select avg (Note) from prüfen); Welche Prüfungen haben mit einer überdurchschnittlichen Note geendet? Ergebnistabelle MATRNR VORLNR PERSNR NOTE Mengenoperationen Voraussetzung: Gleichförmigkeit der verknüpften Tabellen gleiche Anzahl und gleicher Typ der Attribute union union (intersect, except) Vereinigung von Tabellen (Durchschnitt, Differenz) (select Name from Assistent) union (select Name from Professor); Namen von Assistenten und Professoren 10
11 Mengenoperationen Welche Vorlesungen werden von Studenten gehört? (select Vorlnr from Vorlesung) intersect (select Vorlnr from hören); Ergebnistabelle: VORLNR Mengenoperationen Welche Vorlesungen werden von keinem Studenten gehört? oder: Für welche Vorlesungen sind keine Studierenden registriert? Nach SQL Standard (klappt nicht in Oracle 8): (select Vorlnr from Vorlesung) except (select Vorlnr from hören); In Oracle 8: select Vorlnr from Vorlesung where Vorlnr not in (select Vorlnr from hören); Ergebnistabelle: VORLNR
12 Quantifizierung all, all, any, any, some some in, in, not not in in exists, exists, not not exists exists für alle, für ein Element von, nicht Element von es existiert ein, es existiert kein Welche Studenten studieren am längsten? select Name from Student where Sem >= all (select Sem from Student); ( Xenokrates mit 18 Semestern) Quantifizierung Welche Professoren halten (dieses Semester) keine Vorlesung? select Name from Professor where not exists (select * from Vorlesung where Leser = Persnr); Sämtliche Informationen über Vorlesungen 5001 bzw 5041 select * from Vorlesung where Vorlnr in (5001, 5041); 12
13 Gruppierungsfunktion count, count, sum, sum, avg, avg, max, max, min min Ausführen von Operationen auf Tupelmengen Durchschnittliche Semesterzahl der Studenten select avg (Sem) from Student; Beste bzw. schlechteste Note in Kursen 5001 oder 5041 select min (Note), max (Note) from prüfen where Vorlnr = 5001 or Vorlnr = 5041; Anzahl der Tupel der Tabelle hören; d.h. Anzahl der registrierten Hörer für alle Vorlesungen select count (*) from hören; Gruppierung group groupby byspalte(n) Gruppierung der Zeilen der Ergebnistabelle Summe SWS pro Leser select Leser, sum (Sws) from Vorlesung group by Leser; Ergebnistabelle: LESER SUM(SWS)
14 Gruppierung group groupby byspalte(n) having havingbedingung Gruppierung der Zeilen der Ergebnistabelle und Ausführung von Gruppierungsfunktionen Summe SWS pro Leser -aber nur für Leser, deren Veranstaltungen insgesamt einen Umfang von mindestens 6 SWS haben select Leser, sum (Sws) from Vorlesung group by Leser having sum (Sws) >= 6; Ergebnistabelle: LESER SUM(SWS) Gruppierung Persnr, Name, Summe SWS der C4-Professoren, die im Umfang von mindestens 8 SWS Vorlesungen geben select Leser, Name, sum (Sws) from Vorlesung, Professor where Leser = Persnr and Rang = 'C4' group by Leser, Name having sum(sws) >= 8; Ergebnistabelle: LESER NAME SUM(SWS) Sokrates Russel Kant 8 14
15 Sortierung order by by Spalte(n) asc asc // desc Festlegen der Sortierreihenfolge der Ergebnistabelle (aufsteigend bzw. absteigend) Ausgabe der Studierendendatensätze, geordnet nach Matrikelnr select Name, Matrnr from Student order by Matrnr; Auflistung der Professoren, geordnet nach Rang (lexikalisch absteigend d.h. C4 vor C3), dann alphabetisch select Persnr, Name, Rang from Professor order by Rang desc, Name asc; Sortierung Ergebnisse der Anfragen auf voriger Folie select Name, Matrnr from Student order by Matrnr; select Persnr, Name, Rang from Professor order by Rang desc, Name asc; NAME MATRNR Xenokrates Jonas Fichte Aristoxenos Schopenhauer Carnap Theophrastos Feuerbach PERSNR NAME RA Curie C Kant C Russel C Sokrates C Augustinus C Kopernikus C Popper C3 15
16 Elementfunktion +, +, -, -,*, *,/,/, char_length, substring,,, current_time, current_date, +, +, -, -,*, *, arithmetische Funktion Zeichenkettenfunktion Datumsfunktion Um 1.0 verbesserte Noten für Kurs 4630 select Matrnr, Note - 1 from prüfen where Vorlnr = 4630; select Name, Rang '-Professur' from Professor; NAME RANG '-PROF Sokrates C4-Professur Russel C4-Professur Kopernikus C3-Professur Popper C3-Professur Augustinus C3-Professur Curie C4-Professur Prof. B. Jung Kant C4-Professur Einführung in die Informatik, WS 2007/08 TU Bergakademie Freiberg Elementfunktion Ausgabe von Studentendaten mit Zeitpunkt des Zugriffs auf Datensätze select Matrnr, Sem, current_time from Student; MATRNR SEM CURRENT_T :34: :34: :34: :34: :34: :34: :34: :34:50 16
17 Datenmanipulationssprache / Änderung Standard-Änderungsoperationen: insert... Einfügen update... Ändern delete... Löschen Einfügen von Datensätzen insert insertinto intotabelle values valuestupel; Einfügen von Zeilen in eine existierende Tabelle insert insertinto intotabelle Anfrage; Beispiele: Einfügen neuer Datensätze insert into Professor values (2136, 'Einstein', 'C4', null); Werte für alle Spalten insert into Student (Matrnr, Name) values (25000, 'Goethe'); Werte für benannte Spalten (andere Spalten: Default-Werte) 17
18 Einfügen von Datensätzen Alle Studenten mit mehr als 15 Semestern Studienzeit zu Assistenten befördern insert into Assistent (Persnr, Name) select Matrnr, Name from Student where Sem > 15; Ändern von Datensätzen update update Tabelle Tabelle set setwerteänderung where wherebedingung Ändern von Zeilen in einer existierenden Tabelle Alle Vorlesungen auf 2 SWS setzen update Vorlesung set Sws = 2; Semesteranzahl von allen Studenten um 1 erhöhen update Student set Sem = Sem + 1; Prof. Russel zieht in Raum 213 ein update Professor set Raum = 213 where name = 'Russel'; Daten zur Vorlesung 5001 aktualisieren update Vorlesung set Titel = 'Grundlagen', Sws = 3, Leser = 2125 where Vorlnr = 5001; 18
19 Löschen von Datensätzen delete deletefrom fromtabelle where wherebedingung Löschen von Zeilen in einer existierenden Tabelle Alle Prüfungsdatensätze löschen delete from prüfen Datensatz zur Vorlesung 5001 löschen delete from Vorlesung where Vorlnr = 5001; Datensätze der Studenten über 15. Semester löschen delete from Student where Sem >= 15; Vorlesungen, die andere Vorlesungen voraussetzen, sollen ihrerseits keine Voraussetzung für weitere Vorlesungen sein delete from voraussetzen where Vorgänger in (select Nachfolger from voraussetzen); Datendefinitionssprache (DDL) Standarddefinitionsoperationen: Erzeugen (create), Ändern (alter), Löschen (drop) für: Tabelle (table), Sicht (view),... und Erteilung (grant) und Entzug (revoke) von Rechten Datentypen: char(n), varchar(n), number(p), number(p,s), date, long, blob,... Namen: 1. Zeichen Buchstabe, dann Buchstaben, Ziffern, _ oder $ 19
20 DDL: Erzeugen von Tabellen create createtable tabletabellen-name (Spalten-Name Typ, Typ, Spalten-Name Typ Typnot notnull, null, Spalten-Name Typ Typnot notnull null unique,...).) Definition einer Tabelle mit Spalten und Integritätsbedingungen Beispiele: create table Professor create table voraussetzen (persnr number (5) not null unique, (Vorgänger number (5), Name varchar (20) not null, Nachfolger number (5)); Rang char (2), Raum number (4)); Transaktionen und Transaktionsmanagement Nebenläufigkeit (engl.: concurrency) besteht wenn mehrere Benutzer gleichzeitig mit dem DBS interagieren diese Interaktionen können u.u. miteinander interferieren ("Wettlaufsituationen") Transaktion logische Einheit von DBS-Interaktionen eines Benutzers, die aus einem oder mehreren SQL-Befehlen bestehen Transaktion wird "ganz oder gar nicht" durchgeführt Eine Transaktion endet mit Commit alle Änderungen werden permanent Rollback alle Änderungen werden zurückgenommen Transaktionsmanager Softwaremodul im DBS, das Transaktionslogik implementiert 20
21 Probleme mit Nebenläufigkeit, Beispiel Instant Messaging (Wettlaufsituation / race conditions) Alison Alison Brian It's a beautiful day. Let's go out after work. perhaps not, I look awful after the late party I agree totally Alison Brian Alison It's a beautiful day. Let's go out after work. I agree totally perhaps not, I look awful after the late party Alison It's perhaps a beautiful not, I look day Let's awful go after out the after work. late party send Brian I agree totally send Probleme mit Nebenläufigkeit, Beispiel Datenbanksystem (Wettlaufsituation / race conditions) Zwei nebenläufige Systeme wollen denselben Wert im DBS erhöhen Die Einzelschritte, die jedes der beiden Systeme durchlaufen muss, sind: 1. Wert lesen: Der Wert wird aus DBS in den internen Speicher gelesen. 2. Wert erhöhen: Der Wert wird im internen Speicher um 1 erhöht 3. Wert schreiben: Der Wert aus dem internen Speicher zurück in DBS geschrieben Angenommen, der Wert betrage anfangs 1. Das erste System heißt "A", das zweite System "B". Bei nebenläufiger Ausführung kann die Wettlaufsituation jedoch dazu führen, dass der tatsächlich erhaltene, neue Wert nicht wie erwartet 3 sondern stattdessen 2 beträgt: 1. A liest Wert in internen Speicher A=1 2. B liest Wert in internen Speicher B=1 (der Wert im DBS ist immer noch 1!) 3. A erhöht intern A=2 4. B erhöht intern B=2 5. A schreibt Wert Wert=2 6. B schreibt Wert Wert=2 Lösung: Zusammenfassen der Einzelschritte 1-3 zu einer Transaktion z.b. B wartet, bis A Einzelschritte 1-3 komplett ausgeführt hat 21
22 ACID-Eigenschaften von Transaktionen Erwünschte Eigenschaften von Transaktionen Atomarität Transaktion wird entweder ganz oder gar nicht ausgeführt Konsistenz (Consisteny) Transaktion hinterlässt nach Beendigung einen konsistenten Datenzustand, (falls die Datenbank vor der Transaktion auch konsistent war) Einhaltung von sog. Integritätsbedingungen, z.b. eindeutige Schlüssel Isolation in Ausführung befindliche Transaktionen beeinflussen sich nicht gegenseitig Dauerhaftigkeit das Ergebnis einer Transaktion ist dauerhaft insbesondere auch nach Systemabstürzen Transaktionsmanager verantwortlich für Umsetzung der ACID-Eigenschaften Datensicherheit und Datenschutz Datensicherheit Schutz der Daten gegen Verlust z.b. Backups Datenschutz Schutz der Daten gegen unberechtigten Zugriff z.b. Benutzerkonten, Passwörter z.b. eingeschränkter Zugriff für Benutzer (Zugriffsrechte) SQL: create user Jane identified by 76awhd4$G; //userid and password create user Dick identified by!qtxm%97; alter user Jane quota unlimited on USERS;// no size restrictions drop user Jane; // delete user alter user Dick account lock;// keep user but block login 22
23 Systemüberblick Server OS- Toolbox Datenbank Datenbank "Maschine" "Maschine" Anwendungs- Anwendungs- Programm Programm B SQL- DML SQL- DDL SQL-DML Anwendungs- Anwendungs- Programm Programm A Buchungssystesystem Buchungs- Klient Datenbankentwurf Datenbankentwurf Beispiele: -Oracle -IBM DB2 - Microsoft Access - MySQL - Klient Verwaltung Verwaltung 23
Termin 12: Datenbanksysteme (2) - Einführung in SQL
Termin 12: Datenbanksysteme (2) - Einführung in SQL Grundlagen der Informatik Wintersemester 2006/07 Prof. Bernhard Jung Übersicht 1. Einführung SQL 2. Datenbankanfragen mit SQL (select from where) 3.
Datenintegrität. Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen
Datenintegrität Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen Formulierung von Integritätsbedingungen ist die wichtigste Aufgabe des DB-Administrators!
Datenintegrität. Arten von Integritätsbedingungen. Statische Integritätsbedingungen. Referentielle Integrität. Integritätsbedingungen in SQL.
Datenintegrität Arten von Integritätsbedingungen Statische Integritätsbedingungen Referentielle Integrität Integritätsbedingungen in SQL Trigger 1 Datenintegrität Einschränkung der möglichen Datenbankzustände
Kapitel 5 Dr. Jérôme Kunegis. SQL: Grundlagen. WeST Institut für Web Science & Technologien
Kapitel 5 Dr. Jérôme Kunegis SQL: Grundlagen WeST Institut für Web Science & Technologien Lernziele Kenntnis der Grundkonzepte von SQL Fähigkeit zur praktischen Anwendung von einfachen SQL-Anweisungen
Datenbanksysteme SS 2007
Datenbanksysteme SS 2007 Frank Köster (Oliver Vornberger) Institut für Informatik Universität Osnabrück Kapitel 6b: Das relationale Modell Das Relationale Modell (vgl. Lerneinheit 6a) Wertebereiche (Domänen):
Fortsetzung: Projektion Selektion. NULL Werte
Fortsetzung: Anfragen mit SQL Bisher: Projektion Selektion Duplikatbehandlung NULL Werte Professoren PersNr Name Rang Raum 2125 Sokrates 226 2126 Russel 232 2127 Kopernikus C3 310 2133 Popper C3 52 2134
Datenbanken. Datenintegrität + Datenschutz. Tobias Galliat. Sommersemester 2012
Datenbanken Datenintegrität + Datenschutz Tobias Galliat Sommersemester 2012 Professoren PersNr Name Rang Raum 2125 Sokrates C4 226 Russel C4 232 2127 Kopernikus C3 310 2133 Popper C3 52 2134 Augustinus
DATENBANKSYSTEME: SQL
Datendefinitions-, Manipulations- und Anfrage-Sprache SQL, Datendefinition, Veränderung am Datenbestand, Einfache SQL Abfrage, Anfragen über mehrere Relationen, Mengenfunktionen, Aggregatfunktion und Gruppierung,
Wiederholung VU Datenmodellierung
Wiederholung VU Datenmodellierung VL Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester
Aufgabensammlung SQL SW4 1. Einfache Anfragen
Aufgabensammlung SQL SW4 1. Einfache Anfragen Buch: Kapitel 4.6 und 4.7. Datenbank: Die folgenden Anfragen beziehen sich auf die Universitätsdatenbank des Buches. Alle Umlaute werden umschrieben (hören
Übung 3. Tutorübung zu Grundlagen: Datenbanken (Gruppen Do-T24 / Do-T31 WS 2016/2017)
Übung 3 Tutorübung zu Grundlagen: Datenbanken (Gruppen Do-T24 / Do-T31 WS 2016/2017) Dennis Fischer [email protected] http://home.in.tum.de/~fischerd/ Technische Universität München Fakultät für Informatik
Wiederholung VU Datenmodellierung
Wiederholung VU Datenmodellierung VU Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester
Entity Relationship Modell
Entity Relationship Modell 2 Entity/Relationship (ER) Modell Legi Name Semester Entity = Gegenstandstyp Relationship = Beziehungstyp Schlüssel (Identifikation) Studenten hören Hörer Kurs Vorlesungen Attribut
Vorlesung Datenbanksysteme vom
Vorlesung Datenbanksysteme vom 27.10.2008 Wiederholung: Relationale Algebra Relationale Algebra Join-Operatoren Eigenschaften der relationalen Operatoren Grundlagen des relationalen Modells Seien D 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)
Referentielle Integrität
Datenintegrität Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung statische Integritätsbedingungen Bedingungen an den Zustand der Datenbasis dynamische
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-
Wiederholung: Relationale Algebra
Vorlesung Datenbanksysteme vom 1.11.016 Wiederholung: Relationale Algebra Relationale Algebra Join-Operatoren Eigenschaften der relationalen Operatoren Grundlagen des relationalen Modells Seien D1, D,,
Referentielle Integrität
Datenintegrität Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung statische Integritätsbedingungen Bedingungen an den Zustand der Datenbasis dynamische
Architektur eines DBMS Logische Optimierung
Vorlesung Datenbanksysteme vom 16.11.2015 Anfragebearbeitung 1 Architektur eines DBMS Logische Optimierung Physische Optimierung Kostenmodelle + Tuning Architektur eines DBMS SW-Komponenten der Anfragebearbeitung
Informatik für Ökonomen II: Datenintegrität. Prof. Dr. Carl-Christian Kanne
Informatik für Ökonomen II: Datenintegrität Prof. Dr. Carl-Christian Kanne 1 Konsistenzbedingungen DBMS soll logische Datenintegrität gewährleisten Beispiele für Integritätsbedingungen Schlüssel Beziehungskardinalitäten
SQL. strukturierte Datenbankabfragesprache eine Datenbanksprache zur. Structured Query Language:
SQL Structured Query Language: strukturierte Datenbankabfragesprache eine Datenbanksprache zur Definition, Abfrage und Manipulation von Daten in relationalen Datenbanken In der SQL-Ansicht arbeiten In
Datenintegrität. Arten von Integritätsbedingungen. Statische Integritätsbedingungen. Referentielle Integrität. Integritätsbedingungen in SQL.
Datenintegrität Arten von Integritätsbedingungen Statische Integritätsbedingungen Referentielle Integrität Integritätsbedingungen in SQL Trigger 1 Datenintegrität Einschränkung der möglichen Datenbankzustände
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.
Kapitel 7 Dr. Jérôme Kunegis. Logische Kalküle. WeST Web Science & Technologies
Kapitel 7 Dr. Jérôme Kunegis Logische Kalküle WeST Web Science & Technologies Lernziele Grundideen des Domain-Relationenkalküls (DRK) und des Tupel-Relationenkalküls (TRK) Relationale Datenbank als Formelmenge
Informatik 12 Datenbanken SQL-Einführung
Informatik 12 Datenbanken SQL-Einführung Gierhardt Vorbemerkungen Bisher haben wir Datenbanken nur über einzelne Tabellen kennen gelernt. Stehen mehrere Tabellen in gewissen Beziehungen zur Beschreibung
Vorlesungen. Studenten. hören. Grundzüge. Fichte Glaube und Wissen Jonas
Das relationale eato aedatenmodell Studenten hören Vorlesungen MatrNr Name MatrNr VorlNr VorlNr Titel 26120 Fichte 25403 5022 5001 Grundzüge 25403... Jonas... 26120... 5001... 5022... Glaube und Wissen...
Relationale Kalküle. Grundlagen der Datenbanken. Dr. Jérôme Kunegis Wintersemester 2013/14
Web Science & Technologies University of Koblenz Landau, Germany Grundlagen der Datenbanken Dr. Jérôme Kunegis Wintersemester 2013/14 Lernziele Grundideen des Domänen-Relationenkalküls (DRK) und des Tupel-Relationenkalküls
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
Datenintegrität. Bisherige Integritätsbedingungen
Datenintegrität Integitätsbedingungen chlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung statische Bedingungen an den Zustand der Datenbasis dynamische Bedingungen an Zustandsübergänge
TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.
TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Blatt Nr. 7 Übung zur Vorlesung Grundlagen: Datenbanken im WS13/14 Henrik Mühe ([email protected]) http://www-db.in.tum.de/teaching/ws1314/dbsys/exercises/
IV. Datenbankmanagement
Wirtschaftsinformatik 2 (PWIN) IV. Datenbankmanagement Kapitel 2: Datenmanipulationssprache SQL Wirtschaftsinformatik 2 (PWIN) SS 2009, Professur für Mobile Business & Multilateral Security 1 Agenda 1.
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
Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung
6. Datenintegrität Motivation Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung nur sinnvolle Attributwerte (z.b. keine negativen Semester) Abhängigkeiten
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
Datenbanktechnologie mit praktischen Übungen in MySQL und PHP
Datenbanktechnologie mit praktischen Übungen in MySQL und PHP Übung, Sommersemester 2013 22. April 2013 - MySQL Sebastian Cuy [email protected] Datenbanken Was sind eigentlich Datenbanken? Eine
Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5
Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5 Aufgabe 1: Projektion Datenbanksysteme I π A1,...,A n (π B1,...,B
Fortsetzung: Kreuzprodukt, Inner Join. Sortierung. Existenzquantor, Mengenvergleich Gruppierung, Aggregate Cast-Operator
Fortsetzung: Anfragen mit SQL Bisher: Projektion, Selektion, Duplikatbehandlung, NULL Werte Kreuzprodukt, Inner Join Mengenoperationen Sortierung Geschachtelte Anfragen Existenzquantor, Mengenvergleich
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
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
XAMPP-Systeme. Teil 3: My SQL. PGP II/05 MySQL
XAMPP-Systeme Teil 3: My SQL Daten Eine Wesenseigenschaft von Menschen ist es, Informationen, in welcher Form sie auch immer auftreten, zu ordnen, zu klassifizieren und in strukturierter Form abzulegen.
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
SQL SQL. SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R. Grundlagen der Datenbanksysteme I
SQL SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R VII-1 Beispielrelationen Filiale ( Name Leiter Stadt Einlagen ) Konto ( KontoNr KundenNr FilialName Saldo ) Kredit
Vorlesung Datenbankmanagementsysteme
Vorlesung Datenbankmanagementsysteme SQL zur Datenanalyse & Einführung Online Analytical Processing (OLAP) (auf Basis von Oracle) Vorlesung Datenbankmanagementsysteme SQL zur Datenanalyse M. Lange, S.
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:
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,
Datenbanksysteme noch Kapitel 7: SQL. Vorlesung vom Oliver Vornberger. Institut für Informatik Universität Osnabrück
Datenbanksysteme 2015 noch Kapitel 7: SQL Vorlesung vom 12.05.2015 Oliver Vornberger Institut für Informatik Universität Osnabrück SQL: Schlüsselworte select from where order by asc desc as like upper
Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004)
Nachtrag: Farben Farbblindheit (Light und Bartlein 2004) 1 Vorgeschlagene Farbskalen (Light and Bartlein 2004) Farbkodierung metrisch skalierter Daten Unterscheide: 1. Sequential Data (ohne Betonung der
Aufbau des SELECT-Befehls. Im Folgenden werden zunächst Abfragen aus einer Tabelle vorgenommen.
Datenbankabfragen (Query) mit SQL (Structured Query Language) 1 Aufbau des SELECT-Befehls Im Folgenden werden zunächst Abfragen aus einer Tabelle vorgenommen. SQL-Syntax: SELECT spaltenliste FROM tabellenname
Bibliografische Informationen digitalisiert durch http://d-nb.info/995021198
Auf einen Blick 1 Einleitung 15 2 Datenbankentwurf 23 3 Datenbankdefinition 43 4 Datensätze einfügen (INSERT INTO) 95 5 Daten abfragen (SELECT) 99 6 Daten aus mehreren Tabellen abfragen (JOIN) 143 7 Unterabfragen
Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009
Hochschule Darmstadt DATENBANKEN Fachbereich Informatik Praktikum 3 Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009 PL/SQL Programmierung Anwendung des Cursor Konzepts und Stored Procedures Und Trigger
mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007
6. Übung zur Vorlesung Datenbanken im Sommersemester 2007 mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007 Aufgabe 1: Rekursion Betrachten Sie die folgende Tabelle
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
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
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
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.
Sructred Query Language
Sructred Query Language Michael Dienert 11. November 2010 Inhaltsverzeichnis 1 Ein kurzer Versionsüberblick 1 2 SQL-1 mit einigen Erweiterungen aus SQL-92 2 3 Eine Sprache zur Beschreibung anderer Sprachen
Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München
Kapitel 4 Dynamisches SQL Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München 2008 Thomas Bernecker, Tobias Emrich unter Verwendung der Folien des Datenbankpraktikums aus dem Wintersemester
Datenbanksysteme (1)
Kapitel 18: Datenbanksysteme (1) Einführung in die Informatik Wintersemester 2007/08 Prof. Bernhard Jung Übersicht Datenbanken und Datenbanksysteme Entity/Relationship-Modell (ERM) Das Relationale Datenmodell
7. Übung - Datenbanken
7. Übung - Datenbanken Informatik I für Verkehrsingenieure Aufgaben inkl. Beispiellösungen 1. Aufgabe: DBS a Was ist die Kernaufgabe von Datenbanksystemen? b Beschreiben Sie kurz die Abstraktionsebenen
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
Datenbanksysteme Vorlesung vom noch Kapitel 7: SQL. Oliver Vornberger. Institut für Informatik Universität Osnabrück
Datenbanksysteme 2009 Vorlesung vom 19.05.2009 noch Kapitel 7: SQL Oliver Vornberger Institut für Informatik Universität Osnabrück SQL: Self Join 15.) Liste die Namen der Assistenten, die für denselben
Universität Augsburg, Institut für Informatik WS 2008/2009 Prof. Dr. W. Kießling 23. Nov Dr. A. Huhn, M. Endres, T. Preisinger Lösungsblatt 5
Universität Augsburg, Institut für Informatik WS 2008/2009 Prof. Dr. W. Kießling 23. Nov. 2007 Dr. A. Huhn, M. Endres, T. Preisinger Lösungsblatt 5 Aufgabe 1: SQL-Queries Datenbanksysteme I a) Geben Sie
105.3 SQL-Datenverwaltung
LPI-Zertifizierung 105.3 SQL-Datenverwaltung Copyright ( ) 2009 by Dr. W. Kicherer. This work is licensed under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License. To view a
Übungen zu Datenbanksysteme
Institut für Informatik Universität Osnabrück, 19.05.2009 Prof. Dr. Oliver Vornberger http://www-lehre.inf.uos.de/ dbs Dipl.-Math. Patrick Fox Abgabe bis 02.06.2009, 12:00 Uhr Übungen zu Datenbanksysteme
Erstellen einer Datenbank. Datenbankabfragen
Erstellen einer Datenbank Datenbankabfragen Überblick Die fünf Stationen Semantisches Modell Logisches Modell Prüfung auf Redundanz Abfragen Softwaremäßige Implementierung Zur Erinnerung: Semantisches
Vielen Dank an Dennis Riehle für die Bereitstellung dieser Folien
Vielen Dank an Dennis Riehle für die Bereitstellung dieser Folien 1.1 Definition Datenbank Ein Datenbanksystem (DBS) ist ein System zur elektronischen Datenverwaltung. Die wesentliche Aufgabe eines DBS
Objektrelationale Datenbanken
Vorlesung Datenbanksysteme vom 26.11.2008 Objektrelationale Datenbanken Konzepte objektrelationaler DBs SQL:1999 OO vs. OR Konzepte objektrelationaler Datenbanken Große Objekte (LOBs: Large Objects) Mengenwertige
Abfragen: Grundbausteine
Abfragen: Grundbausteine Abfragen sollen gezielt Teile der Information wiedergeben. Das Ergebnis einer solchen Operation ist eine. Der Aufbau der Ergebnistabelle wird durch zwei Grundverfahren festgelegt:
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
Unterabfragen (Subqueries)
Unterabfragen (Subqueries) Die kürzeste Formulierung ist folgende: SELECT Felderliste FROM Tabelle1 WHERE Tabelle1.Feldname Operator (SELECT Feldname FROM Tabelle2 WHERE Bedingung); wobei Tabelle1 und
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
Carl-Christian Kanne. Einführung in Datenbanken p.1/513
Einführung in Datenbanken Carl-Christian Kanne Einführung in Datenbanken p.1/513 Kapitel 1 Einführung Einführung in Datenbanken p.2/513 Einführung Was ist ein Datenbanksystem (DBS)? Ein System zum Speichern
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
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
SQL Teil 2. SELECT Projektion Selektion Vereinigung, Schnitt, Differenz Verbund Komplexer SELECT-Ausdruck
SELECT Projektion Selektion Vereinigung, Schnitt, Differenz Verbund Fahren fort mit SQL Befehlen. Bilden Relationenalgebra auf SQL ab. So Umsetzung von Anfragen an die DB (bzw. Tabellen) möglich. SELECT
Die bisher bereits bekannten Aggregatsfunktionen MIN, MAX, SUM, AVG, COUNT, VARIANCE und STDDEV wurden um FIRST und LAST erweitert.
Betrifft Autor FIRST, LAST Markus Jägle ([email protected]) Art der Info Technische Background Info (April 2002) Quelle Aus dem NF9i-Kurs, NF9i-Techno-Circle der Trivadis und Oracle9i Data Warehousing
Transaktionsverwaltung
Transaktionsverwaltung VU Datenbanksysteme vom 21.10. 2015 Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Transaktionsverwaltung
