Datenbanken. Christian Heidrich. 15.02.2007 Datenbanken Wie sag ich s meinen Schülern?!



Ähnliche Dokumente
Abfragen: Grundbausteine

Das SQL-Schlüsselwort ALL entspricht dem Allquantor der Prädikatenlogik

Aufbau des SELECT-Befehls. Im Folgenden werden zunächst Abfragen aus einer Tabelle vorgenommen.

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

7. Übung - Datenbanken

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

Erstellen einer Datenbank. Datenbankabfragen

105.3 SQL-Datenverwaltung

Datenbanken. Ein DBS besteht aus zwei Teilen:

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP

Probeklausur im Modul Informationstechnik 1, WS 2003/04. Studiengang IWD 1. Semester Seite 1 von 5

Informatik 12 Datenbanken SQL-Einführung

Vielen Dank an Dennis Riehle für die Bereitstellung dieser Folien

1. Funktionen und Datenflüsse; Tabellenkalkulationssysteme

SQL. SQL = Structured Query Language, ist eine standardisierte Sprache zum Gebrauch im Zusammenhang mit Datenbanken.

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

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

Sie sollen eine Datenbank für Befragungen mittels Online-Fragebögen zu unterschiedlichen Themen erstellen:

Michaela Weiss 01. April Lerneinheit 4: Relationale Datenbanken am Beispiel von MySQL

Ein Beispiel: Tabelle DICHTER

Abbildung 1: Das ERM. Nun zu den Tabellen: Zunächst wird aus jeder Entity eine Tabelle, d.h. wir erhalten:

SQL - Übungen Bearbeitung der Datenbank Personal (1)

Fachbereich Informatik Praktikum 1

SQL structured query language

Datenbank - Teil 3. Ziele: Eine Datenbank anlegen mit SQL. Daten eingeben mit SQL. Abfragen stellen mit SQL und PHP.

Grundlagen Datenbanken Sommersemester 2008

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

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

Labor 3 - Datenbank mit MySQL

BILDUNGSANGEBOTE FÜR UNTERNEHMEN LEHRGÄNGE IM IT-BEREICH

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP

Der Einsatz von MySQL-Datenbanken (mit XAMPP)

Relationale Datenbanken in der Praxis

SQL Teil 2. SELECT Projektion Selektion Vereinigung, Schnitt, Differenz Verbund Komplexer SELECT-Ausdruck

2 Grundlagen in MySQL und phpmyadmin

Oracle Forms. Aufbau und Bestandteile von Formularen. Erstellen eines neuen Blocks. Starten von Oracle Forms

E-Commerce: IT-Werkzeuge. Web-Programmierung. Kapitel 6: Datenbankabfragen mit SQL und PHP. Stand: Übung WS 2014/2015

Verwaltung großer Datenmengen auf einem Netzwerklaufwerk. Ein Vergleich zwischen MS-ACCESS und SQLite.

Selbst ist die Frau / der Mann: eine eigene Homepage erstellen!

Kapitel 2 Die Datenbank Buchausleihe Seite 1

Übungen zu Datenbanksysteme

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

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

IV. Datenbankmanagement

Aufgaben zur fachwissenschaftlichen Prüfung Modul 3 Daten erfassen, ordnen, verarbeiten und austauschen: Schwerpunkt Datenbanken

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

Symbole und Schnittvorlagen aus

Datenbanken mit OpenOffice-Base Tabellen und einfache Abfragen

Installation Hardlockserver-Dongle

Datenbanken Microsoft Access 2010

Eine völlig andere Form Abfragen zu erstellen ist, sie mit Hilfe der Datenbankabfragesprache SQL zu gestalten.

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

Das Schulsystem in Deutschland (Band 2, Lektion 1)

Whitepaper. Produkt: combit Relationship Manager. Einbindung externer FiBu-/Warenwirtschaftsdaten. combit GmbH Untere Laube Konstanz

Business Intelligence Praktikum 1

PHP Kurs Online Kurs Analysten Programmierer Web PHP

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP

