Administrieren und Arbeiten mit Datenbanken und SQL

Slides:



Advertisements
Ähnliche Präsentationen
ER-Modell: Objekte und Klassen
Advertisements

ER-Datenmodell und Abfragen in SQL
Datenbankdesign mit ACCESS.
Zur Rolle der Sprache bei der Modellierung von Datenbanken
Labor Datenbanken und Entscheidungssysteme
Datenbankmanagementsystem
Datenmodellierung Externe Phase Informationsstruktur
Bauinformatik II Softwareanwendungen 1
MS Office-Paket: Access
Kapitel 3: Das Relationenmodell
SendEplanung Datenbank
Alternativen und Muster. Alternativen Gegeben ist eine Tabelle in der ein Attribut der Tabelle Buecher Gruppe genannt wurde. So gibt es unter anderem.
SQL als Abfragesprache
MySQL Der Einstieg.
Datenbankentwurf mit Hilfe des ER-Modells entwickeln
Entity-Relationship (ER)-Modell
Otto-von-Guericke-Universität MagdeburgGamal Kassem Übung 7 Reports mit Datenbankzugriff.
Eine objektorientierte Einführung in den Umgang mit Datenbanken
Aufgabe April 2004Übung Data Warehousing2 1: Accounts 'gruppe ' auf ' morawetz ' (IP: !) Oracle-Account gleichen Namens SQL*Plus:
Was ist eine Datenbank? ermöglicht die Eingabe von Daten
Datenmodellierung - Aufbau einer Datenbank -
Buch S73ff (Informatik I, Oldenbourg-Verlag)
OSZ-Handel--Forum.
Relationale Datenbankmodelle
... und alles was dazugehört
Wir bauen uns eine Webapplikation!
Relationale Datenbanken II
Einführung Access Einführung und Datenbankgrundbegriffe
SQL Überblick Abfragen aus einer Tabelle
(D.h. „Hallo MausFans!“ auf Japanisch).
Freiwillige Feuerwehr der Stadt Perg
Aggregatsfunktion SQL = Structured Query Language.
Informationssysteme in Unternehmen
Ihr Trainer: Gerold Hämmerle
verstehen planen bearbeiten
Relationale Datenbanken
Structured Query Language
MS Office Access 2007 UM für INI. Sie haben viele Daten? Entscheiden Sie sich für Access. Access verarbeitet Daten, und zwar alle Arten von Daten: Kundenkontakte,
Erste Einführung in SQL
Structured Query Language
Musterlösung zum Arbeitsblatt Nr. 1
Wiederholung Der wichtigste Befehl zur Datenmanipulation lautet:
PhpMyAdmin.
PHPmyadmin Maya Kindler 6c.
Was ist eine Datenbank „MS Access“
Datenbanken abfragen mit SQL
Vom Konzept zur Datenbank
BHAK/BHAS 1 Salzburg KIDM 2ASBS Schuljahr 2004/05
1 Prozesse im Studiengangsmanagement Kontext: Neues Abschlussziel erstellen Neues Studienfach erstellen.
15 Tabellen erstellen und Tabellenstruktur bearbeiten Grundlagen zu Tabellen l Tabelle l Enthält Daten zu einem bestimmten Thema l Beispiele:  Mitarbeiterdaten.
1 Prozesse im Studiengangsmanagement Kontext: Neues Abschlussziel erstellen Neues Studienfach erstellen.
Tutorium Software-Engineering SS14 Florian Manghofer.
Tutorium Software-Engineering SS14 Florian Manghofer.
SQL Basics Schulung –
Struktur von Datenbanktabellen
GrafStat Ausgabe 2009 Ein kurzer Überblick.
Sprachumfang von SQL Vier Kategorien DDL (Data Definition Language)
Create Table, Rechte und Rollen
KGV-Einstiegshilfe.
Kapitel 6: Datenbanksysteme
Die erste Form der INSERT-Anweisung dient der Neueingabe von Daten:
Von Wietlisbach, Lenzin und Winter
ER-Modell und Relationales Schema
Da·ten·bank /Dátenbank/ Substantiv, feminin [die]
Datenbank WI WAHB12 Carolin & Sarah.
Datenbanken Von Jan und Cedric.
Elemente von Datenbanken
Von Wietlisbach, Lenzin und Winter
Informatik 9 – 2.Datenbanken – 2.5 Datenbankentwurf
(Structured Query Language)
 Präsentation transkript:

Administrieren und Arbeiten mit Datenbanken und SQL Projekt: Eine Schul-Datenbank

