Kapitel 6: Sichten und Zugriffskontrolle

Größe: px
Ab Seite anzeigen:

Download "Kapitel 6: Sichten und Zugriffskontrolle"

Transkript

1 Kapitel 6: Sichten und Zugriffskontrolle Sichten und Zugriffskontrolle Sichtenkonzept, auf Sichten, vergabe in Datenbanksystemen, Autorisierung und Authentifikation, Statistische Datenbanken. Datenbankeinsatz: Sichten und Zugriffskontrolle 1 Datenbankeinsatz: Sichten und Zugriffskontrolle 2 Folie aus DWM Hergeleitete Datenelemente Basisdaten werden von außen aktualisiert, keine Berechnung aus anderen Daten in der Datenbank, Hergeleitete Daten aus den Basisdaten hergeleitete Daten, können aus anderen hergeleiteten Daten berechnet sein. Gesamtkosten der Branche Arbeitskosten der Branche Sichten Sichten: virtuelle Relationen bzw. virtuelle Datenbankobjekte in anderen Datenmodellen; englisch: view. Sichten sind externe DB-Schemata folgend der 3-Ebenen-Schemaarchitektur. Gegenteil : Basis-Relationen. Gesamtkosten des Departements Arbeitskosten des Departements Hergeleitete Elemente Projektkosten Arbeitskosten des Projekts Branchen Overhead Materialkosten Aktivitätskosten Basisdaten Updates von außen Datenbankeinsatz: Sichten und Zugriffskontrolle 3 Datenbankeinsatz: Sichten und Zugriffskontrolle 4

2 Definition von Sichten in SQL Beispiel Zugrundeliegende Relation: MGA(Mitarbeiter, Gehalt, Abteilung) create view highincomema as select Mitarbeiter, Gehalt where Gehalt > 20 View dann im Prinzip verwendbar wie normale Relation, z. B.: select * from highincomema where Gehalt < 50 insert into highincomema values ('Klemens', 35000) Tupel in der Sicht existieren nicht wirklich. Stattdessen Rewrite der Query gegen die Sicht. Definition einer Sicht Angegeben werden muß Relationenschema (explizit oder implizit aus Ergebnistyp der Anfrage), Berechnungsvorschrift (Anfrage) für virtuelle Relation. create view SichtName [SchemaDeklaration] as SQLAnfrage [with check option] der Sicht, die nicht sichtbaren Teil der Daten betreffen, werden zurückgewiesen. Datenbankeinsatz: Sichten und Zugriffskontrolle 5 Datenbankeinsatz: Sichten und Zugriffskontrolle 6 Einsatz von Sichten am Beispiel Sichten Vorteile und Nachteile Prüf(Studienfach, Fach, Student, Prüfer, Datum, Note) 1. Fakultät für Informatik sieht nur die Daten der Informatikstudenten. 2. Prüfungsamt sieht alle Daten. 3. Jeder Student darf seine eigenen Daten sehen, aber nicht ändern. 4. Kommission für die Vergabe von Promotionsstipendien darf von Studenten die Durchschnittsnote sehen. 5. Dekan darf statistische Daten über die Absolventen des letzten Jahrgangs lesen. 6. Sekretariate dürfen die Prüfungsdaten der zugehörigen Professoren einsehen. Vorteile: Vereinfachung von Anfragen, Strukturierung der Datenbank, Konzepte werden benamt; logische Datenunabhängigkeit (Sichten stabil bei der Datenbankstruktur), Beschränkung von Zugriffen, Datenschutz. Probleme: Automatische Anfragetransformation, Durchführung von auf Sichten. z Datenbankeinsatz: Sichten und Zugriffskontrolle 7 Datenbankeinsatz: Sichten und Zugriffskontrolle 8

3 Beispielszenario im Relationenmodell MGA(Mitarbeiter, Gehalt, Abteilung) AL(Abteilung, Leiter) MGA speichert Daten über Zugehörigkeit von Mitarbeitern zu Abteilungen und ihr jeweiliges Gehalt. AL gibt für jede Abteilung den Abteilungsleiter an. Projektionssicht (1) MA := π Mitarbeiter, Abteilung (MGA) In SQL mit create view-anweisung: create view MA as select Mitarbeiter, Abteilung Änderungsanweisung für die Sicht MA: insert into MA values ('Zuse', 'Info') Korrespondierende Anweisung auf der Basisrelation MGA: insert into MGA values ('Zuse', null,'info') Datenbankeinsatz: Sichten und Zugriffskontrolle 9 Datenbankeinsatz: Sichten und Zugriffskontrolle 10 Projektionssicht (2) Projektionssicht (3) Problem der Konsistenzerhaltung, falls Gehalt als not null deklariert. Konsistenzerhaltung wäre gegeben, wenn wir irgendeinen Wert als Gehalt einsetzten. Recht starke Annahme unnatürlich. Widerspricht Minimalität. Weiteres Beispiel: Person PersoNr Name Böhm 4711 Böhm Sicht create view PName as select distinct Name from Person Jetzt Änderung von Böhm in Prof. Böhm. Problematisch, wenn mehrere Böhms in DB. Datenbankeinsatz: Sichten und Zugriffskontrolle 11 Datenbankeinsatz: Sichten und Zugriffskontrolle 12