Unterrichtsreihe: Freizeit und Unterhaltung

ABTEILUNGS- ABTEILUNGS- LEITER NAME

Datumsangaben, enthält mindestens Jahr, Monat, Tag

50 Fragen zu Datenbanken

Allgemeines zu Datenbanken

mygesuad Download: Wamp/Lamp Systemumgebungen:

Abfrage-Befehle in MySQL -diverse Funktionen -

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

Anleitung konten als Admin verwalten

Datenbanken. Erstellen des Semantischen Modells. Manuel Friedrich. Schiller-Gymnasium Hof

Österreichische Trachtenjugend

ACCESS das Datenbankprogramm. (Einführung) DI (FH) Levent Öztürk

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

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP

MySQL Installation. AnPr

5. Datenabfrage mit SQL

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

Fachhochschule Deggendorf Platzziffer:...

Lest in der Gruppe die Themenübersicht durch. Wechselt euch ab beim Vorlesen.

BlueEvidence Services in Elexis

Anleitung zur Registrierung von MSDNAA (DreamSpark) und Erwerb der Microsoft Produkte

Content Management Datenbanken, Schnittstellen

Informatik für Ökonomen II Übung 0

Datenbanken Kapitel 2

Whitepaper. Produkt: combit Relationship Manager. Einbindung externer FiBu-/Warenwirtschaftsdaten. combit GmbH Untere Laube Konstanz

Klausur zur Vorlesung Datenbanken I im Wintersemester 2011/12

Kapitel 3 Abfragen mit SQL Seite 1. Abbildung 3.1: Die Datenbank EDV_Kurse

Anleitung zur Einrichtung einer ODBC Verbindung zu den Übungsdatenbanken

Options- und Freitext-Modul Update-Anleitung

SEMINARINHALTE PROZESSE, CRM UND REPORTING:

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

Leseprobe: SQL mit MySQL - Band 4 Kompendium mit Online-Übungs-DB. Kompendium zur schnellen Kurzinformation der Datenbanksprache SQL/MySQL 5.

Referenzielle Integrität SQL

Inhaltsverzeichnis. Vorwort... 3 Installation von XAMPP... 3 Installation von Joomla... 8 Schlusswort Copyright

Business Intelligence Praktikum 1

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

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

Data Cube. Aggregation in SQL. Beispiel: Autoverkäufe. On-line Analytical Processing (OLAP) 1. Einführung. 2. Aggregation in SQL, GROUP BY

ER-Modell. Entity-Relationship-Model

Informationen zu Abiturfächern, Einbringungen und Punktehürden in der Abiturprüfung

Oracle 10g Einführung

Transkript:

Datenbanken Christian Heidrich

Lehrplan Gymnasium Inf 9.2 (NTG) Realschule Inf 8.3 und 10.1 Fachoberschule (Technik) TI 12.3

Unterrichtliche Gliederung Einblick: Große Datenmengen und ihre Verwaltung (2) Datenbanken mit einer Tabelle (8) Datenbanken mit mehreren Tabellen (13) Aspekte der Datenpflege/-sicherheit (4) Komplexes Anwendungsbeispiel (11)

Unterrichtliche Gliederung Einblick: Große Datenmengen und ihre Verwaltung (2) Datenbanken mit einer Tabelle (8) Klassendiagramm und relationale Datenbank Einfache Abfragen Abfragen mit Aggregatfunktionen Datenbanken mit mehreren Tabellen (13) Aspekte der Datenpflege/-sicherheit (4) Komplexes Anwendungsbeispiel (11)

Klassendiagramm Tabelle EINKAUF Kunde Geschlecht Sparte Warenbezeichnung Preis Zahlungsart Geschäft Kaufdatum

Unterrichtliche Gliederung Einblick: Große Datenmengen und ihre Verwaltung (2) Datenbanken mit einer Tabelle (8) Klassendiagramm und relationale Datenbank Einfache Abfragen Abfragen mit Aggregatfunktionen Datenbanken mit mehreren Tabellen (13) Aspekte der Datenpflege/-sicherheit (4) Komplexes Anwendungsbeispiel (11)