Einstieg Die Pestalozzi-Gesamtschule verwaltet die Daten der Lehrkräfte, Schüler, Klassen und Räume nicht einheitlich: Die Schüler werden klassenweise in Excel-Tabellen aufgelistet (Schülername, Klassenname, Wohnort, Jahrgang). Die Lehrkräfte sind in einer Personalverwaltungssoftware mit den relevanten Daten wie Personalnummer, Adresse sowie der aktuellen Klassenleitung gespeichert. Die Klassen werden in einer Übersichtsliste aufgeführt (Klassenname, Schüleranzahl und Klassenraum). Für die Räume gibt es ebenfalls eine alte Papierliste, auf der die Raumnummer, die Größe (klein, mittel, groß) sowie die Anzahl der Sitzplätze festgehalten ist. Der Unterricht wird über einen große Übersichtstafel wie ein Gesamtstundenplan für die Schule dargestellt. Beurteilen Sie die Art der Datenverwaltung in der Schule! Machen Sie Optimierungsvorschläge!

Lösung Kein Datenmanagement! Keine Verbindung zwischen Datensätzen möglich. Papierlisten können veraltet sein. Daten können verschwinden. Auswertungen von Daten nicht möglich (z.B. alle Schüler jünger als 16 Jahre etc.)

Aufbau einer Datenbank für die Pestalozzi Schule Es soll ein Datenbankmanagementsystem (DBMS) für die Schule eingeführt werden. Zuvor muss die Datenbank definiert werden. Eine Datenbank ist eine systematische Sammlung von Informationen zu einem bestimmten Zweck (hier: Verwaltung der Schule). Die Schule hat bereits Daten, diese müssen nun gesammelt und systematisiert werden.

Aufbau einer Datenbank für die Pestalozzi Schule Um einen Überblick zu bekommen wird ein Entitiy-Relationship-Modell (ER-Modell) entwickelt. Das ER-Modell hilft die Datenbankstruktur zu planen. Zunächst werden die Entitäten festgelegt: Entitäten sind klar indentifizierbare Objekte der Wirklichkeit (hier der Schule) und werden im Modell in einem Rechteck dargestellt. Aufgabe: Identifizieren Sie die Entitäten der Schule? Lösung: Entität Lehrer Schüler Klasse Räume Unterricht

Aufbau einer Datenbank für die Pestalozzi Schule Zwischen den Entitäten bestehen Beziehungen. Aufgabe: Geben Sie die Beziehung zwischen den Entitäten an? Lösung: Beziehung Entität hält hat Lehrer Unterricht Klasse befindet sich besteht aus Schüler Räume

Aufbau einer Datenbank für die Pestalozzi Schule Um die Entitäten noch mit zusätzlichen relevanten Informationen zu erweitern, werden Attribute ergänzt. Entität Beziehung Schüler Name Ort Klasse Aufgabe: Ergänzen Sie die Entität „Schüler“ mit den entsprechenden Attributen (Schülername, Klassenname, Wohnort, Jahrgang). Jahrgang

Aufbau einer Datenbank für die Pestalozzi Schule Aufgabe: Ergänzen Sie nun das komplette ER-Modell der Schule mit allen Attributen, die auf Folie 2 genannt sind.

Zwischenübung 1 In einem Unternehmen gibt es mehrere Abteilungen mit jeweils einer bestimmten Menge klar zugeordneter Mitarbeiter. Jeder Mitarbeiter arbeitet innerhalb seiner Abteilung in mehreren Projekten mit. Jedes Projekt hat einen externen Auftraggeber Kunden. Erstellen Sie hierfür ein ER-Modell, das diese Realität abbildet.

Lösung

Kardinalitäten Die Beziehungen zwischen den Entitäten haben bestimmte Mengenrelationen. Die Kardinalität gibt an, wie viele Entitäten aus jeder Entitätsmenge an einer Beziehung beteiligt sein können.

Kardinalitäten 1 :1 Bei der 1:1 Beziehung hat jede Entität genau eine Entsprechung in der anderen in Beziehung stehenden Entität. Beispiel: geht Klasse 1 1 Raum Jeder Klasse hat einen eigenen Raum, sofern keine Doppelnutzungen vorliegen!

Kardinalitäten 1 :n Bei der 1:n Beziehung hat jede Entität genau mehrere in der anderen in Beziehung stehenden Entität. Beispiel: hat Klasse 1 n Schüler Jeder Klasse hat eine Anzahl Schüler, umgekehrt hat jedoch jeder Schüler nur eine Klasse.

