18
http://www.informatik.digitale-schule-bayern.de/ © Katharina Brachmann Eine erste Tabelle Buch S73ff (Informatik I, Oldenbourg-Verlag)

Http:// © Katharina Brachmann Eine erste Tabelle Buch S73ff (Informatik I, Oldenbourg-Verlag)

Embed Size (px)

Citation preview

Page 1: Http:// © Katharina Brachmann Eine erste Tabelle Buch S73ff (Informatik I, Oldenbourg-Verlag)

http://www.informatik.digitale-schule-bayern.de/ © Katharina Brachmann

Eine erste Tabelle

Buch S73ff(Informatik I, Oldenbourg-Verlag)

Page 2: Http:// © Katharina Brachmann Eine erste Tabelle Buch S73ff (Informatik I, Oldenbourg-Verlag)

http://www.informatik.digitale-schule-bayern.de/ © Katharina Brachmann

Beispiel

Wir wollen einen Online-Shop eröffnen.

Was gehört da alles dazu?

Page 3: Http:// © Katharina Brachmann Eine erste Tabelle Buch S73ff (Informatik I, Oldenbourg-Verlag)

http://www.informatik.digitale-schule-bayern.de/ © Katharina Brachmann

Beispiel

Im ersten Schritt beschäftigen wir uns nur mit den Artikeln, die wir verkaufen wollen.

ArtikelNr Bezeichnung Preis Sparte Hersteller Lagerbestand

1 Tiefsee 5,95 Buch Heyne 4

2 Spiderman 9,99 DVD Warner 3

Page 4: Http:// © Katharina Brachmann Eine erste Tabelle Buch S73ff (Informatik I, Oldenbourg-Verlag)

http://www.informatik.digitale-schule-bayern.de/ © Katharina Brachmann

Beispiel

Betrachtet man die Artikel als Objekte der Klasse ARTIKEL, so ergibt sich folgendes UML-Diagramm:

ARTIKEL

ArtikelNrBezeichnungPreisSparteHerstellerLagerbestand

KLASSENBEZEICHNER

Attribute

Methoden gibt es nicht!

artikel1:ARTIKEL

ArtikelNr=1Bezeichnung=Tiefsee

Preis=5,95Sparte=Buch

Hersteller=HeyneLagerbestand=4

Page 5: Http:// © Katharina Brachmann Eine erste Tabelle Buch S73ff (Informatik I, Oldenbourg-Verlag)

http://www.informatik.digitale-schule-bayern.de/ © Katharina Brachmann

Daten in Tabellen(Hefteintrag, Oldenbourg Informatik I, S75)

Im Gegensatz zu einem Rechenblatt müssen in einer Datenbank alle Zellen in derselben Spalte vom selben Typ sein. Wichtige Typen sind:

VARCHAR(n) Text mit bis zu n ZeichenCHAR(n) Text mit genau n ZeichenINT Ganze Zahlen von -2 Mrd bis 2 MrdFLOAT Kommazahlen mit 7 geltenden ZiffernDOUBLE Kommazahlen mit 15 geltenden ZiffernDECIMAL(n,m) Dezimalzahl mit n Stellen, davon m nach dem KommaDATE DatumTIME ZeitDATETIME Zeit mit Datum

Page 6: Http:// © Katharina Brachmann Eine erste Tabelle Buch S73ff (Informatik I, Oldenbourg-Verlag)

http://www.informatik.digitale-schule-bayern.de/ © Katharina Brachmann

Daten in Tabellen(Hefteintrag, Oldenbourg Informatik I, S74)

Umsetzung des Klassendiagramms in eine Tabelle:

aus der KLASSE ARTIKEL wird eine Tabelle artikel

Attribute werden die Spalten der Tabelle

jedes Objekt dieser Klasse wird zu einer Zeile in der Tabelle (Datensatz)

Attributwerte stehen in den Zellen der Tabelle

Page 7: Http:// © Katharina Brachmann Eine erste Tabelle Buch S73ff (Informatik I, Oldenbourg-Verlag)

http://www.informatik.digitale-schule-bayern.de/ © Katharina Brachmann

Tabellenschema(Hefteintrag)

artikel(ArtikelNr:INT, Bezeichnung:VARCHAR(n), Preis:FLOAT, Sparte:VARCHAR(n), Hersteller:VARCHAR(n), Lagerbestand:INT)

Page 8: Http:// © Katharina Brachmann Eine erste Tabelle Buch S73ff (Informatik I, Oldenbourg-Verlag)

http://www.informatik.digitale-schule-bayern.de/ © Katharina Brachmann

Eindeutige Datensätze

Wir arbeiten mit relationalen Datenbanken, die Daten in Tabellen verwalten. Die Reihenfolge der Spalten und der Datensätze spielt keine Rolle.

Je zwei Datensätze müssen sich aber in mindestens einem Feldwert unterscheiden. Warum?

Page 9: Http:// © Katharina Brachmann Eine erste Tabelle Buch S73ff (Informatik I, Oldenbourg-Verlag)

http://www.informatik.digitale-schule-bayern.de/ © Katharina Brachmann

Schlüssel(Hefteintrag, Oldenbourg Informatik I, S76)

Jede Spalte oder Kombination von Spalten, die einen Datensatz eindeutig festlegen, heißt Schlüsselkandidat der Tabelle. Aus diesen kann man einen Schlüssel auswählen. Er wird im Schema unterstrichen.