Abfragen-Baustein: Selektion

Abfragen-Baustein: Projektion

Abfragen: SQL SELECT Warenbezeichnung, Preis FROM einkauf WHERE Preis > 5; Projektion Selektion Ergebnistabelle

Unterrichtliche Gliederung Einblick: Große Datenmengen und ihre Verwaltung (2) Datenbanken mit einer Tabelle (8) Klassendiagramm und relationale Datenbank Einfache Abfragen Abfragen mit Aggregatfunktionen Datenbanken mit mehreren Tabellen (13) Aspekte der Datenpflege/-sicherheit (4) Komplexes Anwendungsbeispiel (11)

Abfragen mit Aggregatfunktionen SELECT Kunde, COUNT(*) AS Anzahl FROM einkauf WHERE Zahlungsart = bar' GROUP BY Kunde;...

Unterrichtliche Gliederung Einblick: Große Datenmengen und ihre Verwaltung (2) Datenbanken mit einer Tabelle (8) Datenbanken mit mehreren Tabellen (13) Redundante Daten Entwurf einer Datenbank, Klassendiagramm Umsetzung der 1:n-Beziehung Fremdschlüssel Abfragen Umsetzung der n:m-beziehung Datenintegrität Aspekte der Datenpflege/-sicherheit (4) Komplexes Anwendungsbeispiel (11)

Klassendiagramm BAND Bandname Stil 1 gibt_heraus > 0..n CD CDTitel n 1 ^ spielt_in n LIED 1 ^ enthalten_in PERSON Vorname Nachname Geburtsjahr Instrument LiedTitel Länge

Unterrichtliche Gliederung Einblick: Große Datenmengen und ihre Verwaltung (2) Datenbanken mit einer Tabelle (8) Datenbanken mit mehreren Tabellen (13) Redundante Daten Entwurf einer Datenbank, Klassendiagramm Umsetzung der 1:n-Beziehung Fremdschlüssel Abfragen Umsetzung der n:m-beziehung Datenintegrität Aspekte der Datenpflege/-sicherheit (4) Komplexes Anwendungsbeispiel (11)

Tabellenschema BAND Bandname Stil n 1 PERSON Vorname Nachname Geburtsjahr Instrument 1 0..n CD CDTitel n LIED 1 LiedTitel Länge 1. 2. Schritt: band(bandname, Stil) cd(cdtitel) cd(cdtitel, Bandname ) person(vorname, person(nr, Vorname, Nachname, Geburtsjahr, Nachname, Geburtsjahr, Instrument) lied(liedtitel, Instrument, Länge) Bandname) lied(liedtitel, Länge, CDTitel)

Tabellen abellenschema: and(bandname, Stil) d(cdtitel, Bandname ) erson(nr, Vorname, Nachname, Geburtsjahr, Instrument, Bandname) ied(liedtitel, Länge, CDTitel)

Unterrichtliche Gliederung Einblick: Große Datenmengen und ihre Verwaltung (2) Datenbanken mit einer Tabelle (8) Datenbanken mit mehreren Tabellen (13) Redundante Daten Entwurf einer Datenbank, Klassendiagramm Umsetzung der 1:n-Beziehung Fremdschlüssel Abfragen Umsetzung der n:m-beziehung Datenintegrität Aspekte der Datenpflege/-sicherheit (4) Komplexes Anwendungsbeispiel (11)

Abfragen auf mehreren Tabellen Problem: Liste aller Liedtitel der Band Devils mitsamt dem zugehörigen CD-Titel

Abfragen auf mehreren Tabellen Die Tabelle muss genannt werden, weil CDTitel in beiden Tabellen vorkommt. Lösungsversuch1: SELECT Liedtitel, cd.cdtitel FROM lied, cd WHERE Bandname= Devils ;

