220 likes | 401 Views
Einführung in Datenbankmodellierung und SQL. 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. Datenbankmodellierung. Analyse der Datenstruktur
E N D
Einführung in Datenbankmodellierung und SQL Institut für Mathematik, Universität Wien, Strudlhofgasse 4, A-1090 Wien
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
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
Beispiel: Abbildung eines Rechnungsbeleges Attribute eines Rechnungsbeleges • Rechnungsnummer • Rechnungsdatum • Kunde • Artikelpositionen (Artikelnummer, Anzahl) Institut für Mathematik, Universität Wien, Strudlhofgasse 4, A-1090 Wien
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
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
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. Institut für Mathematik, Universität Wien, Strudlhofgasse 4, A-1090 Wien
2. Normalform • Auflösung der „teilweisen“ Relation durch Einführung einer weiteren Tabelle. (= Artikel) Institut für Mathematik, Universität Wien, Strudlhofgasse 4, A-1090 Wien
Und so schaut‘s aus... Institut für Mathematik, Universität Wien, Strudlhofgasse 4, A-1090 Wien
Anmerkungen • Modellierung nach unterschiedlichen Gesichtspunkten anhand des Gesamtpreises • Redundanzvermeidung: Bei jeder Ausgabe bzw. Anzeige errechnen • Geschwindigkeit: Im Rechnungskopf speichern. Institut für Mathematik, Universität Wien, Strudlhofgasse 4, A-1090 Wien
SQL • DDL (Data Definition Language) • CREATE • ALTER • DROP • DML (Data Modelling Language) • SELECT • INSERT • UPDATE • DELETE Institut für Mathematik, Universität Wien, Strudlhofgasse 4, A-1090 Wien
Praktisches Arbeiten • Datenbank „mySQL“ • SQL GUI „myCC“ • Dokumentation f. SQL • Beide Produkte sind Open Source (= gratis) • Download von „www.mysql.com“ Institut für Mathematik, Universität Wien, Strudlhofgasse 4, A-1090 Wien
SELECT SELECT * FROM rechnung WHERE rechnungsnummer > 2 AND kunde LIKE „Eastwood%“ Institut für Mathematik, Universität Wien, Strudlhofgasse 4, A-1090 Wien
SELECT (schon wieder) SELECT * FROM rechnung WHERE rechnungsnummer IN (2,3,4) SELECT * FROM rechnung WHERE rechnungsnummer BETWEEN 2 AND 4 Institut für Mathematik, Universität Wien, Strudlhofgasse 4, A-1090 Wien
SELECT SELECT *, artikelName FROM artikelposition a, artikel b WHERE a.artikelNummer = b.artikelNummer AND rechnungsNummer = 1 ORDER BY artikelName DESC Institut für Mathematik, Universität Wien, Strudlhofgasse 4, A-1090 Wien
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 Institut für Mathematik, Universität Wien, Strudlhofgasse 4, A-1090 Wien
INSERT INSERT INTO rechnung SET rechnungsNummer = 1, datum = "2003/05/01", kunde = „Stallone S."; Institut für Mathematik, Universität Wien, Strudlhofgasse 4, A-1090 Wien
UPDATE UPDATE rechnung SET kunde = „Stallone S.“ WHERE rechnungsNummer = 4 Institut für Mathematik, Universität Wien, Strudlhofgasse 4, A-1090 Wien
DELETE DELETE FROM rechnung WHERE rechnungsNummer = 4 Institut für Mathematik, Universität Wien, Strudlhofgasse 4, A-1090 Wien
Links http://www.mysql.com http://ffm.junetz.de/members/reeg/ http://www.geocities.com/SiliconValley/Vista/2207/sql1.html Institut für Mathematik, Universität Wien, Strudlhofgasse 4, A-1090 Wien
Und aus.... Danke für die Aufmerksamkeit.... Institut für Mathematik, Universität Wien, Strudlhofgasse 4, A-1090 Wien