artikel(ArtikelNr:INT, Bezeichnung:VARCHAR(n), Preis:FLOAT, Sparte:VARCHAR(n), Hersteller:VARCHAR(n), Lagerbestand:INT)

Bezeichner kann kein Schlüssel sein, da es z.B. möglicherweise mehrere CDs mit dem Bezeichner „BestOf“ gibt.

Page 10: Http:// © Katharina Brachmann Eine erste Tabelle Buch S73ff (Informatik I, Oldenbourg-Verlag)

http://www.informatik.digitale-schule-bayern.de/ © Katharina Brachmann

Anlegen einer ersten Tabelle

Lege zunächst eine neue Datenbank an.Ersetze das … durch einen Namen für Deine Datenbank.

Wähle als Kollation „utf8_unicode_ci.

Page 11: Http:// © Katharina Brachmann Eine erste Tabelle Buch S73ff (Informatik I, Oldenbourg-Verlag)

http://www.informatik.digitale-schule-bayern.de/ © Katharina Brachmann

Anlegen einer ersten Tabelle

Page 12: Http:// © Katharina Brachmann Eine erste Tabelle Buch S73ff (Informatik I, Oldenbourg-Verlag)

http://www.informatik.digitale-schule-bayern.de/ © Katharina Brachmann

Anlegen einer ersten Tabelle

Nicht vergessen, beim Typ VARCHAR muss eine Länge eingegeben werden.

Page 13: Http:// © Katharina Brachmann Eine erste Tabelle Buch S73ff (Informatik I, Oldenbourg-Verlag)

http://www.informatik.digitale-schule-bayern.de/ © Katharina Brachmann

Anlegen einer ersten Tabelle

Um die Tabelle zu füllen, klickst Du einfach auf „EINFÜGEN“.

Beim Eingeben von FLOAT-Werten musst Du anstelle eines Kommas einen Punkt eingeben.

Wenn Du auf „ANZEIGEN“ klickst, siehst Du alle Einträge der Tabelle.

Page 14: Http:// © Katharina Brachmann Eine erste Tabelle Buch S73ff (Informatik I, Oldenbourg-Verlag)

SchlüsselIch denke mir eine Zahl zwischen 1 und 1000.

Versucht diese Zahl durch möglichst wenige JA/NEIN-Fragen herauszufinden.

Thomas Herrmann

Page 15: Http:// © Katharina Brachmann Eine erste Tabelle Buch S73ff (Informatik I, Oldenbourg-Verlag)

SchlüsselEs gibt zwei Möglichkeiten:

ist es 1, ist es 2, … oder

ist sie größer 500, ist sie größer 750 …

Bei der ersten Methode sind im Schnitt 500 Fragen nötig, bei der zweiten höchstens 10.

DB-Systeme verwenden die 2. Methode für schnelle Zugriffe, dazu müssen die Daten aber sortiert sein. Die Sortierung erfolgt nach den Schlüsseln.

Thomas Herrmann

Page 16: Http:// © Katharina Brachmann Eine erste Tabelle Buch S73ff (Informatik I, Oldenbourg-Verlag)

http://www.informatik.digitale-schule-bayern.de/ © Katharina Brachmann

Funktionale Abhängigkeit und Schlüssel(kandidaten)

Legt der Inhalt einer Menge von Spalten {A} auch den Inhalt einer Menge von Spalten {B} fest, so sagt man, {B} ist von {A} funktional abhängig, {A}->{B}Beispiel: {ArtNr}->{Bezeichnung, Preis, Sparte, Hersteller, Lagerbestand }

Die Schlüssel in einem Schema müssen so gewählt werden, dass alle anderen Attribute von den Schlüsselattributen funktional abhängig sind.

Findet man keine passenden Schlüssel, kann man künstliche Schlüssel einführen. Schlüsselzellen dürfen nie leer sein. (ArtNr ist so ein künstlicher Schlüssel).

Page 17: Http:// © Katharina Brachmann Eine erste Tabelle Buch S73ff (Informatik I, Oldenbourg-Verlag)

UnterschiedRechenblatt - Datenbanktabelle

Rechenblatt Datenbanktabelle

statisch:die Anzahl der Zeilen und Spalten ist fest, beim Erstellen eine neuen Rechenblattes sind alle Zellen bereits vorhanden, jedoch leer

dynamisch:die Liste der Datensätze ist ständig erzweiterbar, beim Erstellen einer neuen Datenbank existieren keine Datensätze

Zellen enthalten Daten oder Formeln, Bezüge zwischen Zellen sind also möglich

Zellen enthalten ausschließlich Daten, Bezüge zwischen Zellen sind nicht möglich

durch Abfragen können keine neuen Rechenblätter erzeugt werden

Abfragen erzeugen neue Tabellen

beliebige Zellen dürfen unabhängig von allen anderen beliebigen Inhalt haben

es dürfen keine zwei Zeilen (Datensätze) existieren, die in allen Attributwerten übereinstimmen

Page 18: Http:// © Katharina Brachmann Eine erste Tabelle Buch S73ff (Informatik I, Oldenbourg-Verlag)

http://www.informatik.digitale-schule-bayern.de/ © Katharina Brachmann

Aufgaben

Buch (Informatik I, Oldenbourg-Verlag)

Tabellen, Datentypen S79/1-S80/3

Schlüssel S80/4-6

Grundwissen S81/7

Funktionale Abhängigkeit 02a_Aufgaben.doc