Abfragen auf mehreren Tabellen Ergebnis1: Alle CD-Titel passen, sie sind aber jeweils kombiniert mit jedem beliebigen Liedtitel. Liedtitel CDTitel Bad Song Hell Bad Song Heaven Good Song Hell Good Song Heaven Schlecht Hell Schlecht Heaven Gutes Lied Hell Gutes Lied Heaven

Kreuzprodukt Das Kreuzprodukt zweier Tabellen ist die Kombination aller Datensätze der einen Tabelle mit allen Datensätzen der anderen Tabelle. Liedtitel CDTitel Bad Song Hell Bad Song Heaven Good Song Hell Good Song Heaven Schlecht Hell Schlecht Heaven Gutes Lied Hell Gutes Lied Heaven

Kreuzprodukt und Join Lösungsversuch2: SELECT Liedtitel, cd.cdtitel FROM lied, cd Joinbedingung WHERE Bandname= Devils AND lied.cdtitel=cd.cdtitel;

Kreuzprodukt und Join Ergebnis2: Mit Hilfe der Joinbedingung lied.cdtitel=cd.cdtitel erhält man das gewünschte Ergebnis. Liedtitel CDTitel Bad Song Hell Good Song Hell Gutes Lied Heaven

Abfrage: Beispiel 1 Welche Musiker (Vor- und Nachname) spielen auf der CD Spain? cd(cdtitel, Bandname ) person(nr, Vorname, Nachname, Geburtsjahr, Instrument, Bandname) SELECT Vorname, Nachname FROM person, cd WHERE person.bandname=cd.bandname AND CDTitel= Spain ;

Abfrage: Beispiel 2 Auf wie vielen CDs wirkt Katja Biller mit? cd(cdtitel, Bandname ) person(nr, Vorname, Nachname, Geburtsjahr, Instrument, Bandname) SELECT COUNT(CDTitel) FROM person, cd WHERE person.bandname=cd.bandname AND Vorname= Katja AND Nachname= Biller ;

Unterrichtliche Gliederung Einblick: Große Datenmengen und ihre Verwaltung (2) Datenbanken mit einer Tabelle (8) Datenbanken mit mehreren Tabellen (13) Redundante Daten Entwurf einer Datenbank, Klassendiagramm Umsetzung der 1:n-Beziehung Fremdschlüssel Abfragen Umsetzung der n:m-beziehung Datenintegrität Aspekte der Datenpflege/-sicherheit (4) Komplexes Anwendungsbeispiel (11)

n:m-beziehung Modellierung Sportverein PERSON ORT PLZ Ortsname 1 < wohnt_in n Vorname Nachname Geburtsdatum Geschlecht Straße Telefon ist_mitglied_von > m n ABTEILUNG Sportart Beitrag

Sportverein Datentabellen PLZ Ortsname 91054 Erlangen 91056 Erlangen 92318 Neumarkt Sportart Beitrag Fußball 135,00 Golf 500,00 Gymnastik 120,00 M_I Vorname Nachname Geburtsda Geschle Plz Strasse Telefon D tum cht 206 Christian Heidrich 11.11.1911 m 91056 xxx-straße 66 09131/999999 Wie verbindet man die Mitglieder 207 Albert Einstein 28.03.1879 m 92318 Einsteinstraße 11 09181/12345 mit den Sportarten? 208 Heidi Hofmann 13.01.1967 w 92318 Hofmannstraße 3 209 Dora Dollmann 23.05.1980 w 92318 Wolfsteinstr. 7 210 Manfred Schmidt 08.08.1888 m 92318 Müllerweg 7

n:m-beziehung 1. Versuch PLZ Ortsname 91054 Erlangen 91056 Erlangen 92318 Neumarkt Sportart Beitrag Mitglied Fußball 135,00 206 207 208 Golf 500,00 210 Gymnastik 120,00 208 209 206 M_I Vorname Nachname Geburtsda Geschle Plz Strasse Telefon D tum cht 206 Christian Heidrich 11.11.1911 m 91056 xxx-straße 66 09131/999999 Geht nicht, weil in einem 207 Albert Einstein 28.03.1879 m 92318 Einsteinstraße 11 09181/12345 208 Heidi Hofmann 13.01.1967 w 92318 Hofmannstraße 3 Tabellenfeld mehrere Werte stehen. 209 Dora Dollmann 23.05.1980 w 92318 Wolfsteinstr. 7 210 Manfred Schmidt 08.08.1888 m 92318 Müllerweg 7