Kardinalitäten n :m Bei der n:m Beziehung hat eine Menge Entitäten eines Objekttyps mehrere Entsprechung einer anderen Entitätsmenge Beispiel: haben Lehrer n m Fächer Jeder Lehrer kann mehrere Fächer haben. Jedes Fach kann mehrere Lehrer haben, die es unterrichten.

Übung zu Kardinalitäten https://www.hafri.de/desktop/informatik/klasse_9/uebung_kardinalitaet.pdf

Aufbau eines DBMS Das ER-Modell gibt nun die Struktur der Datenbank wieder, nun lässt sich ein DBMS aufbauen. Wir verwenden hierzu phpMyAdmin und Access.

Installation von phpMyAdmin

Aufbau der DBMS Anlegen der Tabellen (Tutorial) Verknüpfung erstellen (Tutorial) Falls PHP-Admin offline nicht läuft: Online: https://193.174.156.110/phpmyadmin/ BN: PL.60809.02 PW: changeme //(vorläufiges PW)

Anlegen der Tabellen in phpMyAdmin Wir legen nun die folgenden Tabellen an: Lehrer Unterricht Klassen Räume

Vorgehensweise für alle Tabellen Klicken Sie im linken Bildschirmrand auf: Es erscheint folgende Ansicht:

Dies Ansicht gibt die Struktur der Tabelle wieder, um sie später mit allen relevanten Daten zu füllen. Die Rubrik „Name“ gibt die Spaltenbezeichnung der späteren Tabelle. Typ ist für die verschiedenen Datentypen (integer, varchar etc. [siehe nächste Folie]). Länge/Werte bestimmt z.B. die Länge (Anzahl der Zeichen) die eingegeben werden können (z.B Eingabe „2“, es können maximal Werte bestehend aus zwei Zeichen eingegeben werden).

Eingabe Tabelle Raum Überlege welche Spalten die Tabelle benötigt. Orientiere dich dabei an den Attributen aus dem ER-Modell. Erstellen Sie eine geeignete Struktur für die Tabelle und übernehmen Sie die Daten von www.powerlerner.de //Buch Anhang….

Hinweis Eingabe Bei der Eingabe können Sie immer einen Datensatz kopieren und dann die neuen Daten ergänzen:

Im Relationen-Designer werden nun die Tabellen miteinander verknüpft:

Abfragen in SQL Mit SQL lassen sich nun Abfragen aus der Datenbank gestalten. SQL = Structured Query Language

Erste Abfragen Auswahl innerhalb einer TABELLE Wir wollen alle Klassen deren Schülerzahl größer 22 ist. SELECT klassenname FROM Klasse WHERE schuelerzahl>22

Erste Abfragen Auswahl innerhalb einer TABELLE Alle Lehrer (kuerzel, name und Fach1) mit dem Fach2 = Sport SELECT `kuerzel`,`name`,`fach1` FROM lehrer WHERE `fach2`="Sport“

Erste Abfragen Auswahl innerhalb einer TABELLE Alle Lehrer (kuerzel, name und Fach1) mit dem Fach2 = Sport SELECT klassenname FROM Klasse WHERE schuelerzahl>22

Erste Abfragen Auswahl innerhalb einer TABELLE Alle Lehrer (kuerzel, name und Fach1) mit dem Fach2 = Sport SELECT klassenname FROM Klasse WHERE schuelerzahl>22

Erste Abfragen über verschiedene TABELLEN Zeige die Wohnorte der Schüler je Klasse, allerdings immer nur einen Wohnort, sowie den Klassenlehrer. SELECT DISTINCT schueler.wohnort, klasse.klassenname, lehrer.name FROM schueler, klasse, lehrer

Erkenne den Unterschied: SELECT lehrer.name, klasse.klassenname FROM lehrer, klasse SELECT lehrer.name, klasse.klassenname FROM lehrer, klasse WHERE lehrer.klassenname = klasse.klassenname

Erklärung 1) alle Datensätze der einen Tabelle werden mit allen Datensätzen der anderen Tabelle kombiniert (Ergebnis der Abfrage ist falsch!) 2) Das Kreuzprodukt wird auf die korrekten Datensätze eingeschränkt.

Nächste Schritte: DB fertig in phpMyAdmin Als csv-Dateien auch in Access importieren. SQL-Abfragen in Access und phpMyAdmin

Aufgaben : Alle Schüler aus Ludwigshafen mit Klassenbezeichnung: # SELECT schueler.name, schueler.klassenname FROM `schueler` WHERE wohnort = "Ludwigshafen"

Anlegen der DB in Access Hier alles von Anlegen Tabellen, Verknüfpung bis Auswertung und Formulare