4 Selektionssichten MG := σ Gehalt>20 (π Mitarbeiter, Gehalt (MGA)) create view MG as select Mitarbeiter, Gehalt where Gehalt > 20 Tupelmigration: Ein Tupel MGA('Zuse', 25, 'Info') wird aus der Sicht herausbewegt : update MG set Gehalt = 15 where Mitarbeiter = 'Zuse' Datenbankeinsatz: Sichten und Zugriffskontrolle 13 Kontrolle der Tupelmigration create view MG as select Mitarbeiter, Gehalt where Gehalt > 20 with check option Einfügen von Tupeln in die Sicht, die Gehalt > 20 nicht erfüllen, wird zurückgewiesen, ebenso Updates. Datenbankeinsatz: Sichten und Zugriffskontrolle 14 Verbundsichten (1) MGAL := MGA AL In SQL: create view MGAL as select Mitarbeiter, Gehalt, MGA.Abteilung, Leiter, AL where MGA.Abteilung = AL.Abteilung Änderungsoperationen in der Regel nicht eindeutig übersetzbar: insert into MGAL values ('Turing', 30, 'Info', 'Zuse') Mitarbeiter Gehalt Abteilung Leiter Verbundsichten (2) Änderung wird transformiert zu insert into MGA values ('Turing', 30, 'Info') plus 1. Einfügeanweisung auf AL: insert into AL values ('Info','Zuse') 2. oder alternativ: update AL set Abteilung = 'Info' where Leiter = 'Zuse' Besser bezüglich Minimalitätsforderung. Hat aber Seiteneffekte. (Widerspricht Effektkonformität.) Datenbankeinsatz: Sichten und Zugriffskontrolle 15 Datenbankeinsatz: Sichten und Zugriffskontrolle 16

5 Verbundsichten (3) MGAL := MGA AL insert into MGAL values ('Turing', 30, 'Info', 'Zuse') Änderung wird transformiert zu insert into MGA values ('Turing', 30, 'Info') plus update AL set Abteilung = 'Info' where Leiter = 'Zuse' Warum Seiteneffekte? M G A Buchmann Info A L Info Böhm Pipapo Zuse Verbundsichten (4) MGAL := MGA AL In SQL: create view MGAL as select Mitarbeiter, Gehalt, MGA.Abteilung, Leiter, AL where MGA.Abteilung = AL.Abteilung Es gibt aber auch Änderungsoperationen, die eindeutig übersetzbar sind. Geben Sie Beispiele. in Sicht M G A L Buchmann Info Böhm wird zu Buchmann Info Zuse Datenbankeinsatz: Sichten und Zugriffskontrolle 17 Datenbankeinsatz: Sichten und Zugriffskontrolle 18 Aggregierungssichten create view AS (Abteilung, SummeGehalt) as select Abteilung, sum(gehalt) group by Abteilung Folgende Änderung ist nicht eindeutig umsetzbar: update AS set SummeGehalt = SummeGehalt where Abteilung = 'Info' Kriterien für auf Sichten Effektkonformität: Benutzer sieht Effekt, als wäre die Änderung auf der Sichtrelation direkt ausgeführt worden. Minimalität: Basisdatenbank sollte nur minimal geändert werden, um den erwähnten Effekt zu erhalten. Konsistenzerhaltung: Änderung einer Sicht darf zu keinen Integritätsverletzungen der Basisdatenbank führen. Respektierung des Datenschutzes: Wird die Sicht aus Datenschutzgründen eingeführt, darf der bewußt ausgeblendete Teil der Basisdatenbank von der Sicht nicht betroffen werden. Datenbankeinsatz: Sichten und Zugriffskontrolle 19 Datenbankeinsatz: Sichten und Zugriffskontrolle 20

6 Respektierung des Datenschutzes Illustration Zugrundeliegende Relation: MGA(Mitarbeiter, Gehalt, Abteilung) create view highincomema as select Mitarbeiter, Gehalt where Gehalt > 20 insert into highincomema values ('Klemens', 15) Klassifikation der Problembereiche (1) 1. Verletzung der Schemadefinition, z. B. Einfügen von Nullwerten bei Projektionssichten. 2. Datenschutz: Seiteneffekte auf nicht-sichtbaren Teil der Datenbank vermeiden (Tupelmigration, Selektionssichten). 3. Nicht immer eindeutige Transformation: Auswahlproblem. Datenbankeinsatz: Sichten und Zugriffskontrolle 21 Datenbankeinsatz: Sichten und Zugriffskontrolle 22 Klassifikation der Problembereiche (2) Maßnahme 4. Aggregierungssichten (u. a.): Keine sinnvolle Transformation möglich. 5. Elementare Sichtänderung soll genau einer atomaren Änderung auf Basisrelation entsprechen: 1:1-Beziehung zwischen Sichttupeln und Tupeln der Basisrelation (kein Herausprojizieren von Schlüsseln). Einschränkung der Möglichkeiten, Sichten zu ändern. z Datenbankeinsatz: Sichten und Zugriffskontrolle 23 Datenbankeinsatz: Sichten und Zugriffskontrolle 24

7 Behandlung von Sichten in SQL Aktueller Standard SQL-92: Integritätsverletzende Sichtänderungen nicht erlaubt, datenschutzverletzende Sichtänderungen: Benutzerkontrolle (with check option), Sichten mit nicht-eindeutiger Transformation: Sicht nicht änderbar (SQL-92 restriktiver als notwendig). Datenbankeinsatz: Sichten und Zugriffskontrolle 25 Beispiel Sicht: Bibliothek = proj[nachname,isbn](buch_exemplare JOIN Ausleihe JOIN Personen) Die folgende Änderung ist eindeutig: delete from Bibliothek where Nachname= Böhm and ISBN= 4711 Entsprechende Instanz aus Ausleihe löschen. Löschung der Person wäre nicht effektkonform, weil Person i. a. noch andere Bücher ausgeliehen hat. Datenbankeinsatz: Sichten und Zugriffskontrolle 26 für Sichtänderungen (1) für Sichtänderungen (1) Datenbankeinsatz: Sichten und Zugriffskontrolle 27 Datenbankeinsatz: Sichten und Zugriffskontrolle 28