n:m-beziehung 2. Versuch PLZ Ortsname 91054 Erlangen 91056 Erlangen 92318 Neumarkt Sportart Beitrag Fußball 135,00 Golf 500,00 Gymnastik 120,00 M_I Vorname Nachname Geburtsda Geschlecht Plz Strasse Telefon Sportart D tum M_I Vorname Nachname Geburtsda Geschle Plz Strasse Telefon 206D Christian Heidrich 11.11.1911 tum m cht 91056 xxx-straße 66 09131/9999 Fußball 206 Geht Christian nicht, Heidrich weil 11.11.1911in m einem 91056 xxx-straße 99 66 09131/999999 Gymnastik 207 Albert Einstein 28.03.1879 m 92318 Einsteinstraße 09181/1234 Fußball 207 Albert Einstein 28.03.1879 m 92318 11 Einsteinstraße 5 11 09181/12345 Tabellenfeld mehrere Werte stehen. 208 Heidi Hofmann 13.01.1967 w 92318 Hofmannstraße 208 Heidi Hofmann 13.01.1967 w 92318 3 Hofmannstraße 3 Fußball Gymnastik 209 Dora Dollmann 23.05.1980 w 92318 Wolfsteinstr. 7 Gymnastik 209 Dora Dollmann 23.05.1980 w 92318 Wolfsteinstr. 7 210 210 Manfred Manfred Schmidt Schmidt 08.08.1888 08.08.1888 m m 92318 92318 Müllerweg Müllerweg 7 7 Golf

n:m-beziehung Lösung PLZ Ortsname 91054 Erlangen 91056 Erlangen 92318 Neumarkt Mitglied Sportart 206 Fußball 206 Gymnastik 207 Fußball 208 Fußball 208 Gymnastik 209 Gymnastik 210 Golf Sportart Beitrag Fußball 135,00 Golf 500,00 Gymnastik 120,00 M_I Vorname Nachname Geburtsda Geschle Plz Strasse Telefon D tum cht 206 Christian Heidrich 11.11.1911 m 91056 xxx-straße 66 09131/999999 207 Albert Einstein 28.03.1879 m 92318 Einsteinstraße 11 09181/12345 208 Heidi Hofmann 13.01.1967 w 92318 Hofmannstraße 3 209 Dora Dollmann 23.05.1980 w 92318 Wolfsteinstr. 7 210 Manfred Schmidt 08.08.1888 m 92318 Müllerweg 7

Unterrichtliche Gliederung Einblick: Große Datenmengen und ihre Verwaltung (2) Datenbanken mit einer Tabelle (8) Datenbanken mit mehreren Tabellen (13) Aspekte der Datenpflege/-sicherheit (4) Komplexes Anwendungsbeispiel (11)

Projekt Kleine Gruppen (3-4 Schüler) Mögliche Themen Flugbuchungen Schuldatenverwaltung Fahrradverleih Geographische Daten

Projekt Meilensteine: Klassenmodell Datenbank mit Spieldaten Abfragen Rechte für Benutzergruppen Präsentation der Ergebnisse

Werkzeuge MS-Access kommerziell typischerweise Einzelplatzsystem eingängige Bedienung für MS-Benutzer MySQL frei verfügbar Datenbankserver phpmyadmin als Client

MySQL mit phpmyadmin MySQL- Datenbankserver php Apache- Webserver Browser Server Arbeitsplatzrechner

XAMPP MySQL-Datenbankserver Apache-Webserver FileZilla-FTP-Server Mercury-EMail-Server Quelle: http://www.apachefriends.org/de/xampp.html

Datenbanken Kontakt: christian.heidrich@fen-net.de Handreichungen: http://www.isb.bayern.de Fächer Informatik Publikationen