Office 365: Access Grundkurs

Diskussion der Datenbank

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Obwohl sich mit Access schnell eine Datenbank entwerfen lässt, ist das nicht sinnvoll. Alle Datenbanken brauchen zwingend ein vorbereitetes Konzept, um Fehler zu vermeiden. Bereits die wenigen Daten des Beispiels sind problematisch.

Transkript

Das Ganze sieht nun schon wie eine richtige Datenbank aus. Es gibt eine Tabelle und ein paar schöne Abfragen dazu. Jetzt ist es mehr als dringend Zeit, sich das ganz mal kritisch anzusehen und zwar vor allem die Tabelle. Die Abfragen, das kann ich jetzt schon versprechen, können nachher alle wieder löschen, die Probleme liegen nämlich in der Tabelle. Ich werde die mit Doppelklick mal öffnen und, damit wir ein bisschen besser sehen, auf den ganzen Bildschirm verbreitern. Und ich habe schon paar weitere Datensätze eingegeben, damit Sie sehen, wie schnell sie sich Probleme einhandeln. Fangen wir vielleicht an mit dem Telefonfeld. Normalerweise scheint es so, dass Sie genau eine Telefonnummer haben, wenn die anruft, dann wissen Sie welche Adresse das ist. Ich habe aber selber zum Beispiel mehrere Telefonnummern im gleichen Haus, das ist heute überhaupt nicht unüblich und je nachdem, von wo aus ich anrufe, vielleicht habe ich auch mal von der Faxnummer bestellt, ist der gleiche Empfänger unter unterschiedlichen Telefonnummern zu erreichen. Die einfachste Möglichkeit, damit man das nicht mehrfach notieren muss, ist natürlich das hier reinzuschreiben und das geht nicht. Wenn Sie so etwas machen, dann können Sie nie wieder herausbekommen wie viele Telefonnummern hier wirklich drin stehen. Ich kann beispielsweise mal schnell eine Abfrage erstellen, das geht auch wenn hier die Tabelle offen ist, also Erstellen, Abfrageentwurf, basiert immer noch auf Lieferungen und sagen wir mal, ich beschäftige mich nur mit dem Feld Telefon und will jetzt alle Telefonnummern finden, wir können das hier mal eben gucken, die das 6 7 8 9 0 enthalten, also würde ich dort schreiben, die Vorwahl ist mir egal, Sternchen 6 7 8 9 0 Sternchen, da was davor oder dahinten stehen, vielleicht geht die Telefonnummer noch mal weiter und kann das hier in der Ansicht ansehen. Ich kriege dabei auch Telefonnummern, die diesem Schema nicht entsprechen. 67890 habe ich verlangt. Natürlich steht hier vorne auch die passende Nummer, aber diese zählt zum Beispiel nicht dazu. Und wenn ich jetzt als nächstes frage, wie viele Telefonnummern habe ich eigentlich, dann lautet die Antwort der Datenbank 3, und meine Augen sagen mir vier. Es ist also mit Datenbankmethoden gar nicht abzufragen, welche und wie viele Telefonnummern da überhaupt drin sind. Das ist das erste Problem. Ich kann diese Abfrage jetzt hier ungespeichert schließen, nein, die will ich nicht speichern. Also die Tatsache, dass ich hier mehrere Inhalte reinschreiben möchte, vielleicht sogar muss ist ein Unding in einer Datenbank. Damit lässt's sich nicht arbeiten. Das passiert hier hinten übrigens auch. Wenn meinetwegen nur mit einer einzigen Telefonnummer, alles andere ist super, hier mehrere Sachen bestellt werden, dann könnte man die direkt hintereinander schreiben, man könnte sich hier zusammen ausrechnen, 5,20 € und 4,20 € macht 9,20 €. Die erste Frage, die man sich stellt ist, warum muss ich das eigentlich ausrechnen, ich sitze gerade vor einem Rechner, der kann das ja wohl, und zweitens kann ich nie wieder trennen, dass hier zwei Inhalte drinstehen. Und die vorherige Lösung für diesen Fall sah so aus, dass ich zwei Datensätze angelegt hatte, in dem ich ganz viel doppelt eingetragen hatte. Gleiche Telefonnummer, gleiche Adresse, gleicher Fahrer, gleiches Datum und zwar nur deswegen, damit ich diese beiden Probleme in zwei Datensätze verteile und keine Probleme mehr habe. Ich kann genau sagen, eine Portion Spaghetti und dreimal Pizza Margherita, während ich hier nur hoffen kann, dass beide genau gleich oft auftauchen. Wenn hier eine zwei steht, es ist schon missverständlich, ob es jetzt meint eine Pizza Margherita, eine Pizza con tutto oder zweimal Pizza Margherita und zweimal Pizza con tutto. Das wäre völlig unkalkulierbar. Ich kann die weder einzeln angeben, noch irgendwie zählen und muss auch noch selber rechnen. Dann geht's direkt weiter, hier ist ein Schreibfehler drin. Ich mache mal wieder eine neue Abfrage, also Erstellen, Abfrageentwurf, immernoch basierend auf Lieferungen und sagen wir ruhig, Sternchen, ich will alle Datensätze sehen, deren Adresse nicht doppelt angezeigt wird, aber irgendwie Bahnhofs, allerdings mit Sternchen, Sternchen Bahnhofsstraße und so weiter enthält. Sternchen sagt, davor und dahinter darf ein beliebiger Eintrag sein. Nach dem Return steht ein wie, ein Ähnlichkeitsvergleich dazu, also alle, die in der Adresse das Wort Bahnhofsstraße enthalten, und dann zählen wir noch mal. Das ist jetzt relativ einfach, kann ich direkt sehen, ich sag schon mal hier unten steht die Zahl, die ich wissen will, insgesamt zwei Datensätze. Jetzt gucken wir mal auf die Texte drauf, 1,2,3. Sehen Sie den Fehler? Hier ist es eine Bahnhofsstraße und hier ist es eine Bahnhofstraße. Wenn Sie also eine freie Dateneingabe erlauben, müssen Sie immer damit rechnen, dass es Schreibfehler gibt. Sehr beliebt ist zum Beispiel verschiedene Schreibweisen eines Ortes, ich komme aus Aachen, das heißt Aachen, aber es gibt auch die Bezeichnung Bad Aachen, wird heute nicht mehr so oft gebraucht, aber es ist eine Kurstadt und auf manchen Adressen steht Bad Aachen und manche geben auch den Stadtteil an. Wenn man Aachener ist, weiß man, dass Burtscheid ein Stadtteil ist, je nachdem wer fragt, würde ich einem Aachener nie erklären, dass ich in Aachen wohne,sondern detailliert einem Pizzadienstliefer aus Achen sagen, ihr müsst nach Burtscheid kommen, dann wissen die schon mal die Entfernung. Und solche Adressen, die entweder Aachen oder Bad Aachen oder Burtscheid heißen können, sind furchtbar, wenn Sie die verwalten wollen. Hier ist es nur ein Schreibfehler, an anderen Stellen ist es vielleicht sogar Absicht, dass es unterschiedliche Schreibungen des gleichen Ortes gibt. Eines der Probleme haben wir immerhin schon gelöst, es sind reichlich drin hier. Hier zum Beispiel die Schreibfehler beim Fahrer oder bei der Fahrerin sind deswegen nicht mehr relevant, weil die aus einer Liste kommen. Ich kann, wenn ich jetzt versuche, irgendwann einen Namen einzugeben, den hier in der Liste steht, kann ich nicht aus dem Datensatz, nicht mal aus dem Feld kommen, wenn ich mit der Tabtaste jetzt weitergehe, gibt's direkt eine Fehlermeldung. Ich könnte die jetzt ergänzen,aber nein, das will ich nicht, ich muss jetzt mit Escape diese Änderung verlieren und das ist eigentlich auch schon der Weg oder die Richtung, in die es gehen soll, ich muss die Datenbank so begrenzen, dass es keine Fehler mehr gibt, denn dieses scheinbare begrenzen ist eigentlich eine Befreiung. Sie grenzen die Fehlermöglichkeiten der Datenbank ein und befreien sich davon von einer Menge Probleme. Es gibt hier noch mehr. Sie können zum Beispiel, wenn Sie etwas von der Speisekarte wählen, dann können sie erstmal eigentlich nicht sagen was es kostet. Ich habe das aus dem Gedächtnis oder von einem Zettel vor meinen Augen abgetippt, und das ist eigentlich auch nicht sinnvoll. Ich könnte die Speisekarte hier irgendwo hinterlegen, und sobald ich auf Pizza con tutto gehe, ist der Preis klar. Da sind sogenannte abhängige Daten, übrigens auch die Postleitzahl und der Ort. Wenn es irgendjemandem hier gelingen sollte, sowas wie eine völlig andere Postleitzahl einzugeben und den gleichen Ort zu nennen, das muss ein Fehler sein. Sie können zwar am gleichen Ort mehrere Postleitzahlen haben, aber noch krasser, ich gehe mal mit Escape raus, wäre es, wenn Sie, was weiß ich, nehmen wir hier den Ort mit der Postleitzahl fünf mal die neun, da heißt ja nicht Hiermund sondern Dortmund. Das kann nicht sein, dass die gleiche Postleitzahl einen anderen Ort meint. Ganz ehrlich, bei Postleitzahlen ist es tatsächlich so, dass es in ländlichen Gebieten noch alte Ortsbezeichnungen gibt, wo es mehrere mit der gleichen Postleitzahl gibt. Aber tatsächlich ist hier eine Abhängigkeit, ich mache das mit Escape mal wieder rückgängig, sobald ich eine Postleitzahl angebe, ist der Ort eigentlich klar. Damit ist auch die Vorwahl eigentlich klar, und genauso wenn ich etwas von der Speisekarte angebe, ist der Preis klar, das muss ich gar nicht, sollte ich gar nicht nachgucken dürfen. Und wenn Sie einen Datensatz herausfischen wollen aus irgendeinem Grund, dann können Sie ihn entweder mühsam über seine Details angeben, ich suche das, was Maria am 4/12 in die Straße Hinter dem Mond gebracht hat. Oder Sie haben vielleicht eine eindeutige Nummer. Das ist viel einfacher. Es gibt sogar Datenbanken, die verhindern beispielsweise Löschaktionen, solange es nicht eine eindeutige Nummer für den Datensatz gibt. Man kann mehrfach Schlüssel machen, also einen Datensatz, der an mehreren Elementen zu erkennen ist, aber grundsätzlich ist es viel viel einfacher ein neues Feld zu machen, welches ganz banal durchnummeriert wird, das ist der Autowert, wenn wir uns damit beschäftigen und der wird dann sogenannter Primärschlüssel, das Wort kann ich auch schon mal erwähnen, also derjenige Schlüssel, der für diesen Datensatz der eindeutigste ist und damit verbindlich gegenüber der Datenbank. Der wird durchnummeriert, damit haben Sie nichts zu tun, Sie sagen einfach nur, der soll da sein. Und auch das vereinfacht die Arbeit erheblich. Wir haben also rund um Probleme weniger Felder in einer einzigen Tabelle und mehr Probleme als ich an einer Hand abzählen kann, da muss ich also erheblich was ändern. Und das bedeutet,wir müssen uns vorher mit dem Datenmodell beschäftigen, also welche Daten werden eigentlich warum, wo gespeichert.

Office 365: Access Grundkurs

Erwerben Sie die notwendigen Kenntnisse, um mit Access in Office 365 leistungsfähige Datenbanken zu erstellen.

6 Std. 18 min (75 Videos)
Derzeit sind keine Feedbacks vorhanden...
Hersteller:
Exklusiv für Abo-Kunden
Erscheinungsdatum:08.09.2016

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!