8 für Sichtänderungen (1) für Sichtänderungen (2) Änderbar nur Selektions- und Projektionssichten (Verbund und Mengenoperationen nicht erlaubt). Was kann bei Mengenoperationen in Sichtdefinition anbrennen? kein distinct in Projektionssichten, um 1:1-Zuordnung von Sichttupeln zu Basistupeln zu erreichen In SQL: select vs. select distinct. Arithmetik und Aggregatfunktionen im select-teil sind verboten. Beispiel: select Name, PersKosten + laufendekosten as Gesamtkosten from Abteilung Genau eine Referenz auf einen Relationsnamen im from-teil erlaubt, d. h. keine Verbundsichten und auch kein Selbstverbund, group by und having verboten Warum? keine Unteranfragen mit Selbstbezug im where-teil erlaubt, d. h. Relationsname im obersten SFW-Block nicht in from-teilen von Unteranfragen verwenden. Datenbankeinsatz: Sichten und Zugriffskontrolle 29 Datenbankeinsatz: Sichten und Zugriffskontrolle 30 Quantoren und Mengenvergleiche Auswertung von Anfragen an Sichten Beispiel aus vorangegangenem Kapitel. select Note from Prüft where Matrikelnummer = 'HRO ' and Note all ( select Note from Prüft where Matrikelnummer = 'HRO ') Äquivalent zu: select max(note) from Prüft where Matrikelnummer = 'HRO ' select: Sichtattribute eventuell umbenennen bzw. durch Berechnungsterm ersetzen, from: Namen der Originalrelationen, konjunktive Verknüpfung der where-klauseln von Sichtdefinition und Anfrage, eventuell Umbenennungen. z Datenbankeinsatz: Sichten und Zugriffskontrolle 31 Datenbankeinsatz: Sichten und Zugriffskontrolle 32

9 Auswertung von Anfragen an Sichten Beispiel Sicht: create view MGAL2 (name, salary, dept, boss) as select Mitarbeiter, Gehalt, MGA.Abteilung, Leiter, AL where MGA.Abteilung = AL.Abteilung and Gehalt > 20 Query: select name, salary L2 where boss = 'Klemens' Wird zu: select Mitarbeiter, Gehalt from MAG, AL where Leiter = 'Klemens' and MGA.Abteilung = AL.Abteilung and Gehalt > 20 Datenbankeinsatz: Sichten und Zugriffskontrolle 33 Probleme bei Aggregierungssichten (1) create view DS (Abteilung, GehaltsSumme) as select Abteilung, sum(gehalt) group by Abteilung Anfrage: Abteilungen mit hohen Gehaltsausgaben. select Abteilung from DS where GehaltsSumme > 500 Nach syntaktischer Transformation: select Abteilung Datenbankeinsatz: Sichten und Zugriffskontrolle 34 Probleme bei Aggregierungssichten (2) Nach syntaktischer Transformation: select Abteilung where sum(gehalt) > 500 group by Abteilung Keine syntaktische korrekte SQL-Anfrage. Korrekt wäre: select Abteilung group by Abteilung having sum(gehalt) > 500 Probleme bei Aggregierungssichten (3) select avg (GehaltsSumme) from DS Anfrage müßte wie folgt transformiert werden: select avg(sum (Gehalt)) group by Abteilung Aber geschachtelte Aggregatfunktionen sind in SQL nicht erlaubt. z Datenbankeinsatz: Sichten und Zugriffskontrolle 35 Datenbankeinsatz: Sichten und Zugriffskontrolle 36

10 vergabe in Datenbanksystemen vergabe in Datenbanksystemen Sichten insbesondere nützlich in Kombination Zugriffsrechten. Bestimmte Nutzer haben nur bestimmte jeweilige Sicht auf den Datenbestand. Ansonsten: Benutzer könnte an den Sichten vorbei auf den Datenbestand zugreifen. Thema im Folgenden: Zugriffsrechte. Zugriffsrechte Aufbau in hier betrachteter Modellierung: (AutorisierungsID, DB-Ausschnitt, Operation) AutorisierungsID ist interne Kennung eines Datenbankbenutzers. Datenbank-Ausschnitte: Relationen und Sichten. DB-Operationen: Lesen, Einfügen, Ändern, Löschen. Datenbankeinsatz: Sichten und Zugriffskontrolle 37 Datenbankeinsatz: Sichten und Zugriffskontrolle 38 Benutzer: db_1 Benutzer: vldke Datenbankeinsatz: Sichten und Zugriffskontrolle 39 Datenbankeinsatz: Sichten und Zugriffskontrolle 40

11 vergabe in SQL (1) grant <> on <Tabelle> to <BenutzerListe> [with grant option] vergabe in SQL (2) Erläuterungen: In <>-Liste: all bzw. Langform all privileges oder Liste aus select, insert, update, delete. Recht für insert beinhaltet nicht select. Hinter on: Relationen- oder Sichtname. Hinter to: Autorisierungsidentifikatoren, auch public, group. Spezielles Recht: Recht auf die Weitergabe von n (with grant option). Datenbankeinsatz: Sichten und Zugriffskontrolle 41 Datenbankeinsatz: Sichten und Zugriffskontrolle 42 Autorisierung für public create view MeineAufträge as select * from AUFTRAG where KName = user; grant select, insert on MeineAufträge to public; Jeder Benutzer kann seine Aufträge sehen und neue Aufträge einfügen, aber nicht löschen. Zurücknahme von n revoke <> on <Tabelle> from <BenutzerListe> [restrict cascade] restrict: Falls Recht bereits an Dritte weitergegeben: Abbruch von revoke. cascade: Rücknahme des Rechts mittels revoke an alle Benutzer propagiert, die es von diesem Benutzer mit grant erhalten haben. Datenbankeinsatz: Sichten und Zugriffskontrolle 43 Datenbankeinsatz: Sichten und Zugriffskontrolle 44

