Einführung in Datenbankmodellierung und SQL

Slides:



Advertisements
Ähnliche Präsentationen
ER-Datenmodell und Abfragen in SQL
Advertisements

Datenbankdesign mit ACCESS.
Folien 2-5, 7-8 © Prof. Dr. Manfred Rössle (FH Aalen)
System J – Compiler – Praktikum: Datenbanksystementwicklung Knut Stolze
MySQL.
Prof. Dr. Andreas Schmietendorf
Allgemeine Technologien II
Systemüberblick Beispiele: Microsoft Access Oracle Ingres Informix
Kapitel 3: Das Relationenmodell
Recap - Kapitel 3 « Das Relationenmodell »
SendEplanung Datenbank
SQL als Abfragesprache
SQL als Abfragesprache
MySQL Der Einstieg.
IS: Datenbanken, © Till Hänisch 2000 CREATE TABLE Syntax: CREATE TABLE name ( coldef [, coldef] [, tableconstraints] ) coldef := name type [länge], [[NOT]NULL],
Otto-von-Guericke-Universität MagdeburgGamal Kassem Übung 7 Reports mit Datenbankzugriff.
SQL 2 Order by null Aggregatfunktionen group by Join subselect.
November 2002.
Datenmodellierung - Aufbau einer Datenbank -
Datenbanken 10: Einfügen, Ändern, Löschen
Erhard Künzel für Info 9. Klasse: digitale-schule-bayern.de © Erhard Künzel.
Abfragen – Tipps und Tricks Buch S102ff (Informatik I, Oldenbourg-Verlag) Nach einer Vorlage von Dieter Bergmann.
Buch S70ff (Informatik I, Oldenbourg-Verlag)
SQL in Visual FoxPro. © 1999 TMN-Systemberatung GmbH SQL Historie n SQL - Structured Query Language n In den 70er Jahren von IBM entwickelt n 1986 zum.
Einführung und Überblick
SQL-Tutorium Ernst Rodlmayr.
... und alles was dazugehört
SQL PHP und MySQL Referat von Katharina Stracke und Carina Berning
Datenbanken?.
Datenbank.
Access 2000 Willkommen im Access-Kurs Oliver Mochmann.
PHP und MYSQL am Organisatorisches Der komplette Kurs im Schnelldurchgang Bewertung von wichtig und unwichtig Historisch Kulturwissenschaftliche.
Normalisierung Referat zur Veranstaltung: Datenbanktechnologie, mit praktischen Übungen in eXist und XQuery Datum: 18. April 2011 (3.Sitzung) Dozent: Daniel.
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #4 SQL (Teil 1)
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
Vorlesung #4 SQL (Teil 1).
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #3 ER Modellierung.
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #6 SQL (Teil 1)
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #4 SQL (Teil 1)
Befehle in SQL Erläuterungen.
Ausgabe vom Seite 1, XML Eine Einführung XML - Eine Einführung.
Datenbanksysteme für hörer anderer Fachrichtungen
DI (FH) DI Roland J. Graf MSc (GIS) U N I V E R S I T Ä T S L E H R G A N G Geographical Information Science & Systems UNIGIS.
Freiwillige Feuerwehr der Stadt Perg
Aggregatsfunktion SQL = Structured Query Language.
Verdichten von Daten mit Gruppenfunktionen
Aufbau, Theorie und Anwendung (im Unterricht)
Structured Query Language
WS 2014/15 Datenbanksysteme D0 15:15 – 16:45 R Vorlesung #6 SQL (Teil 3)
Datenbanken Eine Einführung.
Datenbank System (DBS) - Warum?
Datenbank für Skriptenverkauf
PHPmyadmin Maya Kindler 6c.
Datenbanken abfragen mit SQL
Modellierungsspezialisten DRITTE NORMALFORM! „Bei der Abfrage, können wir dann alles wieder zusammenfügen!“
SQL Structured Query Language Enzio Thiem. INHALT CREATE TABLE Anweisung Gängige Datentypen Beispiel CREATE TABLE Beispiel CREATE TABLE - erweitert Beispiel.
LK Informatik - Datenbanken Normalisierung von Datenbanken April/Mai 2004 (2009) Paul-Natorp-Oberschule.
GUI lokaler Speicher Datenbank
SQL Basics Schulung –
Sprachumfang von SQL Vier Kategorien DDL (Data Definition Language)
Vorlesung #4 Relationales Kalkül und SQL (Teil 1)
Aggregatfunktionen.
Wirtschaftsinformatik
Beispiele zur Datenänderung
Create Table, Rechte und Rollen
Kapitel 6: Datenbanksysteme
Die erste Form der INSERT-Anweisung dient der Neueingabe von Daten:
2.3 Gruppierte Datensätze
(Structured Query Language)
 Präsentation transkript:

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) Problem: Wie viel Platz soll für das Feld Artikelpositionen reserviert werden? 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. Zur Erläuterung: Artikelnummer in Tabelle eingefügt. 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) Es gibt insgesamt 5 Normalformen, 2 reichen für heute...  Institut für Mathematik, Universität Wien, Strudlhofgasse 4, A-1090 Wien

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

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

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

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

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

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

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

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

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

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

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

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