DB2 SQL, der Systemkatalog & Aktive Datenbanken



Ähnliche Dokumente
Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

Universität Duisburg-Essen Informationssysteme Prof. Dr.-Ing. N. Fuhr. Praktikum Datenbanken / DB2 Woche 8: Trigger, SQL-PL

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

Übungsblatt 8- Lösungsvorschlag

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

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

Bibliografische Informationen digitalisiert durch

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

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

Whitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und combit GmbH Untere Laube Konstanz

SQL: statische Integrität

OP-LOG

desk.modul : WaWi- Export

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

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

Hochschule Karlsruhe Technik und Wirtschaft Anhänge: Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Prof. Schmidt.

6. Datenintegrität. Integritätsbedingungen

Mobile-Szenario in der Integrationskomponente einrichten

IV. Datenbankmanagement

Datenintegrität. Bisherige Integritätsbedingungen

SQL structured query language

Datenbanken für Online Untersuchungen

Fachhochschule Kaiserslautern Labor Datenbanken mit MySQL SS2006 Versuch 1

Labor 3 - Datenbank mit MySQL

Datenbanken. Ein DBS besteht aus zwei Teilen:

Referentielle Integrität

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP

Referentielle Integrität

SQL und MySQL. Kristian Köhntopp

SEMINAR Modifikation für die Nutzung des Community Builders

Views in SQL. 2 Anlegen und Verwenden von Views 2

PostgreSQL unter Debian Linux

MySQL Installation. AnPr

Datenbanken: Datenintegrität.

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.

Ein Ausflug zu ACCESS

Wiederherstellen der Beispieldatenbanken zum Buch Microsoft Project 2010

Anleitung zur Einrichtung einer ODBC Verbindung zu den Übungsdatenbanken

Programmieren für mobile Endgeräte SS 2013/2014. Dozenten: Patrick Förster, Michael Hasseler

Datenmanagement in Android-Apps. 16. Mai 2013

7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2

Datenbanken. Sommersemester 2010 Probeklausur