12 Statistische Datenbanken Statistische Datenbanken: Beispiel (1) Einzeleinträge unterliegen Datenschutz, statistische Informationen (aggregierte Werte), Zugriffsüberwachung muß Zugriff auf Daten über Einzeleinträge verhindern, Beispiel: Benutzer X darf Daten über Kontoinhaber sowie statistische Daten wie Kontosummen sehen. Zugrundeliegende Relation: Konto(Name, Ort, Kontostand) Teilnehmer darf nicht auf Attribut Kontostand zugreifen. Anfragen/Sichten mit Aggregatfunktionen sind ihm aber gestattet. Datenbankeinsatz: Sichten und Zugriffskontrolle 45 Datenbankeinsatz: Sichten und Zugriffskontrolle 46 Statistische Datenbanken: Beispiel (2) Statistische Datenbanken: Beispiel (3) select count() from Konto where Ort = 'Teterow' Nur ein Treffer dann Kontoinhaber bestimmen: select Name from Konto where Ort = 'Teterow' Erlaubte Anfrage liefert Einzelergebnis: select sum(kontostand) from Konto where Ort = 'Teterow' Regel deshalb: In Aggregation müssen mindestens n Tupel eingehen. Gleiche Annahmen wie eben, außerdem Aggregation nur über mindestens n Tupel. Person X ist selbst Kontoinhaber, will Kontostand von Y herausfinden. X weiß, daß Y nicht in Magdeburg lebt, hat abgefragt, daß in Magdeburg mehr als n Kontoinhaber leben, daher erlaubt: select sum(kontostand) from Konto where Name = :X or Ort = 'Magdeburg' select sum(kontostand) from Konto where Name = :Y or Ort = 'Magdeburg' Datenbankeinsatz: Sichten und Zugriffskontrolle 47 Datenbankeinsatz: Sichten und Zugriffskontrolle 48

13 Sichten und 3-Ebenen Architektur Warum erlaubt man überhaupt auf Sichten? Externes Schema 1... Externes Schema n Anfragebearbeitung Konzeptuelles Schema Internes Schema Datenvisualisierung Datenbankeinsatz: Sichten und Zugriffskontrolle 49 Datenbankeinsatz: Sichten und Zugriffskontrolle 50 Mögliche Prüfungsfragen, beispielhaft Vor- und Nachteile von Sichten? Welche Anforderungen sollten/müssen bei auf Sichten erfüllt sein? Geben Sie Beispiele für Erfüllung/Nicht-Erfüllung dieser Anforderungen. <Die diversen von Sicht-Änderungsmöglichkeiten in SQL-92 erklären können.> Warum sind Aggregationsfunktionen problematisch hinsichtlich Zugriffsüberwachung? Datenbankeinsatz: Sichten und Zugriffskontrolle 51

Sichten II. Definition einer Sicht. Sichten. Drei-Ebenen-Schema-Architektur. Vorteile Vereinfachung von Anfragen Strukturierung der Datenbank

Sichten II. Definition einer Sicht. Sichten. Drei-Ebenen-Schema-Architektur. Vorteile Vereinfachung von Anfragen Strukturierung der Datenbank Vorteile Vereinfachung von Anfragen Strukturierung der Datenbank Sichten II logische Datenunabhängigkeit (Sichten stabil bei Änderungen der Datenbankstruktur) Beschränkung von Zugriffen (Datenschutz) Definition

Mehr

Vorlesung Datenbankmanagementsysteme

Vorlesung Datenbankmanagementsysteme Vorlesung Datenbankmanagementsysteme Trigger, Sichten und Zugriffskontrolle (auf Basis von Oracle) Vorlesung Datenbankmanagementsysteme Trigger, Sichten und Zugriffskontrolle M. Lange, S. Weise Folie #10-1

Mehr

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo.

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo. Mengenvergleiche: Mehr Möglichkeiten als der in-operator bietet der θany und der θall-operator, also der Vergleich mit irgendeinem oder jedem Tupel der Unteranfrage. Alle Konten außer das, mit dem größten

Mehr

Kapitel 3: Datenbanksysteme

Kapitel 3: Datenbanksysteme LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2015 Kapitel 3: Datenbanksysteme Vorlesung:

Mehr

6. Sichten, Integrität und Zugriffskontrolle. Vorlesung "Informa=onssysteme" Sommersemester 2015

6. Sichten, Integrität und Zugriffskontrolle. Vorlesung Informa=onssysteme Sommersemester 2015 6. Sichten, Integrität und Zugriffskontrolle Vorlesung "Informa=onssysteme" Sommersemester 2015 Überblick Sichten Integritätsbedingungen Zugriffsrechte SQL- Schema und SQL- Katalog Das Informa=onsschema

Mehr

Kapitel 3: Datenbanksysteme

Kapitel 3: Datenbanksysteme LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2008 Kapitel 3: Datenbanksysteme Vorlesung:

Mehr

Kapitel 5: Mehr zu SQL

Kapitel 5: Mehr zu SQL Ludwig Maximilians Universität München Institut für Informatik Lehr- und Forschungseinheit für tenbanksysteme Skript zur Vorlesung tenbanks Wintersemester 2009/2010 itel 5: Meh Vorlesung: PD Dr. Peer Kröger,

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

4.14.3 Bedingungen über Werte. 4.14.4 Statische Integrität. CHECK-Klausel

4.14.3 Bedingungen über Werte. 4.14.4 Statische Integrität. CHECK-Klausel 4.14.3 Bedingungen über Werte 4.14.4 Statische Integrität Zu jeder Tabelle werden typischerweise ein Primärschlüssel und möglicherweise weitere Schlüssel festgelegt (UNIQUE-Klausel). In jeder Instanz zu

Mehr

Unterabfragen (Subqueries)

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

Mehr

SQL: Weitere Funktionen

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

Mehr

ARBEITSBLATT ZUR SQL-BEFEHLEN

ARBEITSBLATT ZUR SQL-BEFEHLEN Gegeben ist die folgende Datenbank: ARBEITSBLATT ZUR SQL-BEFEHLEN In einer Firma gibt es Mitarbeiter. Jeder Mitarbeiter ist eindeutig einer Abteilung zugeordnet. Manche Mitarbeiter sind an einem Projekt

Mehr

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 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

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

3.17 Zugriffskontrolle

