Wiederholung VU Datenmodellierung

Ähnliche Dokumente
Referentielle Integrität

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

Datenintegrität. Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen

Datenintegrität. Arten von Integritätsbedingungen. Statische Integritätsbedingungen. Referentielle Integrität. Integritätsbedingungen in SQL.

Referentielle Integrität

Kapitel 5 Dr. Jérôme Kunegis. SQL: Grundlagen. WeST Institut für Web Science & Technologien

Datenintegrität. Bisherige Integritätsbedingungen

ISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski.

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

VO Datenmodellierung. Katrin Seyr

Datenbanksysteme SS 2007

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten

Termin 12: Datenbanksysteme (2) - Einführung in SQL

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software

ACCESS SQL ACCESS SQL

Datenbanken. Einführung. Tobias Galliat. Sommersemester 2012

MySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben.

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

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

Bibliografische Informationen digitalisiert durch

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

SQL für Trolle. mag.e. Dienstag, Qt-Seminar

Marcus Throll, Oliver Bartosch. Einstieg in SQL. Verstehen, einsetzen, nachschlagen. Galileo Press

SQL structured query language

Objektorientierte Datenbanken

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

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

Objektrelationale und erweiterbare Datenbanksysteme

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

Datenbanken I - Einführung

SQL-Vertiefung. VU Datenbanksysteme. Reinhard Pichler

SQL. Abfragesprache Datenmanipulation - DML

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

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

Entwicklungsumgebung für die Laborübung

Carl-Christian Kanne. Einführung in Datenbanken p.1/513

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

Inhalt. Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle. Daten und Tabellen - ein Beispiel. Daten und Tabellen - Normalisierung

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

Einführung in SQL. 1. Grundlagen SQL. Structured Query Language. Viele Dialekte. Unterteilung: i. DDL (Data Definition Language)

Vorlesung Informatik II

Sructred Query Language

Einführung in Datenbanksysteme. Donald Kossmann Institut für Informationssysteme ETH Zürich

Aufgabensammlung SQL SW4 1. Einfache Anfragen

Vorlesung Datenbankmanagementsysteme

U 8 SQL. = Structured Query Language (heute auch Standard Query Language) ALLGEMEIN:

Herbstsemester Datenbanken mit Übungen Kapitel 4: SQL. H. Schuldt. Inhalt

Konstante Relationen

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

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

Datenbank- und Informationssysteme. Lösungsvorschläge zu Übungsblatt 2. Sommersemester CREATE DOMAIN KennzeichenDomain AS VARCHAR(9);

Einführung. Kapitel 1 2 / 508

Datenbanken. Lernziele. Inhalt. Organisatorisches. Datenbank und Datenbanksystem. 1. Grundlagen Datenbanken. Wie entwerfe ich eine Datenbank?

SQL-Befehlsliste. Vereinbarung über die Schreibweise

Übung Datenbanken in der Praxis. Datenmodifikation mit SQL

Objektrelationale Datenbanken

Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5

Themenblock: Erstellung eines Cube

Es wird empfohlen folgendes Material anzusehen:

Datenbanksysteme Kapitel: SQL Data Definition Language

IV. Datenbankmanagement

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

Die SQL-Syntax für den Befehl CREATE TABLE sieht folgendermassen aus:

Datenbanksysteme (2) Einführung in SQL

Inhaltsverzeichnis. jetzt lerne ich

Architektur eines DBMS Logische Optimierung

DBS ::: SERIE 5. Join Right Semi- Join Left Semi-Join Projektion Selektion Fremdschlüssel. Kreuzprodukt