PHP und MySQL. Integration von MySQL in PHP. Zellescher Weg 12 Willers-Bau A109 Tel Michael Kluge (michael.kluge@tu-dresden.

Oracle: Abstrakte Datentypen:

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II - SS Metadaten

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

Installation des edu- sharing Plug- Ins für Moodle

SQL. Fortgeschrittene Konzepte Auszug

Übung Datenbanken in der Praxis. Datenmodifikation mit SQL

Oracle 10g Einführung

Projektbericht Gruppe 12. Datenbanksysteme WS 05/ 06. Gruppe 12. Martin Tintel Tatjana Triebl. Seite 1 von 11

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

Referenzielle Integrität SQL

Fragen zur GridVis MSSQL-Server

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

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

Arbeiten mit einem lokalen PostgreSQL-Server

MSSQL Server Fragen GridVis

XAMPP-Systeme. Teil 3: My SQL. PGP II/05 MySQL

Übersicht über Datenbanken

Integritätsbedingungen / Normalformen- Beispiel: Kontoführung

seit Java 1.1 Bestandteil der API: packages java.sql, javax.sql

Java Application 1 Java Application 2. JDBC DriverManager. JDBC-ODBC Br idge. ODBC Driver Manager. Dr iver C. Dr iver D.

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

Oracle SQL Tutorium - Wiederholung DB I -

Datumsangaben, enthält mindestens Jahr, Monat, Tag

Digitale Lastenhefte - Austausch von Dokumenten

MySQL, phpmyadmin & SQL. Kurzübersicht

Datenbanksysteme 2013

Benutzerverwaltung Business- & Company-Paket

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

SharePoint Demonstration

XI JDBC/IDOC Szenario

Acrolinx IQ. Verbindungen mit externen Terminologiedatenbanken 2.9

Restore Exchange Server 2007 SP2

Aufgaben zu XPath und XQuery

teischl.com Software Design & Services e.u. office@teischl.com

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick Parameterübergabe...

Betriebshandbuch. MyInTouch Import Tool

Dokumentation. Black- und Whitelists. Absenderadressen auf eine Blacklist oder eine Whitelist setzen. Zugriff per Webbrowser

Dieses Dokument soll dem Administrator helfen, die ENiQ-Software als Client auf dem Zielrechner zu installieren und zu konfigurieren.

Softwaretechnologie -Wintersemester 2013/ Dr. Günter Kniesel

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

Whitepaper. Produkt: combit Relationship Manager / address manager. Integration der Ansicht "Adressen" in eigene Solution

PostgreSQL in großen Installationen

Um dies zu tun, öffnen Sie in den Systemeinstellungen das Kontrollfeld "Sharing". Auf dem Bildschirm sollte folgendes Fenster erscheinen:

TimeSafe Leistungserfassung

LDAP-Anbindung der REDDOXX-Appliance

bizsoft Rechner (Server) Wechsel

CLR-Integration im SQL-Server. Alexander Karl

Installationsanleitung dateiagent Pro

Schlüssel bei temporalen Daten im relationalen Modell

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

Beispiel zur referentiellen Integrität

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:

Transkript:

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 benutzen Import / Export von Daten Constraints kennen & benutzen Trigger kennen und benutzen Lehr- und Forschungseinheit Datenbanken und Informationssysteme 2 1

Mit der DB2 verbinden Umgebung bereitstellen Bash: source ~db2lehre/sqllib/db2profile C-Shell: source ~db2lehre/sqllib/db2cshrc Windows: db2cmd aufrufen db2 Kommandointerpreter starten db2 db2 t SQL-Statement mit ; abschließen Verbindung herstellen connect to dbprak terra <datenbankname> Lehr- und Forschungseinheit Datenbanken und Informationssysteme 3 Struktur von DB2 Datenbanken Eine Installation kann mehrere Instanzen haben Eine Instanz kann mehrere Datenbanken verwalten In einer Datenbank gibt es mehrere Schemata In jedem Schema gibt es DB-Objekte wie Tabellen, Views,... Lehr- und Forschungseinheit Datenbanken und Informationssysteme 4 2

Meine erste eigene Tabelle Tabelle anlegen create table person ( id integer not null primary key, nachname varchar (50), vorname varchar (50) ) Werte einfügen insert into person values (0, Meyer, Hans ), (1, Müller, Franz ) Tabelle abfragen select * from person Lehr- und Forschungseinheit Datenbanken und Informationssysteme 5 Authentifizierung vs. Autorisierung Authentifizierung: Feststellung der Identität des Nutzers, z.b. Name/Passwort DB2-Authentifizierung über Betriebssystem-Mechanismen Autorisierung: Feststellen, ob Zugriff auf Datenobjekte erlaubt ist Unterschiedlichste Autorisierungsstufen, sehr ausgefeiltes Rechtemanagement GRANT SELECT ON <SCHEMA>.<TABNAME> TO USER <NAME> GRANT CONNECT ON DATABASE TO USER <NAME> Lehr- und Forschungseinheit Datenbanken und Informationssysteme 6 3

Autorisierungen selbst ändern Schema-Rechte ändern grant alterin createin dropin ON SCHEMA meyer TO user A group B public DB2 Hilfe: GRANT (Schema privileges) Lehr- und Forschungseinheit Datenbanken und Informationssysteme 7 Der DB2 Systemkatalog Alle Informationen über DB2-Objekte werden im Systemkatalog gehalten Systemkatalog folgt einem eigenen relationalen Modell im Schema syscat Die wichtigsten Tabellen: syscat.tables syscat.columns Struktur von Tables / Views: describe table <tabellenname/viewname> Lehr- und Forschungseinheit Datenbanken und Informationssysteme 8 4

Import / Export EXPORT exportiert Daten. Syntax EXPORT TO filename OF filetype SELECT * FROM person Filetype: DEL: ASCII-delimited WSF: Work Sheet Format (Lotus) IXF: Integrated Exchange Format Plattform-kompatibel Enthält Daten zum Wiederherstellen der Tabelle Lehr- und Forschungseinheit Datenbanken und Informationssysteme 9 Import / Export IMPORT importiert Daten. Syntax: IMPORT FROM filename OF filetype CREATE INTO person Siehe DB2-Hilfe. Lehr- und Forschungseinheit Datenbanken und Informationssysteme 10 5

Aktive Datenbanken Datenintegrität sicherstellen Foreign keys Semantic data constraints Auf Schwellwerte reagieren stop buy, stop loss Aktienhandel Datenstruktur aktiv modellieren Anlegen eines Nutzers legt auch seine Standardrechte / -rollen mit an Änderungen überwachen Automatisch History von Änderungen protokollieren Lehr- und Forschungseinheit Datenbanken und Informationssysteme 11 Constraints 1 Sicherung der Datenintegrität Typen: Primary key constraint: Definition des Primary Key unique-constraint: Sicherung der Einzigartigkeit von Attributen (Unterschied zu primary key?) referential-constraint: Sicherung der Beziehungen zu anderen Tabellen check-constraint: Prüfung semantischer Integritätsregeln, z.b. Wertebereichsprüfung von Attributen Sichtbarkeit für check-constraints immer nur aktuelle Zeile einer Tabelle Immer wirksam: Implementierung eines Constraints auf einer den Constraint verletzenden Datenbasis ist nicht möglich! Lehr- und Forschungseinheit Datenbanken und Informationssysteme 12 6

Constraints 2 Syntax check-constraint: alter table <tabname> add constraint <c-name> CHECK (condition) Beispiel alter table gehalt add constraint min_gehalt CHECK (gehalt>2000) Andere Constraint-Typen ähnlich; Details siehe DB2 Hilfe Lehr- und Forschungseinheit Datenbanken und Informationssysteme 13 Trigger Mächtiges Werkzeug zur Überwachung reaktiv : Wird durch bestimmte Ereignisse ausgelöst: insert, update, delete Kaum Beschränkungen bezüglich der Trigger-Aktion Insert/update/delete kann verändert oder zurückgewiesen werden Zusätzliche Aktionen, wie z.b. Inserts / Updates / Deletes können angestoßen werden Externe Routinen können ausgeführt werden Wirken erst, nachdem sie definiert wurden Syntax: Pflichtlektüre DB2-Hilfe Lehr- und Forschungseinheit Datenbanken und Informationssysteme 14 7

Pointer in die Hilfe URL siehe dbprak-homepage (Uni Jena) http://iibm01.inf.uni-jena.de/db2/index.htm Stichworte (SQL Referenz): create trigger create table alter table signal sqlstate grant Lehr- und Forschungseinheit Datenbanken und Informationssysteme 15 Beispiel Constraints / Trigger Tabelle Gehalt(Name, Gehalt) erstellen CREATE TABLE GEHALT( NAME VARCHAR(64) NOT NULL, GEHALT INTEGER NOT NULL, PRIMARY KEY(NAME)) Ein paar Daten laden (Import/Load) LOAD FROM file OF DEL MODIFIED BY COLDEL0x09 INSERT INTO GEHALT(NAME, GEHALT) Constraint: Minimales Gehalt >2000 ALTER TABLE GEHALT ADD CONSTRAINT min_gehalt CHECK (GEHALT > 2000) Testen... INSERT INTO GEHALT VALUES('DORIS', 1000) INSERT INTO GEHALT VALUES('DORIS', 10000) Lehr- und Forschungseinheit Datenbanken und Informationssysteme 16 8

Beispiel Constraints / Trigger Trigger: Budget für Gehälter max. 50000 CREATE TRIGGER BUDGET_INSERT AFTER INSERT ON GEHALT FOR EACH ROW MODE DB2SQL WHEN ((SELECT SUM(GEHALT) FROM GEHALT) > 50000) SIGNAL SQLSTATE '75001' ('Budget von 50.000 ueberschritten') CREATE TRIGGER BUDGET_UPDATE AFTER UPDATE ON GEHALT... Testen... INSERT INTO GEHALT VALUES('Katrin', 5000) INSERT INTO GEHALT VALUES('Sylvia', 10000) Lehr- und Forschungseinheit Datenbanken und Informationssysteme 17 TERRA Achtung! Qualität der Daten entspricht nicht immer den Erwartungen Beispiele Städte (STADT) kommen mehrfach vor (z.b. Oslo) Städte in LIEGT_AN, die weder an einem Meer, See oder Fluss liegen In Katar leben mehr Menschen in Städten, als im ganzen Land... Lehr- und Forschungseinheit Datenbanken und Informationssysteme 18 9

TERRA (cont.) SELECT * FROM TERRA.LAND WHERE L_ID = N PROBLEM: NAME, L_ID, LT_ID EINWOHNER, LAENGE, BREITE NAME, L_ID EINWOHNER FRAGE: Wie viele Menschen leben in norwegischen Städten? Lehr- und Forschungseinheit Datenbanken und Informationssysteme 19 Ziele Auf DB2 Datenbanken zugreifen DB2 Datenbanken benutzen Abfragen ausführen Den Systemkatalog benutzen Import / Export von Daten Constraints kennen & benutzen Trigger kennen und benutzen Lehr- und Forschungseinheit Datenbanken und Informationssysteme 20 10