3.17 Zugriffskontrolle 3. Der SQL-Standard 3.17. Zugriffskontrolle Seite 1 3.17 Zugriffskontrolle Datenbanken enthalten häufig vertrauliche Informationen, die nicht jedem Anwender zur Verfügung stehen dürfen. Außerdem wird man

Mehr

5.3 Datenänderung/-zugriff mit SQL (DML)

5.3 Datenänderung/-zugriff mit SQL (DML) 5.3 Datenänderung/-zugriff mit SQL (DML) Hinweis: - DML-Anweisungen sind mengenorientiert - Mit einer Anweisungen kann mehr als ein Tupel eingefügt, geändert, gelöscht oder gelesen werden Benutzungs- und

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

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

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

Datenbanksprache SQL. Datenbanksprache SQL. 5.1 Anfragesprache SQL-DQL. from-klausel SS 2005

Datenbanksprache SQL. Datenbanksprache SQL. 5.1 Anfragesprache SQL-DQL. from-klausel SS 2005 Webbasierte Informationssysteme SS 2005 8. SQL-Vertiefung Prof. Dr. Stefan Böttcher Universität Paderborn Datenbanksprache SQL Structured Query Language (SQL) - am IBM San Jose Research Laboratory entwickelt

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

Datenbanken. Datenintegrität + Datenschutz. Tobias Galliat. Sommersemester 2012

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

Mehr

Web-Technologien. Prof. Dr. rer. nat. Nane Kratzke SQL. Praktische Informatik und betriebliche Informationssysteme

