Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Einführung in Datenbankmodellierung und SQL

Ähnliche Präsentationen


Präsentation zum Thema: "Einführung in Datenbankmodellierung und SQL"—  Präsentation transkript:

1 Einführung in Datenbankmodellierung und SQL
Institut für Mathematik, Universität Wien, Strudlhofgasse 4, A-1090 Wien

2 Was ist eine Datenbank? Eine Datenbank ist ein elektronisches System zum Speichern, Verwalten und Auslesen von Daten. SQL-Datenbank (relationale DB) XML-Datenbank Objekt-Datenbank. Institut für Mathematik, Universität Wien, Strudlhofgasse 4, A-1090 Wien

3 Datenbankmodellierung
Analyse der Datenstruktur Erstellung eines Speicherungskonzeptes nach verschiedenen Gesichtspunkten (Platz, Geschwindigkeit, Sicherheit) Darstellung mittels UML (Klassen-diagramm) oder ERD (Entity Relationship Diagram) Institut für Mathematik, Universität Wien, Strudlhofgasse 4, A-1090 Wien

4 Beispiel: Abbildung eines Rechnungsbeleges
Attribute eines Rechnungsbeleges Rechnungsnummer Rechnungsdatum Kunde Artikelpositionen (Artikelnummer, Anzahl) Problem: Wie viel Platz soll für das Feld Artikelpositionen reserviert werden? Institut für Mathematik, Universität Wien, Strudlhofgasse 4, A-1090 Wien

5 1. Normalform Ein Attribut darf maximal einen Wert haben
Problem: Eindeutige Zuordnung der Artikel zu der Rechnung ist nicht möglich Institut für Mathematik, Universität Wien, Strudlhofgasse 4, A-1090 Wien

6 Normalform Zuordnung der Artikelpositionen mittels eines „zusammengesetzten Primärschlüssels“ herstellen Primärschlüssel: Eindeutige Identifikation eines Datensatzes Institut für Mathematik, Universität Wien, Strudlhofgasse 4, A-1090 Wien

7 2. Normalform Erfüllung der 1. Normalform und Abhängigkeit jedes Attributes vom gesamten Primärschlüssel. Artikelname ist nicht abhängig von Rechnungsnummer UND Artikelnummer, sondern NUR von Artikelnummer. Zur Erläuterung: Artikelnummer in Tabelle eingefügt. Institut für Mathematik, Universität Wien, Strudlhofgasse 4, A-1090 Wien

8 2. Normalform Auflösung der „teilweisen“ Relation durch Einführung einer weiteren Tabelle. (= Artikel) Es gibt insgesamt 5 Normalformen, 2 reichen für heute...  Institut für Mathematik, Universität Wien, Strudlhofgasse 4, A-1090 Wien

9 Und so schaut‘s aus... 1 Rechnung hat 1-n Artikelpositionen 1 Artikelposition entspricht genau einem Artikel Institut für Mathematik, Universität Wien, Strudlhofgasse 4, A-1090 Wien

10 Anmerkungen Modellierung nach unterschiedlichen Gesichtspunkten anhand des Gesamtpreises Redundanzvermeidung: Bei jeder Ausgabe bzw. Anzeige errechnen Geschwindigkeit: Im Rechnungskopf speichern. Siehe vorige Folie... Institut für Mathematik, Universität Wien, Strudlhofgasse 4, A-1090 Wien

11 SQL DDL (Data Definition Language) DML (Data Modelling Language)
CREATE ALTER DROP DML (Data Modelling Language) SELECT INSERT UPDATE DELETE DDL: Auf Tabellen-, Index- bzw. Datenbankebene create.sql: Datenbankscript. Skripte ermöglichen automatisches Erstellen und Initalisieren von Datenbanken bzw. Tabellen DML: Auf Recordebene Institut für Mathematik, Universität Wien, Strudlhofgasse 4, A-1090 Wien

12 Praktisches Arbeiten Datenbank „mySQL“ SQL GUI „myCC“
Dokumentation f. SQL Beide Produkte sind Open Source (= gratis) Download von „ Institut für Mathematik, Universität Wien, Strudlhofgasse 4, A-1090 Wien

