Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Administrieren und Arbeiten mit Datenbanken und SQL

Ähnliche Präsentationen


Präsentation zum Thema: "Administrieren und Arbeiten mit Datenbanken und SQL"—  Präsentation transkript:

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

2 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!

3 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.)

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

5 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

6 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

7 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

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

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

10 Lösung

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

12 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!

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

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

15 Übung zu Kardinalitäten

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

17 Installation von phpMyAdmin

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

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

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

21 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).

22 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 //Buch Anhang….

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

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

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

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

27 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“

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

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

30 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

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

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

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

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

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


Herunterladen ppt "Administrieren und Arbeiten mit Datenbanken und SQL"

Ähnliche Präsentationen


Google-Anzeigen