Web-Technologien. Prof. Dr. rer. nat. Nane Kratzke SQL. Praktische Informatik und betriebliche Informationssysteme Handout zur Unit Web-Technologien SQL 1 Prof. Dr. rer. nat. Nane Kratzke Praktische Informatik und betriebliche Informationssysteme Raum: 17-0.10 Tel.: 0451 300 5549 Email: nane.kratzke@fh-luebeck.de (Praktische

Mehr

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

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

Mehr

SQL SQL. SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R. Grundlagen der Programmierung 2

SQL SQL. SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R. Grundlagen der Programmierung 2 SQL SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R IV-1 Beispielrelationen Filiale ( Name Leiter Stadt Einlagen ) Konto ( KontoNr KundenNr FilialName Saldo ) Kredit

Mehr

Vorlesung Datenbankmanagementsysteme

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.

Mehr

Einführung relationale Datenbanken. Themenblock: Erstellung eines Cube. Schlüssel. Relationenmodell Relationenname Attribut. Problem.

Einführung relationale Datenbanken. Themenblock: Erstellung eines Cube. Schlüssel. Relationenmodell Relationenname Attribut. Problem. Themenblock: Erstellung eines Cube Einführung relationale Datenbanken Problem Verwaltung großer Mengen von Daten Praktikum: Data Warehousing und Data Mining Idee Speicherung der Daten in Form von Tabellen

Mehr

Sicherheitsaspekte. Szenarien. Angriffsarten. Discretionary Access Control. Sicherheit im DBMS. Identifikation und Authentisierung

Sicherheitsaspekte. Szenarien. Angriffsarten. Discretionary Access Control. Sicherheit im DBMS. Identifikation und Authentisierung Sicherheitsaspekte Sicherheit im DBMS Identifikation und Authentisierun Autorisierun und Zuriffskontrolle Auditin Szenarien Literaturdatenbank in der Hochschule: erines Sicherheitsbedürfnis ERP-Datenbank

Mehr

Themenblock: Erstellung eines Cube

Themenblock: Erstellung eines Cube Themenblock: Erstellung eines Cube Praktikum: Data Warehousing und Data Mining Einführung relationale Datenbanken Problem Verwaltung großer Mengen von Daten Idee Speicherung der Daten in Form von Tabellen

Mehr

Teil 12: Sichten (Views, Virtuelle Tabellen)

Teil 12: Sichten (Views, Virtuelle Tabellen) 12. Sichten (Views) 12-1 Teil 12: Sichten (Views, Virtuelle Tabellen) Literatur: Elmasri/Navathe:Fundamentals of Database Systems, 3rd Edition, 1999. Section. 8.5, Views (Virtual Tables) in SQL Silberschatz/Korth/Sudarshan:

Mehr

6. Datendefinition in SQL

6. Datendefinition in SQL 6. Datendefinition in SQL Datendefinition Schema, Datentypen, Domains Erzeugen von Tabellen (CREATE TABLE) Schemaevolution: Ändern/Löschen von Tabellen Sichtkonzept (Views) CREATE VIEW / DROP VIEW Problemfälle

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

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

5. Datendefinition in SQL

5. Datendefinition in SQL Datendefinition 5. Datendefinition in SQL Schema, Datentypen, Domains Erzeugen von Tabellen (CREATE TABLE) Schemaevolution: Ändern/Löschen von Tabellen Sichtkonzept (Views) CREATE VIEW / DROP VIEW Problemfälle

Mehr

Vorlesung Informationssysteme

Vorlesung Informationssysteme Saarbrücken, 18.06.2015 Information Systems Group Vorlesung Informationssysteme Vertiefung Kapitel 7: Zugriffskontrolle Erik Buchmann (buchmann@cs.uni-saarland.de) Foto: M. Strauch Aus den Videos wissen

Mehr

SELECT dient dazu, aus einer vorhandenen Datenbank bestimmte Spalten und Zeilen auszugeben es handelt sich also um eine Auswahlabfrage.

SELECT dient dazu, aus einer vorhandenen Datenbank bestimmte Spalten und Zeilen auszugeben es handelt sich also um eine Auswahlabfrage. SELECT-FROM SELECT dient dazu, aus einer vorhandenen Datenbank bestimmte Spalten und Zeilen auszugeben es handelt sich also um eine Auswahlabfrage. Inhaltsverzeichnis 1 Der grundlegende Aufbau 2 Doppelte

Mehr

Views in SQL. 2 Anlegen und Verwenden von Views 2

Views in SQL. 2 Anlegen und Verwenden von Views 2 Views in SQL Holger Jakobs bibjah@bg.bib.de, holger@jakobs.com 2010-07-15 Inhaltsverzeichnis 1 Wozu dienen Views? 1 2 Anlegen und Verwenden von Views 2 3 Schreibfähigkeit von Views 3 3.1 Views schreibfähig

Mehr

Datenbanksysteme I. Klausur zum Praktikum. Mehrere Professoren prüfen mit genau einem Beisitzer genau einen Studenten.

Datenbanksysteme I. Klausur zum Praktikum. Mehrere Professoren prüfen mit genau einem Beisitzer genau einen Studenten. Lehrstuhl für Datenbanken und Informationssysteme Wintersemester 1999/2000 Universität Augsburg, Institut für Informatik 25. Februar 2000 Prof. Dr. Werner Kießling A. Leubner, M. Wagner Datenbanksysteme

Mehr

Benutzerverwaltung, Sichten und Datenintegrität

Benutzerverwaltung, Sichten und Datenintegrität Benutzerverwaltung, Sichten und Einige Vergleiche zwischen MySQL, Oracle und PostgreSQL OStR Michael Dienert, StR Ahmad Nessar Nazar 29. November und 30. November 2011 1 von 113 OStR Michael Dienert, StR

Mehr

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 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

Mehr

DB2 SQL, der Systemkatalog & Aktive Datenbanken

DB2 SQL, der Systemkatalog & Aktive Datenbanken DB2 SQL, der Systemkatalog & Aktive Datenbanken Lehr- und Forschungseinheit Datenbanken und Informationssysteme 1 Ziele Auf DB2 Datenbanken zugreifen DB2 Datenbanken benutzen Abfragen ausführen Den Systemkatalog

Mehr

Integritätsbedingungen / Normalformen- Beispiel: Kontoführung

Integritätsbedingungen / Normalformen- Beispiel: Kontoführung Technische Universität München WS 2003/04, Fakultät für Informatik Datenbanksysteme I Prof. R. Bayer, Ph.D. Lösungsblatt 8 Dipl.-Inform. Michael Bauer Dr. Gabi Höfling 12.01. 2004 Integritätsbedingungen

Mehr

SQL: statische Integrität

SQL: statische Integrität SQL: statische Integrität.1 SQL: statische Integrität Im allgemeinen sind nur solche Instanzen einer Datenbank erlaubt, deren Relationen die der Datenbank bekannten Integritätsbedingungen erfüllen. Integritätsbedingungen

Mehr

Datenbanken Unit 4: Das Relationale Modell & Datenintegrität

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

Mehr

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

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

Bibliografische Informationen digitalisiert durch http://d-nb.info/995021198

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

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

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

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

Mehr

Structured Query Language (SQL) als standardisierte Anfragesprache für relationale Datenbanken

Structured Query Language (SQL) als standardisierte Anfragesprache für relationale Datenbanken Rückblick Structured Query Language (SQL) als standardisierte Anfragesprache für relationale Datenbanken Data Definition Language zur Schemadefinition (z.b. CREATE TABLE zum Anlegen von Tabellen) Data

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

Vorlesung Datenbanken

Vorlesung Datenbanken Vorlesung Datenbanken Kapitel 6 Institut für Informatik 2 Überblick Assertions Trigger und Regeln Zugriffsrechte 3 Zugriffsrechte und Integritätsbedingungen Zugriffsrechte gewährleisten, dass nur autorisierte

Mehr

Vorlesung Datenbankmanagementsysteme

Vorlesung Datenbankmanagementsysteme Vorlesung Datenbankmanagementsysteme Programmiersprachenanbindung (auf Basis von Oracle) Vorlesung Datenbankmanagementsysteme Programmiersprachenanbindung M. Lange, S. Weise Folie #11-1 Themen der Vorlesung

Mehr

Informations- und Wissensmanagement

Informations- und Wissensmanagement Übung zur Vorlesung Informations- und Wissensmanagement (Übung 1) Frank Eichinger IPD, Lehrstuhl für Systeme der Informationsverwaltung Zur Person Beruflicher Hintergrund Studium an der TU Braunschweig

Mehr

Datenbank- und Informationssysteme - Übungsblatt 6 -

Datenbank- und Informationssysteme - Übungsblatt 6 - Datenbank- und Informationssysteme - Übungsblatt 6 - Prof. Dr. Klaus Küspert Dipl.-Inf. Andreas Göbel Friedrich-Schiller-Universität Jena Lehrstuhl für Datenbanken und Informationssysteme 0) Vorbereitung

Mehr

Konstante Relationen

Konstante Relationen Konstante Relationen values-syntax erzeugt konstante Relation values ( [, Konstante] * )[, ( [, Konstante] * )]* Beispiel values (1, eins ), (2, zwei ), (3, drei ); Resultat ist eine

Mehr

SQL. Abfragesprache Datenmanipulation - DML

SQL. Abfragesprache Datenmanipulation - DML SQL Abfragesprache Datenmanipulation - DML SQL DML-Operationen DML = Data Manipulation Language Sprache zur Veränderung der Daten Operationen Daten selektieren Daten einfügen Daten ändern Daten löschen

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. 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/

Mehr

Konzeptueller Entwurf

Konzeptueller Entwurf Konzeptueller Entwurf UML Klassendiagrame UML Assoziationen Entspricht Beziehungen Optional: Assoziationsnamen Leserichtung ( oder ), sonst bidirektional Rollennamen Kardinalitätsrestriktionen UML Kardinalitätsrestriktionen

Mehr

Datenbanken SQL. Insert, Update, Delete, Drop. Krebs

