{"id":55000882,"date":"2013-06-01T00:00:00","date_gmt":"2020-05-22T21:35:24","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=882"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Flexible_Bestellverwaltung_Datenmodell","status":"publish","type":"post","link":"https:\/\/access-im-unternehmen.de\/Flexible_Bestellverwaltung_Datenmodell\/","title":{"rendered":"Flexible Bestellverwaltung: Datenmodell"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg05.met.vgwort.de\/na\/d3d6f5af332e4b27a75e6ce44f559c5b\" width=\"1\" height=\"1\" alt=\"\"><\/p>\n<p><b>Die &uuml;blichen Beispiele zum Thema Bestellverwaltung gehen vereinfachend davon aus, dass immer alle Artikel vorhanden sind und dementsprechend auch in Rechnung gestellt werden k&ouml;nnen. In der Realit&auml;t sieht dies anders aus: Nat&uuml;rlich ist nicht immer gew&auml;hrleistet, dass alle angebotenen Artikel auch verf&uuml;gbar sind. In diesem Fall lassen sich Lieferungen und Rechnungen nur schwer organisieren. Also k&uuml;mmern wir uns nochmals um die entsprechenden Tabellen, Formulare und nat&uuml;rlich auch um die Berichte.<\/b><\/p>\n<p>Die Nordwind-Datenbank und Konsorten machen es vor: Bestellungen werden in einer Tabelle namens <b>tblBestellungen <\/b>verwaltet, die den Kunden referenziert und weitere Daten wie etwa das Bestell- und das Lieferdaten enth&auml;lt.<\/p>\n<p>Die Bestellungen und die in einer Tabelle wie <b>tblArtikel <\/b>gespeicherten Artikel werden &uuml;ber eine Verkn&uuml;pfungstabelle namens <b>tblBestellpositionen <\/b>zusammengef&uuml;hrt. Auf diese Weise wird die Bestellung erfasst, was kein Problem ist &#8211; hier wirken sich Fehlbest&auml;nde noch nicht aus.<\/p>\n<p>Interessant wird es beim Erstellen von Lieferscheinen oder Rechnungen. Wenn eine Bestellung einen Artikel A und einen Artikel B enth&auml;lt, aber nur A lieferbar ist, darf nat&uuml;rlich nur Artikel A auf dem Lieferschein erscheinen. Artikel B wird dann sp&auml;ter hinterhergeschickt.<\/p>\n<p>Alternativ wartet man, bis beide Artikel verf&uuml;gbar sind, und liefert diese in einer Sendung.<\/p>\n<p>Um die Au&szlig;enst&auml;nde im Rahmen zu halten, soll der Kunde nat&uuml;rlich schnell seine Rechnung erhalten. Bevor Artikel B nicht beim Kunden angekommen ist, kann man diesen aber wohl kaum in Rechnung stellen &#8211; also schickt man zun&auml;chst eine Rechnung &uuml;ber Artikel A oder versendet alternativ die Rechnung mit allen Positionen nach Versendung aller bestellten Artikel.<\/p>\n<p>Hier gehen wir vorsichtig davon aus, dass eine Bestellposition sp&auml;ter einer Rechnungsposition entspricht. Auch dies ist nicht unbedingt gegeben: Wenn ein Kunde 100 St&uuml;ck eines bestimmten Artikels bestellt und nur 50 St&uuml;ck lieferbar sind, muss man gegebenenfalls selbst eine einzige Position auf zwei Lieferschein- und Rechnungspositionen aufteilen k&ouml;nnen.<\/p>\n<p>Dies kann man noch weiter ausarbeiten. In manchen Branchen schicken Kunden nicht nur eine Bestellung in einem bestimmten Zeitraum, sondern ordern schnell noch mal einen oder mehrere Artikel nach.<\/p>\n<p>Hier sollte man die M&ouml;glichkeit vorsehen, nicht f&uuml;r jede Bestellung eine eigene Rechnung zu schicken, sondern mehrere Bestellungen zusammenzufassen.<\/p>\n<p>Und um dem Ganzen die Krone aufzusetzen: Wenn ein Kunde zwei Bestellungen aufgibt, bei denen beide nicht sofort komplett bearbeitet werden k&ouml;nnen, weil nicht alle Artikel vorliegen, sollte man auch mehrere Artikel aus verschiedenen Bestellungen in einer einzelnen Rechnung zusammenfassen k&ouml;nnen.<\/p>\n<p>Und schlie&szlig;lich lie&szlig;e sich die Abrechnung auch noch nach Zeitr&auml;umen definieren: So k&ouml;nnten Sie beispielsweise, unabh&auml;ngig davon, wie viele Bestellungen der Kunde get&auml;tigt hat, eine Rechnung etwa pro Woche oder pro Monat schicken, die alle bis dahin gelieferten Artikel ber&uuml;cksichtigt.<\/p>\n<p>Sie sehen: Es gibt mehr M&ouml;glichkeiten als die &uuml;bliche 1:1-Abbildung von Bestellung und Rechnung. Schauen wir uns also an, wie sich dies auf das Datenmodell auswirkt und wie sich die Daten in Formularen und Berichten bearbeiten und ausgeben lassen.<\/p>\n<p><b>Standard: Bestellung = Rechnung<\/b><\/p>\n<p>Im einfachsten Fall sieht das Datenmodell wie in Bild 1 aus. Jede Bestellung bezieht sich auf einen Kunden und enth&auml;lt einen oder mehrere Artikel, f&uuml;r die in der Tabelle <b>tblBestelldetails<\/b> ein individueller Preis festgelegt werden kann. Au&szlig;erdem landen dort die Anzahl und gegebenenfalls noch ein Rabatt.<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2013_03\/FlexibleBestellungenDatenmodell-web-images\/pic001.jpg\" alt=\"pic001.jpg\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 1: Datenmodell, wenn f&uuml;r jede Bestellung eine Rechnung verschickt wird<\/span><\/b><\/p>\n<p>Aber dort ist keine einzige Tabelle zu sehen, die Informationen zur Rechnung liefert Doch: Die Rechnungsinformationen werden direkt aus den zum Speichern der Bestelldaten verwendeten Tabellen entnommen. In diesem Fall w&auml;re jede zus&auml;tzliche Tabelle, in der die Bestelldaten erneut als Rechnungsdaten aufgef&uuml;hrt werden, unn&ouml;tig.<\/p>\n<p>Die Flexibilit&auml;t geht allerdings gegen Null. Es ist hier noch nicht einmal m&ouml;glich, eine einzelne Bestellposition nachvollziehbar zu stornieren. Also erweitern wir das Datenmodell so, dass wir alle eingangs erw&auml;hnten M&ouml;glichkeiten abdecken k&ouml;nnen. Anschlie&szlig;end k&uuml;mmern wir uns um die M&ouml;glichkeiten der Dateneingabe und der Berichtserstellung.<\/p>\n<p><b>Erweiterung: Kostenstelle<\/b><\/p>\n<p>Der Kunde verarbeitet oder versendet die gelieferten Artikel m&ouml;glicherweise weiter und muss diese dazu verschiedenen Kostenstellen zuordnen k&ouml;nnen. Daher sollte die Tabelle <b>tblBestelldetails <\/b>um ein Feld namens <b>Kostenstelle <\/b>erg&auml;nzt werden.<\/p>\n<p>Da dieses je Kunde anders aussehen kann, verwenden wir hier vorerst ein reines Textfeld. Sollte man die Bezeichnung der Kostenstellen in eine eigene Tabelle ausgliedern und dann per Fremdschl&uuml;sselfeld darauf verweisen Wenn wir flexibel bleiben wollen, lautet die Antwort ja.<\/p>\n<p>Au&szlig;erdem ist eine weitere &auml;nderung an der bestehenden Tabelle <b>tblBestelldetails <\/b>n&ouml;tig. Es kann ja durchaus geschehen, dass der Kunde in einer Bestellung den gleichen Artikel f&uuml;r mehrere Kostenstellen ordert. Aktuell enth&auml;lt die Tabelle <b>tblBestelldetails <\/b>jedoch einen zusammengesetzten Prim&auml;rschl&uuml;ssel &uuml;ber die Felder <b>BestellungID <\/b>und <b>ArtikelID<\/b> (s. Bild 2). Dieser Schl&uuml;ssel muss dann auf die <b>KostenstelleID <\/b>ausgeweitet werden.<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2013_03\/FlexibleBestellungenDatenmodell-web-images\/pic002.jpg\" alt=\"pic002.jpg\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 2: Die Tabelle tblBestelldetails in der Entwurfsansicht<\/span><\/b><\/p>\n<p><!--30percent--><\/p>\n<p>Nebenher erhalten wir nat&uuml;rlich einen weitaus h&ouml;heren Komfort, wenn eine von vielen Kostenstellen eines Kunden ausgew&auml;hlt werden kann und nicht jedesmal manuell eingetippt werden muss. Die Tabelle zum Speichern der Kostenstellen sieht wie in Bild 3 aus. Neben dem Prim&auml;rschl&uuml;sselfeld und der Bezeichnung der jeweiligen Kostenstelle enth&auml;lt die Tabelle auch noch ein Feld namens <b>KundeID<\/b>.<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2013_03\/FlexibleBestellungenDatenmodell-web-images\/pic003.jpg\" alt=\"pic003.jpg\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 3: Tabelle zum Speichern der Kostenstellen<\/span><\/b><\/p>\n<p>Dieses erlaubt die Zuordnung der Kostenstellen zu den Kunden, damit beim Anlegen einer neuen Bestellung direkt alle zum Kunden geh&ouml;renden Kostenstellen verf&uuml;gbar sind. Damit eine Kostenstelle nicht doppelt angelegt werden kann, f&uuml;gen Sie noch einen zusammengesetzten eindeutigen Prim&auml;rschl&uuml;ssel f&uuml;r die beiden Felder <b>KundeID <\/b>und <b>Kostenstelle <\/b>zur Tabelle hinzu.<\/p>\n<p><b>Positionen statt Bestelldetails<\/b><\/p>\n<p>Die Tabelle <b>tblBestelldetails <\/b>benennen wir im Rahmen der Umgestaltung des Datenmodells gleich in <b>tblBestellpositionen <\/b>um.<\/p>\n<p>Au&szlig;erdem erh&auml;lt die Tabelle einen nur aus einem Feld bestehenden Prim&auml;rschl&uuml;ssel namens <b>BestellpositionID<\/b>. Das Fremdschl&uuml;sselfeld zur Auswahl einer Kostenstelle hei&szlig;t <b>KostenstelleID <\/b>und wird als Nachschlagefeld ausgelegt. Es soll die Daten der Tabelle <b>tblKostenstellen <\/b>zur Auswahl anbieten.<\/p>\n<p>Damit in jeder Bestellung jeder Artikel nur in einer Position je Kostenstelle eingegeben werden kann, f&uuml;gen Sie der Tabelle einen eindeutigen Index &uuml;ber die drei Felder <b>BestellungID<\/b>, <b>ArtikelID <\/b>und <b>KostenstelleID <\/b>hinzu (s. Bild 4).<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2013_03\/FlexibleBestellungenDatenmodell-web-images\/pic004.jpg\" alt=\"pic004.jpg\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 4: Die neue Tabelle tblPositionen<\/span><\/b><\/p>\n<p>Die Auswahl der Kostenstelle muss sp&auml;ter in den Formularen nat&uuml;rlich derart eingeschr&auml;nkt werden, dass nur die Kostenstellen des Kunden der Bestellung angezeigt werden.<\/p>\n<p><b>Standardkostenstelle<\/b><\/p>\n<p>Wenn Sie die Positionen einer Bestellung f&uuml;r einen Kunden anlegen, m&ouml;chten Sie je nach Anzahl der Positionen nicht jedesmal die Kostenstelle ausw&auml;hlen. Also f&uuml;gen wir der Tabelle <b>tblKostenstellen <\/b>ein Feld namens <b>IstStandard <\/b>hinzu, mit dem Sie die aktuelle Kostenstelle f&uuml;r den Kunden festlegen k&ouml;nnen &#8211; Bild 5 zeigt die beteiligten Tabellen zum Festlegen von Kostenstelle und Standardkostenstelle im &Uuml;berblick.<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2013_03\/FlexibleBestellungenDatenmodell-web-images\/pic005.png\" alt=\"pic005.png\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 5: Die Tabelle tblKostenstellen im Datenmodell<\/span><\/b><\/p>\n<p>Diese soll im Bestellformular schnell ge&auml;ndert werden k&ouml;nnen, damit die fortan angelegten Bestellpositionen im Kontext der aktuellen Kostenstelle angelegt werden.<\/p>\n<p>Mehr zu dieser Art von Standardwerten erfahren Sie im Beitrag <b>Standardwerte aus Lookup-Tabellen <\/b>(<b>www.access-im-unternehmen.de\/883<\/b>).<\/p>\n<p><b>Lieferungen verwalten<\/b><\/p>\n<p>Der entscheidende Schritt zur flexiblen Rechnungserstellung ist die Verwaltung der gelieferten Artikel. Dies soll im Wesentlichen Informationen dar&uuml;ber erfassen, welcher Kunde wann welche Lieferung erhalten hat.<\/p>\n<p>Anschlie&szlig;end k&ouml;nnen Sie dann leicht auf die gelieferten Positionen und ihr Lieferdatum zugreifen, um darauf basierend wie auch immer aufgeteilte Rechnungen zu erstellen &#8211; egal, ob Sie eine Rechnung pro Lieferung oder &uuml;ber einen bestimmten Zeitraum stellen m&ouml;chten.<\/p>\n<p>Um diese Daten zu erfassen, legen Sie zwei weitere Tabellen in der Datenbank an. Die erste enth&auml;lt die Stammdaten zu den einzelnen Lieferungen und hei&szlig;t <b>tblLieferungen<\/b>. In einem ersten Entwurf soll die Tabelle nur die folgenden Felder enthalten &#8211; gegebenenfalls kommen noch weitere hinzu:<\/p>\n<ul>\n<li class=\"aufz-hlung\"><b>LieferungID<\/b>: Prim&auml;rschl&uuml;sselfeld der Tabelle<\/li>\n<li class=\"aufz-hlung\"><b>Lieferdatum<\/b>: Datum der Lieferung<\/li>\n<li class=\"aufz-hlung\"><b>LieferungDurch<\/b>: Fremdschl&uuml;sselfeld zur Tabelle <b>tblVersandfirmen<\/b><\/li>\n<li class=\"aufz-hlung\"><b>Sendungsverfolgung<\/b>: Feld zum Speichern eventueller Sendungsverfolgungsnummern<\/li>\n<\/ul>\n<p>Die eigentlich gelieferten Waren werden dann in der Tabelle <b>tblLieferpositionen <\/b>erfasst. Diese enth&auml;lt die folgenden Felder:<\/p>\n<ul>\n<li class=\"aufz-hlung\"><b>LieferpositionID<\/b>: Prim&auml;rschl&uuml;sselfeld der Tabelle<\/li>\n<li class=\"aufz-hlung\"><b>LieferungID<\/b>: Fremdschl&uuml;sselfeld zur in der Tabelle <b>tblLieferungen <\/b>gespeicherten Lieferung<\/li>\n<li class=\"aufz-hlung\"><b>BestellpositionID<\/b>: Fremdschl&uuml;sselfeld zur Tabelle <b>tblBestellpositionen<\/b>, um die gelieferte Position zu referenzieren<\/li>\n<li class=\"aufz-hlung\"><b>Menge<\/b>: Tats&auml;chlich gelieferte Menge. Hiermit soll sichergestellt werden, dass eventuell weniger gelieferte Mengen auch erfasst werden, sodass fehlende Lieferungen entsprechend berechnet werden k&ouml;nnen.<\/li>\n<\/ul>\n<p>Bleibt noch eine wichtige Frage: Woher erf&auml;hrt man, f&uuml;r welchen Kunden die in der Tabelle <b>tblLieferungen <\/b>erfasste Lieferung gedacht ist Eigentlich k&ouml;nnte man den Kunden mithilfe einer Abfrage ermitteln, die von der Tabelle <b>tblLieferungen <\/b>&uuml;ber die Tabelle <b>tblLieferposition<\/b>, <b>tblBestellpositionen <\/b>und <b>tblBestellungen <\/b>schlie&szlig;lich zur Tabelle <b>tblKunden <\/b>f&uuml;hrt.<\/p>\n<p>Allerdings sollte man sich die Frage stellen, ob man diesen Weg wirklich gehen m&ouml;chte, wenn man die Lieferungen an einen Kunden etwa im Unterformular eines Kundenformulars auflisten m&ouml;chte.<\/p>\n<p>Alternativ k&ouml;nnte man den Kunden nochmals in der Tabelle <b>tblLieferungen <\/b>speichern. Bild 6 zeigt, wo das neue Feld <b>KundeID <\/b>landen w&uuml;rde, welches Feld dadurch referenziert wird (das Feld <b>KundeID <\/b>der Tabelle <b>tblKunden<\/b>) und &uuml;ber welches Feld man sonst den Kunden zur Lieferung ermitteln m&uuml;sste (das Feld <b>KundeID <\/b>der Tabelle <b>tblBestellungen<\/b>).<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2013_03\/FlexibleBestellungenDatenmodell-web-images\/pic006.png\" alt=\"pic006.png\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 6: Datenmodell mit Liefer-Tabellen<\/span><\/b><\/p>\n<p>Genau genommen enth&auml;lt das Fremdschl&uuml;sselfeld <b>KundeID <\/b>in der Tabelle <b>tblLieferungen <\/b>nat&uuml;rlich redundante Informationen. Damit daraus Inkonsistenzen entstehen, m&uuml;sste der Benutzer jedoch den Wert des Feldes <b>KundeID <\/b>der Tabelle <b>tblBestellungen <\/b>oder der Tabelle <b>tblLieferungen <\/b>manuell &auml;ndern.<\/p>\n<p>&Uuml;ber die Benutzeroberfl&auml;che, sprich die Formulare der Anwendung, sollte dies nicht m&ouml;glich sein &#8211; die Datens&auml;tze der Tabellen <b>tblBestellungen <\/b>und <b>tblLieferungen <\/b>werden normalerweise nur in Unterformularen anderer Formulare angezeigt.<\/p>\n<p>Selbst in Ausnahmef&auml;llen sollte der Kunde einer Bestellung oder Lieferung nicht &auml;nderbar sein. Also legen wir das Feld <b>KundeID <\/b>wie vorgeschlagen in der Tabelle <b>tblLieferungen <\/b>an.<\/p>\n<p><b>Rechnungstabellen<\/b><\/p>\n<p>F&uuml;r die Verwaltungen der Rechnungen und Rechnungspositionen sehen wir zwei weitere Tabellen vor.<\/p>\n<p>Die erste hei&szlig;t <b>tblRechnungen<\/b> und enth&auml;lt der Einfachheit halber zun&auml;chst die folgenden Felder:<\/p>\n<ul>\n<li class=\"aufz-hlung\"><b>RechnungID<\/b>: Prim&auml;rschl&uuml;sselfeld der Tabelle<\/li>\n<li class=\"aufz-hlung\"><b>KundeID<\/b>: Fremdschl&uuml;sselfeld zum Festlegen des Kunden<\/li>\n<li class=\"aufz-hlung\"><b>Rechnungsdatum<\/b>: Datum der Rechnung<\/li>\n<\/ul>\n<p>Da es hier zun&auml;chst um die reine Erstellung der Rechnungen ohne irgendwelchen Schnickschnack geht, sollen keine weiteren Felder aufgenommen werden.<\/p>\n<p>Die Tabelle <b>tblRechnungspositionen <\/b>besteht aus den folgende Feldern und speichert die einzelnen Rechnungspositionen:<\/p>\n<ul>\n<li class=\"aufz-hlung\"><b>RechnungspositionID<\/b>: Prim&auml;rschl&uuml;sselfeld der Tabelle<\/li>\n<li class=\"aufz-hlung\"><b>RechnungID<\/b>: Fremdschl&uuml;sselfeld, um die Rechnungsposition einer Rechnung zuordnen zu k&ouml;nnen<\/li>\n<li class=\"aufz-hlung\"><b>LieferpositionID<\/b>: Fremdschl&uuml;sselfeld zum Festlegen der Lieferposition, auf die sich die Rechnungsposition bezieht<\/li>\n<\/ul>\n<p><b>Die Tabellen im Zusammenhang<\/b><\/p>\n<p>Das h&ouml;rt sich etwas mau an. Die Rechnungstabellen sollen mit sechs Feldern auskommen Wie soll man daraus etwa einen Rechnungsbericht aufbauen Dies wird etwas klarer, wenn wir einen Blick auf die Zusammenfassung des Datenmodells aus Bild 7 werfen.<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2013_03\/FlexibleBestellungenDatenmodell-web-images\/pic009.png\" alt=\"pic009.png\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 7: Datenmodell mit Rechnungs-Tabellen<\/span><\/b><\/p>\n<p>Wenn Sie beispielsweise die Daten f&uuml;r einen Rechnungsbericht zusammenstellen m&ouml;chten, ben&ouml;tigen Sie nat&uuml;rlich das Rechnungsdatum.<\/p>\n<p>Aber was ist beispielsweise mit der Adresse des Kunden An diese in der Tabelle <b>tblKunden <\/b>enthaltenen Daten gelangen Sie &uuml;ber die Verkn&uuml;pfung mit dieser Tabelle.<\/p>\n<p>Und woher kommen die Daten f&uuml;r die Rechnungspositionen Dazu hangeln wir uns &uuml;ber das Fremdschl&uuml;sselfeld <b>LieferpositionID <\/b>zun&auml;chst zur Tabelle <b>tblLieferpositionen<\/b>, der wir die Menge der aktuellen Position entnehmen. Einzelpreis und Rabatt sowie den Mehrwertsteuersatz entnehmen wir der Tabelle <b>tblBestellpositionen<\/b>.<\/p>\n<p>Sonst fehlt eigentlich nichts &#8211; sollten die kundenspezifischen Kostenstellen aufgenommen werden, k&ouml;nnen diese ebenfalls aus der Tabelle <b>tblBestellpositionen <\/b>entnommen werden.<\/p>\n<p><b>Zusammenfassung und Ausblick<\/b><\/p>\n<p>Durch die aufeinander aufbauenden Tabellen <b>tblBestellpositionen<\/b>, <b>tblLieferpositionen <\/b>und <b>tblRechnungspositionen<\/b> k&ouml;nnen Sie die bestellten Artikel flexibel in einer oder mehreren Lieferungen an den Kunden schicken. <\/p>\n<p>Dadurch dass Sie in einer Rechnung beliebige gelieferte Positionen ber&uuml;cksichtigen k&ouml;nnen, erhalten Sie eine recht flexible Rechnungserstellung.<\/p>\n<p>In einem weiteren Teil erl&auml;utern wir, wie Sie Bestellungen, Lieferungen und Rechnungen in entsprechenden Formularen erstellen und verwalten.<\/p>\n<h3>Downloads zu diesem Beitrag<\/h3>\n<p>Enthaltene Beispieldateien:<\/p>\n<p>FlexibleBestellungen.mdb<\/p>\n<p><a href=\"..\/fileadmin\/beispiele\/{2E03A8FE-8BFD-4E6B-884B-C691ED3DC205}\/aiu_882.zip\">Download<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Die &uuml;blichen Beispiele zum Thema Bestellverwaltung gehen vereinfachend davon aus, dass immer alle Artikel vorhanden sind und dementsprechend auch in Rechnung gestellt werden k&ouml;nnen. In der Realit&auml;t sieht dies anders aus: Nat&uuml;rlich ist nicht immer gew&auml;hrleistet, dass alle angebotenen Artikel auch verf&uuml;gbar sind. In diesem Fall lassen sich Lieferungen und Rechnungen nur schwer organisieren. Also k&uuml;mmern wir uns nochmals um die entsprechenden Tabellen, Formulare und nat&uuml;rlich auch um die Berichte.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[662013,66032013,44000021],"tags":[],"class_list":["post-55000882","post","type-post","status-publish","format-standard","hentry","category-662013","category-66032013","category-Tabellen_und_Datenmodellierung"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.9 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Flexible Bestellverwaltung: Datenmodell - Access im Unternehmen<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/access-im-unternehmen.de\/Flexible_Bestellverwaltung_Datenmodell\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Flexible Bestellverwaltung: Datenmodell\" \/>\n<meta property=\"og:description\" content=\"Die &uuml;blichen Beispiele zum Thema Bestellverwaltung gehen vereinfachend davon aus, dass immer alle Artikel vorhanden sind und dementsprechend auch in Rechnung gestellt werden k&ouml;nnen. In der Realit&auml;t sieht dies anders aus: Nat&uuml;rlich ist nicht immer gew&auml;hrleistet, dass alle angebotenen Artikel auch verf&uuml;gbar sind. In diesem Fall lassen sich Lieferungen und Rechnungen nur schwer organisieren. Also k&uuml;mmern wir uns nochmals um die entsprechenden Tabellen, Formulare und nat&uuml;rlich auch um die Berichte.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/Flexible_Bestellverwaltung_Datenmodell\/\" \/>\n<meta property=\"og:site_name\" content=\"Access im Unternehmen\" \/>\n<meta property=\"article:published_time\" content=\"2020-05-22T21:35:24+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/vg05.met.vgwort.de\/na\/d3d6f5af332e4b27a75e6ce44f559c5b\" \/>\n<meta name=\"author\" content=\"Andr\u00e9 Minhorst\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Andr\u00e9 Minhorst\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"11\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Flexible_Bestellverwaltung_Datenmodell\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Flexible_Bestellverwaltung_Datenmodell\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Minhorst\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\"},\"headline\":\"Flexible Bestellverwaltung: Datenmodell\",\"datePublished\":\"2020-05-22T21:35:24+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Flexible_Bestellverwaltung_Datenmodell\\\/\"},\"wordCount\":2114,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Flexible_Bestellverwaltung_Datenmodell\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg05.met.vgwort.de\\\/na\\\/d3d6f5af332e4b27a75e6ce44f559c5b\",\"articleSection\":[\"2013\",\"3\\\/2013\",\"Tabellen und Datenmodellierung\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Flexible_Bestellverwaltung_Datenmodell\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Flexible_Bestellverwaltung_Datenmodell\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Flexible_Bestellverwaltung_Datenmodell\\\/\",\"name\":\"Flexible Bestellverwaltung: Datenmodell - Access im Unternehmen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Flexible_Bestellverwaltung_Datenmodell\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Flexible_Bestellverwaltung_Datenmodell\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg05.met.vgwort.de\\\/na\\\/d3d6f5af332e4b27a75e6ce44f559c5b\",\"datePublished\":\"2020-05-22T21:35:24+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Flexible_Bestellverwaltung_Datenmodell\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Flexible_Bestellverwaltung_Datenmodell\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Flexible_Bestellverwaltung_Datenmodell\\\/#primaryimage\",\"url\":\"http:\\\/\\\/vg05.met.vgwort.de\\\/na\\\/d3d6f5af332e4b27a75e6ce44f559c5b\",\"contentUrl\":\"http:\\\/\\\/vg05.met.vgwort.de\\\/na\\\/d3d6f5af332e4b27a75e6ce44f559c5b\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Flexible_Bestellverwaltung_Datenmodell\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Flexible Bestellverwaltung: Datenmodell\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"name\":\"Access im Unternehmen\",\"description\":\"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access\",\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/access-im-unternehmen.de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\",\"name\":\"Andr\u00e9 Minhorst Verlag\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"contentUrl\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"width\":370,\"height\":111,\"caption\":\"Andr\u00e9 Minhorst Verlag\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\",\"name\":\"Andr\u00e9 Minhorst\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"caption\":\"Andr\u00e9 Minhorst\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Flexible Bestellverwaltung: Datenmodell - Access im Unternehmen","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/access-im-unternehmen.de\/Flexible_Bestellverwaltung_Datenmodell\/","og_locale":"de_DE","og_type":"article","og_title":"Flexible Bestellverwaltung: Datenmodell","og_description":"Die &uuml;blichen Beispiele zum Thema Bestellverwaltung gehen vereinfachend davon aus, dass immer alle Artikel vorhanden sind und dementsprechend auch in Rechnung gestellt werden k&ouml;nnen. In der Realit&auml;t sieht dies anders aus: Nat&uuml;rlich ist nicht immer gew&auml;hrleistet, dass alle angebotenen Artikel auch verf&uuml;gbar sind. In diesem Fall lassen sich Lieferungen und Rechnungen nur schwer organisieren. Also k&uuml;mmern wir uns nochmals um die entsprechenden Tabellen, Formulare und nat&uuml;rlich auch um die Berichte.","og_url":"https:\/\/access-im-unternehmen.de\/Flexible_Bestellverwaltung_Datenmodell\/","og_site_name":"Access im Unternehmen","article_published_time":"2020-05-22T21:35:24+00:00","og_image":[{"url":"http:\/\/vg05.met.vgwort.de\/na\/d3d6f5af332e4b27a75e6ce44f559c5b","type":"","width":"","height":""}],"author":"Andr\u00e9 Minhorst","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Andr\u00e9 Minhorst","Gesch\u00e4tzte Lesezeit":"11\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/access-im-unternehmen.de\/Flexible_Bestellverwaltung_Datenmodell\/#article","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/Flexible_Bestellverwaltung_Datenmodell\/"},"author":{"name":"Andr\u00e9 Minhorst","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f"},"headline":"Flexible Bestellverwaltung: Datenmodell","datePublished":"2020-05-22T21:35:24+00:00","mainEntityOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Flexible_Bestellverwaltung_Datenmodell\/"},"wordCount":2114,"commentCount":0,"publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Flexible_Bestellverwaltung_Datenmodell\/#primaryimage"},"thumbnailUrl":"http:\/\/vg05.met.vgwort.de\/na\/d3d6f5af332e4b27a75e6ce44f559c5b","articleSection":["2013","3\/2013","Tabellen und Datenmodellierung"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/access-im-unternehmen.de\/Flexible_Bestellverwaltung_Datenmodell\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/Flexible_Bestellverwaltung_Datenmodell\/","url":"https:\/\/access-im-unternehmen.de\/Flexible_Bestellverwaltung_Datenmodell\/","name":"Flexible Bestellverwaltung: Datenmodell - Access im Unternehmen","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Flexible_Bestellverwaltung_Datenmodell\/#primaryimage"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Flexible_Bestellverwaltung_Datenmodell\/#primaryimage"},"thumbnailUrl":"http:\/\/vg05.met.vgwort.de\/na\/d3d6f5af332e4b27a75e6ce44f559c5b","datePublished":"2020-05-22T21:35:24+00:00","breadcrumb":{"@id":"https:\/\/access-im-unternehmen.de\/Flexible_Bestellverwaltung_Datenmodell\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/Flexible_Bestellverwaltung_Datenmodell\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/Flexible_Bestellverwaltung_Datenmodell\/#primaryimage","url":"http:\/\/vg05.met.vgwort.de\/na\/d3d6f5af332e4b27a75e6ce44f559c5b","contentUrl":"http:\/\/vg05.met.vgwort.de\/na\/d3d6f5af332e4b27a75e6ce44f559c5b"},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/Flexible_Bestellverwaltung_Datenmodell\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"Flexible Bestellverwaltung: Datenmodell"}]},{"@type":"WebSite","@id":"https:\/\/access-im-unternehmen.de\/#website","url":"https:\/\/access-im-unternehmen.de\/","name":"Access im Unternehmen","description":"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access","publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/access-im-unternehmen.de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/access-im-unternehmen.de\/#organization","name":"Andr\u00e9 Minhorst Verlag","url":"https:\/\/access-im-unternehmen.de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/","url":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","contentUrl":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","width":370,"height":111,"caption":"Andr\u00e9 Minhorst Verlag"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f","name":"Andr\u00e9 Minhorst","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","caption":"Andr\u00e9 Minhorst"}}]}},"_links":{"self":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000882","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/comments?post=55000882"}],"version-history":[{"count":0,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000882\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=55000882"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/categories?post=55000882"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/tags?post=55000882"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}