Upload
hedda-stockman
View
103
Download
0
Embed Size (px)
Citation preview
http://www.informatik.digitale-schule-bayern.de/ © 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?
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
…
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
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
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
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)
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?
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.
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.
http://www.informatik.digitale-schule-bayern.de/ © Katharina Brachmann
Anlegen einer ersten Tabelle
http://www.informatik.digitale-schule-bayern.de/ © Katharina Brachmann
Anlegen einer ersten Tabelle
Nicht vergessen, beim Typ VARCHAR muss eine Länge eingegeben werden.
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.
SchlüsselIch denke mir eine Zahl zwischen 1 und 1000.
Versucht diese Zahl durch möglichst wenige JA/NEIN-Fragen herauszufinden.
Thomas Herrmann
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
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).
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
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