Begrenzte Freigabe privater Daten
|
|
- Heidi Junge
- vor 6 Jahren
- Abrufe
Transkript
1 Begrenzte Freigabe privater Daten Matthias Kirschner Einführung Architektur Semantisches Modell Query Modifikation Fazit
2 Szenario DBTabelle mit Seminarteilnehmern Mnr Name Thema Note Adam A 2.0 a@d.am 1002 Berta B 3.3 b@er.ta 1003 Chris C 2.7 c@hr.is Prüfungssekretariat Studenten Professoren Freigabe soll begrenzt werden Einführung Architektur Semantisches Modell Query Modifikation Fazit Einführung Begrenzte Freigabe privater Daten Matthias Kirschner 2/28
3 Richtlinien für Sichtbarkeit Mnr Name Thema Note Adam A 2.0 a@d.am 1002 Berta B 3.3 b@er.ta 1003 Chris C 2.7 c@hr.is Prüfungssekretariat Studenten Professoren Einführung Architektur Semantisches Modell Query Modifikation Fazit Begrenzte Freigabe privater Daten Matthias Kirschner 3/28
4 Richtlinien für Sichtbarkeit Mnr Name Thema Note Adam A 2.0 a@d.am 1002 Berta B b@er.ta 1003 Chris C Prüfungssekretariat Studenten Professoren Einführung Architektur Semantisches Modell Query Modifikation Fazit Begrenzte Freigabe privater Daten Matthias Kirschner 4/28
5 Richtlinien für Sichtbarkeit Mnr Name Thema Note Adam A 2.0 a@d.am 1002 Berta B 3.3 b@er.ta 1003 Chris C c@hr.is Prüfungssekretariat Studenten Professoren Wie kann Einhaltung technisch erzwungen werden? Einführung Architektur Semantisches Modell Query Modifikation Fazit Begrenzte Freigabe privater Daten Matthias Kirschner 5/28
6 Anforderungen an Architektur Korrektheit bezüglich Richtlinien Feine Granularität: Zellebene ok x ok x x x x ok x Anwendbarkeit auf bestehende Infrastruktur Geringe Reorganisation von Daten Keine Änderungen an Applikationen Geringer Overhead Einführung Architektur Semantisches Modell Query Modifikation Fazit Begrenzte Freigabe privater Daten Matthias Kirschner 6/28
7 Filterung durch Middleware Idee: Middleware filtert Result Set AW Q RS (gefiltert) MW Q RS DB Warum lässt die Architektur Rückschlüsse auf verbotene Daten (z.b. Noten) zu? Einführung Architektur Semantisches Modell Query Modifikation Fazit Begrenzte Freigabe privater Daten Matthias Kirschner 7/28
8 Filterung durch Middleware Ansatz problematisch bei Selektion: SELECT Name FROM Student WHERE Note > 2.0 Berta Chris Note nicht im Result Set: Keine Filterung! Rückschlüsse möglich aufgrund Selektion Binäre Suche bei numerischen Werten Einführung Architektur Semantisches Modell Query Modifikation Fazit Begrenzte Freigabe privater Daten Matthias Kirschner 8/28
9 Modifikation der Query Idee: Ändere statt Result Set die Query Wie kann die Query SELECT Name, Note FROM Studenten geeignet umgeschrieben werden? Einführung Architektur Semantisches Modell Query Modifikation Fazit Begrenzte Freigabe privater Daten Matthias Kirschner 9/28
10 Zwei Lösungsbeispiele SELECT Name, Note FROM Studenten WHERE Mnr =1001 UNION SELECT Name, null FROM Studenten WHERE Mnr!=1001 Adam Berta Chris 2.0 SELECT Name, CASE WHEN Mnr=1001 THEN Note ELSE null END FROM Studenten Adam Berta Chris 2.0 Einführung Architektur Semantisches Modell Query Modifikation Fazit Begrenzte Freigabe privater Daten Matthias Kirschner 10/28
11 Übersicht über Architektur AW 1. Query, $USERID 4. Result Set Query Modifier 2. Lese Meta Daten 3. Lese Daten mit modifizierter Query Privacy Meta Daten Daten Wahl Tabellen Einführung Architektur Semantisches Modell Query Modifikation Fazit Begrenzte Freigabe privater Daten Matthias Kirschner 11/28
12 Privacy Meta Daten Menge von Zugriffsregeln Regeln bestehen aus Datensatz: Tabelle, Spalte Empfänger Bedingung (beliebiges SQLPrädikat) Empfänger sieht Daten, wenn Regel für ihn existiert Bedingung erfüllt ist Einführung Architektur Semantisches Modell Query Modifikation Fazit Begrenzte Freigabe privater Daten Matthias Kirschner 12/28
13 Privacy Meta Daten Beispiel RID Empfänger Tabelle Spalte CID 1 Student Studenten Note 1 2 Professor Studenten Note 2 3 Student Studenten 3 4 Prüfungssekr. Studenten Note CID Prädikat Studenten.Mnr=$USERID EXISTS (SELECT ProfID FROM Professoren, Betreut WHERE ProfID=Betreut.PID AND Studenten.Mnr=Betreut.Mnr AND ProfID=$USERID) EXISTS (SELECT _wahl FROM Studenten_Wahl WHERE Studenten.Mnr=Studenten_Wahl.Mnr AND _wahl="ok") Einführung Architektur Semantisches Modell Query Modifikation Fazit Begrenzte Freigabe privater Daten Matthias Kirschner 13/28
14 Wahltabellen Beispiel Speicherung individueller Freigabewünsche Mnr Mnr_W Name_W Thema_W Note_W _w 1001 ok ok x x ok 1002 x x x x ok 1003 ok ok ok x x komplexere Wahltabellen denkbar z.b. offen legen nur bei bestimmten Personen/Gruppen Einführung Architektur Semantisches Modell Query Modifikation Fazit Architektur Begrenzte Freigabe privater Daten Matthias Kirschner 14/28
15 Table Semantics Sicht Tj auf Tabelle T für jeden Empfänger j m Empfänger, n spaltige Tabelle T: konzeptuelle Erweiterung von T um m*n Spalten t[1] t[2] t[3] t[1,1] t[1,2] t[2,1] t[2,2] t[3,1] t[3,2] c1 x c2 x c3 ok c1 x c2 x c3 ok t[i]: Tabellenspalte i, 1 i n t[i,j]: Freigabebedingung für Spalte i, Empfänger j verbotene Werte: null Einführung Architektur Semantisches Modell Query Modifikation Fazit Begrenzte Freigabe privater Daten Matthias Kirschner 15/28
16 Begrenzte Freigabe privater Daten Matthias Kirschner 16/28 Einführung Architektur Semantisches Modell Query Modifikation Fazit Table Semantics Model Definition Tabelle T mit n Spalten, K Primärschlüssel eval(t[i,j]): Auswertung der Bedingung t[i,j] = = = = sonst null true j i t eval i t i r n i i true j k t eval K k T t r Tj : ) ], [ ( : ] [ ] [ :,1 ]), [ ( : : Semantisches Modell
17 Table Semantics Beispiel Datentabelle T Adam A 2.0 a@d.am Berta B 3.3 b@er.ta Wahl für Empfänger j 1001 ok ok x x ok 1002 x x x x ok 1003 Chris C 2.7 c@hr.is 1003 ok ok ok x ok Adam Chris B Sicht T j auf T a@d.am b@er.ta Einführung Architektur Semantisches Modell Query Modifikation Fazit Begrenzte Freigabe privater Daten Matthias Kirschner 17/28
18 Maskierung von Werten mit null Vorteile Prädikate werden nicht true: X > null: false X < null: false kein Einfluss auf Aggregatfunktionen Nachteile: null als Wert in Applikationslogik Alternative: prohibited Wert mit spezieller Semantik erfordert Änderungen an DBImplementation Einführung Architektur Semantisches Modell Query Modifikation Fazit Begrenzte Freigabe privater Daten Matthias Kirschner 18/28
19 Query Modifier wandelt Query Q in Query Q Result Set von Q gehorcht Table Semantics greift auf Privacy Meta Daten zu Zwei Varianten der Modifikation CaseStatements LeftOuterJoins Einführung Architektur Semantisches Modell Query Modifikation Fazit Begrenzte Freigabe privater Daten Matthias Kirschner 19/28
20 Modifikation mit Case (1) Student Adam fragt Noten ab: SELECT Name, Note FROM Studenten Name Adam Berta Chris Note SELECT t1.name, t1.note FROM (SELECT Name, CASE WHEN Mnr=1001 THEN Note ELSE null END FROM Studenten) AS t1(name, Note) Name Adam Berta Chris Note 2.0 Einführung Architektur Semantisches Modell Query Modifikation Fazit Begrenzte Freigabe privater Daten Matthias Kirschner 20/28
21 Modifikation mit Case (2): Selektion Query mit Selektionsbedingung: SELECT Name, Note FROM Studenten Berta WHERE Note > 2.0 Chris 2,7 3,3 SELECT t1.name, t1.note FROM (SELECT Name, CASE WHEN c1 THEN Note ELSE null END FROM Studenten) AS t1(name, Note) } Adam Berta Chris 2.0 WHERE t1.note > 2.0 Einführung Architektur Semantisches Modell Query Modifikation Fazit Begrenzte Freigabe privater Daten Matthias Kirschner 21/28
22 Case (3): Ausblenden von Zeilen Wenn ID ausgeblendet werden darf Beispiel: SELECT FROM Studenten SELECT t1. FROM (SELECT s1.mnr, CASE WHEN EXISTS (SELECT _Wahl FROM Studenten_Wahl w1 WHERE s1.mnr=w1.mnr AND _wahl="ok") THEN s1. ELSE null END FROM Studenten s1) AS t1(mnr, ) WHERE EXISTS (SELECT Mnr_Wahl FROM Studenten_Wahl w2 WHERE t1.mnr=w2.mnr AND w2.mnr_wahl="ok") } } Mail erlaubt? irgendwas erlaubt? Einführung Architektur Semantisches Modell Query Modifikation Fazit Begrenzte Freigabe privater Daten Matthias Kirschner 22/28
23 Modifikation mit LeftOuterJoin Anfrage: SELECT FROM Studenten SELECT FROM (SELECT Mnr FROM Studenten WHERE c4) AS t1(mnr) LEFT OUTER JOIN (SELECT Mnr, FROM WHERE c3) as t2(mnr, ) ON t1.mnr=t2.mnr Einführung Architektur Semantisches Modell Query Modifikation Fazit Begrenzte Freigabe privater Daten Matthias Kirschner 23/28
24 Algorithmus zur CaseModifikation Eingabe: Query Q, $USERID Hilfsfunktion GetCondition(U, T, S) Ermittelt, ob U Zugriff auf Spalte S in T hat Ausgabe: allowed: Regeln erlauben Zugriff prohibited: Regeln erlauben Zugriff nicht c: Bedingung c, bei bedingtem Zugriff Ausgabe: modifizierte Query Q Einführung Architektur Semantisches Modell Query Modifikation Fazit Begrenzte Freigabe privater Daten Matthias Kirschner 24/28
25 Algorithmus schematisch Q = Q Für jede Tabelle T in Query Q { Für jede Spalte t[i] in T { switch (c = GetCondition($UserID, T, t[i])) { prohibited : s[i] = null allowed : s[i] = t[i] default: s[i] = CASE WHEN c THEN t[i] ELSE null END } } Erstelle Anfrage Q* der Form SELECT s[1],..., s[n] FROM T Ersetze alle Referenzen auf T in Q durch (Q*) } return Q Einführung Architektur Semantisches Modell Query Modifikation Fazit Begrenzte Freigabe privater Daten Matthias Kirschner 25/28
26 Vergleich mit Anforderungen (1) Korrektheit Table Semantics Korrektheit des Algorithmus Granularität Table Semantics: definiert auf Zellebene Anwendbarkeit auf bestehende Infrastruktur Datentabellen bleiben unangetastet Applikationen merken nichts Einführung Architektur Semantisches Modell Query Modifikation Fazit Begrenzte Freigabe privater Daten Matthias Kirschner 26/28
27 Vergleich mit Anforderungen (2) Overhead durch Freigabeprüfung Aufwand durch Querymodifikation Aufwand durch Auswertung komplexerer Query DBinterne Anfrageoptimierung Perfomanzgewinn bei geringer Selektivität der Wahltabellen möglich insgesamt gering Einführung Architektur Semantisches Modell Query Modifikation Fazit Begrenzte Freigabe privater Daten Matthias Kirschner 27/28
28 Grenzen Kein Schutz vor Missbrauch! Professor gibt Noten an Dritte weiter Kein Ergebnis beinhaltet auch Information Hintergrundwissen und Kenntnis der Richtlinien kann Informationen aufdecken Einführung Architektur Semantisches Modell Query Modifikation Fazit Begrenzte Freigabe privater Daten Matthias Kirschner 28/28
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Ü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
MehrSQL 2. Ziele. Fortgeschrittene SQL-Konstrukte. Aggregatfunktionen revisited. Subqueries. Korrelierte Subqueries
SQL 2 Lehr- und Forschungseinheit Datenbanken und Informationssysteme 1 Ziele Fortgeschrittene SQL-Konstrukte groupby having union / intersect / except Aggregatfunktionen revisited Subqueries Korrelierte
MehrTU 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)
MehrSQL. 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
MehrWiederholung VU Datenmodellierung
Wiederholung VU Datenmodellierung VU Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester
MehrSeminar 1 SQL Abfragen DML. MatrNr Name Vorname Age Gruppe Schmidt Hans Meisel Amelie
Seminar 1 SQL Abfragen DML Studenten MatrNr Name Vorname Email Age Gruppe 1234 Schmidt Hans schmidt@cs.ro 21 331 1235 Meisel Amelie meisel@cs.ro 22 331 1236 Krause Julia krause@cs.ro 21 332 1237 Rasch
MehrTU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.
TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Blatt Nr. 8 Hausaufgabe 1 Übung zur Vorlesung Grundlagen: Datenbanken im WS13/14 Henrik Mühe (muehe@in.tum.de)
MehrTU 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. 05 Übung zur Vorlesung Grundlagen: Datenbanken im WS16/17 Harald Lang, Linnea Passing (gdb@in.tum.de
MehrOracle 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
MehrAbfragen (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
Mehrinsert, 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
MehrWiederholung VU Datenmodellierung
Wiederholung VU Datenmodellierung VL Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester
MehrSQL Wiederholung. Datenbanktechnologien. Verbunde. Aggregation und Gruppierung. Unterabfragen. Hochschule für Technik und Wirtschaft Berlin
SQL Wiederholung Datenbanktechnologien Prof. Dr. Ingo Claÿen Prof. Dr. Martin Kempa Hochschule für Technik und Wirtschaft Berlin Verbunde Aggregation und Gruppierung Unterabfragen Verbunde Inner-Join Nur
Mehrdbis Praktikum DBS I SQL Teil 2
SQL Teil 2 Übersicht Fortgeschrittene SQL-Konstrukte GROUP BY HAVING UNION / INTERSECT / EXCEPT SOME / ALL / ANY IN / EXISTS CREATE TABLE INSERT / UPDATE / DELETE 2 SELECT Syntax SELECT FROM [WHERE [GROUP
Mehr4. Objektrelationales Typsystem Kollektionstypen. Nested Table
Nested Table Bei einer Nested Table handelt es sich um eine Tabelle als Attributwert. Im Gegensatz zu Varray gibt es keine Beschränkung bei der Größe. Definition erfolgt auf einem Basistyp, als Basistypen
MehrWebbasierte 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)
MehrAnwendungsentwicklung 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
MehrMySQL-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
MehrGrundlagen von Datenbanken
Grundlagen von Datenbanken SS 2010 4. Prolog als Datenbanksprache Prof. Dr. Stefan Böttcher Universität Paderborn Grundlagen von Datenbanken - SS 2010 - Prof. Dr. Stefan Böttcher 4. Prolog als Datenbanksprache
MehrDatenbanken Unit 4: Das Relationale Modell & Datenintegrität
Datenbanken Unit 4: Das Relationale Modell & Datenintegrität 15. III. 2016 Outline 1 Organisatorisches 2 SQL 3 Relationale Algebra Notation 4 Datenintegrität Organisatorisches Erster Zwischentest: nach
MehrAutomatisierung von Schritten in Geschäftsprozessen als Einstieg in SOA
Automatisierung von Schritten in Geschäftsprozessen als Einstieg in SOA Ein datengesteuerter E-Mail-Service Vorstellung Der Anstoß Der Geschäftsprozeß Das (Grob-)Konzept Agenda Datengesteuerter E-Mail-Service
MehrNeugestaltung der Datenbank des Chemnitzer Studentennetzes
12.12.2012 Neugestaltung der Datenbank des Chemnitzer Studentennetzes Verteidigung Bachelorarbeit Morris Jobke Prüfer: Dr. Frank Seifert Betreuer: Dipl.-Inf. Johannes Fliege Neugestaltung der Datenbank
MehrPlay Framework, MySQL, JPA, HQL, HTML, jquery,
Play Framework, MySQL, JPA, HQL, HTML, jquery, Wer Mit wem Resultat 1.Kunde Schalter: Bibliothekarin Bestimmt,welcher Archivar die Zeitschrift holen geht 2. Schalter: Bibliothekarin Archivar Kontrollübergabe
MehrTU 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 (muehe@in.tum.de) http://www-db.in.tum.de/teaching/ws1314/dbsys/exercises/
MehrIntegritätsbedingungen für komplexe Objekte in objektrelationalen Datenbanksystemen
10. GI-Fachtagung Datenbanksysteme in Büro, Technik und Wissenschaft Integritätsbedingungen für komplexe Objekte in objektrelationalen Datenbanksystemen Friedrich-Schiller-Universität Jena Institut für
MehrInduktionsschluss: Sei Q RA eine Anfrage der Relationenalgebra mit n > 0 Operatoren.
1 Aufgabe 3.1: Wir beweisen durch Induktion über die Anzahl Operatoren π, σ,,,, δ eines Ausdrucks der Relationenalgebra, dass zu jeder Anfrage der Relationenalgebra eine äquivalente Anfrage in SQL existiert.
MehrC++ Anwendungskurs Tag 4: Datenbanken Daniela Horn Institut für Neuroinformatik Real-time Computer Vision
C++ Anwendungskurs Tag 4: Datenbanken Daniela Horn Institut für Neuroinformatik Real-time Computer Vision 15. März 2018 C++ Anwendungskurs 15. März 2018 Daniela Horn 1 Übersicht 1 Motivation 2 Relationale
MehrQuery Languages (QL) Relationale Abfragesprachen/Relational
Relationale Algebra Relationale Abfragesprachen/Relational Query Languages (QL) Abfragesprachen: Daten aus einer Datenbank zu manipulieren und abzufragen (retrieve information) Das relationalle Modell
MehrVorstellung DIE QSC AG. Datum:
Vorstellung DIE QSC AG Datum: 09.06.2015 Daten & Fakten 12 Standorte In Deutschland 455,5 Mio. Umsatz in 2013 1700 Mitarbeiter Im TEC DAX seit 2004 30 Jahre Erfahrung Support für 15.000 Endanwender Über
MehrSQL,Teil 2: SELECT. W. Spiegel. Übersicht SELECT. Mehrfache Werte vermeiden: SELECT DISTINCT. Ausgabe ordnen: ORDER BY. Projektion.
SQL,Teil 2: SELECT W. Spiegel Übersicht SELECT Mehrfache Werte vermeiden: SELECT DISTINCT Ausgabe ordnen: ORDER BY Projektion Selektion: WHERE Join mit SELECT Beispiel Aufgaben 1 SELECT Die SELECT-Anweisung
MehrSQL. 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
MehrSQL. 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
MehrWS 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)
MehrISU 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
MehrSeminar 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
MehrWirtschaftsinformatik 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.
MehrSQL 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
MehrLösung - Übungsblatt 2
Lösung - Übungsblatt 2 (Modellierung von Datenquellen) Fabian Panse panse@informatik.uni-hamburg.de Universität Hamburg Aufgabe 1: GaV mit Nebenbedingungen Student(MNr, Name, Sem, SG) IC: Sem > 5 S1(MNr,
MehrDatenmanagement I SoSe 2006 Aufgabenblatt 4
Datenmanagement I SoSe 2006 Aufgabenblatt 4 June 11, 2009 Versuchen Sie, einige der Anfragen zu formulieren (ab Punkt 6), die im Tutorium stehen, das hier zu finden ist: http://wwwiti.cs.uni-magdeburg.de/iti_db/lehre/dm/tut/tutorium.html.
MehrSQL. 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
MehrAuf 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
MehrDomänen: Grundtypen, alle vordefiniert, z.b. INTEGER ~ integer NUMERIC (p,s) p: precision, s: scale (nach,) etc.
Kapitel 6 Relationale DB-Sprache SQL SEQUEL: Structured English Query Language, 70er Jahre SQL: System R, SQL/DS, TransBase, Oracle... ANSI Standards 1, 2, 3 6.1 Daten-Definitionssprache DDL Domänen: Grundtypen,
MehrSQL 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-
Mehr6. Trigger Charakterisierung von Triggern. 6. Trigger. Trigger definieren automatische Reaktionen auf Ereignisse, die durch Datenmanupilationen
6. Trigger Charakterisierung von Triggern 6. Trigger Trigger definieren automatische Reaktionen auf Ereignisse, die durch Datenmanupilationen auf einer Relation ausgelöst werden. Trigger stellen eine einfache
Mehrquick documentation Inhalt Datenmodellierung
quick documentation TO: FROM: SUBJECT: ARND.SPIERING@AS-INFORMATIK.NET QS ORACLE SPATIAL DATENBANKEN DATE: 14.08.2011 Inhalt Dieses Dokument beschreibt Ansätze zur Datenmodellierung, Qualitätssicherung
MehrErgänzungen zu SQL mit Oracle
Seminar Ergänzungen zu SQL mit Oracle von Prof. Dr. Rainer Schwenkert Hochschule München c Vervielfältigung nur mit Zustimmung des Autors SELECT u.name, u.vorname FROM Chef u, Chef v WHERE (u.vorg = v.pnr)
MehrAuf 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
MehrAufbau Datenbanksysteme
Aufbau Datenbanksysteme Lehrveranstaltung Datenbanktechnologien Prof. Dr. Ingo Claßen Prof. Dr. Martin Kempa Hochschule für Technik und Wirtschaft Berlin Speichersystem c Ingo Claßen, Martin Kempa Softwarearchitektur
MehrÜbung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 017 Marc Bux, Humboldt-Universität zu Berlin Agenda 1. Vorrechnen von Aufgabenblatt 1. Wohlgeformte Klammerausdrücke 3. Teile und Herrsche Agenda 1.
MehrDatenbanken Unit 3: Das relationale Modell
Datenbanken Unit 3: Das relationale Modell 7. III. 2017 Outline 1 SQL 2 Das ER Modell Zusammenfassung 3 Das Relationale Modell Termin zweiter Zwischentest UE-Tests (Thema: SQL) zweiter Zwischentest findet
MehrDatenbanken Unit 5: Datenintegrität und funktionale Abhängigkeit
Datenbanken Unit 5: Datenintegrität und funktionale Abhängigkeit 23. IV. 2018 Outline 1 Organisatorisches 2 Relationale Algebra Notation 3 Datenintegrität 4 Funktionale Abhängigkeit 5 SQL Outline 1 Organisatorisches
MehrDatenbanken Unit 3: Das relationale Modell
Datenbanken Unit 3: Das relationale Modell 8. III. 2016 Outline 1 Das ER Modell Zusammenfassung 2 Das Relationale Modell 3 SQL Organisatorisches Wissensüberprüfung: heute zwei Aufgaben statt nur einer
MehrFortgeschrittene Funktionale Programmierung
Fortgeschrittene Funktionale Programmierung 13. Vorlesung Janis Voigtländer Universität Bonn Wintersemester 2015/16 Erweiterung um Datentypen Typen: τ := Bool [τ] Terme: t := False True [ ] τ t : t case
MehrSQL-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
MehrPhysischer DB-Entwurf
Physischer DB-Entwurf Prof. Dr. T. Kudraß 1 Überblick Ausgangslage: Konzeptuelles und externes Schema sind erstellt: ER Modell, Schemaverfeinerung und Definition von Sichten Nächster Schritt: Physischer
MehrUniversitä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
MehrOracle Virtual Private Database
Oracle Virtual Private Database Rolf Wesp Consultant Application Development Rolf.Wesp@trivadis.com Düsseldorf, September 2008 Basel Baden Bern Lausanne Zürich Düsseldorf Frankfurt/M. Freiburg i. Br. Hamburg
MehrPraktische SQL-Befehle 2
Praktische SQL-Befehle 2 Datenbanksysteme I WiSe 2018/2019 Todor Ivanov DB1 WS2018 1 Praktische SQL-Befehle Functions Views Triggers Voraussetzung: Laptop + MySQL/ MariaDB + Workbench! DB1 WS2018 2 Airport
MehrEinführung in Datenbanken. Kapitel 11: Relationale Algebra in SQL
Stefan Brass: Einf. in Datenbanken 11. Relationale Algebra in SQL 1/48 Einführung in Datenbanken Kapitel 11: Relationale Algebra in SQL Prof. Dr. Stefan Brass Martin-Luther-Universität Halle-Wittenberg
MehrWS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #4. SQL (Teil 2)
Vorlesung #4 SQL (Teil 2) Fahrplan Eine weitere Aggregation: median Geschachtelte Anfragen in SQL Korrelierte vs. Unkorrelierte Anfragen Entschachtelung der Anfragen Operationen der Mengenlehre Spezielle
MehrEinführung in Datenbanken. Kapitel 8: Nullwerte in SQL
Stefan Brass: Einf. in Datenbanken 8. Nullwerte in SQL 1/32 Einführung in Datenbanken Kapitel 8: Nullwerte in SQL Prof. Dr. Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2018/19
MehrACCESS 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
MehrAnfragebearbeitung. Logische Optimierung Physische Optimierung (Kostenmodelle Tuning ) Kapitel 8 1
Anfragebearbeitung Logische Optimierung Physische Optimierung (Kostenmodelle Tuning ) Kapitel 8 1 Ablauf der Anfrageoptimierung Deklarative Anfrage (SQL) Scanner Parser Sichtenauflösung Algebraischer Ausdruck
MehrDaten-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
MehrSQL. Fortgeschrittene Konzepte Auszug
SQL Fortgeschrittene Konzepte Auszug Levels SQL92 Unterteilung in 3 Levels Entry Level (i.w. SQL89) wird von nahezu allen DBS Herstellern unterstützt Intermediate Level Full Level SQL DML 2-2 SQL92 behebt
MehrMengen- oder SET-Operatoren fassen das Ergebnis von zwei oder mehreren Teilabfragen zu einem Ergebnis zusammen.
Tipps & Tricks: Mengenoperatoren Bereich: DBA, SQL Erstellung: 06/2004 MP Versionsinfo: 10.1, 10.2, 11.1, 11.2 Letzte Überarbeitung: 06/2009 MA Mengenoperatoren Mengen- oder SET-Operatoren fassen das Ergebnis
MehrInhaltsverzeichnis. Vorwort Kapitel 1 Einleitung... 15
Vorwort..................................................... 13 Kapitel 1 Einleitung.......................................... 15 Kapitel 2 SQL der Standard relationaler Datenbanken... 19 2.1 Die Geschichte................................
MehrOracle 8i und 9i New Features. DOAG November Peter Jensch, Trivadis GmbH
Oracle 8i und 9i New Features DOAG November 200 Peter Jensch, Trivadis GmbH Facts & Figures Über 300 Mitarbeiter (D und CH) Über 200 Oracle Consultant Über 300 Kunden (ohne Schulung) Über 000 Projekte
MehrSQL. 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:
MehrDaniel 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
MehrWhitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und 2005. combit GmbH Untere Laube 30 78462 Konstanz
combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager Datensatzhistorie mit dem SQL Server 2000 und 2005 Datensatzhistorie mit dem SQL Server 2000 und 2005-2 - Inhalt
MehrInhaltsverzeichnis. 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
MehrDiskussion: Personal (1)
Diskussion: Personal (1) ER-Diagramm: Abteilung ist beschäftigt in [0, n] [0, 1] Person Umsetzung ins Relationenmodell? Diskussion: Personal (2) Zusätzliche Regel: In jeder Abteilung (Person) muss mindestens
Mehr7. Einfache Auswertungen aus der Datenbank (select)
7. Einfache Auswertungen aus der Datenbank (select) [ ] 7.3 rojektion Erzeuge eine Übersicht aller existierender Warengruppen Select distinct warengruppe from artikel - WS 2007/2008 - rof. Dr. Klaus-Dieter
Mehrids-system GmbH Tipp #3 Leer-Strings in SQL oder die Frage nach CHAR oder VARCHAR
ids-system GmbH Tipp #3 Leer-Strings in SQL oder die Frage Zusammenfassung Dieses Dokument beschreibt die Unterschiede zwischen CHAR und VARCHAR Datentyp sowie die Behandlung im SQL Michael Tiefenbacher
MehrEinführung in die Informatik II
Einführung in die Informatik II Relationale Datenbanken und SQL Theorie und Anwendung Prof. Dr. Nikolaus Wulff Gründe für eine Datenbank Meist werden Daten nicht in XML-Dokumenten, sondern innerhalb einer
MehrLabor 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.
Mehrd.h. zu Definitions-Stelle eindeutiger Funktionswert x X! y Y : (x,y) f umgekehrt: (x 1,y), (x 2,y) f ist o.k. X Y f(x) = y
Kapitel 7 Normalformen und DB-Entwurf Kap. 7.1 Normalformen Theorie Funktionale Abhängigkeit: f X Y f als Relation, d.h. Menge von Paaren {(x,y)} x: Definitions-Stelle, y: Funktionswert f ist Funktion
MehrAuskunftsbeschränkung in Hippokratischen Datenbanken
Auskunftsbeschränkung in Hippokratischen Datenbanken Falk Husemann Lehrstuhl 6 für Informationssysteme und Sicherheit Zusammenfassung Diese Seminararbeit stellt zwei wissenschaftliche Arbeiten vor, die
MehrARBEITSBLATT ZU SQL-BEFEHLEN
ARBEITSBLATT ZU SQL-BEFEHLEN Die Syntax eines Standard-SELECT-Befehls in Backus-Naur-Form sieht wie folgt aus: SELECT [ALL DISTINCT]{spalten *} FROM tabelle [alias] [tabelle[alias]]... [WHERE {bedingung
MehrOracle Database 12c Was Sie immer schon über Indexe wissen wollten
Oracle Database 12c Was Sie immer schon über Indexe wissen wollten Marco Mischke, 08.09.2015 DOAG Regionaltreffen B* Indexe - Aufbau 0-Level Index A-F G-Z 1-Level Index A-F G-Z 2-Level Index A-F G-M N-Z
MehrAufbau eines dynamischen ETL Frameworks auf Basis eines PL/SQL Codegenerators
Aufbau eines dynamischen ETL Frameworks auf Basis eines PL/SQL Codegenerators München, 21. Nowember 2007 Nicola Marangoni & Jörg Westermayer Nicola.Marangoni@SHS-VIVEON.com Joerg.Westermayer@SHS-VIVEON.com
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 06: Einführung in Kontrollstrukturen Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Einführung in Kontrollstrukturen 3 Grundstrukturen von
Mehr5. Aufgabenblatt Naïve Bayes Klassifikation Abgabe: , 23:59 Uhr
5. Aufgabenblatt Naïve Bayes Klassifikation Abgabe: 07.02.2018, 23:59 Uhr Vorlesung: Übung: Patrick Schäfer Berlin, 22. Januar 2018 patrick.schaefer@hu-berlin.de https://hu.berlin/vl_dwhdm17 https://hu.berlin/ue_dwhdm17
MehrVIEWS UND WEITERE TABELLEN-OPERATIONEN
KAPITEL 9 VIEWS UND WEITERE TABELLEN-OPERATIONEN 9.1 Vereinbarung und Einsatz von Views 9.1.1 Einrichtung von Views Die CREATE VIEW-Anweisung Von Ausnahmen abgesehen ist es wie wir zuvor erläutert haben
MehrNachtrag: 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
MehrAufgabe 12.1: JDBC - Datenbankzugriff in Java
Aufgabe 12.1: JDBC - Datenbankzugriff in Java Beispielquery Schema: Wie ist der Name des Landes, für welches der Wert der nicht ausgelieferter Bestellungen maximal ist? 17.Mai 2014 Martin Kaufmann ETH
MehrBeispiele zu PHP/SQL
Beispiele zu PHP/SQL 1. Beispiel: Programmiere dynamisch eine Tabelle mit Schachbrettmuster. Dabei gilt folgende Logik: (Sind Zeilen- UND Spaltennummer gerade), ODER (sind Zeilen- UND Spaltennummer ungerade),
MehrSQL. 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).
MehrWS 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
MehrDatenmanipulation in SQL (1): Subselect:
Datenmanipulation in SQL (1): Unter Datenmanipulation wird sowohl der lesende Zugriff auf die Daten (Select Statement) als auch die Änderung von Daten (Insert, Delete, Update) subsummiert. Wir beginnen
MehrDieser 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,
MehrInhaltsverzeichnis. Lothar Piepmeyer. Grundkurs Datenbanksysteme. Von den Konzepten bis zur Anwendungsentwicklung ISBN:
Lothar Piepmeyer Grundkurs Datenbanksysteme Von den Konzepten bis zur Anwendungsentwicklung ISBN: 978-3-446-42354-1 Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-42354-1
Mehr