13 SELECT SELECT * FROM rechnung WHERE rechnungsnummer > 2
AND kunde LIKE „Eastwood%“ Grundstruktur: Befehl: SELECT, INSERT, UPDATE, DELETE Feldselektion: „*“ oder Aufzählung Klauseln: WHERE mit Operatoren (=, <, >, <=, >=, LIKE, BETWEEN, IN) Verknüpfung der Klauseln mit AND oder OR. Klammernsetzung möglich. Hinweis zur Formatierung: Zeilenumbruch bei Klauseln fördert die Lesbarkeit des Statements Institut für Mathematik, Universität Wien, Strudlhofgasse 4, A-1090 Wien

14 SELECT (schon wieder) SELECT * FROM rechnung
WHERE rechnungsnummer IN (2,3,4) WHERE rechnungsnummer BETWEEN 2 AND 4 Institut für Mathematik, Universität Wien, Strudlhofgasse 4, A-1090 Wien

15 SELECT SELECT *, artikelName FROM artikelposition a, artikel b
WHERE a.artikelNummer = b.artikelNummer AND rechnungsNummer = 1 ORDER BY artikelName DESC Details zum sog. JOIN (Selektion mehrerer Tabellen) Selektiert alle Felder von artikelposition und das Feld artikelName von artikel Vergibt Alias-Namen für die Tabellen (a, b) => Kurzschreibweise bei nachfolgenden Klauseln „WHERE a.rechnungsNummer...“ Eigentliche Verknüpfung der beiden Tabellen. Kreuzprodukt als Ergebnis, wenn diese Verknüpfung nicht angegeben wird. Absteigende Sortierung nach artikelName. Institut für Mathematik, Universität Wien, Strudlhofgasse 4, A-1090 Wien

16 Diverse SELECTS SELECT COUNT(*) FROM rechnung Zählt Datensätze..
SELECT MAX(summe) FROM rechnung Sucht die größte Summe MIN: kleinste AVG: bildet Durchschnitt SUM: bildet Summe Zählt Datensätze Sucht den größten Rechnungsbetrag von rechnung WHERE-Klausen können wie gewohnt verwendet werden. Institut für Mathematik, Universität Wien, Strudlhofgasse 4, A-1090 Wien

17 INSERT INSERT INTO rechnung SET rechnungsNummer = 1,
datum = "2003/05/01", kunde = „Stallone S."; Liefert Fehlermeldung, wenn Primärschlüssel („primary key“) bereits vorhanden ist! Institut für Mathematik, Universität Wien, Strudlhofgasse 4, A-1090 Wien

18 UPDATE UPDATE rechnung SET kunde = „Stallone S.“
WHERE rechnungsNummer = 4 Aufpassen auf WHERE-Klausel. Vorher mit SELECT-Statement ausprobieren, ob der richtige Datensatz „getroffen“ wird. Institut für Mathematik, Universität Wien, Strudlhofgasse 4, A-1090 Wien

19 DELETE DELETE FROM rechnung WHERE rechnungsNummer = 4
Aufpassen auf WHERE-Klausel. Vorher mit SELECT-Statement ausprobieren, ob der richtige Datensatz „getroffen“ wird. Hier noch wichtiger als bei UPDATE-Statement, da hier der Datensatz unwiederbringlich futsch ist!!! Institut für Mathematik, Universität Wien, Strudlhofgasse 4, A-1090 Wien

20 Links http://www.mysql.com http://ffm.junetz.de/members/reeg/
Institut für Mathematik, Universität Wien, Strudlhofgasse 4, A-1090 Wien

21 Danke für die Aufmerksamkeit.... 
Und aus.... Danke für die Aufmerksamkeit....  Institut für Mathematik, Universität Wien, Strudlhofgasse 4, A-1090 Wien


Herunterladen ppt "Einführung in Datenbankmodellierung und SQL"

Ähnliche Präsentationen


Google-Anzeigen