Vorlesung #4 Relationales Kalkül und SQL (Teil 1)

Slides:



Advertisements
Ähnliche Präsentationen
Objekt-relationale und erweiterbare Datenbanksysteme
Advertisements

ER-Datenmodell und Abfragen in SQL
Folien 2-5, 7-8 © Prof. Dr. Manfred Rössle (FH Aalen)
Objekt-relationale und erweiterbare Datenbanksysteme Erweiterbarkeit SQL:1999 Objekt-relationale Modellierung.
System J – Compiler – Praktikum: Datenbanksystementwicklung Knut Stolze
Prof. Dr. Andreas Schmietendorf
Systemüberblick Beispiele: Microsoft Access Oracle Ingres Informix
Objekt-relationale und erweiterbare Datenbanksysteme
Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg 1/7
SQL als Abfragesprache
SQL als Abfragesprache
SQL/XML. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation Speicherung von XML in allen großen kommerziellen DBMS vorhanden proprietäre Lösungen für die.
Information Systems & Semantic Web University of Koblenz Landau, Germany Vorlesung Multimedia-Datenbanken Objekt-relationale Datenbanksysteme (Folien nach.
1 Datenintegrität Statische Bedingung (jeder Zustand) Dynamische Bedingung (bei Zustandsänderung) Bisher: Definition eines Schlüssels 1:N - Beziehung Angabe.
1 Kapitel 8: Datenintegrität. 2 Datenintegrität Statische Bedingung (jeder Zustand) Dynamische Bedingung (bei Zustandsänderung) Bisher: Definition eines.
2.2 Definition eines Datenbankschemas (SQL-DDL)
SQL in Visual FoxPro. © 1999 TMN-Systemberatung GmbH SQL Historie n SQL - Structured Query Language n In den 70er Jahren von IBM entwickelt n 1986 zum.
SQL PHP und MySQL Referat von Katharina Stracke und Carina Berning
FH-Hof Standard Query Language Richard Göbel. FH-Hof Geschichte der Sprache SQL System/R-Projekts von IBM zu Beginn der 70er Jahre: Entwicklung der Sprache.
WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #6 SQL (Teil 3)
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #4 SQL (Teil 1)
WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #6 SQL (Teil 3)
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #6 SQL (Teil 3)
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #7 SQL (Teil 2)
WS 2011/12 Datenbanksysteme Mi 15:15 – 16:45 R Vorlesung #9 Physische Datenorganisation.
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
Vorlesung #4 SQL (Teil 1).
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #8 SQL (Teil 3)
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #5 Relationale Anfragesprachen.
WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #2 Das relationale Modell (Teil 1)
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #6 SQL (Teil 1)
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #2 Das relationale Modell (Teil 1)
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #7 SQL (Teil 4)
WS 2013/14 Datenbanksysteme D0 15:15 – 16:45 R Vorlesung #5 SQL (Teil 2)
WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R Vorlesung #5 SQL (Teil 2)
WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #7 SQL (Teil 4)
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #4 SQL (Teil 1)
Datenbanksysteme für hörer anderer Fachrichtungen
Einführung in Datenbankmodellierung und SQL
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #5 SQL (Teil 2)
Vorlesung #10 Physische Datenorganisation
Relationales Datenmodell und DDL
PL/SQL - Kurze Einführung April 2003Übung Data Warehousing: PL/SQL 2 PL/SQL.. ist eine Oracle-eigene, prozedurale Programmiersprache Sämtliche.
Structured Query Language
Structured Query Language
Vorlesung #5 SQL (Teil 2).
Vorlesung #2 Das relationale Modell (Teil 1)
WS 2014/15 Datenbanksysteme D0 15:15 – 16:45 R Vorlesung #6 SQL (Teil 3)
Termin Festlegung Einführung MySQL Runterladen MySQL, Pentaho Design Studio Betrachtung Pentaho
WS 2014/15 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #9 SQL Zusammenfassung.
SS 2015 – IBB4C Datenmanagement Fr 17:00 – 18:30 R Vorlesung #4 Überführung des ER-Modells in das relationale Modell.
Datenbanken abfragen mit SQL
1 Objektorientierte Datenbanken zBeim vorigen Mal: zODMG-OQL und FastObjects-OQL zIntegritätsbedingungen und Schema-Evolution zHeute: Objektrelationale.
 standardisierte -Datendefinitionssprache (DDL) -Datenmanipulationssprache (DML) -Anfragesprache (Query)  derzeit aktueller Standard ist SQL 3  objektrelationale.
SQL Structured Query Language Enzio Thiem. INHALT CREATE TABLE Anweisung Gängige Datentypen Beispiel CREATE TABLE Beispiel CREATE TABLE - erweitert Beispiel.
SQL Basics Schulung –
Vorlesung #9 Anfragebearbeitung
Sprachumfang von SQL Vier Kategorien DDL (Data Definition Language)
Darstellung der Relationenalgebra als Programmiersprache
Vorlesung #5 SQL (Teil 2).
Vorlesung #9 Anfragebearbeitung
Vorlesung #6 SQL (Teil 3).
Vorlesung #7 SQL (Teil 4).
Abfragesprache SQL in ORACLE
Beispiele zur Datenänderung
Create Table, Rechte und Rollen
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
Präsentation von Darleen und Michèle
(Structured Query Language)
 Präsentation transkript:

Vorlesung #4 Relationales Kalkül und SQL (Teil 1)

Vorlesung #4 - Relationales Kalkül & SQL (Teil 1) „Fahrplan“ Wiederholung/Zusammenfassung Relationale Algebra Relationenkalkül Geschichte der Sprache SQL SQL DDL (CREATE TABLE ...) SQL DML (INSERT, UPDATE, DELETE) SQL Abfragen © Bojan Milijaš, 23.10.2015 Vorlesung #4 - Relationales Kalkül & SQL (Teil 1)

Vorlesung #3 - Das relationale Modell (Teil 2) © Bojan Milijaš, 17.10.2013 Vorlesung #3 - Das relationale Modell (Teil 2)

Vorlesung #3 - Das relationale Modell (Teil 2) © Bojan Milijaš, 17.10.2013 Vorlesung #3 - Das relationale Modell (Teil 2)

Vorlesung #3 - Das relationale Modell (Teil 2) © Bojan Milijaš, 17.10.2013 Vorlesung #3 - Das relationale Modell (Teil 2)

Vorlesung #3 - Das relationale Modell (Teil 2) © Bojan Milijaš, 17.10.2013 Vorlesung #3 - Das relationale Modell (Teil 2)

Vorlesung #3 - Das relationale Modell (Teil 2) © Bojan Milijaš, 17.10.2013 Vorlesung #3 - Das relationale Modell (Teil 2)

Vorlesung #3 - Das relationale Modell (Teil 2) © Bojan Milijaš, 17.10.2013 Vorlesung #3 - Das relationale Modell (Teil 2)

Vorlesung #3 - Das relationale Modell (Teil 2) © Bojan Milijaš, 17.10.2013 Vorlesung #3 - Das relationale Modell (Teil 2)

Vorlesung #3 - Das relationale Modell (Teil 2) © Bojan Milijaš, 17.10.2013 Vorlesung #3 - Das relationale Modell (Teil 2)

Vorlesung #4 - Relationales Kalkül & SQL (Teil 1) Geschichte von SQL Anfang 70er Jahre „System R“ von IBM mit der Sprache „SEQUEL“ – Structured English Query Language, später aus patentrechtlichen Gründen in SQL unbenannt Parallel entwickelte man QUEL als Anfragesprache für das INGRES-System SQL setzte sich durch als Industrie-Standard (wegen „Ignorranz“ der INGRES-Entwickler) 1986: SQL-86 1. SQL Norm von ANSI Comitee 1992: SQL-92 bzw. SQL-2 1999: SQL-99 bzw. SQL-3 (objektrelationale Erweiterungen) © Bojan Milijaš, 23.10.2015 Vorlesung #4 - Relationales Kalkül & SQL (Teil 1)

Vorlesung #4 - Relationales Kalkül & SQL (Teil 1) Datentypen in SQL Atomare Datentypen als Attribut-Domänen Zahlen numeric(p,s) – number(p,s) integer float Zeichenketten character(n) – char(n) char varying (n) – varchar(n), varchar2(n) Datumstyp date Weitere: BLOB (Binary Large Objects), RAW für große Binärdatein, CLOB (Character LOB), benutzer-definierte Typen als objektrelationale Erweiterung ... © Bojan Milijaš, 23.10.2015 Vorlesung #4 - Relationales Kalkül & SQL (Teil 1)

Einfache Datendefinition SQL DDL (Data Definition Language) CREATE TABLE Professoren (PersNr INTEGER, Name CHARACTER VARYING(30), Rang CHARACTER(2)); CREATE TABLE professoren (persnr NUMBER(*,0), name VARCHAR2(30), rang CHAR(2)); © Bojan Milijaš, 23.10.2015 Vorlesung #4 - Relationales Kalkül & SQL (Teil 1)

Vorlesung #4 - Relationales Kalkül & SQL (Teil 1) Schemaveränderungen SQL DDL (Data Definition Language) Hinzufügen eines Attributs bzw. einer Spalte ALTER TABLE Professoren ADD Raum INTEGER; Löschen eines Attributs bzw. einer Spalte DROP COLUMN Raum; © Bojan Milijaš, 23.10.2015 Vorlesung #4 - Relationales Kalkül & SQL (Teil 1)

„(Aus)-Löschen“ mit DROP nicht mit DELETE! SQL DDL (Data Definition Language) Löschen der gesamten Tabelle (mit Struktur) DROP TABLE Professoren DDL ist endgültig kein ROLLBACK möglich bei DDL Befehlen Kein COMMIT erforderlich © Bojan Milijaš, 23.10.2015 Vorlesung #4 - Relationales Kalkül & SQL (Teil 1)

Vorlesung #4 - Relationales Kalkül & SQL (Teil 1) Datenmanipulation (1) SQL DML (Data Manipultaion Language) Einfügen von Tupeln insert into hören select MatrNr, VorlNr from Studenten, Vorlesungen where Titel= `Logik‘ ; insert into Studenten (MatrNr, Name) values (28121, `Archimedes‘); © Bojan Milijaš, 23.10.2015 Vorlesung #4 - Relationales Kalkül & SQL (Teil 1)

Vorlesung #4 - Relationales Kalkül & SQL (Teil 1) Datenmanipulation (2) SQL DML (Data Manipultaion Language) Löschen von Tupeln delete Studenten where Semester > 13; Verändern von Tupeln update Studenten set Semester= Semester + 1; © Bojan Milijaš, 23.10.2015 Vorlesung #4 - Relationales Kalkül & SQL (Teil 1)

Vorlesung #4 - Relationales Kalkül & SQL (Teil 1) Einfache SQL Anfragen select PersNr, Name from Professoren where Rang= ´C4´; PersNr Name 2125 Sokrates 2126 Russel 2136 Curie 2137 Kant © Bojan Milijaš, 23.10.2015 Vorlesung #4 - Relationales Kalkül & SQL (Teil 1)

Einfache SQL Anfragen (2) Sortierung select PersNr, Name, Rang from Professoren order by Rang desc, Name asc; desc – descending  asc – ascending  PersNr Name Rang 2136 Curie C4 2137 Kant 2126 Russel 2125 Sokrates 2134 Augustinus C3 2127 Kopernikus 2133 Popper © Bojan Milijaš, 23.10.2015 Vorlesung #4 - Relationales Kalkül & SQL (Teil 1)

Einfache SQL Anfragen (3) Duplikateliminierung select distinct Rang from Professoren; Rang C3 C4 © Bojan Milijaš, 23.10.2015 Vorlesung #4 - Relationales Kalkül & SQL (Teil 1)

Anfragen über mehrere Relationen Welcher Professor liest "Mäeutik"? select Name, Titel from Professoren, Vorlesungen where PersNr = gelesenVon and Titel = `Mäeutik‘ ; © Bojan Milijaš, 23.10.2015 Vorlesung #4 - Relationales Kalkül & SQL (Teil 1)

Anfragen über mehrere Relationen (2) Raum Rang Name PersNr 226 232 7 C4 Sokrates Russel Kant 2125 2126 2137 Professoren gelesenVon SWS Titel VorlNr 4 Grundzüge 5001 Die 3 Kritiken 4630 2 Mäeutik 5049 Ethik 5041 Vorlesungen Verknüpfung  © Bojan Milijaš, 23.10.2015 Vorlesung #4 - Relationales Kalkül & SQL (Teil 1)

Vorlesung #4 - Relationales Kalkül & SQL (Teil 1) © Bojan Milijaš, 23.10.2015 Vorlesung #4 - Relationales Kalkül & SQL (Teil 1)

Vorlesung #4 - Relationales Kalkül & SQL (Teil 1) 3 Wege Join Welche Studenten hören welche Vorlesungen? select Name, Titel from Studenten, hören, Vorlesungen where Studenten.MatrNr = hören.MatrNr and hören.VorlNr = Vorlesungen.VorlNr; Alternativ: select s.Name, v.Titel from Studenten s, hören h, Vorlesungen v where s. MatrNr = h. MatrNr and h.VorlNr = v.VorlNr © Bojan Milijaš, 23.10.2015 Vorlesung #4 - Relationales Kalkül & SQL (Teil 1)

Spezielle Sprachkonstrukte (3) LIKE Operator – Vergleich von Zeichenketten "%" steht für beliebig viele (auch gar kein) Zeichen "_" steht für genau ein Zeichen select * from Studenten where Name like ´T%eophrastos´; select distinct Name from Vorlesungen v, hören h, Studenten s where s.MatrNr = h.MatrNr and h.VorlNr = v.VorlNr and v.Titel LIKE ´%thik%´; © Bojan Milijaš, 06.11.2014 Vorlesung #6 - SQL (Teil 3)

Vorlesung #4 Ende