Datenbanken SQL. Insert, Update, Delete, Drop. Krebs Datenbanken SQL Insert, Update, Delete, Drop Krebs Inhalt 1. Datensätze einfügen: INSERT 2. Datensätze verändern: UPDATE 3. Datensätze löschen: DROP vs. DELETE Beispiel Datenbank Schule Klasse P_Klasse

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

Objektrelationale und erweiterbare Datenbanksysteme

Objektrelationale und erweiterbare Datenbanksysteme Objektrelationale und erweiterbare Datenbanksysteme Erweiterbarkeit SQL:1999 (Objekt-relationale Modellierung) In der Vorlesung werden nur die Folien 1-12 behandelt. Kapitel 14 1 Konzepte objekt-relationaler

Mehr

6 Sicherheitskonzepte in Oracle

6 Sicherheitskonzepte in Oracle 6 Sicherheitskonzepte in Oracle Datenbanksysteme sind für viele Benutzer(-gruppen) mit unterschiedlichen Nutzungswünschen geschaffen, aber nicht alle Daten des Informationssystems sind für alle Benutzer

Mehr

JOIN-Strategien eines Optimizers (1)

JOIN-Strategien eines Optimizers (1) JOIN-Strategien eines Optimizers (1) Die drei unten aufgeführten Join-Strategien *) sollen exemplarisch anhand der folgenden SQL-Abfrage erklärt werden: select * from B, C where c.x=b.w and c.z=17; Verschachtelter

Mehr

Aggregatfunktionen in SQL

Aggregatfunktionen in SQL Aggregatfunktionen in SQL Michael Dienert 14. April 2008 1 Definition von Aggregatfunktionen Ihren Namen haben die Aggregatfunktionen vom englischen Verb to aggregate, was auf deutsch anhäufen, vereinigen,

Mehr

Grober Überblick zu Datendefinitionsanweisungen in SQL

Grober Überblick zu Datendefinitionsanweisungen in SQL 5.2 Datendefinition mit SQL (DDL) Grober Überblick zu Datendefinitionsanweisungen in SQL Konzeptuelle Ebene - CREATE TABLE, ALTER TABLE, DROP TABLE - CREATE DOMAIN, ALTER DOMAIN, DROP DOMAIN -... Interne

Mehr

SQL. Datenmanipulation. Datenmanipulationssprache. Ein neues Tupel hinzufügen. Das INSERT Statement

SQL. Datenmanipulation. Datenmanipulationssprache. Ein neues Tupel hinzufügen. Das INSERT Statement SQL Datenmanipulation Datenmanipulationssprache Ein DML Statement wird ausgeführt wenn: neue Tupel eingefügt werden existierende Tupel geändert werden existierende Tupel aus der Tabelle gelöscht werden

Mehr

Relationale Abfragesprachen

Relationale Abfragesprachen Relationale Abfragesprachen Relationale Abfragesprachen VO Datenmodellierung Katrin Seyr Institut für Informationssysteme Technische Universität Wien Katrin Seyr Seite 1 Relationale Abfragesprachen 1 Überblick

Mehr

Datenbanken. SQL Einführung und SQL-DDL

Datenbanken. SQL Einführung und SQL-DDL Datenbanken SQL Einführung und SQL-DDL SQL Überblick ANSI/ISO standardisierte Datendefinitions (DDL)- Datenmanipulations (DML)- Anfrage (Query)-Sprache SQL-92 weitgehend von den meisten DB- Herstellern

Mehr

DBSP. Vorlesung. Prof. Dr. rer. nat. Nane Kratzke. Unit. Praktische Informatik und betriebliche Informationssysteme

DBSP. Vorlesung. Prof. Dr. rer. nat. Nane Kratzke. Unit. Praktische Informatik und betriebliche Informationssysteme Handout zur Vorlesung Vorlesung DBSP Unit Datenbanken SQL 1 Prof. Dr. rer. nat. Nane Kratzke Praktische Informatik und betriebliche Informationssysteme Raum: 17-0.10 Tel.: 0451 300 5549 Email: kratzke@fh-luebeck.de

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

9. Einführung in Datenbanken

9. Einführung in Datenbanken 9. Einführung in Datenbanken 9.1 Motivation und einführendes Beispiel 9.2 Modellierungskonzepte der realen Welt 9.3 Anfragesprachen (Query Languages) 9.1 Motivation und einführendes Beispiel Datenbanken

Mehr

Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung

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

Mehr

Relationentheorie grundlegende Elemente

Relationentheorie grundlegende Elemente Relationentheorie grundlegende Elemente Symbol Bedeutung Entsprechung in SQL π AAAA Projektion SELECT σ F Selektion WHERE ρ Umbenennung RENAME; AS Natural Join NATURAL JOIN (nicht in MS SQL Server verwendbar)

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

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

Mehr

Inhalt. 1 SQL: Einleitung. 2 Datendefinitionssprache (DDL) 4 Geschachtelte Anfragen (Subqueries) 5 Datenmanipulationssprache (DML) 6 Sichten (Views)

Inhalt. 1 SQL: Einleitung. 2 Datendefinitionssprache (DDL) 4 Geschachtelte Anfragen (Subqueries) 5 Datenmanipulationssprache (DML) 6 Sichten (Views) Inhalt Datenbanken 1 SQL Nikolaus Augsten nikolaus.augsten@sbg.ac.at FB Computerwissenschaften Universität Salzburg 1 SQL: Einleitung 2 Datendefinitionssprache (DDL) 3 4 Geschachtelte Anfragen (Subqueries)

Mehr

Datenbanken 1 SQL. Nikolaus Augsten. nikolaus.augsten@sbg.ac.at FB Computerwissenschaften Universität Salzburg. http://dbresearch.uni-salzburg.

Datenbanken 1 SQL. Nikolaus Augsten. nikolaus.augsten@sbg.ac.at FB Computerwissenschaften Universität Salzburg. http://dbresearch.uni-salzburg. Datenbanken 1 SQL Nikolaus Augsten nikolaus.augsten@sbg.ac.at FB Computerwissenschaften Universität Salzburg http://dbresearch.uni-salzburg.at Sommersemester 2015 Version: 14. April 2015 Augsten (Univ.

