Übung 01 Tabellen erstellen

Größe: px
Ab Seite anzeigen:

Download "Übung 01 Tabellen erstellen"

Transkript

1 UEB-01-1 Übung 01 Tabellen erstellen Die folgende Musterrechnung dokumentiert eine Miniwelt "Rechnung" in einer Firma. 1. Welche Objekte und Beziehungen lassen sich daraus ableiten? 2. Erstellen Sie ein Datenmodell (ERD mit allen benötigten Entitäten und Attributen 3. Implementieren Sie das physische Modell in einer Datenbank DBBW001. Die Tabellen sollen im Schema M141 erstellt werden. Hinweis: Die ANSI-SPARC-Architektur, auch Drei-Ebenen-Architektur genannt, beschreibt den grundlegenden Aufbau eines relationalen Datenbanksystems, wobei drei Schemata verwendet werden: 1. Die externen Schemata, die formal beschreiben, wie sich die Datenbank den Benutzern und Anwendungen darstellt (individuelle anwendungsorientierte Sicht. 2. Das konzeptionelle oder konzeptuelle Schema, in dem auf Basis des semantischen Datenmodells die Sachlogik formal beschrieben wird (fachliche Sicht. 3. Das interne Schema, das formal darstellt, wie und wo die Daten in der Datenbank gespeichert werden (technische Sicht. Auf der technischen Ebene können Tabellen in verschiedenen Schemata definiert werden. Das Schema wird dabei als Erweiterung des Tabellennamens verwendet, d.h. eine Tabelle PERSON kann in einer Datenbank in verschiedenen Schematas existieren (z.b. In Schema ABC und Schema XYZ. Die einzelnen Entitäten (Tabellen werden dabei via Schema und Tabellenname referenziert. Beispiel: SELECT * FROM ABC.PERSON oder SELECT * FROM XYZ.PERSON Welche Objekte und Beziehungen lassen sich daraus ableiten?

2 UEB-01-2 Lösungsvorschlag Welche Objekte und Beziehungen lassen sich daraus ableiten? Basierend auf der Musterrechnung lassen sich die folgenden vier Objekte (Entitäten identifizieren: Daraus ergibt sich das folgende einfache logische Datenmodel: Entität Kunde enthält die Kundendaten Entität Artikel enthält die Artikeldaten Entität Rechnung enthält die Rechnungsdaten Zwischen den Entitäten Artikel und Rechnung existiert eine many-to-many Beziehung (ein Artikel kann in mehreren Rechnungen enthalten sein und eine Rechnung kann mehrere Artikel enthalten. Da n:m Beziehungen physisch nicht nicht implementiert werden können, wird diese Beziehung später via Beziehungsentität Rechnungsposition.implementiert.

3 UEB-01-3 Datenmodell mit allen benötigten Entitäten: In diesem Datenmodel wurde die Beziehungsentität Rechnungsposition eingefügt. Beachten Sie dabei, dass die Beziehungen zu den Entitäten Rechnung resp. Artikel als nicht identifizierend definiert sind: Die Primärschlüssel der Parent-Entitäten (Artikel resp. Rechnung werden dabei lediglich als Fremdschlüssel übernommen, sind jedoch nicht Bestandteil des Primärschlüssels der Entität Rechnungsposition. Die beiden Fremdschlüssel (ArtikelID + RechnungID bilden zusammen ebenfalls eine eindeutige Identifikation eines einzelnen Datensatzes, sie bilden zusammen einen Alternativschlüssel (potentiellen Primärschlüssel. Zu beachten sind auch die Kardinalitäten der Beziehungen: ein Kunde hat 0 oder mehrere Rechnungen (Kardinalität: mc eine Rechnung gehört genau einem Kunden (Kardinalität: 1 eine Rechnung enthält 1 oder mehrere Rechnungspositionen (Kardinalität: m eine Rechnungsposition gehört zu einer Rechnung (Kardinalität: 1 ein Artikel ist in 0 oder mehreren Rechnungspositionen aufgeführt (Kardinalität: mc eine Rechnungsposition enthält einen Artikel (Kardinalität: 1

4 UEB-01-4 Erweitert man das Model mit den Attributen, so ergibt sich folgende Darstellung: Zusätzlich zu den normalen Datenattributen aus den Anforderungen wurde in jede Entität ein Attribut LastUpdate aufgenommen. Mittels diesem Attribut soll festgehalten werden WANN ein Datensatz letztmals geändert wurde.

5 UEB-01-5 Im physischen Datenmodell werden schliesslich alle Attribute (Spalten und Indizes definiert, die für das Erstellen der Tabellen benötigt werden. Das folgende Diagramm zeigt eine mögliche Implementierung des physischen Datenmodells inkl. Indizes: Im Diagramm sind jetzt auch die zusätzlich definierten Indizes enthalten. Zu beachten gilt dabei: Ein Index kann verwendet werden um nur eindeutige Werte (Unique für eine Spalte zuzulassen. Für alle Primärschlüssel muss somit immer ein eindeutiger Index (Unique Index definiert werden (die benötigten Indizes für die Primärschlüssel werden vom DBMS in der Regel automatisch erstellt Für Alternate-Keys (Schlüsselkandidaten oder fachliche Schlüssel müssen die eindeutigen Indizes selber definiert werden. In unserem Beispiel existieren die fachlichen Schlüssel KUNDENNR, ARTIKELNR und RECHNUNGSNR, die vom Benutzer resp. den Anwendungen vergeben werden. Die Werte in diesen Spalten müssen ebenfalls eindeutig sein (analog den technischen Primärschlüsseln. Für diese Spalten muss jeweils ein eindeutiger Index definiert werden, damit das DBMS garantieren kann, dass ein fachlicher Schlüssel nur einmal vergeben wird. Ein Index kann zudem die Zugriffsgeschwindigkeit beim Lesen der Tabellen steigern. Entsprechend sollten für häufig benötigte Zugriffe Indizes über die entsprechenden Spalten gelegt werden. Jeder Index muss jedoch bei einer Mutation (INSERT, UPDATE, DELETE vom DBMS nachgeführt werden, d.h. Indizes sollen nur für die wichtigsten Spalten definiert werden. Beispiel: Suche über den Namen eines Kunden => Index über Spalte NAME + VORNAME Suche eines Artikels über die Bezeichnung ==> Index über Spalte BEZEICHNUNG Für alle Fremdschlüssel sollten immer Indizes definiert werden, da dadurch die Join-Operationen wesentlich beschleunigt werden.

6 UEB-01-6 Beispiel für das SQL Statement CREATE TABLE (erstellen einer Tabelle Erstellen der Tabelle mit implizitem Schema (die Tabelle wird im Default-Schema erstellt: CREATE TABLE KUNDE ( KUNDEID INTEGER NOT NULL GENERATED BY DEFAULT AS IDENTITY ( START WITH 1 INCREMENT BY 1 MINVALUE 1 MAXVALUE NO CYCLE CACHE 20, KUNDENNR CHAR(10 NOT NULL, ANREDE VARCHAR(25, VORNAME NAME VARCHAR(50 NOT NULL, STRASSE POSTLEITZAHL VARCHAR(20, ORT LAND LASTUPDATE TIMESTAMP NOT NULL WITH DEFAULT IN M141_TABLESPACE INDEX IN M141_INDEXSPACE ; KUNDE ADD CONSTRAINT PK_KUNDE PRIMARY KEY (KUNDEID; Erstellen der Tabelle mit explizitem Schema (M141 CREATE TABLE M141.KUNDE ( KUNDEID INTEGER NOT NULL GENERATED BY DEFAULT AS IDENTITY ( START WITH 1 INCREMENT BY 1 MINVALUE 1 MAXVALUE NO CYCLE CACHE 20, KUNDENNR CHAR(10 NOT NULL, ANREDE VARCHAR(25, VORNAME NAME VARCHAR(50 NOT NULL, STRASSE POSTLEITZAHL VARCHAR(20, ORT LAND LASTUPDATE TIMESTAMP NOT NULL WITH DEFAULT IN M141_TABLESPACE INDEX IN M141_INDEXSPACE ; M141.KUNDE ADD CONSTRAINT PK_KUNDE PRIMARY KEY (KUNDEID;

7 UEB-01-7 Das folgende SQL-Script erstellt die Tabellen, Indizes und Beziehungen, im Schema M141. Zu beachten ist dabei, dass im SQL-Script der Name der Datenbank nicht definiert ist, damit das gleiche Script ohne Modifikation für beliebige Datenbanken (z.b. Entwicklung, Test, Produktion verwendet werden kann. Damit das SQL-Script ausgeführt werden kann, müssen die beiden folgenden Voraussetzungen erfüllt sein: die Datenbank in der die Objekte erstellt werden sollen muss existieren. Das CREATE DATABASE Statement ist also nicht Bestandteil des SQL-Scripts! eine Connection (Verbindung zur entsprechenden Datenbank muss existieren. Die UserID, die für das Erstellen der Objekte verwendet wird muss die entsprechenden Autorisierungen haben, damit sie die Objekte (Tabellen, Indizes, Beziehungen, etc. auch erstellen kann. In der Regel werden die Objekte mit einer ID erstellt, die das Privileg Datenbank-Administrator hat. Beachten Sie, ein Objekt kann nur einmal erstellt werden, d.h. existiert ein Objekt bereits,so wird ein CREATE Statement immer eine Fehler-Meldung ausgeben (Object xyz already exists. D.h. Sie müssen die Objekte mittels dem Command DROP zuerst löschen, wenn das Objekt bereits existiert. Das folgende Beispiel zeigt eine SQL-Scripts für das Erstellen der vier Tabellen. Beachten Sie dabei, dass die verwendeten Tablespaces nicht in diesem SQL-Script erstellt werden, d.h. sie müssen bereits existieren Hinweis: In SQL wird ein Kommentar mit -- (zwei Minuszeichen gekennzeichnet, d.h. Sie können in einem SQL-Script beliebigen Kommentar einfügen um das Script zu dokumentieren.

8 UEB-01-8 Script: U01_DropObjects.sql --<ScriptOptions statementterminator=";"/> -- Setzen des Schemas M141. Damit werden alle Objekte automatisch im Schema M141 gelöscht oder erstellt -- und nicht im Schema das Benutzers der das SQL-Script ausführt. SET SCHEMA M141; -- Löschen aller Constraints, d.h. Beziehungen und Definitionen von Schlüsseln. -- Zu Beachten gilt dabei die Reihenfolge, d.h. Zuerst müssen die Beziehungen gelöscht werden und erst -- nachdem die Beziehungen gelöscht sind, können die Definitionen der Primärschlüssel gelöscht werden. RECHNUNG DROP CONSTRAINT FK_RECHNUNG_KUNDE; RECHNUNGSPOSITION DROP CONSTRAINT FK_RECHNUNGSPOSITION_ARTIKEL; RECHNUNGSPOSITION DROP CONSTRAINT FK_RECHNUNGSPOSITION_RECHNUNG; KUNDE DROP CONSTRAINT PK_TKUNDE; RECHNUNG DROP CONSTRAINT PK_RECHNUNG; ARTIKEL DROP CONSTRAINT PK_ARTIKEL; RECHNUNGSPOSITION DROP CONSTRAINT PK_RECHNUNGSPOSITION; -- Löschen der Indizes DROP INDEX IDX_KUNDE_NAME; DROP INDEX IDX_KUNDE_KUNDENNR; DROP INDEX IDX_RECHNUNG_KUNDEID; DROP INDEX IDX_RECHNUNG_RECHNUNGSNR; DROP INDEX IDX_ARTIKEL_BEZEICHNUNG; DROP INDEX IDX_ARTIKEL_ARTIKELNR; DROP INDEX IDX_RECHNUNGSPOSITION; DROP INDEX IDX_RECHNUNGSPOSITION_RECHNUNGID_POSNR; -- Löschen der Tabellen DROP TABLE KUNDE; DROP TABLE RECHNUNG; DROP TABLE ARTIKEL; DROP TABLE RECHNUNGSPOSITION; -- Offene UOW (Unit Of Work persistent in DB schreiben COMMIT WORK;

9 UEB-01-9 Script: U01_CreateObjects.sql -- Erstellen der Tabellen mit den Spalten. Beachten Sie dabei, dass die Tabellen ohne Primärschlüssel definierte -- werden. Die Primärschlüssel und Beziehungen werden erst zu einem späteren Zeitpunkt hinzugefügt. -- Die Tabellen werden im Tablespace M141_TABLESPACE erstellt -- Die Indizes der Tabellen werden im Tablespace M141_INDEXSPACE erstellt CREATE TABLE KUNDE ( KUNDEID INTEGER NOT NULL GENERATED BY DEFAULT AS IDENTITY ( START WITH 1 INCREMENT BY 1 MINVALUE 1 MAXVALUE NO CYCLE CACHE 20, KUNDENNR CHAR(10 NOT NULL, ANREDE VARCHAR(25, VORNAME NAME VARCHAR(50 NOT NULL, STRASSE POSTLEITZAHL VARCHAR(20, ORT LAND LASTUPDATE TIMESTAMP NOT NULL WITH DEFAULT IN M141_TABLESPACE INDEX IN M141_INDEXSPACE; CREATE TABLE RECHNUNG ( RECHNUNGID INTEGER NOT NULL GENERATED BY DEFAULT AS IDENTITY ( START WITH 1 INCREMENT BY 1 MINVALUE 1 MAXVALUE NO CYCLE CACHE 20, KUNDEID INTEGER NOT NULL, RECHNUNGSNR CHAR(10 NOT NULL, RECHNUNGSDATUM DATE NOT NULL, RECHNUNGSBETRAG DECIMAL(10, 2 NOT NULL, LASTUPDATE TIMESTAMP NOT NULL WITH DEFAULT IN M141_TABLESPACE INDEX IN M141_INDEXSPACE; CREATE TABLE ARTIKEL ( ARTIKELID INTEGER NOT NULL GENERATED BY DEFAULT AS IDENTITY ( START WITH 1 INCREMENT BY 1 MINVALUE 1 MAXVALUE NO CYCLE CACHE 20, ARTIKELNR CHAR(10 NOT NULL, BEZEICHNUNG VARCHAR(100 NOT NULL, EINZELPREIS DECIMAL(10, 2 NOT NULL, LASTUPDATE TIMESTAMP NOT NULL WITH DEFAULT IN M141_TABLESPACE INDEX IN M141_INDEXSPACE; CREATE TABLE RECHNUNGSPOSITION ( RGPOSID INTEGER NOT NULL GENERATED BY DEFAULT AS IDENTITY( START WITH 1 INCREMENT BY 1 MINVALUE 1 MAXVALUE NO CYCLE CACHE 20, ARTIKELID INTEGER NOT NULL, RECHNUNGID INTEGER NOT NULL, POSNR INTEGER NOT NULL, ANZAHL INTEGER NOT NULL, GESAMTPREIS DECIMAL(10, 2 NOT NULL, LASTUPDATE TIMESTAMP NOT NULL WITH DEFAULT IN M141_TABLESPACE INDEX IN M141_INDEXSPACE;

10 UEB Erstellen der Indizes für alle Tabellen. -- CREATE INDEX IDX_KUNDE_NAME ON KUNDE ( NAME ASC, VORNAME ASC PCTFREE 0 ALLOW REVERSE SCANS; CREATE UNIQUE INDEX IDX_KUNDE_KUNDENNR ON KUNDE ( KUNDENNR ASC PCTFREE 0 ALLOW REVERSE SCANS; CREATE INDEX IDX_RECHNUNG_KUNDEID ON RECHNUNG ( KUNDEID ASC PCTFREE 0 ALLOW REVERSE SCANS; CREATE UNIQUE INDEX IDX_RECHNUNG_RECHNUNGSNR ON RECHNUNG (RECHNUNGSNR ASC PCTFREE 0 ALLOW REVERSE SCANS; CREATE INDEX IDX_ARTIKEL_BEZEICHNUNG ON ARTIKEL (BEZEICHNUNG ASC PCTFREE 0 ALLOW REVERSE SCANS; CREATE UNIQUE INDEX IDX_ARTIKEL_ARTIKELNR ON ARTIKEL (ARTIKELNR ASC PCTFREE 0 ALLOW REVERSE SCANS; CREATE UNIQUE INDEX IDX_RECHNUNGSPOSITION ON RECHNUNGSPOSITION (ARTIKELID ASC, RECHNUNGID ASC PCTFREE 0 ALLOW REVERSE SCANS; CREATE UNIQUE INDEX IDX_RECHNUNGSPOSITION_RECHNUNGID_POSNR ON RECHNUNGSPOSITION (RECHNUNGID ASC, POSNR ASC PCTFREE 0 ALLOW REVERSE SCANS;

11 UEB Nachdem die Tabellen und Indizes erstellt sind, werden die Constraints hinzugefügt, d.h. es werden die -- Primärschlüssel der einzelnen Tabellen definiert und die Beziehungen zwischen den einzelnen Tabellen -- In einem ersten Schritt werden die Primärschlüssel definiert. Das DBMS generiert automatisch einen UNIQUE -- Index über die entsprechenden Spalten, sofern noch passender Index (UNIQE INDEX existiert. KUNDE ADD CONSTRAINT PK_TKUNDE PRIMARY KEY (KUNDEID; RECHNUNG ADD CONSTRAINT PK_RECHNUNG PRIMARY KEY (RECHNUNGID; ARTIKEL ADD CONSTRAINT PK_ARTIKEL PRIMARY KEY (ARTIKELID; RECHNUNGSPOSITION ADD CONSTRAINT PK_RECHNUNGSPOSITION PRIMARY KEY (RGPOSID; -- In einem zweiten Schritt werden die Beziehungen zwischen den einzelnen Tabellen definiert, d.h. es werden -- die Fremdschlüssel festgelegt und was das DBMS zur Laufzeit validieren muss. -- RESTRICT bedeutet dabei, dass keine Schlüsselverletzungen zugelassen sind. RECHNUNG ADD CONSTRAINT FK_RECHNUNG_KUNDE FOREIGN KEY (KUNDEID REFERENCES KUNDE (KUNDEID ON DELETE RESTRICT ON UPDATE RESTRICT; RECHNUNGSPOSITION ADD CONSTRAINT FK_RECHNUNGSPOSITION_ARTIKEL FOREIGN KEY (ARTIKELID REFERENCES ARTIKEL (ARTIKELID ON DELETE RESTRICT ON UPDATE RESTRICT; RECHNUNGSPOSITION ADD CONSTRAINT FK_RECHNUNGSPOSITION_RECHNUNG FOREIGN KEY (RECHNUNGID REFERENCES RECHNUNG (RECHNUNGID ON DELETE RESTRICT ON UPDATE RESTRICT; -- Mit COMMIT werden alle pendenten Änderungen (UOW persistent in die Datenbank geschrieben, COMMIT WORK; Ende des Scripts --

12 UEB Aufgabe: Erstellen Sie diese Objekte (Tabllen, Indizes, etc. in den Datenbanken DBBW001, DBBW002, DBBW003 und DBBW004 in der Instanz (Database Manager db2inst1. Die Objekte sollen mit dem Instanz-User erstellt werden: Instanz-User: Sie können dafür die vorbereiteten SQL Scripts U01_DropObjects.sql und U01_CreateObjects.sql verwenden. Kopieren Sie dazu diese Scripts vom Klassenlaufwerk in Ihre VM (Verzeichnis: /bbw. Beachten Sie, dass diese SQL-Scripts allenfalls noch Fehler enthalten und für die Übung noch korrigiert werden müssen! Alle Tabellen sollen im Tablespace M141_TABLESPACE und die Indizes im Tablespace M141_INDEXSPACE erstellt werden. Kontrollieren Sie via Aqua Data Studio, Squirrel oder einem anderen SQL Client ob diese Objekte existieren. Falls nein sollen diese Objekte erstellt werden (Syntax finden Sie in der Dokumentation. Die Scripts sollen via CLP (Command Line Interpreter ausgeführt werden. Überlegen Sie sich genau, was Sie bei der Ausführung erwarten (z.b. Wann soll COMMIT gemacht werden, was soll bei einem Syntax-Fehler im Script passieren, etc.. Suchen Sie anschliessend in der Dokumentation ob Sie das gewünschte Verhalten via Command- Line Options beim Aufruf des CLP's einstellen können. Ziel dieser Übung ist es: Die Objekte existieren in allen vier Datenbanken Sie können SQL Scripts mittels CLP ausführen und wissen was vorher gemacht werden muss Sie können Fehler-Meldungen des CLP's interpretieren und wissen wo Sie Hilfe finden resp. wissen wo Sie die entsprechenden Dokumentationen abgelegt haben Sie können einfache Fehler in einem SQL Script lokalisieren und korrigieren Sie wissen wie Sie das Resultat eines erfolgreich ausgeführten SQL-Scripts in der Datenbank kontrollieren können Sie machen sich Ihre eigenen Notizen (können an den Prüfungen verwendet werden

Datenbanken: Datenintegrität. www.informatikzentrale.de

Datenbanken: Datenintegrität. www.informatikzentrale.de Datenbanken: Datenintegrität Definition "Datenkonsistenz" "in der Datenbankorganisation (...) die Korrektheit der gespeicherten Daten im Sinn einer widerspruchsfreien und vollständigen Abbildung der relevanten

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

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

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

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin PhpMyAdmin = grafsches Tool zur Verwaltung von MySQL-Datenbanken Datenbanken erzeugen und löschen Tabellen und Spalten einfügen,

Mehr

SQL structured query language

SQL structured query language Umfangreiche Datenmengen werden üblicherweise in relationalen Datenbank-Systemen (RDBMS) gespeichert Logische Struktur der Datenbank wird mittels Entity/Realtionship-Diagrammen dargestellt structured query

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

Referenzielle Integrität SQL

Referenzielle Integrität SQL Referenzielle Integrität in SQL aus Referential Integrity Is Important For Databases von Michael Blaha (Modelsoft Consulting Corp) VII-45 Referenzielle Integrität Definition: Referenzielle Integrität bedeutet

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

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

Uni Duisburg-Essen Fachgebiet Informationssysteme Prof. Dr. N. Fuhr Raum: LF 230 Bearbeitung: 9.-11. Mai 2005 Datum Gruppe Vorbereitung Präsenz Aktuelle Informationen unter: http://www.is.informatik.uni-duisburg.de/courses/dbp_ss03/ Tabellen in IBM DB2 Tabellen Eine relationale

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

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

Inhalt. Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle. Daten und Tabellen - ein Beispiel. Daten und Tabellen - Normalisierung Inhalt Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle Daten und Tabellen Normalisierung, Beziehungen, Datenmodell SQL - Structured Query Language Anlegen von Tabellen Datentypen (Spalten,

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

Foreign Keys. MySQL 4, 5. Kapitel 16: Fremdschlüssel. Marcel Noe

Foreign Keys. MySQL 4, 5. Kapitel 16: Fremdschlüssel. Marcel Noe MySQL 4, 5 Kapitel 16: Fremdschlüssel Gliederung 1 Gliederung 1 Fremdschlüssel sichern die Referenzielle Integrität voneinander abhängiger Tabellen. Um Fremdschlüssel definieren zu können, müssen Sie die

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

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

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

Labor 3 - Datenbank mit MySQL

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

Mehr

Relationales Modell: SQL-DDL. SQL als Definitionssprache. 7. Datenbankdefinitionssprachen. Anforderungen an eine relationale DDL

Relationales Modell: SQL-DDL. SQL als Definitionssprache. 7. Datenbankdefinitionssprachen. Anforderungen an eine relationale DDL Relationales Modell: SQLDDL SQL als Definitionssprache SQLDDL umfaßt alle Klauseln von SQL, die mit Definition von Typen Wertebereichen Relationenschemata Integritätsbedingungen zu tun haben Externe Ebene

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

Kapitel DB:VI (Fortsetzung)

Kapitel DB:VI (Fortsetzung) Kapitel DB:VI (Fortsetzung) VI. Die relationale Datenbanksprache SQL Einführung SQL als Datenanfragesprache SQL als Datendefinitionssprache SQL als Datenmanipulationssprache Sichten SQL vom Programm aus

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

Übung Datenbanken in der Praxis. Datenmodifikation mit SQL

Übung Datenbanken in der Praxis. Datenmodifikation mit SQL Datenmodifikation mit SQL Folie 45 SQL - Datenmodifikation Einfügen INSERT INTO Relation [(Attribut, Attribut,...)] VALUES (Wert, Wert,...) INSERT INTO Relation [(Attribut, Attribut,...)] SFW-Anfrage Ändern

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

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

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

6. Datenintegrität. Integritätsbedingungen

6. Datenintegrität. Integritätsbedingungen 6. Integritätsbedingungen dienen zur Einschränkung der Datenbankzustände auf diejenigen, die es in der realen Welt tatsächlich gibt. sind aus dem erstellten Datenmodell ableitbar (semantisch) und können

Mehr

SQL-Befehlsliste. Vereinbarung über die Schreibweise

SQL-Befehlsliste. Vereinbarung über die Schreibweise Vereinbarung über die Schreibweise Schlüsselwort [optionale Elemente] Beschreibung Befehlsworte in SQL-Anweisungen werden in Großbuchstaben geschrieben mögliche, aber nicht zwingend erforderliche Teile

Mehr

1 Hartmann Anna Cäcilienstr Köln (0221) Behrens-Hoffmeister Heidi Lindenweg Köln (0221)

1 Hartmann Anna Cäcilienstr Köln (0221) Behrens-Hoffmeister Heidi Lindenweg Köln (0221) Erstellen einer Mitarbeiter-Datenbank 1 Erstellen einer Mitarbeiter-Datenbank Arbeitsauftrag Ziel der Übung Erstellen von Datenbanken mit Hilfe von SQL-Abfragen Aufgabe (1.) Erstellen Sie eine neue Datenbank

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

Datumsangaben, enthält mindestens Jahr, Monat, Tag

Datumsangaben, enthält mindestens Jahr, Monat, Tag Datenbanken mit SQL Informatik - Sprenger Häufig wird mit Tabellenkalkulationen gearbeitet, obwohl der Einsatz von Datenbanken sinnvoller ist. Tabellenkalkulationen wie Microsoft Excel oder LibreOffice

Mehr

Datenbanksysteme I Integrität und Trigger Felix Naumann

Datenbanksysteme I Integrität und Trigger Felix Naumann Datenbanksysteme I Integrität und Trigger 9.5.2011 Felix Naumann Motivation Aktive Datenbanken 2 Einzufügende Daten können fehlerhaft sein Typographische Fehler, logische Fehler Lösung 1: Bessere Anwendung

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

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 [email protected], [email protected] 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

VO Datenmodellierung. Katrin Seyr

VO Datenmodellierung. Katrin Seyr Datenintegrität Datenintegrität VO Datenmodellierung Katrin Seyr Institut für Informationssysteme Technische Universität Wien Katrin Seyr Seite 1 Datenintegrität 1. Überblick Überblick 1 Überblick 2 Integritätsbedingungen

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

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

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

Microsoft Access 2010 SQL nutzen

Microsoft Access 2010 SQL nutzen Microsoft Access 2010 SQL nutzen Welche Bestellungen hat Kunde x aufgegeben? Welche Kunden haben noch nie bestellt? Wer hat welche Bestellungen von welchen Kunden aufgenommen? S(tructured)Q(uery)L(anguage)

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

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

PostgreSQL unter Debian Linux

PostgreSQL unter Debian Linux Einführung für PostgreSQL 7.4 unter Debian Linux (Stand 30.04.2008) von Moczon T. und Schönfeld A. Inhalt 1. Installation... 2 2. Anmelden als Benutzer postgres... 2 2.1 Anlegen eines neuen Benutzers...

Mehr

SQL und MySQL. Kristian Köhntopp

SQL und MySQL. Kristian Köhntopp SQL und MySQL Kristian Köhntopp Wieso SQL? Datenbanken seit den frühen 1950er Jahren: Hierarchische Datenbanken Netzwerkdatenbanken Relationale Datenbanken = SQL Relational? 10 9 8 7 6 f(y) := y = x r(y)

Mehr

Einstieg in das SQL- und Datenbanktuning 14.01.2009. Loblied auf den Tabellen-Index!

Einstieg in das SQL- und Datenbanktuning 14.01.2009. Loblied auf den Tabellen-Index! 1/40 PHP-User-Group Stuttgart 14.01.2009 Warum Datenbanken einen Hals bekommen und was sich dagegen tun lässt. Tuning und Performancesteigerung ohne zusätzliche Hardware. Ein. Loblied auf den Tabellen-Index!

Mehr

SQL-Vertiefung. VU Datenbanksysteme. Reinhard Pichler

SQL-Vertiefung. VU Datenbanksysteme. Reinhard Pichler SQL-Vertiefung VU Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester 2015/16 Gliederung

Mehr

Object Relational Mapping Layer

Object Relational Mapping Layer Object Relational Mapping Layer Views Controlers Business logic GUI OO-application logic Object-relational-Mapping Relational DBMS PHP (propel) 1/18 Propel - Persistance Layer OR-Mapper für PHP Portierung

Mehr

MySQL, phpmyadmin & SQL. Kurzübersicht

MySQL, phpmyadmin & SQL. Kurzübersicht MySQL, phpmyadmin & SQL Kurzübersicht Referenzen MySQL Documentation: http://dev.mysql.com/doc PHP 5 / MySQL5. Studienausgabe. Praxisbuch und Referenz (Kannengießer & Kannengießer) 2 Datenbank anlegen

Mehr

Matthias Schubert. Datenbanken. Theorie, Entwurf und Programmierung relationaler Datenbanken. 2., überarbeitete Auflage. Teubner

Matthias Schubert. Datenbanken. Theorie, Entwurf und Programmierung relationaler Datenbanken. 2., überarbeitete Auflage. Teubner Matthias Schubert Datenbanken Theorie, Entwurf und Programmierung relationaler Datenbanken 2., überarbeitete Auflage m Teubner Inhalt Wichtiger Hinweis 12 Vorwort 13 Wer sollte dieses Buch lesen? 13 Noch

Mehr

Inhaltsverzeichnis. jetzt lerne ich

Inhaltsverzeichnis. jetzt lerne ich Inhaltsverzeichnis jetzt lerne ich Einführung 15 1 Erste Schritte 21 1.1 Datenbanken und Datenbank-Managementsysteme 21 1.2 Zugriff auf Datenbanken 22 1.3 Was der Großvater noch wusste... 22 1.4 Einordnung

Mehr

SQL,Teil 1: CREATE, INSERT, UPDATE, DELETE, DROP

SQL,Teil 1: CREATE, INSERT, UPDATE, DELETE, DROP SQL,Teil 1: CREATE, INSERT, UPDATE, DELETE, DROP W. Spiegel Übersicht DDL & DML Relationen definieren: CREATE Primärschlüssel setzen mit primary key Tabellen löschen: DROP Daten speichern: INSERT Daten

Mehr

3 Indizes. 3.1 Indexarchitektur von SQL Server. SQL Server 2008: Datenbankentwicklung

3 Indizes. 3.1 Indexarchitektur von SQL Server. SQL Server 2008: Datenbankentwicklung 3 Indizes 3.1 Indexarchitektur von SQL Server Die folgende Abbildung zeigt die Organisationsstruktur einer Tabelle. Eine Tabelle befindet sich in einer oder mehreren Partitionen, und jede Partition enthält

Mehr

Kurzanleitung ERwin V8.3 1. Kurzanleitung Erwin

Kurzanleitung ERwin V8.3 1. Kurzanleitung Erwin Kurzanleitung ERwin V8.3 1 Kurzanleitung Erwin Kurzanleitung ERwin V8.3 2 Inhalt 1 Ziel... 4 2 Model... 4 2.1 Modellelemente (Modellbaum)... 5 2.1.1 Default Values (Logische Ansicht)... 5 2.1.2 Subject

Mehr

Datenmodellierung und Datenbanksysteme. Vorlesung. Informationswissenschaft und Informationssysteme. Hans Uszkoreit & Brigi1e Jörg

Datenmodellierung und Datenbanksysteme. Vorlesung. Informationswissenschaft und Informationssysteme. Hans Uszkoreit & Brigi1e Jörg Vorlesung Informationswissenschaft und Informationssysteme Hans Uszkoreit & Brigi1e Jörg Definitionen Data modeling in software engineering is the process of creating a data model by applying formal data

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

Kapitel 3 Datenintegrität

Kapitel 3 Datenintegrität Kapitel 3 Datenintegrität Flien zum Datenbankpraktikum Wintersemester 2012/13 LMU München 2008 Thmas Bernecker, Tbias Emrich 2010 Tbias Emrich, Erich Schubert unter Verwendung der Flien des Datenbankpraktikums

Mehr

5. SQL: Erstellen von Tabellen. Erzeugen und Löschen von Tabellen. Umgang mit Bedingungen (Constraints) Einfügen und Löschen von Daten

5. SQL: Erstellen von Tabellen. Erzeugen und Löschen von Tabellen. Umgang mit Bedingungen (Constraints) Einfügen und Löschen von Daten 5. SQL: Erstellen von Tabellen Erzeugen und Löschen von Tabellen Umgang mit Bedingungen (Constraints) Einfügen und Löschen von Daten 106 SQL Structured Query Language Historie: Anfänge ca. 1974 als SEQUEL

Mehr

Datenbanken. 5 Tabellen. Karl Meier [email protected] 12.10.2010. Inhalt. Domänen verwenden Tabellen anzeigen, ändern, löschen Übung

Datenbanken. 5 Tabellen. Karl Meier karl.meier@kasec.ch 12.10.2010. Inhalt. Domänen verwenden Tabellen anzeigen, ändern, löschen Übung Datenbanken 5 Tabellen Karl Meier [email protected] 12.10.2010 Tabellen erstellen en Integritätsregeln Inhalt Domänen verwenden Tabellen anzeigen, ändern, löschen Übung 2 1 Einfache Tabellen erstellen

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

SQL (Structured Query Language) Schemata Datentypen

SQL (Structured Query Language) Schemata Datentypen 2 SQL Sprachelemente Grundlegende Sprachelemente von SQL. 2.1 Übersicht Themen des Kapitels SQL Sprachelemente Themen des Kapitels SQL (Structured Query Language) Schemata Datentypen Im Kapitel SQL Sprachelemente

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

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

Datenintegrität. Bisherige Integritätsbedingungen

Datenintegrität. Bisherige Integritätsbedingungen Datenintegrität Integitätsbedingungen chlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung statische Bedingungen an den Zustand der Datenbasis dynamische Bedingungen an Zustandsübergänge

Mehr

IV. Datenbankmanagement

IV. Datenbankmanagement Wirtschaftsinformatik 2 (PWIN) IV. Datenbankmanagement Kapitel 2: Datenmanipulationssprache SQL Wirtschaftsinformatik 2 (PWIN) SS 2009, Professur für Mobile Business & Multilateral Security 1 Agenda 1.

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 2009 Kapitel 3: Datenbanksysteme Vorlesung:

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

In die Zeilen würden die Daten einer Adresse geschrieben werden. Das Ganze könnte in etwa folgendermaßen aussehen:

In die Zeilen würden die Daten einer Adresse geschrieben werden. Das Ganze könnte in etwa folgendermaßen aussehen: 1 Einführung in Datenbanksysteme Fast jeder kennt Excel und hat damit in seinem Leben schon einmal gearbeitet. In Excel gibt es Arbeitsblätter, die aus vielen Zellen bestehen, in die man verschiedene Werte

Mehr

MySQL: SELECT-Abfragen über mehrere Tabellen (JOINs)

MySQL: SELECT-Abfragen über mehrere Tabellen (JOINs) MySQL: SELECT-Abfragen über mehrere Tabellen (JOINs) Grau hinterlegte Folien enthalten Detailthemen und sind nicht superwichtig. Beispiel kunden (kunde_id, name, ñort_postleitzahl) orte (postleitzahl,

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

Referentielle Integrität

Referentielle Integrität Datenintegrität Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung statische Integritätsbedingungen Bedingungen an den Zustand der Datenbasis dynamische

Mehr

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

Datenintegrität. Arten von Integritätsbedingungen. Statische Integritätsbedingungen. Referentielle Integrität. Integritätsbedingungen in SQL. Datenintegrität Arten von Integritätsbedingungen Statische Integritätsbedingungen Referentielle Integrität Integritätsbedingungen in SQL Trigger 1 Datenintegrität Einschränkung der möglichen Datenbankzustände

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: [email protected] (Praktische

Mehr

3 Arbeiten mit geographischen Daten

3 Arbeiten mit geographischen Daten 3 Arbeiten mit geographischen Daten 3.1 Spatial Datatypes: Bisher wurden Koordinaten nur von GIS-Systemen verwendet. Es gibt immer mehr Applikationen, die geographische und/oder geometrische Daten verarbeiten.

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

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

Hochschule Karlsruhe Technik und Wirtschaft- 10.7.2013. Anhänge: Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Prof. Schmidt. Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Datenbanken und Informationssysteme II Szenario: Projektverwaltung. Es gibt Projekte, Projektleiter, Mitarbeiter und ihre Zuordnung zu Projekten.

Mehr

Grundlagen des relationalen l Modells

Grundlagen des relationalen l Modells Grundlagen des relationalen l Modells Seien D 1, D 2,..., D n Domänen (~Wertebereiche) Relation: R D 1 x... x D n Bsp.: Telefonbuch string x string x integer Tupel: t R Bsp.: t = ( Mickey Mouse, Main Street,

Mehr

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

(Von der Nähe zur Distanz zum User geordnet) Datebanken Was ist eigentlich eine Datenbank? Datenbanken, Datenhaltungsschicht und Datenbankensysteme (hier als Synonyme zu verstehen) finden viele unterschiedliche Anwendungsbereiche. Datenbanken kann

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

7. Übung - Datenbanken

7. Übung - Datenbanken 7. Übung - Datenbanken Informatik I für Verkehrsingenieure Aufgaben inkl. Beispiellösungen 1. Aufgabe: DBS a Was ist die Kernaufgabe von Datenbanksystemen? b Beschreiben Sie kurz die Abstraktionsebenen

Mehr

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

Datenintegrität. Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen Datenintegrität Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen Formulierung von Integritätsbedingungen ist die wichtigste Aufgabe des DB-Administrators!

Mehr

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

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

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

Übung 1: Ein Website News-System mit MySQL

Übung 1: Ein Website News-System mit MySQL Übung 1: Ein Website News-System mit MySQL In der Vorübung haben wir bereits mit Hilfe eines ERMs den Datenbankentwurf erstellt und daraus die folgenden Tabellen abgeleitet: Nun muss diese Datenbank in

Mehr

7 Die Reorganisation von DB2

7 Die Reorganisation von DB2 Ab und an sollte eine Tabelle reorganisiert werden. Besonders, nachdem größere Datenmengen eingefügt oder gelöscht wurden, muß über eine Reorganisation nachgedacht werden. Eine optimale Performance ist

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

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

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

Projektbericht Gruppe 12. Datenbanksysteme WS 05/ 06. Gruppe 12. Martin Tintel Tatjana Triebl. Seite 1 von 11 Datenbanksysteme WS 05/ 06 Gruppe 12 Martin Tintel Tatjana Triebl Seite 1 von 11 Inhaltsverzeichnis Inhaltsverzeichnis... 2 1. Einleitung... 3 2. Datenbanken... 4 2.1. Oracle... 4 2.2. MySQL... 5 2.3 MS

Mehr

Referentielle Integrität

Referentielle Integrität Datenintegrität Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung statische Integritätsbedingungen Bedingungen an den Zustand der Datenbasis dynamische

Mehr

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

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

Mehr

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

Die SQL-Syntax für den Befehl CREATE TABLE sieht folgendermassen aus: Einführung in MySQL SQL (Structured Query Language) ist eine Computersprache zum Speichern, Bearbeiten und Abfragen von Daten in relationalen Datenbanken. Eine relationale Datenbank kann man sich als eine

Mehr

Tag 4 Inhaltsverzeichnis

Tag 4 Inhaltsverzeichnis Tag 4 Inhaltsverzeichnis Normalformen Problem Formen (1-4) Weitere Formen Transaktionen Synchronisationsprobleme Überblick Autocommit Locking Savepoints Isolation levels Übungen RDB 4-1 Normalformen Problematik

Mehr

Objektrelationale, erweiterbare Datenbanken WS 04/05

Objektrelationale, erweiterbare Datenbanken WS 04/05 Eidgenössische Technische Hochschule Zürich Swiss Federal Institute of Technology Zurich Institut für Informationssysteme Dr.C.Türker Objektrelationale, erweiterbare Datenbanken WS 0405 Übung 8 Aufgabe

Mehr

Kapitel 7 Datenbank-Tuning

Kapitel 7 Datenbank-Tuning Kapitel 7 Datenbank-Tuning Flien zum Datenbankpraktikum Wintersemester 2012/13 LMU München 2008 Thmas Bernecker, Tbias Emrich 2010 Tbias Emrich, Erich Schubert unter Verwendung der Flien des Datenbankpraktikums

Mehr

Probeklausur Datenbanktechnologie

Probeklausur Datenbanktechnologie Probeklausur Datenbanktechnologie Prof. Dr. Ingo Claßen Name: Vorname: MatrNr: Bewertung 1 25 2 15 3 10 4 10 Übung 40 Σ = 100 Punkte Punkte: Note: Notenspiegel 100 95 1,0 94 90 1,3 89 85 1,7 84 80 2,0

Mehr

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

PHP & MySQL. MySQL Einführung. Zellescher Weg 12 Willers-Bau A109 Tel. +49 351-463 - 32424. Michael Kluge (Michael.Kluge@tu-dresden. Zentrum für Informationsdienste und Hochleistungsrechnen (ZIH) PHP & MySQL MySQL Einführung Zellescher Weg 12 Willers-Bau A109 Tel. +49 351-463 - 32424 ([email protected]) Inhalt Grundsätzliches

Mehr

Kapitel 33. Der xml-datentyp. In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023

Kapitel 33. Der xml-datentyp. In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023 Kapitel 33 Der xml-datentyp In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023 995 996 Kapitel 33: Der xml-datentyp Eine der wichtigsten

Mehr

Gregor Kuhlmann Friedrich Müllmerstadt. MySQL. Der Schlüssel zu Datenbanken-Design und -Programmierung. c 3 E. i- O Rowohlt Taschenbuch Verlag

Gregor Kuhlmann Friedrich Müllmerstadt. MySQL. Der Schlüssel zu Datenbanken-Design und -Programmierung. c 3 E. i- O Rowohlt Taschenbuch Verlag Gregor Kuhlmann Friedrich Müllmerstadt MySQL Der Schlüssel zu Datenbanken-Design und -Programmierung r?: X c 3 E i- O uu Rowohlt Taschenbuch Verlag Inhalt Editorial 11 Einleitung 12 1 Einführung in das

Mehr