PHP & MySQL. MySQL Einführung. Zellescher Weg 12 Willers-Bau A109 Tel Michael Kluge (Michael.Kluge@tu-dresden.

Datenbanken in der Praxis 6. Integrität, DBS-Architektur, Sichten

SQL-DDL und SQL-Anfragen. CREATE TABLE Kategorie (Bezeichnung VARCHAR(15) NOT NULL PRIMARY KEY, Klassifikationskriterium VARCHAR(100) NOT NULL )

4.1 SQL. Wichtige skalare Datentypen

(Von der Nähe zur Distanz zum User geordnet)

SQL und MySQL. Kristian Köhntopp

Datenbanken 1 SQL. Nikolaus Augsten. nikolaus.augsten@sbg.ac.at FB Computerwissenschaften Universität Salzburg.

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

Lösungen der Übungsaufgaben von Kapitel 10

Kapitel 3: Datenbanksysteme

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

Datenadminstrator, Datenbankdesigner, Systemanalytiker (für die logische Sicht zuständig)

Uni Duisburg-Essen Fachgebiet Informationssysteme Prof. Dr. N. Fuhr

SQL. Fortgeschrittene Konzepte Auszug

SQL-Anweisungen. SELECT (SQL Data Query Language)

Taschenbuch der Wirtschaftsinformatik und Wirtschaftsmathematik

2. Übungsblatt 3.0 VU Datenmodellierung

Views in SQL. 2 Anlegen und Verwenden von Views 2

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

OM Datenbanken. OM Datenbanken. 8.1 Was ist ein Datenbanksystem? Motivation

Datenmanipulation in SQL. Select Anweisung

SQL. Was ist SQL? SQL- Standards Grundregeln Die DDL Datenbanken erstellen Tabellen erstellen und ändern Spalten definieren Schlüssel definieren - 2 -

Microsoft Access 2010 SQL nutzen

Transkript:

Wiederholung VU Datenmodellierung VU Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester 2016/17

Kurzer Rückblick und Ausblick Einführung: (relationale) DB-Management Systeme Datenbankentwurf, ER-Modell Relationales Datenmodell Datenintegrität Relationale Entwurfstheorie

Motivation für den Einsatz eines DBMS Typische Probleme bei Informationsverarbeitung ohne DBMS: Redundanz und Inkonsistenz Beschränkte Zugriffsmöglichkeiten Probleme beim Mehrbenutzerbetrieb Verlust von Daten Integritätsverletzung Sicherheitsprobleme Hohe Entwicklungskosten für Anwendungsprogramme

Die Abstraktionsebenen eines Datenbanksystems Sicht 1 Sicht 2... Sicht n Logische Ebene Physische Ebene Datenunabhängigkeit: physische Datenunabhängigkeit logische Datenunabhängigkeit

ER Diagram Uni Studenten Vorlesungen Professoren Assistenten

ER Diagram Uni MatrNr Studenten Vorlesungen VorlNr Semester SWS Titel Rang PersNr Professoren Raum Assistenten PersNr Fachgebiet

ER Diagram Uni MatrNr Studenten hören Vorlesungen VorlNr Semester SWS prüfen lesen Titel Rang PersNr Professoren Raum Assistenten arbeitenfür PersNr Fachgebiet

ER Diagram Uni voraussetzen MatrNr Vorgänger Nachfolger Studenten hören Vorlesungen VorlNr Semester SWS prüfen lesen Titel Rang PersNr Professoren Raum Assistenten arbeitenfür PersNr Fachgebiet

ER Diagram Uni voraussetzen MatrNr Vorgänger Nachfolger Studenten hören Vorlesungen VorlNr Semester SWS Note prüfen lesen Titel Rang PersNr Professoren Raum Assistenten arbeitenfür PersNr Fachgebiet

ER Diagram Uni voraussetzen MatrNr Studenten N hören M Vorgänger N Nachfolger M Vorlesungen VorlNr Semester N M N SWS Note prüfen lesen Titel 1 Rang PersNr Assistenten N 1 arbeitenfür Professoren 1 Raum PersNr Fachgebiet

Relationales Datenmodell Idee: Speicherung der Information ausschließlich in Tabellen (d.h. in Relationen) Schreibweise der Tabellen: Angabe des Tabellennamen, der Spaltennamen, der Datentypen und des Primärschlüssels Beispiel Studenten: {[MatrNr: integer, : string, Semester: integer]} Studenten MatrNr Semester 24002 Xenokrates 18 25403 Jonas 12 26120 Fichte 10 29120 Theophrastos 2 29555 Feuerbach 2

Relationale Anfragesprachen Formale Grundlagen: Relationale Algebra: Operationen auf Mengen Relationaler Tupelkalkül: Logische Formeln, Variablen stehen für Tupel, d.h.: ganze Zeile einer Tabelle Relationaler Domänenkalkül: Logische Formeln, Variablen stehen für Wert aus Domäne, d.h.: einzelner Eintrag in Tabelle Wichtigste Anfragesprache in der Praxis: SQL

SQL DDL (Datendefinitionssprache): Anlegen einer Tabelle, einer View, eines Triggers, etc. Beispiel CREATE TABLE Professoren ( PersNr INTEGER NOT NULL, VARCHAR(30) NOT NULL, Rang CHARACTER( 2 ) ) DML (Datenmanipulationssprache): Einfügen, ändern, löschen Beispiel INSERT INTO Studenten VALUES (28121, Archimedes, 2) Anfragesprache (Query)

SQL Anfragen Einfache Anfragen auf einer Tabelle Beispiel SELECT PersNr, FROM Professoren WHERE Rang = C4 Anfragen mit Verknüpfungen mehrerer Tabellen Beispiel SELECT s., v. T i t e l FROM Studenten s, hoeren h, Vorlesungen v WHERE s. MatrNr = h. MatrNr AND h. VorlNr = v. VorlNr

Weitere Möglichkeiten in SQL Eliminierung von Duplikaten: SELECT DISTINCT Sortierung: ORDER BY, ASC, DESC Gruppierung: GROUP BY, HAVING Aggregatfunktionen: COUNT, AVG, SUM, MIN, MAX Mengenoperationen: UNION, INTERSECT, EXCEPT, IN Quantoren: operator { ALL ANY SOME } mit operator { =, <>, <, <=, >, >= }, EXISTS, NOT EXISTS Behandlung von NULL-Werten: IS NULL, IS NOT NULL Geschachtelte Anfragen: SELECT... (SELECT... ) Joins: NATURAL JOIN, INNER JOIN, { LEFT RIGHT FULL } OUTER JOIN

Datenintegrität in SQL Kandidatenschlüssel: UNIQUE Primärschlüssel: PRIMARY KEY Fremdschlüssel (referentielle Integrität): REFERENCES, FOREIGN KEY Weitere Bedingungen: NOT NULL, CHECK Beispiel CREATE TABLE Studenten ( MatrNr INTEGER PRIMARY KEY, VARCHAR(30) NOT NULL, Semester INTEGER CHECK Semester BETWEEN 1 AND 13)

Beispiel Fortsetzung Beispiel CREATE TABLE Professoren ( PersNr INTEGER PRIMARY KEY, VARCHAR(30) NOT NULL, Rang CHARACTER( 2 ) CHECK ( Rang IN ( C2, C3, C4 ) ), Raum INTEGER UNIQUE) CREATE TABLE Assistenten ( PersNr INTEGER PRIMARY KEY, VARCHAR(30) NOT NULL, Fachgebiet VARCHAR( 3 0 ), Boss INTEGER, FOREIGN KEY ( Boss ) REFERENCES Professoren ON DELETE SET NULL)

Relationale Entwurfstheorie Funktionale Abhängigkeiten (FDs): Spezialfall: (Super-)schlüssel Herleitung weiterer FDs (Armstrong Axiome) Normalformen: Motivation: Anomalien durch schlechtes Schema Normalformen: 1NF, 2NF, 3NF, BCNF Normalisierung durch Dekomposition: Verlustlosigkeit Abhängigkeitsbewahrung

Ausblick Teil 1 Vorteile der Verwendung eines DBMS (Mehrbenutzersynchronisation, Vermeidung von Datenverlusten, etc.): Schwerpunkt im VO-Teil Datenbankentwurf, ER Modellierung: Wiederholung im UE-Teil Relationale Anfragesprachen: SQL Vertiefung Datenbankprogrammierung: PL/pgSQL, JDBC Anfrageoptimierung auf der Basis der relationalen Algebra

Ausblick Teil 2 Datenintegrität und relationale Entwurfstheorie: komplexe Integritätsbedingungen mittels Triggers Tabellen erstellen in 3NF (Wiederholung im UE-Teil) Weitere Datenbanken LVAs des Arbeitsbereichs DBAI: Semistrukturierte Daten (jeweils im SS) Datenbanktheorie (jeweils im SS) Deduktive Datenbanken (jeweils im WS)