Mehr

Einteilung von Datenbanken

Einteilung von Datenbanken Datenbanksysteme (c) A.Kaiser; WU-Wien 1 Einteilung von Datenbanken 1. formatierte Datenbanken 2. unformatierte Datenbanken Information Retrieval Systeme 2 Wozu Datenbanken? Speicherung und Verwaltung

Mehr

SQL. strukturierte Datenbankabfragesprache eine Datenbanksprache zur. Structured Query Language:

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

Mehr

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004)

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

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

Teil III. Relationale Datenbanken Daten als Tabellen

Teil III. Relationale Datenbanken Daten als Tabellen Teil III Relationale Datenbanken Daten als Tabellen Relationale Datenbanken Daten als Tabellen 1 Relationen für tabellarische Daten 2 SQL-Datendefinition 3 Grundoperationen: Die Relationenalgebra 4 SQL

Mehr

Einführung in die Spezialisierungsrichtungen

Einführung in die Spezialisierungsrichtungen Einführung in die Spezialisierungsrichtungen SQL Dr. Matthias Baumgart 23. November 2012 Einführung Logische Datenbankorganisation Die logische Datenbankorganisation erfolgt in drei Schritten: 1 Aufstellen

Mehr

Andreas Heuer Gunter Saake Kai-Uwe Sattler. Datenbanken. kompakt

Andreas Heuer Gunter Saake Kai-Uwe Sattler. Datenbanken. kompakt Andreas Heuer Gunter Saake Kai-Uwe Sattler Datenbanken kompakt Inhaltsverzeichnis Vorwort v 1 Was sind Datenbanken 1 1.1 Warum Datenbanken 1 1.2 Datenbanksysteme 4 1.3 Anforderungen: Die Codd'schen Regeln

Mehr

mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007

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

Mehr

Teil II Relationale Datenbanken Daten als Tabellen

Teil II Relationale Datenbanken Daten als Tabellen Teil II Relationale Datenbanken Daten als Tabellen Relationale Datenbanken Daten als Tabellen 1 Relationen für tabellarische Daten 2 SQL-Datendefinition 3 Grundoperationen: Die Relationenalgebra 4 SQL

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

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

Einleitung Projektion Selektion Join Mengenop. Vollst.keit. Einleitung Projektion. Selektion Join. Vollst.keit. Einleitung Projektion Selektion Join

Einleitung Projektion Selektion Join Mengenop. Vollst.keit. Einleitung Projektion. Selektion Join. Vollst.keit. Einleitung Projektion Selektion Join Parsen der Anfrage (SQL) Transformation in eine Standardform (Relationenalgebra) Logische Optimierung Transformation in alternative Zugriffspläne, Physische Optimierung Ausführung des gewählten Zugriffsplans

Mehr

DBMS-Übungsserver. Seite 1 von 13

DBMS-Übungsserver. Seite 1 von 13 Aufgabe Nr. 1, BETWEEN-Prädikat Welche Fahrten finden von Heiligabend bis Neujahr 2001/2002 einschließlich statt? Rückgabe-Typ sei (fahrtnr). SELECT fahrtnr FROM Fahrt WHERE tag BETWEEN '2001-12-24' AND

Mehr

Kapitel 5: Der SQL-Standard

Kapitel 5: Der SQL-Standard Kapitel 5: Der SQL-Standard 5. Der SQL-Standard 5. Ein Anfrageausdruck in SQL besteht aus einer SELECT-Klausel, gefolgt von einer FROM-Klausel, gefolgt von einer WHERE-Klausel. Grundform eines SFW-Ausdruck

Mehr

Datenbankadministration

Datenbankadministration Datenbankadministration 4. Zugriffskontrolle AG DBIS University of Kaiserslautern, Germany Karsten Schmidt kschmidt@informatik.uni-kl.de (Vorlage TU-Dresden) Wintersemester 2008/2009 Einführung Architektur

Mehr

Die Grundbegriffe Die Daten Die Informationen

Die Grundbegriffe Die Daten Die Informationen Die Grundbegriffe Die Daten sind diejenigen Elemente, die vom Computer verarbeitet werden. Die Informationen sind Wissenselemente, welche durch die Analyse von Daten erhalten werden können. Die Daten haben

Mehr

Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009

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

Mehr

Vorlesung Datenbankmanagementsysteme

Vorlesung Datenbankmanagementsysteme Vorlesung Datenbankmanagementsysteme SQL als Anfrage- und Datenmanipulationssprache (auf Basis von Oracle) Vorlesung Datenbankmanagementsysteme SQL als DQL und DML M. Lange, S. Weise Folie #8-1 Themen

Mehr

Musterlösung zur Finalklausur Datenbanksysteme am

Musterlösung zur Finalklausur Datenbanksysteme am Musterlösung zur Finalklausur Datenbanksysteme am 5.2.2003 Aufgabe 1 a) Anfragen: (20 Punkte) i.suchen Sie die Stücke (Titel), die Komponist Lennon erstellt hat und von der Musikfirma EMI veröffentlicht

Mehr

Informatik für Ökonomen II: Datenintegrität. Prof. Dr. Carl-Christian Kanne

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

Mehr

Modifikation der Datenbank

Modifikation der Datenbank Modifikation der Datenbank Löschen Einfügen Änderungen Änderungen von Sichten 71 Löschen Wir haben bereits gesehen, dass wir den gesamten Inhalt einer Tabelle r löschen können durch das Kommando: delete

Mehr

11 Rechte und Views Views

11 Rechte und Views Views Anfrageergebnisse als Tabellen Rechte zur Tabellennutzung Oft enthalten Datenbanken sehr komplexe Tabellen und Informationen, die nicht jedem Nutzer zugänglich sein sollen. In diesem Kapitel lernen Sie,

Mehr